summaryrefslogtreecommitdiff
path: root/vm_args.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 08:21:07 (GMT)
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 08:21:07 (GMT)
commiteec17b718ae04b9bcff215114a156dcb25eb1458 (patch)
tree4133d3187ea216692013cfb2e59b396939ce8f07 /vm_args.c
parentd3022c424cffc1e92b751e72fb450408e853e388 (diff)
* vm_core.h: remove rb_call_info_t::blockiseq.
* insns.def (send, invokesuper): pass blockiseq explicitly. * compile.c: catch up this fix. * iseq.c: ditto. * vm_args.c: ditto. * iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_args.c')
-rw-r--r--vm_args.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/vm_args.c b/vm_args.c
index 51141aa..fe7a9b9 100644
--- a/vm_args.c
+++ b/vm_args.c
@@ -762,7 +762,8 @@ vm_caller_setup_arg_kw(rb_control_frame_t *cfp, rb_call_info_t *ci)
} while (0)
static void
-vm_caller_setup_arg_block(const rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *ci, const int is_super)
+vm_caller_setup_arg_block(const rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *ci,
+ rb_iseq_t *blockiseq, const int is_super)
{
if (ci->flag & VM_CALL_ARGS_BLOCKARG) {
rb_proc_t *po;
@@ -791,9 +792,9 @@ vm_caller_setup_arg_block(const rb_thread_t *th, rb_control_frame_t *reg_cfp, rb
ci->blockptr = NULL;
}
}
- else if (ci->blockiseq != 0) { /* likely */
+ else if (blockiseq != 0) { /* likely */
ci->blockptr = RUBY_VM_GET_BLOCK_PTR_IN_CFP(reg_cfp);
- ci->blockptr->iseq = ci->blockiseq;
+ ci->blockptr->iseq = blockiseq;
ci->blockptr->proc = 0;
}
else {