Set VM_FRAME_FLAG_CFRAME_KW if kw_splat set in vm_yield_with_cfunc
This commit is contained in:
parent
fd2ef1a9bf
commit
e3cb3e11af
@ -2866,11 +2866,10 @@ vm_yield_with_cfunc(rb_execution_context_t *ec,
|
|||||||
}
|
}
|
||||||
|
|
||||||
blockarg = rb_vm_bh_to_procval(ec, block_handler);
|
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_push_frame(ec, (const rb_iseq_t *)captured->code.ifunc,
|
||||||
VM_FRAME_MAGIC_IFUNC | VM_FRAME_FLAG_CFRAME |
|
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,
|
self,
|
||||||
VM_GUARDED_PREV_EP(captured->ep),
|
VM_GUARDED_PREV_EP(captured->ep),
|
||||||
(VALUE)me,
|
(VALUE)me,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user