$B1sF#$G$9!#(B
$B$3$N%a!<%k$K5$$,$D$$$F$^$;$s$G$7$?!#(B
2011$BG/(B3$B7n(B5$BF|(B0:05 nagachika [email protected]:
$B$H$$$&%3!<%I$,$"$k$N$G$9$,!"(B0x4000$B$N0UL#!JMQES!K$,$o$+$j$^$;$s!#(B
vm_throw()$B$G$O$3$NCM!J%S%C%H!K$r$$F$$$J$$$h$&$J$N$G$9!#(B
need value$B$H$$$&%3%a%s%H$,$"$k$N$G!“I,MW$C$]$$46$8$J$N$G$9$,!”(B
$B%G%P%C%0MQ$K;H$&$/$i$$$7$+;W$$$D$+$J$$$N$G$9!#(B
$B3N$+$K;HMQ$5$l$F$$$J$$$h$&$K8+$($^$9$M!#(B
$B$3$3$NB>(B2$B2U=j(B($B7W(B3$B2U=j(B)$B$N(B 0x4000
$B%S%C%H$rN)$F$F$$$k=j$r:o$C$F(B
make check
$B$G%F%9%H$7$F$$^$7$?$,%(%i!<$,A}$($F$$$k$h$&$G$O$"$j$^$;$s$G$7$?!#(B
$B2a5n$N2?$+$NL>;D$j$G:#$OITMW$K$J$C$F$7$^$C$F$$$k$b$N$G$O$J$$$G$7$g$&$+(B?
$B$=$&[email protected]$&$N$KG:[email protected]$H$-$O(B git log -p $B$H$+$G2a5n$N5-O?$r8+$F$_$k$H(B
$B$$$$$G$9$h!#(B
$B$3$N%3!<%I$,F~$C$?$N$O(B r11439 (Merge YARV) $B$G!"$=$N;~$O(B 0x4000
$B$r(B
$B;H$&%3!<%I$,3NG’$G$-$^$9(B (insns.def $B$N(B throw) $B!#$=$N%3!<%I$O(B
vm.c
$B$N(B vm_throw $B$K0$j(B (r12887) $B!"$=$N8e(B r16568
$B$G>C$5$l$F$$$^$9!#(B
commit 956dead48069a07eb1211283ae5b276ef45f6768
Author: mame [email protected]
Date: Sat May 24 06:29:48 2008 +0000
* compile.c (iseq_set_exception_table, NODE_WHILE, NODE_NEXT):
remove
special handling that decrements sp in CATCH_TYPE_NEXT for
NODE_WHILE.
* vm.c (vm_eval_body), vm_insnhelper.c (vm_throw): remove unused
code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/[email protected]
b2dd03c8-39d4-4d8f-98ff-823fe69b080e
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index bf9ded1…6fb867a 100644
— a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1204,12 +1204,7 @@ vm_throw(rb_thread_t *th, rb_control_frame_t
*reg_cfp,
VALUE *pt = 0;
int i;
if (flag != 0) {
$B$($C!">C$7$?$N;d$J$s$G$9$M!#%3%_%C%H%m%0$r8+$F;W$$=P$9$H!"(B
-
next $B$O0z?t$r<h$k(B (next val) $B$N$G!"%9%?%C%/$r>CHq$9$k(B
-
$B$7$+$7!"(Bwhile $B$NCf$G(B next
$B$KCM$rM?$($F$b<[email protected]$1$J$N$G!"(B
$B%9%?%C%/$NL5BL$K$J$k(B
-
while $B$NCf$N(B next [email protected]$1FCJL07$$$7$F%9%?%C%/>CHq$7$J$$$h$&$K$7(B
$B$F$$$?(B (0x4000 $B$O%9%?%C%/$r>CHq$9$k>l9g$N%U%i%0(B)
$B$H$$$&[email protected]$C$?$O$:!#(B
$B$G$b!"$J$<$3$N:GE,2=$r$d$a$?$N$+$^$G$O=q$$$F$$$^$;$s$M!#%@%a%@%a!#(B
$B$J$<$+$H$$$&$H!"$3$N:GE,2=$r$7$F$$$k$H%Y%j%U%!%$%":n$k>e$G%9%?%C(B
$B%/D9$N8!>Z$,$H$F$bFq$7$/$J$kLdBj$,[email protected]$C$?$H;W$$$^$9!#(B
$B$5$i$K$3$N:GE,2=$O$b$H$b$H(B /* TODO: Dirty Hack! Fix me */ $B$H=q(B
$B$+$l$k$h$&[email protected]$C$?$3$H$b$"$C$F!"[email protected]$5$s$,>[email protected]$C(B
$B$?$O$:!#(B
$B$A$J$_$K$3$N%3%a%s%H$O:#$G$b(B iseq_set_exception_table $B$NCf$K(B
$B;D$C$F$$$^$9$,!"(BDirty Hack $B<+BN$O>C$($F$$$^$9!#%3%a%s%H$,DI$$(B
$B$D$$$F$J$$!D!D!#(B
$B$-$?$6$o$5$s$,<($5$l$?2U=j(B (NODE_BREAK) $B$G$b(B 0x4000
$B$,4X$o$C$F(B
$B$$$?$s$G$9$M!#(Bwhile $B$NJV$jCM$,;H$o$l$k>l9g(B (loopval_popped
$B$,(B 0
$B$N>l9g(B) [email protected]$1!"(Bbreak
$B$N0z?t$r%9%?%C%/$K:$;$k$H$$$&:GE,[email protected]$C$?$H(B
$B;W$o$l$^$9!#(B
$B$G$b!"(Bloopval_popped $B$,(B 0
[email protected]$,%3!<%[email protected]$;(B
$B$J$$$N$G!"(Bif (ip->compile_data->loopval_popped == 0) $B$NJ,4t$O0U(B
$BL#$,$J$$$s$8$c$J$$$+$J!<$H;W$$$^$9!#(B
$BEv;~(B (2008/05/24) $B$N(B IRC
$B$N%m%0$r8+$F$_$?$H$3$m!"[email protected]$C(B
$B$F$^$7$?!#(B
11:13:10 loopval_popped $B$O$b$&;H$o$l$F$$$J$$$N$G$O$J$$$+(B
$B$H$$$&$o$1$G!"(B0x4000 $B4X78$N%3!<%I$H(B loopval_popped
$B4X78$N%3!<%I(B
$B$OA4It<h$j=|$$$F$h$5$=$&$G$9!#(B