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

Update conservative roots embedder interface

This commit is contained in:
Andy Wingo 2025-05-21 14:27:17 +02:00
parent f12990bb64
commit 41de2dfd91
6 changed files with 129 additions and 55 deletions

View file

@ -92,24 +92,30 @@ static inline void gc_trace_heap_roots(struct gc_heap_roots *roots,
}
static inline void
gc_trace_mutator_conservative_roots(struct gc_mutator_roots *roots,
void (*trace_range)(uintptr_t start,
uintptr_t end,
int possibly_interior,
struct gc_heap *heap,
void *data),
struct gc_heap *heap,
void *data) {}
gc_trace_mutator_pinned_roots(struct gc_mutator_roots *roots,
void (*trace_pinned)(struct gc_ref ref,
struct gc_heap *heap,
void *data),
void (*trace_ambiguous)(uintptr_t start,
uintptr_t end,
int possibly_interior,
struct gc_heap *heap,
void *data),
struct gc_heap *heap,
void *data) {}
static inline void
gc_trace_heap_conservative_roots(struct gc_heap_roots *roots,
void (*trace_range)(uintptr_t start,
uintptr_t end,
int possibly_interior,
struct gc_heap *heap,
void *data),
struct gc_heap *heap,
void *data) {}
gc_trace_heap_pinned_roots(struct gc_heap_roots *roots,
void (*trace_pinned)(struct gc_ref ref,
struct gc_heap *heap,
void *data),
void (*trace_ambiguous)(uintptr_t start,
uintptr_t end,
int possibly_interior,
struct gc_heap *heap,
void *data),
struct gc_heap *heap,
void *data) {}
static inline uintptr_t gc_object_forwarded_nonatomic(struct gc_ref ref) {
uintptr_t tag = *tag_word(ref);