[pypy-svn] r64660 - pypy/branch/pyjitpl5/pypy/jit/metainterp

benjamin at codespeak.net benjamin at codespeak.net
Sat Apr 25 00:23:16 CEST 2009


Author: benjamin
Date: Sat Apr 25 00:23:14 2009
New Revision: 64660

Modified:
   pypy/branch/pyjitpl5/pypy/jit/metainterp/compile.py
   pypy/branch/pyjitpl5/pypy/jit/metainterp/pyjitpl.py
   pypy/branch/pyjitpl5/pypy/jit/metainterp/simple_optimize.py
Log:
revert r64651 through r64659 because fijal says he didn't know what he was doing :P

Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/compile.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/compile.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/compile.py	Sat Apr 25 00:23:14 2009
@@ -106,7 +106,6 @@
     history.source_link = loop
     send_loop_to_backend(metainterp, loop, "loop")
     metainterp.staticdata.stats.loops.append(loop)
-    assert len(old_loops) == 0
     old_loops.append(loop)
     return loop
 
@@ -169,6 +168,7 @@
 map_loop2descr[_loop] = exit_frame_with_exception_descr
 del _loop
 
+
 class ResumeGuardDescr(AbstractDescr):
     def __init__(self, resume_info, consts, history, history_guard_index):
         self.resume_info = resume_info
@@ -244,7 +244,9 @@
         # store the new_loop in compiled_merge_points too
         # XXX it's probably useless to do so when optimizing
         glob = metainterp_sd.globaldata
-        glob.compiled_merge_points[greenkey] = [new_loop]
+        old_loops = glob.compiled_merge_points.setdefault(greenkey, [])
+        old_loops.append(new_loop)
+
 
 def compile_fresh_bridge(metainterp, old_loops, resumekey):
     # The history contains new operations to attach as the code for the

Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/pyjitpl.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/pyjitpl.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/pyjitpl.py	Sat Apr 25 00:23:14 2009
@@ -817,7 +817,11 @@
             self.optimize_loop = optimizer.optimize_loop
             self.optimize_bridge = optimizer.optimize_bridge
         else:
-            from pypy.jit.metainterp import simple_optimize as optimize
+            # hack hack hack
+            if self.cpu.is_oo:
+                from pypy.jit.metainterp import simple_optimize as optimize
+            else:
+                from pypy.jit.metainterp import optimize
             self.optimize_loop = optimize.optimize_loop
             self.optimize_bridge = optimize.optimize_bridge
 

Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/simple_optimize.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/simple_optimize.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/simple_optimize.py	Sat Apr 25 00:23:14 2009
@@ -5,7 +5,6 @@
 
 def optimize_loop(options, old_loops, loop, cpu=None):
     if old_loops:
-        assert len(old_loops) == 1
         return old_loops[0]
     else:
         newoperations = []
@@ -18,7 +17,6 @@
 
 def optimize_bridge(options, old_loops, loop, cpu=None):
     optimize_loop(options, [], loop, cpu)
-    assert len(old_loops) == 1
     return old_loops[0]
 
 class Optimizer:



More information about the Pypy-commit mailing list