diff options
author | Peter Zhu <peter@peterzhu.ca> | 2024-02-26 11:50:21 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2024-02-28 10:41:11 -0500 |
commit | 7b69563b365317fb9c70e4bed996b5871ef7889a (patch) | |
tree | d909cadcfc1cea0b2f2ac03d225a2f1820921be6 /gc.c | |
parent | 48f433fd408f5f493aa0ac4638ee9ab773b8d10c (diff) |
Add check for finalizer in verify_internal_constency
This adds a check in GC.verify_internal_constency that FL_FINALIZE flags
is set if, and only if it is in finalizer_table.
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -7561,6 +7561,13 @@ verify_internal_consistency_i(void *page_start, void *page_end, size_t stride, obj_info(obj)); data->err_count++; } + + if (!!FL_TEST(obj, FL_FINALIZE) != !!st_is_member(finalizer_table, obj)) { + fprintf(stderr, "verify_internal_consistency_i: FL_FINALIZE %s but %s finalizer_table: %s\n", + FL_TEST(obj, FL_FINALIZE) ? "set" : "not set", st_is_member(finalizer_table, obj) ? "in" : "not in", + obj_info(obj)); + data->err_count++; + } } } if (poisoned) { |