summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2021-11-26 11:37:28 +0900
committerKoichi Sasada <ko1@atdot.net>2021-11-26 11:39:59 +0900
commit7f7c3a0a75c48b45ce186c9e2b229ab3edf1473d (patch)
treec5651dc5042d8cc93d42dd76580eeeda347b107a /gc.c
parent6586783508c9743cc2e6707efd6de08d6d2fbadb (diff)
initialize allocated memory by VWA for assertions
When `RGENGC_CHECK_MODE` is enable, `obj_memsize_of` is called in `newobj_init` and it expect the memory is zero-cleared.
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index e0ba25860c..d3dc51f221 100644
--- a/gc.c
+++ b/gc.c
@@ -2354,6 +2354,10 @@ ractor_cached_free_region(rb_objspace_t *objspace, rb_ractor_t *cr, size_t size_
VALUE obj = (VALUE)p;
cache->freelist = p->as.free.next;
asan_unpoison_object(obj, true);
+#if RGENGC_CHECK_MODE
+ // zero clear
+ MEMZERO((char *)obj, char, size_pool_slot_size(size_pool_idx));
+#endif
return obj;
}
else {