[pypy-svn] pypy default: Add another test for this it was already working.
alex_gaynor
commits-noreply at bitbucket.org
Mon Mar 14 22:03:06 CET 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r42643:10ee8ee24302
Date: 2011-03-14 17:01 -0400
http://bitbucket.org/pypy/pypy/changeset/10ee8ee24302/
Log: Add another test for this it was already working.
diff --git a/pypy/jit/metainterp/test/test_optimizeopt.py b/pypy/jit/metainterp/test/test_optimizeopt.py
--- a/pypy/jit/metainterp/test/test_optimizeopt.py
+++ b/pypy/jit/metainterp/test/test_optimizeopt.py
@@ -5130,6 +5130,23 @@
"""
self.optimize_loop(ops, expected)
+ def test_strlen_positive(self):
+ ops = """
+ [p0]
+ i0 = strlen(p0)
+ i1 = int_ge(i0, 0)
+ guard_true(i1) []
+ i2 = int_gt(i0, -1)
+ guard_true(i2) []
+ jump(p0)
+ """
+ expected = """
+ [p0]
+ i0 = strlen(p0)
+ jump(p0)
+ """
+ self.optimize_loop(ops, expected)
+
# ----------
def optimize_strunicode_loop_extradescrs(self, ops, optops, preamble=None):
from pypy.jit.metainterp.optimizeopt import string
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
@@ -269,15 +269,14 @@
v1 = self.getvalue(op.result)
v1.intbound.make_ge(IntLowerBound(0))
+ optimize_STRLEN = optimize_UNICODELEN = optimize_ARRAYLEN_GC
+
def optimize_STRGETITEM(self, op):
self.emit_operation(op)
v1 = self.getvalue(op.result)
v1.intbound.make_ge(IntLowerBound(0))
v1.intbound.make_lt(IntUpperBound(256))
- optimize_STRLEN = optimize_ARRAYLEN_GC
- optimize_UNICODELEN = optimize_ARRAYLEN_GC
-
def make_int_lt(self, box1, box2):
v1 = self.getvalue(box1)
v2 = self.getvalue(box2)
More information about the Pypy-commit
mailing list