1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 06:20:23 +02:00

Update for Whippet changes, VM stacks scanned partly-conservatively

* libguile/trace.h (scm_from_ref, scm_to_ref): Helpers moved here;
update all callers.
* libguile/loader.c (scm_trace_loader_roots):
* libguile/threads.c (scm_trace_thread_roots):
* libguile/vm.c (scm_trace_vm_roots): Update for new
pinned-roots prototype.
* libguile/whippet-embedder.h (gc_extern_space_visit): Update for
Whippet API changes.
This commit is contained in:
Andy Wingo 2025-05-21 14:31:23 +02:00
parent fb5a99c752
commit 7b4f4427f8
8 changed files with 143 additions and 131 deletions

View file

@ -119,16 +119,16 @@ add_roots(char *lo, char *hi)
}
void
scm_trace_loader_conservative_roots (void (*trace_range)(uintptr_t lo,
uintptr_t hi,
int possibly_interior,
struct gc_heap *heap,
void *trace_data),
struct gc_heap *heap,
void *trace_data)
scm_trace_loader_roots (void (*trace_ambiguous)(uintptr_t lo,
uintptr_t hi,
int possibly_interior,
struct gc_heap *heap,
void *trace_data),
struct gc_heap *heap,
void *trace_data)
{
for (size_t i = 0; i < roots_count; i++)
trace_range(roots[i].lo, roots[i].hi, 0, heap, trace_data);
trace_ambiguous(roots[i].lo, roots[i].hi, 0, heap, trace_data);
}
/* The page size. */