summaryrefslogtreecommitdiffhomepage
path: root/src/error.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-06-27 22:10:21 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-06-27 22:10:21 +0900
commit4ce0a7653be6b52120a8b12c4cc5abf1bdb25572 (patch)
tree4012e0efcdf56ccc238244334321280240f25a74 /src/error.c
parent79787df046cc0eaebfce3eea4769981677c768d8 (diff)
downloadmruby-4ce0a7653be6b52120a8b12c4cc5abf1bdb25572.tar.gz
mruby-4ce0a7653be6b52120a8b12c4cc5abf1bdb25572.zip
reduce mrb_funcall in exception allocation
Diffstat (limited to 'src/error.c')
-rw-r--r--src/error.c5
1 files changed, 3 insertions, 2 deletions
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);
}
/*