ruby-changes:44625
From: nobu <ko1@a...>
Date: Fri, 11 Nov 2016 09:08:47 +0900 (JST)
Subject: [ruby-changes:44625] nobu:r56698 (trunk): vm_eval.c: reorder
nobu 2016-11-11 09:08:41 +0900 (Fri, 11 Nov 2016) New Revision: 56698 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=56698 Log: vm_eval.c: reorder * vm_eval.c (vm_call0_body): reorder the conditions. [ruby-core:78073] [Bug #12920] Modified files: trunk/vm_eval.c Index: vm_eval.c =================================================================== --- vm_eval.c (revision 56697) +++ vm_eval.c (revision 56698) @@ -196,15 +196,13 @@ vm_call0_body(rb_thread_t* th, struct rb https://github.com/ruby/ruby/blob/trunk/vm_eval.c#L196 const rb_method_type_t type = cc->me->def->type; VALUE super_class = cc->me->defined_class; - if (type == VM_METHOD_TYPE_REFINED) { - if (cc->me->def->body.refined.orig_me) { - cc->me = refined_method_callable_without_refinement(cc->me); - goto again; - } - } - else { + if (type == VM_METHOD_TYPE_ZSUPER) { super_class = RCLASS_ORIGIN(super_class); } + else if (cc->me->def->body.refined.orig_me) { + cc->me = refined_method_callable_without_refinement(cc->me); + goto again; + } super_class = RCLASS_SUPER(super_class); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/