summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eval_intern.h2
-rw-r--r--vm_eval.c16
-rw-r--r--vm_insnhelper.c4
3 files changed, 11 insertions, 11 deletions
diff --git a/eval_intern.h b/eval_intern.h
index ce282203a7..d6ed25d4f3 100644
--- a/eval_intern.h
+++ b/eval_intern.h
@@ -302,8 +302,6 @@ NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
#if 0
NORETURN(void rb_vm_jump_tag_but_local_jump(int));
#endif
-NORETURN(void rb_raise_method_missing(rb_execution_context_t *ec,
- int argc, const VALUE *argv, VALUE obj, int call_status));
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
rb_cref_t *rb_vm_cref(void);
diff --git a/vm_eval.c b/vm_eval.c
index f0f336a233..9508a80a46 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -701,6 +701,14 @@ raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv, VA
}
}
+static void
+vm_raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv,
+ VALUE obj, int call_status)
+{
+ vm_passed_block_handler_set(ec, VM_BLOCK_HANDLER_NONE);
+ raise_method_missing(ec, argc, argv, obj, call_status | MISSING_MISSING);
+}
+
static inline VALUE
method_missing(VALUE obj, ID id, int argc, const VALUE *argv, enum method_missing_reason call_status)
{
@@ -732,14 +740,6 @@ method_missing(VALUE obj, ID id, int argc, const VALUE *argv, enum method_missin
return result;
}
-void
-rb_raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv,
- VALUE obj, int call_status)
-{
- vm_passed_block_handler_set(ec, VM_BLOCK_HANDLER_NONE);
- raise_method_missing(ec, argc, argv, obj, call_status | MISSING_MISSING);
-}
-
/*!
* Calls a method
* \param recv receiver of the method
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index d37a2a3b73..357a85d589 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -2324,6 +2324,8 @@ vm_call_method_each_type(rb_execution_context_t *ec, rb_control_frame_t *cfp, st
rb_bug("vm_call_method: unsupported method type (%d)", cc->me->def->type);
}
+NORETURN(static void vm_raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv, VALUE obj, int call_status));
+
static VALUE
vm_call_method_nome(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc)
{
@@ -2333,7 +2335,7 @@ vm_call_method_nome(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct
if (ci->mid == idMethodMissing) {
rb_control_frame_t *reg_cfp = cfp;
VALUE *argv = STACK_ADDR_FROM_TOP(calling->argc);
- rb_raise_method_missing(ec, calling->argc, argv, calling->recv, stat);
+ vm_raise_method_missing(ec, calling->argc, argv, calling->recv, stat);
}
else {
cc->aux.method_missing_reason = stat;