ruby-changes:25177
From: ko1 <ko1@a...>
Date: Wed, 17 Oct 2012 05:30:32 +0900 (JST)
Subject: [ruby-changes:25177] ko1:r37229 (trunk): * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip
ko1 2012-10-17 05:30:17 +0900 (Wed, 17 Oct 2012) New Revision: 37229 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37229 Log: * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip when splat flag is not set. Modified files: trunk/ChangeLog trunk/vm_insnhelper.c Index: ChangeLog =================================================================== --- ChangeLog (revision 37228) +++ ChangeLog (revision 37229) @@ -1,3 +1,8 @@ +Wed Oct 17 05:05:07 2012 Koichi Sasada <ko1@a...> + + * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip + when splat flag is not set. + Wed Oct 17 01:53:47 2012 Koichi Sasada <ko1@a...> * vm_insnhelper.c (vm_getivar, vm_setivar): support index inline cache Index: vm_insnhelper.c =================================================================== --- vm_insnhelper.c (revision 37228) +++ vm_insnhelper.c (revision 37229) @@ -2032,7 +2032,9 @@ } iseq = block->iseq; - vm_caller_setup_args(th, GET_CFP(), ci); + if (UNLIKELY(ci->flag & VM_CALL_ARGS_SPLAT)) { + vm_caller_setup_args(th, GET_CFP(), ci); + } if (BUILTIN_TYPE(iseq) != T_NODE) { int opt_pc; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/