Author: Hakan Ardo <ha...@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...') _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit