diff --git a/vm.c b/vm.c index 4b99d00710..c63c773194 100644 --- a/vm.c +++ b/vm.c @@ -1087,7 +1087,7 @@ invoke_block_from_c_bh(rb_execution_context_t *ec, VALUE block_handler, case block_handler_type_ifunc: return vm_yield_with_cfunc(ec, VM_BH_TO_IFUNC_BLOCK(block_handler), VM_BH_TO_IFUNC_BLOCK(block_handler)->self, - argc, argv, passed_block_handler, NULL); + argc, argv, passed_block_handler, NULL); case block_handler_type_symbol: return vm_yield_with_symbol(ec, VM_BH_TO_SYMBOL(block_handler), argc, argv, passed_block_handler); @@ -1164,7 +1164,7 @@ invoke_block_from_c_proc(rb_execution_context_t *ec, const rb_proc_t *proc, case block_type_iseq: return invoke_iseq_block_from_c(ec, &block->as.captured, self, argc, argv, passed_block_handler, NULL, is_lambda, me); case block_type_ifunc: - return vm_yield_with_cfunc(ec, &block->as.captured, self, argc, argv, passed_block_handler, me); + return vm_yield_with_cfunc(ec, &block->as.captured, self, argc, argv, passed_block_handler, me); case block_type_symbol: return vm_yield_with_symbol(ec, block->as.symbol, argc, argv, passed_block_handler); case block_type_proc: diff --git a/vm_insnhelper.c b/vm_insnhelper.c index caf8514aad..84ed11662e 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2511,7 +2511,7 @@ block_proc_is_lambda(const VALUE procval) static VALUE vm_yield_with_cfunc(rb_execution_context_t *ec, const struct rb_captured_block *captured, - VALUE self, int argc, const VALUE *argv, VALUE block_handler, + VALUE self, int argc, const VALUE *argv, VALUE block_handler, const rb_callable_method_entry_t *me) { int is_lambda = FALSE; /* TODO */ @@ -2531,7 +2531,7 @@ vm_yield_with_cfunc(rb_execution_context_t *ec, blockarg = rb_vm_bh_to_procval(ec, block_handler); 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), self, VM_GUARDED_PREV_EP(captured->ep),