summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-05-23 23:41:12 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-05-23 23:50:42 +0900
commit9644ad51b4a63d8db46d7918ec5e89a547236c56 (patch)
tree12c3265c8c71d9b26ff544f2e0f0768bc64cf7c7 /src/vm.c
parentd2458e66c26bac5e9db98c22dc6910cb45971b85 (diff)
downloadmruby-9644ad51b4a63d8db46d7918ec5e89a547236c56.tar.gz
mruby-9644ad51b4a63d8db46d7918ec5e89a547236c56.zip
Simplify backtrace mechanism; fix #3633 #3634 #3644
Instead of preserving a backtrace in `mrb_state`, `mrb_exc_set` keeps packed backtrace in an exception object. `#backtrace` unpacks it to an array of strings.
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index b56da6c88..896be7ad9 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1741,8 +1741,6 @@ RETRY_TRY_BLOCK:
L_RAISE:
ci0 = ci = mrb->c->ci;
- mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern_lit(mrb, "lastpc"), mrb_cptr_value(mrb, pc));
- mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern_lit(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->c->cibase));
eidx = ci->eidx;
if (ci == mrb->c->cibase) {
if (ci->ridx == 0) goto L_STOP;