vm_insnhelper.c: reduce duplication
* vm_insnhelper.c (vm_search_method): reduce duplicated code for the case cache does not hit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b3392daaad
commit
f01cef2050
@ -850,17 +850,14 @@ vm_search_method(rb_call_info_t *ci, VALUE recv)
|
|||||||
#if OPT_INLINE_METHOD_CACHE
|
#if OPT_INLINE_METHOD_CACHE
|
||||||
if (LIKELY(GET_VM_STATE_VERSION() == ci->vmstat && klass == ci->klass)) {
|
if (LIKELY(GET_VM_STATE_VERSION() == ci->vmstat && klass == ci->klass)) {
|
||||||
/* cache hit! */
|
/* cache hit! */
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else {
|
#endif
|
||||||
ci->me = rb_method_entry(klass, ci->mid, &ci->defined_class);
|
ci->me = rb_method_entry(klass, ci->mid, &ci->defined_class);
|
||||||
|
ci->call = vm_call_general;
|
||||||
ci->klass = klass;
|
ci->klass = klass;
|
||||||
|
#if OPT_INLINE_METHOD_CACHE
|
||||||
ci->vmstat = GET_VM_STATE_VERSION();
|
ci->vmstat = GET_VM_STATE_VERSION();
|
||||||
ci->call = vm_call_general;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
ci->me = rb_method_entry(klass, ci->mid, &ci->defined_class);
|
|
||||||
ci->call = vm_call_general;
|
|
||||||
ci->klass = klass;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user