diff options
author | Jeremy Evans <[email protected]> | 2019-09-03 11:55:32 -0700 |
---|---|---|
committer | Jeremy Evans <[email protected]> | 2019-09-05 17:47:12 -0700 |
commit | e3cb3e11af4323aba002a84044375180dd24248c (patch) | |
tree | a2809be9592b3dcf71ec7bbdf49ca3fc1bb40779 /vm_insnhelper.c | |
parent | fd2ef1a9bfa489842472d183ea10b6fd9838c460 (diff) |
Set VM_FRAME_FLAG_CFRAME_KW if kw_splat set in vm_yield_with_cfunc
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index ec5b874b88..2d10b58d00 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2866,11 +2866,10 @@ vm_yield_with_cfunc(rb_execution_context_t *ec, } blockarg = rb_vm_bh_to_procval(ec, block_handler); - /* XXX: Set VM_FRAME_FLAG_CFRAME_KW https://github.com/ruby/ruby/pull/2422 */ vm_push_frame(ec, (const rb_iseq_t *)captured->code.ifunc, VM_FRAME_MAGIC_IFUNC | VM_FRAME_FLAG_CFRAME | - (me ? VM_FRAME_FLAG_BMETHOD : 0), + (me ? VM_FRAME_FLAG_BMETHOD : 0) | (kw_splat ? VM_FRAME_FLAG_CFRAME_KW : 0), self, VM_GUARDED_PREV_EP(captured->ep), (VALUE)me, |