Author: Maciej Fijalkowski <[email protected]>
Branch: result-in-resops
Changeset: r58445:efa78ad453e4
Date: 2012-10-25 13:45 +0200
http://bitbucket.org/pypy/pypy/changeset/efa78ad453e4/
Log: wuhu pass, the first test
diff --git a/pypy/jit/metainterp/optimizeopt/intbounds.py
b/pypy/jit/metainterp/optimizeopt/intbounds.py
--- a/pypy/jit/metainterp/optimizeopt/intbounds.py
+++ b/pypy/jit/metainterp/optimizeopt/intbounds.py
@@ -32,7 +32,7 @@
v = self.getforwarded(op)
b = v.getintbound()
if b.has_lower and b.has_upper and b.lower == b.upper:
- v.make_constant(ConstInt(b.lower))
+ self.make_constant(v, ConstInt(b.lower))
dispatch_bounds_ops(self, op)
def postprocess_GUARD_TRUE(self, op):
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
@@ -472,7 +472,8 @@
self._newoperations = []
def make_constant(self, op, constbox):
- self.getforwarded(op)._forwarded = constbox
+ if not op.is_constant():
+ self.getforwarded(op)._forwarded = constbox
def make_constant_int(self, box, intvalue):
self.getvalue(box).make_constant(ConstInt(intvalue))
@@ -527,7 +528,7 @@
break
else:
self.emit_operation(op)
- for opt in self.optimizations:
+ for opt in reversed(self.optimizations):
opt.postprocess_op(orig_op)
i += 1
self.loop.operations = self.get_newoperations()
@@ -562,9 +563,6 @@
elif op.getopnum() == rop.FINISH:
op = self.store_final_boxes_in_guard(op)
assert op is not None
- if op.getopnum() == rop.JUMP:
- import pdb
- pdb.set_trace()
for i in range(op.numargs()):
op.setarg(i, self.getforwarded(op.getarg(i)))
self._newoperations.append(op)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit