[pypy-commit] pypy jit-targets: abort unsupported case

hakanardo noreply at buildbot.pypy.org
Tue Nov 8 10:27:01 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-targets
Changeset: r48902:0a92fe884bc3
Date: 2011-11-07 19:02 +0100
http://bitbucket.org/pypy/pypy/changeset/0a92fe884bc3/

Log:	abort unsupported case

diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -527,6 +527,7 @@
         retraced_count = cell_token.retraced_count
         limit = self.optimizer.metainterp_sd.warmrunnerdesc.memory_manager.retrace_limit
         if retraced_count<limit:
+            debug_print('Retracing (%d/%d)', retraced_count, limit)
             cell_token.retraced_count += 1
             return False
 
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -1959,7 +1959,8 @@
                 # Found!  Compile it as a loop.
                 # raises in case it works -- which is the common case
                 if self.partial_trace:
-                    assert start == self.retracing_from # FIXME: Giveup
+                    if  start != self.retracing_from: 
+                        raise SwitchToBlackhole(ABORT_BAD_LOOP) # For now
                 self.compile_loop(original_boxes, live_arg_boxes, start, resumedescr)
                 # creation of the loop was cancelled!
                 self.staticdata.log('cancelled, tracing more...')


More information about the pypy-commit mailing list