From c86408a33c4dc7e225e014a300daf4a329d52961 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 5 May 2025 10:42:28 +0200 Subject: [PATCH] Fix ephemeron death for bdw * src/bdw.c (gc_ephemeron_init): Fix misuse of disappearing-link API. --- src/bdw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bdw.c b/src/bdw.c index 1403d64f2..046e0181d 100644 --- a/src/bdw.c +++ b/src/bdw.c @@ -248,7 +248,8 @@ void gc_ephemeron_init(struct gc_mutator *mut, struct gc_ephemeron *ephemeron, gc_ephemeron_init_internal(mut->heap, ephemeron, key, value); if (GC_base((void*)gc_ref_value(key))) { struct gc_ref *loc = gc_edge_loc(gc_ephemeron_key_edge(ephemeron)); - GC_register_disappearing_link((void**)loc); + GC_general_register_disappearing_link((void**)loc, + gc_ref_heap_object(key)); } }