summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-07-12 21:29:46 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-07-12 21:29:46 +0900
commit4501598f27b3733d02210be43c4a05a0f081ff62 (patch)
tree0099346f637cb576701186d23cf7f5a6c17db1d3 /src
parent4a6c651f82c2d416682e9729842d4fda6beee2bf (diff)
downloadmruby-4501598f27b3733d02210be43c4a05a0f081ff62.tar.gz
mruby-4501598f27b3733d02210be43c4a05a0f081ff62.zip
use SystemStackError instead of RuntimeError
Diffstat (limited to 'src')
-rw-r--r--src/error.c1
-rw-r--r--src/vm.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/error.c b/src/error.c
index dcb6063f8..d472f7f95 100644
--- a/src/error.c
+++ b/src/error.c
@@ -455,4 +455,5 @@ mrb_init_exception(mrb_state *mrb)
mrb->nomem_err = mrb_obj_ptr(mrb_exc_new_str(mrb, runtime_error, mrb_str_new_lit(mrb, "Out of memory")));
script_error = mrb_define_class(mrb, "ScriptError", mrb->eException_class); /* 15.2.37 */
mrb_define_class(mrb, "SyntaxError", script_error); /* 15.2.38 */
+ mrb_define_class(mrb, "SystemStackError", exception);
}
diff --git a/src/vm.c b/src/vm.c
index 20a51eff4..33e8eefb3 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -160,7 +160,7 @@ stack_extend_alloc(mrb_state *mrb, int room, int keep)
to prevent infinite recursion. However, do this only after resizing the stack, so mrb_raise has stack space to work with. */
if (size > MRB_STACK_MAX) {
init_new_stack_space(mrb, room, keep);
- mrb_raise(mrb, E_RUNTIME_ERROR, "stack level too deep. (limit=" TO_STR(MRB_STACK_MAX) ")");
+ mrb_raise(mrb, E_SYSSTACK_ERROR, "stack level too deep. (limit=" TO_STR(MRB_STACK_MAX) ")");
}
}