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