Skip to content

Commit 68e3a69

Browse files
committed
Fix bug with lospace in generational configurations
1 parent 7049871 commit 68e3a69

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/large-object-space.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,14 +298,16 @@ large_object_space_remove_from_freelist(struct large_object_space *space,
298298
if (dead->next)
299299
dead->next->value.dead.prev = dead->prev;
300300
*dead->prev = dead->next;
301+
dead->prev = NULL;
302+
dead->next = NULL;
301303
}
302304

303305
static void
304306
large_object_space_sweep_one(uintptr_t addr, uintptr_t node_bits,
305307
void *data) {
306308
struct large_object_space *space = data;
307309
struct large_object_node *node = (struct large_object_node*) node_bits;
308-
if (!GC_GENERATIONAL && !node->value.is_live)
310+
if (!node->value.is_live)
309311
return;
310312
GC_ASSERT(node->value.is_live);
311313
uint8_t mark = atomic_load_explicit(large_object_node_mark_loc(node),

0 commit comments

Comments
 (0)