[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