[pypy-svn] pypy jit-unroll-loops: We don't want to force things here.
hakanardo
commits-noreply at bitbucket.org
Sun Dec 26 22:40:38 CET 2010
Author: Hakan Ardo <hakan at debian.org>
Branch: jit-unroll-loops
Changeset: r40232:2d963d48f282
Date: 2010-12-26 18:21 +0100
http://bitbucket.org/pypy/pypy/changeset/2d963d48f282/
Log: We don't want to force things here.
diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -43,8 +43,8 @@
return newop
def inline_arg(self, arg):
- #if arg is None:
- # return None
+ if arg is None:
+ return None
if isinstance(arg, Const):
return arg
return self.argmap[arg]
@@ -227,19 +227,16 @@
def sameop(self, op1, op2):
if op1.getopnum() != op2.getopnum():
return False
-
+
args1 = op1.getarglist()
args2 = op2.getarglist()
if len(args1) != len(args2):
return False
for i in range(len(args1)):
box1, box2 = args1[i], args2[i]
- if box1 in self.optimizer.values:
- box1 = self.optimizer.values[box1].force_box()
- if box2 in self.optimizer.values:
- box2 = self.optimizer.values[box2].force_box()
-
- if box1 is not box2:
+ val1 = self.optimizer.getvalue(box1)
+ val2 = self.optimizer.getvalue(box2)
+ if val1 is not val2:
return False
if not op1.is_guard():
@@ -275,7 +272,7 @@
and loop_i < len(loop_ops)-1:
loop_i += 1
else:
- if not state.safe_to_move(op):
+ if not state.safe_to_move(op):
debug_print("create_short_preamble failed due to",
"unsafe op:", op.getopnum(),
"at position: ", preamble_i)
diff --git a/pypy/jit/metainterp/test/test_basic.py b/pypy/jit/metainterp/test/test_basic.py
--- a/pypy/jit/metainterp/test/test_basic.py
+++ b/pypy/jit/metainterp/test/test_basic.py
@@ -1809,7 +1809,7 @@
assert res == 8
py.test.raises(AssertGreenFailed, self.interp_operations, f, [8, 0])
- def test_multiple_specialied_versions(self):
+ def test_multiple_specialied_versions1(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'x', 'res'])
class Base:
def __init__(self, val):
More information about the Pypy-commit
mailing list