mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 17:20:29 +02:00
Add parallel root-tracing phase
This commit is contained in:
parent
ff1e1b1d44
commit
5084730471
10 changed files with 231 additions and 34 deletions
|
@ -172,11 +172,11 @@ static inline size_t
|
|||
gc_atomic_forward_object_size(struct gc_atomic_forward *fwd) {
|
||||
GC_ASSERT(fwd->state == GC_FORWARDING_STATE_ACQUIRED);
|
||||
switch (tag_live_alloc_kind(fwd->data)) {
|
||||
#define SCAN_OBJECT(name, Name, NAME) \
|
||||
#define OBJECT_SIZE(name, Name, NAME) \
|
||||
case ALLOC_KIND_##NAME: \
|
||||
return name##_size(gc_ref_heap_object(ref)); \
|
||||
FOR_EACH_HEAP_OBJECT_KIND(SCAN_OBJECT)
|
||||
#undef SCAN_OBJECT
|
||||
return name##_size(gc_ref_heap_object(fwd->ref));
|
||||
FOR_EACH_HEAP_OBJECT_KIND(OBJECT_SIZE)
|
||||
#undef OBJECT_SIZE
|
||||
default:
|
||||
GC_CRASH();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue