summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2021-08-23 10:49:14 -0400
committerPeter Zhu <peter@peterzhu.ca>2021-08-23 10:54:53 -0400
commiteddd369e7378ec762cf81a226aec1a2b8719bf7a (patch)
tree0722311cc0ce1d4d8474935a42b01a9428f127de /class.c
parentb2e2cf2dedd104acad8610721db5e4d341f135ef (diff)
downloadruby-eddd369e7378ec762cf81a226aec1a2b8719bf7a.tar.gz
Revert "[Feature #18045] Implement size classes for GC"
This reverts commits 48ff7a9f3e47bffb3e4d067a12ba9b936261caa0 and b2e2cf2dedd104acad8610721db5e4d341f135ef because it is causing crashes in SPARC solaris and i386 debian.
Diffstat (limited to 'class.c')
-rw-r--r--class.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/class.c b/class.c
index 4c469ffaeb..5fa51df3fa 100644
--- a/class.c
+++ b/class.c
@@ -185,7 +185,8 @@ class_alloc(VALUE flags, VALUE klass)
RVARGC_NEWOBJ_OF(obj, struct RClass, klass, (flags & T_MASK) | FL_PROMOTED1 /* start from age == 2 */ | (RGENGC_WB_PROTECTED_CLASS ? FL_WB_PROTECTED : 0), payload_size);
#if USE_RVARGC
- obj->ptr = (rb_classext_t *)rb_gc_rvargc_object_data((VALUE)obj);
+ obj->ptr = (rb_classext_t *)rb_rvargc_payload_data_ptr((VALUE)obj + rb_slot_size());
+ RB_OBJ_WRITTEN(obj, Qundef, (VALUE)obj + rb_slot_size());
#else
obj->ptr = ZALLOC(rb_classext_t);
#endif