summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proc.c2
-rw-r--r--vm.c6
-rw-r--r--vm_core.h14
3 files changed, 14 insertions, 8 deletions
diff --git a/proc.c b/proc.c
index f9e16c7161..cf6e1e85c7 100644
--- a/proc.c
+++ b/proc.c
@@ -1921,7 +1921,7 @@ rb_mod_define_method(int argc, VALUE *argv, VALUE mod)
break;
case block_handler_type_iseq:
case block_handler_type_ifunc:
- body = rb_vm_make_proc_lambda(ec, VM_BH_TO_CAPT_BLOCK(block_handler), rb_cProc, TRUE);
+ body = rb_vm_make_lambda(ec, VM_BH_TO_CAPT_BLOCK(block_handler), rb_cProc);
}
#endif
}
diff --git a/vm.c b/vm.c
index 7d6bcba0c2..fd6d2fad96 100644
--- a/vm.c
+++ b/vm.c
@@ -866,12 +866,6 @@ rb_proc_create(VALUE klass, const struct rb_block *block,
}
VALUE
-rb_vm_make_proc(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass)
-{
- return rb_vm_make_proc_lambda(ec, captured, klass, FALSE);
-}
-
-VALUE
rb_vm_make_proc_lambda(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass, int8_t is_lambda)
{
VALUE procval;
diff --git a/vm_core.h b/vm_core.h
index cf763d46ec..d08880fe4a 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1498,8 +1498,20 @@ int rb_ec_frame_method_id_and_class(const rb_execution_context_t *ec, ID *idp, I
void rb_ec_setup_exception(const rb_execution_context_t *ec, VALUE mesg, VALUE cause);
VALUE rb_vm_invoke_proc(rb_execution_context_t *ec, rb_proc_t *proc, int argc, const VALUE *argv, VALUE block_handler);
+
VALUE rb_vm_make_proc_lambda(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass, int8_t is_lambda);
-VALUE rb_vm_make_proc(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass);
+static inline VALUE
+rb_vm_make_proc(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass)
+{
+ return rb_vm_make_proc_lambda(ec, captured, klass, 0);
+}
+
+static inline VALUE
+rb_vm_make_lambda(const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass)
+{
+ return rb_vm_make_proc_lambda(ec, captured, klass, 1);
+}
+
VALUE rb_vm_make_binding(const rb_execution_context_t *ec, const rb_control_frame_t *src_cfp);
VALUE rb_vm_env_local_variables(const rb_env_t *env);
const rb_env_t *rb_vm_env_prev_env(const rb_env_t *env);