Inherit max_iv_count from superclass

In 274870bd5434ab64ac3a3c9db9aa27d262c1d6d6 we gained the ability to
make an educated guess at the max_iv_count of a class based on its
initialize method. This commit makes subclasses inherit their super's
max_iv_count, which makes the estimate work in cases that the subclass
does not have an initialize method.
This commit is contained in:
John Hawthorn 2022-11-22 14:28:22 -08:00
parent 171e94bd95
commit da204d2eee
Notes: git 2022-12-01 23:37:35 +00:00

View File

@ -326,7 +326,13 @@ rb_class_new(VALUE super)
{
Check_Type(super, T_CLASS);
rb_check_inheritable(super);
return rb_class_boot(super);
VALUE klass = rb_class_boot(super);
if (super != rb_cObject && super != rb_cBasicObject) {
RCLASS_EXT(klass)->max_iv_count = RCLASS_EXT(super)->max_iv_count;
}
return klass;
}
VALUE