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 */ 
   | 
||