[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kjs
From:       Maks Orlovich <maksim () kde ! org>
Date:       2008-08-26 2:13:01
Message-ID: 1219716781.158848.28776.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 852582 by orlovich:

Forwardport the for ... in  { ... break; } fix


 M  +5 -3      nodes2bytecode.cpp  


--- trunk/KDE/kdelibs/kjs/nodes2bytecode.cpp #852581:852582
@@ -1273,11 +1273,13 @@
     // The end address is here (#2 since return val..)
     CodeGen::patchJumpToNext(comp, fetchNext, 2);
 
+    // The looping action ends here.. We need to do it before the EndForIn \
instruction so we always cleanup +    // right on breaks.
+    comp->exitLoop(this);
+    comp->popNest(); // Remove the cleanup entry.. Note that the breaks go to before \
here..     +
     // Cleanup
     CodeGen::emitOp(comp, Op_EndForIn);
-
-    comp->exitLoop(this);
-    comp->popNest(); // Remove the cleanup entry.. Note that the breaks go to before \
here..  }
 
 // Helper for continue/break -- emits stack cleanup call if needed,


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic