mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-06 17:40:29 +02:00
Refactor relationship between gc_mutator_roots and threads
* libguile/threads.c (guilify_self_1): * libguile/whippet-embedder.h (gc_trace_mutator_pinned_roots): Make the roots contain the thread. This way sizeof(*thread) is the total allocation size; if you pad the allocation with extra words, some of the self-checks in nofl get borked.
This commit is contained in:
parent
e23adeafd3
commit
75f1f20031
2 changed files with 5 additions and 13 deletions
|
@ -39,7 +39,7 @@
|
|||
|
||||
struct scm_thread;
|
||||
struct gc_mutator_roots {
|
||||
struct scm_thread *thread;
|
||||
struct scm_thread thread;
|
||||
};
|
||||
|
||||
#define GC_EMBEDDER_EPHEMERON_HEADER uintptr_t tag;
|
||||
|
@ -129,7 +129,7 @@ gc_trace_mutator_pinned_roots (struct gc_mutator_roots *roots,
|
|||
void *trace_data),
|
||||
struct gc_heap *heap,
|
||||
void *trace_data) {
|
||||
scm_trace_thread_roots (roots->thread, trace_pinned, trace_ambiguous,
|
||||
scm_trace_thread_roots (&roots->thread, trace_pinned, trace_ambiguous,
|
||||
heap, trace_data);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue