Author: Hakan Ardo <[email protected]>
Branch: jit-short_from_state
Changeset: r45169:59df9c031c41
Date: 2011-06-29 07:29 +0200
http://bitbucket.org/pypy/pypy/changeset/59df9c031c41/

Log:    Dissable all types of operations in the short preamble. This makes a
        lot of tests fail due to worse optimization but produces a working
        pypy. Every loop will get an empty short preamble. That allows
        virtuals to stay virtual across bridges.

diff --git a/pypy/jit/metainterp/optimizeopt/heap.py 
b/pypy/jit/metainterp/optimizeopt/heap.py
--- a/pypy/jit/metainterp/optimizeopt/heap.py
+++ b/pypy/jit/metainterp/optimizeopt/heap.py
@@ -146,6 +146,7 @@
     def reconstruct_for_next_iteration(self,  short_boxes, surviving_boxes,
                                        optimizer, valuemap):
         new = OptHeap()
+        return new
 
         for descr, d in self.cached_fields.items():
             new.cached_fields[descr] = d.get_cloned(optimizer, valuemap, 
short_boxes)
@@ -173,7 +174,8 @@
 
         return new
 
-    def produce_potential_short_preamble_ops(self, potential_ops):        
+    def produce_potential_short_preamble_ops(self, potential_ops):
+        return
         for descr, d in self.cached_fields.items():
             d.produce_potential_short_preamble_ops(self.optimizer,
                                                    potential_ops, descr)
diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py 
b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -391,9 +391,9 @@
             new.values[box] = value.get_cloned(new, valuemap)
             
         new.pure_operations = args_dict()
-        for key, op in self.pure_operations.items():
-            if op.result in short_boxes:
-                new.pure_operations[key] = op
+        #for key, op in self.pure_operations.items():
+        #    if op.result in short_boxes:
+        #        new.pure_operations[key] = op
         new.producer = self.producer
         assert self.posponedop is None
         new.quasi_immutable_deps = self.quasi_immutable_deps
@@ -419,8 +419,8 @@
         return new
 
     def produce_potential_short_preamble_ops(self, potential_ops):
-        for op in self.emitted_pure_operations:
-            potential_ops[op.result] = op
+        #for op in self.emitted_pure_operations:
+        #    potential_ops[op.result] = op
         for opt in self.optimizations:
             opt.produce_potential_short_preamble_ops(potential_ops)
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to