summaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-08 16:06:33 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-08 16:06:33 +0000
commit8a83cd100bb932f47ecc7e214e9d89cb8ec3beae (patch)
tree339ee659c6ec32ad00b1dc7cc74580eca1a42245 /compile.c
parentb4960648bf524605f87e5a5562c3a4b68d2a08bd (diff)
use `getblockparamproxy` to pass blocks.
* compile.c (setup_args): use `getblockparamproxy` (`rb_block_param_proxy`) to represent a block parameter passing. * vm_args.c (vm_caller_setup_arg_block): check `rb_block_param_proxy` instead of using `VM_CALL_ARGS_BLOCKARG_BLOCKPARAM` call flag. * vm_core.h (VM_CALL_ARGS_BLOCKARG_BLOCKPARAM): removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/compile.c b/compile.c
index 9357835379..d81cc0fa10 100644
--- a/compile.c
+++ b/compile.c
@@ -4514,8 +4514,7 @@ setup_args(rb_iseq_t *iseq, LINK_ANCHOR *const args, const NODE *argn,
if (elem->type == ISEQ_ELEMENT_INSN) {
INSN *iobj = (INSN *)elem;
if (iobj->insn_id == BIN(getblockparam)) {
- iobj->insn_id = BIN(getlocal);
- *flag |= VM_CALL_ARGS_BLOCKARG_BLOCKPARAM;
+ iobj->insn_id = BIN(getblockparamproxy);
}
}
}