Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: optresult-unroll
Changeset: r79446:d2892f472080
Date: 2015-09-04 20:09 +0200
http://bitbucket.org/pypy/pypy/changeset/d2892f472080/

Log:    in retrace I don't want to care if importing the state caused the
        wrong virtual state, we should not have retraced in the first place

diff --git a/rpython/jit/metainterp/optimizeopt/unroll.py 
b/rpython/jit/metainterp/optimizeopt/unroll.py
--- a/rpython/jit/metainterp/optimizeopt/unroll.py
+++ b/rpython/jit/metainterp/optimizeopt/unroll.py
@@ -124,7 +124,10 @@
     def optimize_peeled_loop(self, start_label, end_jump, ops, state,
                              call_pure_results, inline_short_preamble=True):
         self._check_no_forwarding([[start_label, end_jump], ops])
-        label_args = self.import_state(start_label, state)
+        try:
+            label_args = self.import_state(start_label, state)
+        except VirtualStatesCantMatch:
+            raise InvalidLoop
         self.potential_extra_ops = {}
         self.optimizer.init_inparg_dict_from(label_args)
         info, _ = self.optimizer.propagate_all_forward(
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to