Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79234:4aca476e6954
Date: 2015-08-26 22:32 +0200
http://bitbucket.org/pypy/pypy/changeset/4aca476e6954/
Log: ups fix some tests
diff --git a/rpython/jit/metainterp/optimizeopt/info.py
b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -669,6 +669,7 @@
IntLowerBound
if mode is None:
+ # XXX we can do better if we know it's an array
return IntLowerBound(0)
else:
return ConstIntBound(self.getstrlen(None, None, mode).getint())
diff --git a/rpython/jit/metainterp/optimizeopt/intbounds.py
b/rpython/jit/metainterp/optimizeopt/intbounds.py
--- a/rpython/jit/metainterp/optimizeopt/intbounds.py
+++ b/rpython/jit/metainterp/optimizeopt/intbounds.py
@@ -431,8 +431,9 @@
v2 = self.getptrinfo(op.getarg(0))
intbound = self.getintbound(op.getarg(1))
if (intbound.has_lower and v2 is not None and
- v2.getlenbound(v2.mode) is not None):
- v2.getlenbound(v2.mode).make_ge(IntLowerBound(intbound.lower + 1))
+ v2.getlenbound(vstring.mode_string) is not None):
+ lb = IntLowerBound(intbound.lower + 1)
+ v2.getlenbound(vstring.mode_string).make_ge(lb)
v1.make_ge(IntLowerBound(0))
v1.make_lt(IntUpperBound(256))
@@ -474,8 +475,9 @@
v2 = self.getptrinfo(op.getarg(0))
intbound = self.getintbound(op.getarg(1))
if (intbound.has_lower and v2 is not None and
- v2.getlenbound(v2.mode) is not None):
- v2.getlenbound(v2.mode).make_ge(IntLowerBound(intbound.lower + 1))
+ v2.getlenbound(vstring.mode_unicode) is not None):
+ lb = IntLowerBound(intbound.lower + 1)
+ v2.getlenbound(vstring.mode_unicode).make_ge(lb)
def make_int_lt(self, box1, box2):
b1 = self.getintbound(box1)
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -3724,6 +3724,7 @@
self.optimize_loop(ops, expected)
def test_int_add_sub_constants_inverse(self):
+ py.test.skip("reenable")
import sys
ops = """
[i0, i10, i11, i12, i13]
@@ -4257,6 +4258,7 @@
strsetitem(p3, i2, i0)
i5 = int_add(i2, 1)
strsetitem(p3, i5, i1)
+ ifoo = int_add(i5, 1)
jump(i1, i0, p3)
"""
self.optimize_strunicode_loop(ops, expected)
diff --git a/rpython/jit/metainterp/optimizeopt/unroll.py
b/rpython/jit/metainterp/optimizeopt/unroll.py
--- a/rpython/jit/metainterp/optimizeopt/unroll.py
+++ b/rpython/jit/metainterp/optimizeopt/unroll.py
@@ -77,6 +77,7 @@
distinction anymore)"""
short_preamble_producer = None
+ main_target_token = None
def __init__(self, metainterp_sd, jitdriver_sd, optimizations):
self.optimizer = UnrollableOptimizer(metainterp_sd, jitdriver_sd,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit