Author: Ronan Lamy <ronan.l...@gmail.com>
Branch: less-stringly-ops
Changeset: r66223:bf5bae7631fa
Date: 2013-08-18 19:33 +0100
http://bitbucket.org/pypy/pypy/changeset/bf5bae7631fa/

Log:    Inline FSFrame.unrollstack()

diff --git a/rpython/flowspace/flowcontext.py b/rpython/flowspace/flowcontext.py
--- a/rpython/flowspace/flowcontext.py
+++ b/rpython/flowspace/flowcontext.py
@@ -411,14 +411,6 @@
         self.locals_stack_w[:len(items_w)] = items_w
         self.dropvaluesuntil(len(items_w))
 
-    def unrollstack(self, unroller):
-        while self.blockstack:
-            block = self.blockstack.pop()
-            if isinstance(unroller, block.handles):
-                return block
-            block.cleanupstack(self)
-        return None
-
     def getstate(self):
         # getfastscope() can return real None, for undefined locals
         data = self.save_locals_stack()
@@ -1158,11 +1150,12 @@
                 WHY_YIELD       not needed
     """
     def unroll(self, frame):
-        block = frame.unrollstack(self)
-        if block is None:
-            return self.nomoreblocks()
-        else:
-            return block.handle(frame, self)
+        while frame.blockstack:
+            block = frame.blockstack.pop()
+            if isinstance(self, block.handles):
+                return block.handle(frame, self)
+            block.cleanupstack(frame)
+        return self.nomoreblocks()
 
     def nomoreblocks(self):
         raise BytecodeCorruption("misplaced bytecode - should not return")
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to