Author: Maciej Fijalkowski <[email protected]>
Branch: 
Changeset: r75048:0422bc7c7898
Date: 2014-12-21 17:45 +0200
http://bitbucket.org/pypy/pypy/changeset/0422bc7c7898/

Log:    Kill seen_results. The rationale is that we'll get a KeyError in
        ShortBoxes anyway (so seen_results will only be visibile with
        unrolling disabled). Backend also checks it.

diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py 
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -504,7 +504,6 @@
         self.opaque_pointers = {}
         self.replaces_guard = {}
         self._newoperations = []
-        self.seen_results = {}
         self.optimizer = self
         self.optpure = None
         self.optheap = None
@@ -601,7 +600,6 @@
 
     def clear_newoperations(self):
         self._newoperations = []
-        self.seen_results = {}
 
     def make_equal_to(self, box, value, replace=False):
         assert isinstance(value, OptValue)
@@ -714,10 +712,6 @@
                 op = self.store_final_boxes_in_guard(op, pendingfields)
         elif op.can_raise():
             self.exception_might_have_happened = True
-        if op.result:
-            if op.result in self.seen_results:
-                raise ValueError, "invalid optimization"
-            self.seen_results[op.result] = None
         self._newoperations.append(op)
 
     def replace_op(self, old_op, new_op):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to