[pypy-svn] r78590 - pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt

cfbolz at codespeak.net cfbolz at codespeak.net
Sun Oct 31 12:11:03 CET 2010


Author: cfbolz
Date: Sun Oct 31 12:11:01 2010
New Revision: 78590

Modified:
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/__init__.py
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/intbounds.py
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/optimizer.py
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py
Log:
remove the now useless argument to setup


Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/__init__.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/__init__.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/__init__.py	Sun Oct 31 12:11:01 2010
@@ -7,7 +7,7 @@
 from pypy.jit.metainterp.optimizeopt.string import OptString
 from pypy.jit.metainterp.optimizeopt.unroll import OptUnroll
 
-def optimize_loop_1(metainterp_sd, loop, not_a_bridge=True):
+def optimize_loop_1(metainterp_sd, loop, unroll=True):
     """Optimize loop.operations to remove internal overheadish operations. 
     """
     optimizations = [OptIntBounds(),
@@ -17,9 +17,9 @@
                      OptHeap(),
                      OptFfiCall(),
                     ]
-    if not_a_bridge:
+    if unroll:
         optimizations.insert(0, OptUnroll())
-    optimizer = Optimizer(metainterp_sd, loop, optimizations, not_a_bridge)
+    optimizer = Optimizer(metainterp_sd, loop, optimizations)
     optimizer.propagate_all_forward()
 
 def optimize_bridge_1(metainterp_sd, bridge):

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/intbounds.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/intbounds.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/intbounds.py	Sun Oct 31 12:11:01 2010
@@ -9,7 +9,7 @@
     """Keeps track of the bounds placed on integers by the guards and
        remove redundant guards"""
 
-    def setup(self, virtuals):
+    def setup(self):
         self.posponedop = None
         self.nextop = None
 

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/optimizer.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/optimizer.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/optimizer.py	Sun Oct 31 12:11:01 2010
@@ -190,7 +190,7 @@
         op = ResOperation(opnum, args, result)
         self.optimizer.pure_operations[self.optimizer.make_args_key(op)] = op
 
-    def setup(self, not_a_bridge):
+    def setup(self):
         pass
 
     def force_at_end_of_preamble(self):
@@ -199,7 +199,7 @@
 
 class Optimizer(Optimization):
 
-    def __init__(self, metainterp_sd, loop, optimizations=None, not_a_bridge=True):
+    def __init__(self, metainterp_sd, loop, optimizations=None):
         self.metainterp_sd = metainterp_sd
         self.cpu = metainterp_sd.cpu
         self.loop = loop
@@ -220,7 +220,7 @@
             optimizations[-1].next_optimization = self
             for o in optimizations:
                 o.optimizer = self
-                o.setup(not_a_bridge)
+                o.setup()
         else:
             self.first_optimization = self
 

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py	Sun Oct 31 12:11:01 2010
@@ -8,8 +8,7 @@
     become the preamble or entry bridge (don't think there is a
     distinction anymore)"""
     
-    def setup(self, not_a_bridge):
-        assert not_a_bridge
+    def setup(self):
         self.cloned_operations = []
         for op in self.optimizer.loop.operations:
             self.cloned_operations.append(op.clone())
@@ -20,12 +19,13 @@
         if op.getopnum() == rop.JUMP:
             self.force_at_end_of_preamble()
             loop = self.optimizer.loop
+            assert op.getdescr() is loop.token
             loop.preamble.operations = self.optimizer.newoperations
             self.optimizer.newoperations = []
             jump_args = op.getarglist()
             op.initarglist([])
-            # Exceptions not caught in one itteration should not propagate to the next
-            self.optimizer.exception_might_have_happened = False 
+            # Exceptions not caught in one iteration should not propagate to the next
+            self.optimizer.exception_might_have_happened = False
             inputargs = self.inline(self.cloned_operations,
                                     loop.inputargs, jump_args)
             loop.inputargs = inputargs
@@ -60,6 +60,8 @@
                 if not isinstance(a, Const):
                     inputargs.append(a)
 
+        # this loop is equivalent to the main optimization loop in
+        # Optimizer.propagate_all_forward
         for newop in loop_operations:
             newop.initarglist([self.inline_arg(a) for a in newop.getarglist()])
             if newop.result:



More information about the Pypy-commit mailing list