Feature #10396 ยป ruby.diff
| variable.c | ||
|---|---|---|
|
VALUE
|
||
|
rb_ivar_get(VALUE obj, ID id)
|
||
|
{
|
||
|
VALUE iv = rb_ivar_lookup(obj, id, Qundef);
|
||
|
if (iv == Qundef) {
|
||
|
rb_warning("instance variable %"PRIsVALUE" not initialized", QUOTE_ID(id));
|
||
|
iv = Qnil;
|
||
|
}
|
||
|
return iv;
|
||
|
return rb_ivar_lookup(obj, id, Qnil);
|
||
|
}
|
||
|
VALUE
|
||
| vm_insnhelper.c | ||
|---|---|---|
|
{
|
||
|
#if USE_IC_FOR_IVAR
|
||
|
if (RB_TYPE_P(obj, T_OBJECT)) {
|
||
|
VALUE val = Qundef;
|
||
|
VALUE val = Qnil;
|
||
|
VALUE klass = RBASIC(obj)->klass;
|
||
|
if (LIKELY((!is_attr && ic->ic_serial == RCLASS_SERIAL(klass)) ||
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
if (UNLIKELY(val == Qundef)) {
|
||
|
if (!is_attr) rb_warning("instance variable %s not initialized", rb_id2name(id));
|
||
|
val = Qnil;
|
||
|
}
|
||
|
return val;
|
||
|
}
|
||
|
#endif /* USE_IC_FOR_IVAR */
|
||