Author: Alex Gaynor <alex.gay...@gmail.com>
Branch: 
Changeset: r67861:20b7b762dbed
Date: 2013-11-05 17:31 -0800
http://bitbucket.org/pypy/pypy/changeset/20b7b762dbed/

Log:    fix this assertion

diff --git a/rpython/jit/metainterp/optimizeopt/vstring.py 
b/rpython/jit/metainterp/optimizeopt/vstring.py
--- a/rpython/jit/metainterp/optimizeopt/vstring.py
+++ b/rpython/jit/metainterp/optimizeopt/vstring.py
@@ -517,13 +517,11 @@
             return
         elif ((src.is_virtual() or src.is_constant()) and
               srcstart.is_constant() and dststart.is_constant() and
-              length.is_constant()):
+              length.is_constant() and
+              (length.force_box(self).getint() < 20 or (src.is_virtual() and 
dst.is_virtual()))):
             src_start = srcstart.force_box(self).getint()
             dst_start = dststart.force_box(self).getint()
-            # 'length' must be <= MAX_CONST_LEN here, because 'dst' is a
-            # VStringPlainValue, which is limited to MAX_CONST_LEN.
             actual_length = length.force_box(self).getint()
-            assert actual_length <= MAX_CONST_LEN
             for index in range(actual_length):
                 vresult = self.strgetitem(src, 
optimizer.ConstantValue(ConstInt(index + src_start)), mode)
                 if isinstance(dst, VStringPlainValue):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to