From f01cef2050bdc52f580897aaae15564ee01ff2b0 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 27 Aug 2013 07:11:49 +0000 Subject: [PATCH] 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 --- vm_insnhelper.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/vm_insnhelper.c b/vm_insnhelper.c index f33b872527..4b8b2a2334 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -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 }