ruby-changes:14773
From: mame <ko1@a...>
Date: Thu, 11 Feb 2010 01:54:53 +0900 (JST)
Subject: [ruby-changes:14773] Ruby:r26633 (trunk): * vm.c (vm_exec): temporarily revert r26628, which causes SEGV when
mame 2010-02-11 01:46:39 +0900 (Thu, 11 Feb 2010) New Revision: 26633 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26633 Log: * vm.c (vm_exec): temporarily revert r26628, which causes SEGV when executing rubyspec. Modified files: trunk/ChangeLog trunk/vm.c Index: ChangeLog =================================================================== --- ChangeLog (revision 26632) +++ ChangeLog (revision 26633) @@ -1,3 +1,8 @@ +Thu Feb 11 01:45:04 2010 Yusuke Endoh <mame@t...> + + * vm.c (vm_exec): temporarily revert r26628, which causes SEGV when + executing rubyspec. + Wed Feb 10 16:31:03 2010 Nobuyoshi Nakada <nobu@r...> * array.c (rb_ary_push_m, rb_ary_unshift_m, rb_ary_aset), Index: vm.c =================================================================== --- vm.c (revision 26632) +++ vm.c (revision 26633) @@ -1121,8 +1121,6 @@ _tag.retval = Qnil; if ((state = EXEC_TAG()) == 0) { vm_loop_start: - th->state = 0; - th->errinfo = Qnil; result = vm_exec_core(th, initial); if ((state = th->state) != 0) { err = result; @@ -1191,6 +1189,7 @@ #else *th->cfp->sp++ = (GET_THROWOBJ_VAL(err)); #endif + th->errinfo = Qnil; goto vm_loop_start; } } @@ -1227,6 +1226,7 @@ escape_dfp = GET_THROWOBJ_CATCH_POINT(err); if (cfp->dfp == escape_dfp) { cfp->pc = cfp->iseq->iseq_encoded + entry->cont; + th->errinfo = Qnil; goto vm_loop_start; } } @@ -1258,6 +1258,7 @@ *th->cfp->sp++ = (GET_THROWOBJ_VAL(err)); #endif } + th->errinfo = Qnil; goto vm_loop_start; } } @@ -1301,6 +1302,8 @@ cfp->self, (VALUE)cfp->dfp, catch_iseq->iseq_encoded, cfp->sp + 1 /* push value */, cfp->lfp, catch_iseq->local_size - 1); + state = 0; + th->errinfo = Qnil; goto vm_loop_start; } else { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/