From e3cb3e11af4323aba002a84044375180dd24248c Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Tue, 3 Sep 2019 11:55:32 -0700 Subject: [PATCH] Set VM_FRAME_FLAG_CFRAME_KW if kw_splat set in vm_yield_with_cfunc --- vm_insnhelper.c | 3 +-- 1 file changed, 1 insertion(+), 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,