From 5dd18bac2c5f905858dfa4624c9b506d05447be6 Mon Sep 17 00:00:00 2001 From: Calvin Rose Date: Sun, 24 Sep 2023 11:51:22 -0700 Subject: [PATCH] More fixups to gc.c --- src/core/gc.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/core/gc.c b/src/core/gc.c index ba86ea75..b4668e47 100644 --- a/src/core/gc.c +++ b/src/core/gc.c @@ -53,11 +53,6 @@ void janet_gcpressure(size_t s) { janet_vm.next_collection += s; } -/* Instrment freed memory for simple use after free detection. */ -static void gc_free_gcobj(JanetGCObject *mem) { - janet_free(mem); -} - /* Mark a value */ void janet_mark(Janet x) { if (depth) { @@ -344,12 +339,13 @@ void janet_sweep() { current->flags &= ~JANET_MEM_REACHABLE; } else { janet_vm.block_count--; + janet_deinit_block(current); if (NULL != previous) { previous->data.next = next; } else { janet_vm.blocks = next; } - gc_free_gcobj(current); + janet_free(current); } current = next; } @@ -375,7 +371,7 @@ void janet_sweep() { janet_assert(!head->type->gc(head->data, head->size), "finalizer failed"); } /* Free memory */ - gc_free_gcobj(janet_abstract_head(abst)); + janet_free(janet_abstract_head(abst)); } /* Mark as tombstone in place */ @@ -550,7 +546,7 @@ void janet_clear_memory(void) { while (NULL != current) { janet_deinit_block(current); JanetGCObject *next = current->data.next; - gc_free_gcobj(current); + janet_free(current); current = next; } janet_vm.blocks = NULL;