зеркало из https://github.com/github/ruby.git
vm.c: narrow variable scope
* vm.c (vm_exec): move escape_ep into exception block, since it is updated every time entering the block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
d05010f6a4
Коммит
4621799d3d
3
vm.c
3
vm.c
|
@ -1190,7 +1190,6 @@ vm_exec(rb_thread_t *th)
|
|||
int state;
|
||||
VALUE result, err;
|
||||
VALUE initial = 0;
|
||||
VALUE *volatile escape_ep = NULL;
|
||||
|
||||
TH_PUSH_TAG(th);
|
||||
_tag.retval = Qnil;
|
||||
|
@ -1210,6 +1209,7 @@ vm_exec(rb_thread_t *th)
|
|||
VALUE catch_iseqval;
|
||||
rb_control_frame_t *cfp;
|
||||
VALUE type;
|
||||
VALUE *escape_ep;
|
||||
|
||||
err = th->errinfo;
|
||||
|
||||
|
@ -1228,6 +1228,7 @@ vm_exec(rb_thread_t *th)
|
|||
cfp = th->cfp;
|
||||
epc = cfp->pc - cfp->iseq->iseq_encoded;
|
||||
|
||||
escape_ep = NULL;
|
||||
if (state == TAG_BREAK || state == TAG_RETURN) {
|
||||
escape_ep = GET_THROWOBJ_CATCH_POINT(err);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче