summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2024-02-26 11:50:08 -0500
committerPeter Zhu <peter@peterzhu.ca>2024-02-28 10:41:11 -0500
commit48f433fd408f5f493aa0ac4638ee9ab773b8d10c (patch)
tree4fb4585ab82f1810efd235306e4f273706e9e836 /gc.c
parentc990cc706c959e280ad9ea10d47672ad6227a810 (diff)
Change T_ZOMBIE flag check from an assertion
Assertions are only enable on debug builds, so it will now check for flags of T_ZOMBIE objects on all builds in GC.verify_internal_consistency.
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index df61246d46..06a99f6641 100644
--- a/gc.c
+++ b/gc.c
@@ -7554,8 +7554,13 @@ verify_internal_consistency_i(void *page_start, void *page_end, size_t stride,
}
else {
if (BUILTIN_TYPE(obj) == T_ZOMBIE) {
- GC_ASSERT((RBASIC(obj)->flags & ~ZOMBIE_OBJ_KEPT_FLAGS) == T_ZOMBIE);
data->zombie_object_count++;
+
+ if ((RBASIC(obj)->flags & ~ZOMBIE_OBJ_KEPT_FLAGS) != T_ZOMBIE) {
+ fprintf(stderr, "verify_internal_consistency_i: T_ZOMBIE has extra flags set: %s\n",
+ obj_info(obj));
+ data->err_count++;
+ }
}
}
if (poisoned) {