Revert "Faster rb_class_superclass"

This reverts commit 29b68b89a0.
This commit is contained in:
John Hawthorn 2022-03-17 11:56:00 -07:00
Родитель b6804d62f8
Коммит b8e72bd2e9
1 изменённых файлов: 7 добавлений и 6 удалений

Просмотреть файл

@ -2034,18 +2034,19 @@ rb_class_new_instance(int argc, const VALUE *argv, VALUE klass)
VALUE
rb_class_superclass(VALUE klass)
{
RUBY_ASSERT(RB_TYPE_P(klass, T_CLASS));
VALUE super = RCLASS_SUPER(klass);
if (!super) {
if (klass == rb_cBasicObject) return Qnil;
rb_raise(rb_eTypeError, "uninitialized class");
} else {
super = RCLASS_SUPERCLASSES(klass)[RCLASS_SUPERCLASS_DEPTH(klass) - 1];
RUBY_ASSERT(RB_TYPE_P(klass, T_CLASS));
return super;
}
while (RB_TYPE_P(super, T_ICLASS)) {
super = RCLASS_SUPER(super);
}
if (!super) {
return Qnil;
}
return super;
}
VALUE