wingo pushed a commit to branch wip-whippet in repository guile. commit 555694965dde4d62b0a0c3091aca344e0c7653c1 Author: Andy Wingo <wi...@igalia.com> AuthorDate: Fri Jan 10 15:57:49 2025 +0100
Looking up large object for edge returns the object --- src/large-object-space.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/large-object-space.h b/src/large-object-space.h index 703c048b4..f3470e0e4 100644 --- a/src/large-object-space.h +++ b/src/large-object-space.h @@ -123,12 +123,12 @@ large_object_space_contains(struct large_object_space *space, } static inline struct gc_ref -large_object_space_contains_edge(struct large_object_space *space, - struct gc_edge edge) { +large_object_space_object_containing_edge(struct large_object_space *space, + struct gc_edge edge) { pthread_mutex_lock(&space->lock); struct large_object_node *node = large_object_tree_lookup(&space->object_tree, gc_edge_address(edge)); - uintptr_t addr = node ? node->key.addr : 0; + uintptr_t addr = (node && node->value.is_live) ? node->key.addr : 0; pthread_mutex_unlock(&space->lock); return gc_ref(addr); }