diff options
author | charliesome <charliesome@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-09 11:00:23 +0000 |
---|---|---|
committer | charliesome <charliesome@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-09 11:00:23 +0000 |
commit | c039c7081594a7e8e7cf5e96abbdc8fc6ac43a21 (patch) | |
tree | 5c9b5583e2abcf5b3a458f4ced9cafd4d5cab9c6 /vm_insnhelper.c | |
parent | 7df979812699f153791b95e9c37f6c61b0cfb599 (diff) |
* internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience
accessor for RCLASS_EXT(klass)->class_serial.
* class.c, vm_insnhelper.c, vm_method.c: Use RCLASS_SERIAL
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index b515f8a4e7..6174e13a58 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -487,7 +487,7 @@ vm_getivar(VALUE obj, ID id, IC ic, rb_call_info_t *ci, int is_attr) VALUE val = Qundef; VALUE klass = RBASIC(obj)->klass; - if (LIKELY((!is_attr && ic->ic_serial == RCLASS_EXT(klass)->class_serial) || + if (LIKELY((!is_attr && ic->ic_serial == RCLASS_SERIAL(klass)) || (is_attr && ci->aux.index > 0))) { long index = !is_attr ? (long)ic->ic_value.index : ci->aux.index - 1; long len = ROBJECT_NUMIV(obj); @@ -510,7 +510,7 @@ vm_getivar(VALUE obj, ID id, IC ic, rb_call_info_t *ci, int is_attr) } if (!is_attr) { ic->ic_value.index = index; - ic->ic_serial = RCLASS_EXT(klass)->class_serial; + ic->ic_serial = RCLASS_SERIAL(klass); } else { /* call_info */ ci->aux.index = index + 1; @@ -542,7 +542,7 @@ vm_setivar(VALUE obj, ID id, VALUE val, IC ic, rb_call_info_t *ci, int is_attr) st_data_t index; if (LIKELY( - (!is_attr && ic->ic_serial == RCLASS_EXT(klass)->class_serial) || + (!is_attr && ic->ic_serial == RCLASS_SERIAL(klass)) || (is_attr && ci->aux.index > 0))) { long index = !is_attr ? (long)ic->ic_value.index : ci->aux.index-1; long len = ROBJECT_NUMIV(obj); @@ -559,7 +559,7 @@ vm_setivar(VALUE obj, ID id, VALUE val, IC ic, rb_call_info_t *ci, int is_attr) if (iv_index_tbl && st_lookup(iv_index_tbl, (st_data_t)id, &index)) { if (!is_attr) { ic->ic_value.index = index; - ic->ic_serial = RCLASS_EXT(klass)->class_serial; + ic->ic_serial = RCLASS_SERIAL(klass); } else { ci->aux.index = index + 1; @@ -823,7 +823,7 @@ vm_search_method(rb_call_info_t *ci, VALUE recv) VALUE klass = CLASS_OF(recv); #if OPT_INLINE_METHOD_CACHE - if (LIKELY(GET_GLOBAL_METHOD_STATE() == ci->method_state && RCLASS_EXT(klass)->class_serial == ci->class_serial)) { + if (LIKELY(GET_GLOBAL_METHOD_STATE() == ci->method_state && RCLASS_SERIAL(klass) == ci->class_serial)) { /* cache hit! */ return; } @@ -834,7 +834,7 @@ vm_search_method(rb_call_info_t *ci, VALUE recv) ci->call = vm_call_general; #if OPT_INLINE_METHOD_CACHE ci->method_state = GET_GLOBAL_METHOD_STATE(); - ci->class_serial = RCLASS_EXT(klass)->class_serial; + ci->class_serial = RCLASS_SERIAL(klass); #endif } |