From 6374be5a8188ff5ed2c70b9f1d76672c87a0eda7 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 2 Aug 2021 14:22:47 -0400 Subject: [Feature #18239] Refactor RVARGC alloc functions The allocation functions no longer assume that one RVALUE needs to be allocated. --- gc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gc.c') diff --git a/gc.c b/gc.c index 11d7bd91f6..04337e4440 100644 --- a/gc.c +++ b/gc.c @@ -4577,7 +4577,9 @@ obj_memsize_of(VALUE obj, int use_all_types) if (RCLASS_CC_TBL(obj)) { size += cc_table_memsize(RCLASS_CC_TBL(obj)); } +#if !USE_RVARGC size += sizeof(rb_classext_t); +#endif } break; case T_ICLASS: @@ -4666,7 +4668,7 @@ obj_memsize_of(VALUE obj, int use_all_types) BUILTIN_TYPE(obj), (void*)obj); } - return size + sizeof(RVALUE); + return size + GET_HEAP_PAGE(obj)->slot_size; } size_t -- cgit v1.2.3