Make FrozenCore a plain T_CLASS

This commit is contained in:
John Hawthorn 2025-05-28 10:11:58 -07:00 committed by John Hawthorn
parent db2cfebff1
commit e596cf6e93
Notes: git 2025-06-02 18:58:01 +00:00
2 changed files with 4 additions and 4 deletions

5
gc.c
View File

@ -1491,7 +1491,10 @@ internal_object_p(VALUE obj)
case T_ZOMBIE:
break;
case T_CLASS:
if (!RBASIC(obj)->klass) break;
if (obj == rb_mRubyVMFrozenCore)
return 1;
if (!RBASIC_CLASS(obj)) break;
if (RCLASS_SINGLETON_P(obj)) {
return rb_singleton_class_internal_p(obj);
}

3
vm.c
View File

@ -4011,9 +4011,6 @@ Init_VM(void)
fcore = rb_class_new(rb_cBasicObject);
rb_set_class_path(fcore, rb_cRubyVM, "FrozenCore");
rb_vm_register_global_object(rb_class_path_cached(fcore));
RB_FL_UNSET_RAW(fcore, T_MASK);
RB_FL_SET_RAW(fcore, T_ICLASS);
RCLASSEXT_ICLASS_IS_ORIGIN(RCLASS_EXT_PRIME(fcore)) = true;
klass = rb_singleton_class(fcore);
rb_define_method_id(klass, id_core_set_method_alias, m_core_set_method_alias, 3);
rb_define_method_id(klass, id_core_set_variable_alias, m_core_set_variable_alias, 2);