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:
nobu 2013-08-27 07:11:49 +00:00
parent b3392daaad
commit f01cef2050

View File

@ -850,17 +850,14 @@ vm_search_method(rb_call_info_t *ci, VALUE recv)
#if OPT_INLINE_METHOD_CACHE
if (LIKELY(GET_VM_STATE_VERSION() == ci->vmstat && klass == ci->klass)) {
/* cache hit! */
return;
}
else {
ci->me = rb_method_entry(klass, ci->mid, &ci->defined_class);
ci->klass = klass;
ci->vmstat = GET_VM_STATE_VERSION();
ci->call = vm_call_general;
}
#else
#endif
ci->me = rb_method_entry(klass, ci->mid, &ci->defined_class);
ci->call = vm_call_general;
ci->klass = klass;
#if OPT_INLINE_METHOD_CACHE
ci->vmstat = GET_VM_STATE_VERSION();
#endif
}