1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-08 18:40:23 +02:00

Marking a conservative ref is atomic

This commit is contained in:
Andy Wingo 2025-07-07 16:38:09 +02:00
parent ba880a03da
commit 652bc9ca60

View file

@ -1927,10 +1927,11 @@ nofl_space_mark_conservative_ref(struct nofl_space *space,
GC_ASSERT(nofl_metadata_byte_is_young_or_has_mark(resolved.byte,
space->survivor_mark));
nofl_space_set_nonempty_mark(space, resolved.metadata, resolved.byte,
gc_ref(resolved.addr));
if (nofl_space_set_nonempty_mark(space, resolved.metadata, resolved.byte,
gc_ref(resolved.addr)))
return gc_ref(resolved.addr);
return gc_ref(resolved.addr);
return gc_ref_null();
}
static inline size_t