summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-23 07:05:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-23 07:05:19 +0000
commit0eb1ac5b392b082606b3a658fbc2cc7eaf76e0d3 (patch)
treeb0a643ce32f30cdc8d51a983c23958e6e1a9c1ef
parent31929bab1fd7d13b37f74ae27de1711c2ea1681c (diff)
vm_args.c: rb_exc_set_backtrace
* vm_args.c (raise_argument_error): call rb_exc_set_backtrace directly instead of funcall. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--vm_args.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vm_args.c b/vm_args.c
index 9e6fb9b990..cf7256b2d7 100644
--- a/vm_args.c
+++ b/vm_args.c
@@ -667,6 +667,8 @@ setup_parameters_complex(rb_thread_t * const th, const rb_iseq_t * const iseq, r
return opt_pc;
}
+VALUE rb_exc_set_backtrace(VALUE exc, VALUE bt);
+
static void
raise_argument_error(rb_thread_t *th, const rb_iseq_t *iseq, const VALUE exc)
{
@@ -683,7 +685,7 @@ raise_argument_error(rb_thread_t *th, const rb_iseq_t *iseq, const VALUE exc)
}
rb_ivar_set(exc, idBt_locations, at);
- rb_funcall(exc, rb_intern("set_backtrace"), 1, at);
+ rb_exc_set_backtrace(exc, at);
rb_exc_raise(exc);
}