Author: Hakan Ardo <[email protected]>
Branch: jit-targets
Changeset: r49574:73f40a140282
Date: 2011-11-20 11:42 +0100
http://bitbucket.org/pypy/pypy/changeset/73f40a140282/

Log:    adapt test framework to new interface

diff --git a/pypy/jit/metainterp/optimizeopt/test/test_util.py 
b/pypy/jit/metainterp/optimizeopt/test/test_util.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_util.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_util.py
@@ -406,7 +406,7 @@
         #
         optimize_trace(metainterp_sd, loop, self.enable_opts)
 
-    def unroll_and_optimize(self, loop, call_pure_results):
+    def unroll_and_optimize(self, loop, call_pure_results=None):
         operations =  loop.operations
         jumpop = operations[-1]
         assert jumpop.getopnum() == rop.JUMP
diff --git a/pypy/jit/metainterp/test/test_virtualstate.py 
b/pypy/jit/metainterp/test/test_virtualstate.py
--- a/pypy/jit/metainterp/test/test_virtualstate.py
+++ b/pypy/jit/metainterp/test/test_virtualstate.py
@@ -6,10 +6,11 @@
 from pypy.jit.metainterp.optimizeopt.optimizer import OptValue
 from pypy.jit.metainterp.history import BoxInt, BoxFloat, BoxPtr, ConstInt, 
ConstPtr
 from pypy.rpython.lltypesystem import lltype
-from pypy.jit.metainterp.optimizeopt.test.test_util import LLtypeMixin, 
BaseTest, equaloplists
+from pypy.jit.metainterp.optimizeopt.test.test_util import LLtypeMixin, 
BaseTest, \
+                                                           equaloplists, 
FakeDescrWithSnapshot
 from pypy.jit.metainterp.optimizeopt.intutils import IntBound
 from pypy.jit.metainterp.history import TreeLoop, JitCellToken
-from pypy.jit.metainterp.optimizeopt.test.test_optimizeopt import FakeDescr, 
FakeMetaInterpStaticData
+from pypy.jit.metainterp.optimizeopt.test.test_optimizeopt import 
FakeMetaInterpStaticData
 from pypy.jit.metainterp.optimize import RetraceLoop
 from pypy.jit.metainterp.resoperation import ResOperation, rop
 
@@ -434,7 +435,7 @@
     enable_opts = "intbounds:rewrite:virtualize:string:pure:heap:unroll"
 
     def _do_optimize_bridge(self, bridge, call_pure_results):
-        from pypy.jit.metainterp.optimizeopt import optimize_bridge_1, 
build_opt_chain
+        from pypy.jit.metainterp.optimizeopt import optimize_trace
         from pypy.jit.metainterp.optimizeopt.util import args_dict
 
         self.bridge = bridge
@@ -448,10 +449,9 @@
         if hasattr(self, 'callinfocollection'):
             metainterp_sd.callinfocollection = self.callinfocollection
         #
-        d = {}
-        for name in self.enable_opts.split(":"):
-            d[name] = None
-        optimize_bridge_1(metainterp_sd, bridge,  d)
+        bridge.start_resumedescr = FakeDescrWithSnapshot()
+        optimize_trace(metainterp_sd, bridge, self.enable_opts)
+
         
     def optimize_bridge(self, loops, bridge, expected, expected_target='Loop', 
**boxvalues):
         if isinstance(loops, str):
@@ -459,24 +459,19 @@
         loops = [self.parse(loop) for loop in loops]
         bridge = self.parse(bridge)
         for loop in loops:
-            loop.preamble = TreeLoop('preamble')
-            loop.preamble.inputargs = loop.inputargs
-            loop.preamble.token = JitCellToken()
-            loop.preamble.start_resumedescr = FakeDescr()        
-            self._do_optimize_loop(loop, None)
+            loop.preamble = self.unroll_and_optimize(loop)
         preamble = loops[0].preamble
-        for loop in loops[1:]:
-            
preamble.token.short_preamble.extend(loop.preamble.token.short_preamble)
+        token = JitCellToken()
+        token.target_tokens = [l.operations[0].getdescr() for l in [preamble] 
+ loops]
 
         boxes = {}
         for b in bridge.inputargs + [op.result for op in bridge.operations]:
             boxes[str(b)] = b
         for b, v in boxvalues.items():
             boxes[b].value = v
-        bridge.operations[-1].setdescr(preamble.token)
-        try:
-            self._do_optimize_bridge(bridge, None)
-        except RetraceLoop:
+        bridge.operations[-1].setdescr(token)
+        self._do_optimize_bridge(bridge, None)
+        if bridge.operations[-1].getopnum() == rop.LABEL:
             assert expected == 'RETRACE'
             return
 
@@ -485,13 +480,13 @@
         self.assert_equal(bridge, expected)
 
         if expected_target == 'Preamble':
-            assert bridge.operations[-1].getdescr() is preamble.token
+            assert bridge.operations[-1].getdescr() is 
preamble.operations[0].getdescr()
         elif expected_target == 'Loop':
             assert len(loops) == 1
-            assert bridge.operations[-1].getdescr() is loops[0].token
+            assert bridge.operations[-1].getdescr() is 
loops[0].operations[0].getdescr()
         elif expected_target.startswith('Loop'):
             n = int(expected_target[4:])
-            assert bridge.operations[-1].getdescr() is loops[n].token
+            assert bridge.operations[-1].getdescr() is 
loops[n].operations[0].getdescr()
         else:
             assert False
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to