Actions
Feature #14330
closed
Updated by ko1 (Koichi Sasada) over 7 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r61659.
Speedup block.call
[Feature ]
insns.def (getblockparamproxy): introduce new instruction to return
therb_block_param_proxy
object if possible. This object responds
tocall
method and invoke given block (completely similar toyield
).method.h (OPTIMIZED_METHOD_TYPE_BLOCK_CALL): add new optimized call type
which is forrb_block_param_proxy.cal
.vm_insnhelper.c (vm_call_method_each_type): ditto.
vm_insnhelper.c (vm_call_opt_block_call): ditto.
vm_core.h (BOP_CALL, PROC_REDEFINED_OP_FLAG): add check for
Proc#call
redefinition.compile.c (iseq_compile_each0): compile to use new insn
getblockparamproxy
for method call.
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
- Related to : block.call should respect redefinition of Proc#call added
Actions
Like0Like0Like0