From 4ce0a7653be6b52120a8b12c4cc5abf1bdb25572 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 27 Jun 2014 22:10:21 +0900 Subject: reduce mrb_funcall in exception allocation --- src/error.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/error.c b/src/error.c index 5ca013527..2eebdd033 100644 --- a/src/error.c +++ b/src/error.c @@ -20,14 +20,15 @@ mrb_value mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, long len) { - return mrb_funcall(mrb, mrb_obj_value(c), "new", 1, mrb_str_new(mrb, ptr, len)); + mrb_value arg = mrb_str_new(mrb, ptr, len); + return mrb_obj_new(mrb, c, 1, &arg); } mrb_value mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str) { str = mrb_str_to_str(mrb, str); - return mrb_funcall(mrb, mrb_obj_value(c), "new", 1, str); + return mrb_obj_new(mrb, c, 1, &str); } /* -- cgit v1.2.3