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
@@ -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);
@@ -701,6 +701,14 @@ raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv, VA
}
}
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
@@ -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);
}
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);
}
else {
cc->aux.method_missing_reason = stat;