diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-05 03:22:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-05 03:22:20 +0000 |
commit | 41bdcc2ea8b1c8237b5a92ec2845cb3d76e37c36 (patch) | |
tree | 62ae54c9e0f14e65f98d6a7b76314bb4d862e12e /eval.c | |
parent | aab7b1235d23088e0beb2bbc4ee28fe804d648f4 (diff) | |
download | ruby-41bdcc2ea8b1c8237b5a92ec2845cb3d76e37c36.tar.gz |
use TH_JUMP_TAG
* vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the
same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with
the current thread global variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -477,7 +477,7 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg, VALUE cause) if (NIL_P(mesg)) { mesg = th->errinfo; - if (INTERNAL_EXCEPTION_P(mesg)) JUMP_TAG(TAG_FATAL); + if (INTERNAL_EXCEPTION_P(mesg)) TH_JUMP_TAG(th, TAG_FATAL); nocause = 1; } if (NIL_P(mesg)) { @@ -551,14 +551,14 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg, VALUE cause) } else if (status) { rb_threadptr_reset_raised(th); - JUMP_TAG(status); + TH_JUMP_TAG(th, status); } } if (rb_threadptr_set_raised(th)) { th->errinfo = exception_error; rb_threadptr_reset_raised(th); - JUMP_TAG(TAG_FATAL); + TH_JUMP_TAG(th, TAG_FATAL); } if (tag != TAG_FATAL) { @@ -573,7 +573,7 @@ rb_longjmp(int tag, volatile VALUE mesg, VALUE cause) rb_thread_t *th = GET_THREAD(); setup_exception(th, tag, mesg, cause); rb_thread_raised_clear(th); - JUMP_TAG(tag); + TH_JUMP_TAG(th, tag); } static VALUE make_exception(int argc, const VALUE *argv, int isstr); @@ -743,7 +743,7 @@ rb_raise_jump(VALUE mesg, VALUE cause) setup_exception(th, TAG_RAISE, mesg, cause); rb_thread_raised_clear(th); - JUMP_TAG(TAG_RAISE); + TH_JUMP_TAG(th, TAG_RAISE); } void @@ -837,7 +837,7 @@ rb_rescue2(VALUE (* b_proc) (ANYARGS), VALUE data1, } TH_POP_TAG(); if (state) - JUMP_TAG(state); + TH_JUMP_TAG(th, state); return result; } @@ -905,7 +905,7 @@ rb_ensure(VALUE (*b_proc)(ANYARGS), VALUE data1, VALUE (*e_proc)(ANYARGS), VALUE (*ensure_list.entry.e_proc)(ensure_list.entry.data2); th->errinfo = errinfo; if (state) - JUMP_TAG(state); + TH_JUMP_TAG(th, state); return result; } |