[pypy-svn] r55435 - pypy/dist/pypy/objspace/flow
arigo at codespeak.net
arigo at codespeak.net
Fri May 30 22:35:30 CEST 2008
Author: arigo
Date: Fri May 30 22:35:27 2008
New Revision: 55435
Modified:
pypy/dist/pypy/objspace/flow/flowcontext.py
Log:
Avoid this pop(0) by using a deque.
Modified: pypy/dist/pypy/objspace/flow/flowcontext.py
==============================================================================
--- pypy/dist/pypy/objspace/flow/flowcontext.py (original)
+++ pypy/dist/pypy/objspace/flow/flowcontext.py Fri May 30 22:35:27 2008
@@ -1,3 +1,7 @@
+try:
+ import collections
+except ImportError:
+ from pypy.lib import collections # python < 2.4
from pypy.interpreter.executioncontext import ExecutionContext
from pypy.interpreter.error import OperationError
from pypy.interpreter import pyframe
@@ -209,7 +213,7 @@
#for joinpoint in code.getjoinpoints():
# self.joinpoints[joinpoint] = [] # list of blocks
initialblock = SpamBlock(FrameState(frame).copy())
- self.pendingblocks = [initialblock]
+ self.pendingblocks = collections.deque([initialblock])
self.graph = FunctionGraph(name or code.co_name, initialblock)
make_link = Link # overridable for transition tracking
@@ -251,7 +255,7 @@
def build_flow(self):
while self.pendingblocks:
- block = self.pendingblocks.pop(0)
+ block = self.pendingblocks.popleft()
frame = self.create_frame()
try:
self.recorder = block.patchframe(frame)
More information about the Pypy-commit
mailing list