[pypy-commit] pypy jit-short_from_state: hg revert -r 45534 optimizeopt/vstring.py

hakanardo noreply at buildbot.pypy.org
Wed Jul 20 10:19:42 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-short_from_state
Changeset: r45767:2386d79fafa6
Date: 2011-07-20 09:41 +0200
http://bitbucket.org/pypy/pypy/changeset/2386d79fafa6/

Log:	hg revert -r 45534 optimizeopt/vstring.py

diff --git a/pypy/jit/metainterp/optimizeopt/vstring.py b/pypy/jit/metainterp/optimizeopt/vstring.py
--- a/pypy/jit/metainterp/optimizeopt/vstring.py
+++ b/pypy/jit/metainterp/optimizeopt/vstring.py
@@ -47,7 +47,7 @@
 class __extend__(optimizer.OptValue):
     """New methods added to the base class OptValue for this file."""
 
-    def getstrlen(self, optimizer, mode, lengthbox=None):
+    def getstrlen(self, optimization, mode):
         if mode is mode_string:
             s = self.get_constant_string_spec(mode_string)
             if s is not None:
@@ -56,13 +56,12 @@
             s = self.get_constant_string_spec(mode_unicode)
             if s is not None:
                 return ConstInt(len(s))
-        if optimizer is None:
+        if optimization is None:
             return None
         self.ensure_nonnull()
         box = self.force_box()
-        if not lengthbox:
             lengthbox = BoxInt()
-        optimizer.emit_operation(ResOperation(mode.STRLEN, [box], lengthbox))
+        optimization.emit_operation(ResOperation(mode.STRLEN, [box], lengthbox))
         return lengthbox
 
     @specialize.arg(1)
@@ -125,7 +124,7 @@
         assert 0 <= start <= stop <= len(longerlist)
         self._chars = longerlist[start:stop]
 
-    def getstrlen(self, optimizer, mode, lengthbox=None):
+    def getstrlen(self, _, mode):
         if self._lengthbox is None:
             self._lengthbox = ConstInt(len(self._chars))
         return self._lengthbox
@@ -186,7 +185,7 @@
         self.left = left
         self.right = right
 
-    def getstrlen(self, optimizer, mode, lengthbox=None):
+    def getstrlen(self, optimizer, mode):
         if self.lengthbox is None:
             len1box = self.left.getstrlen(optimizer, mode)
             if len1box is None:
@@ -250,7 +249,7 @@
         self.vstart = vstart
         self.vlength = vlength
 
-    def getstrlen(self, optimizer, mode, lengthbox=None):
+    def getstrlen(self, _, mode):
         return self.vlength.force_box()
 
     @specialize.arg(1)
@@ -349,7 +348,7 @@
     optimizer.emit_operation(ResOperation(rop.INT_SUB, [box1, box2], resbox))
     return resbox
 
-def _strgetitem(optimization, strbox, indexbox, mode, resbox=None):
+def _strgetitem(optimization, strbox, indexbox, mode):
     if isinstance(strbox, ConstPtr) and isinstance(indexbox, ConstInt):
         if mode is mode_string:
             s = strbox.getref(lltype.Ptr(rstr.STR))
@@ -357,7 +356,6 @@
         else:
             s = strbox.getref(lltype.Ptr(rstr.UNICODE))
             return ConstInt(ord(s.chars[indexbox.getint()]))
-    if not resbox:
         resbox = BoxInt()
     optimization.emit_operation(ResOperation(mode.STRGETITEM, [strbox, indexbox],
                                       resbox))
@@ -428,11 +426,10 @@
     def _optimize_STRGETITEM(self, op, mode):
         value = self.getvalue(op.getarg(0))
         vindex = self.getvalue(op.getarg(1))
-        vresult = self.strgetitem(value, vindex, mode, op.result)
-        if op.result not in self.optimizer.values:
+        vresult = self.strgetitem(value, vindex, mode)
             self.make_equal_to(op.result, vresult)
 
-    def strgetitem(self, value, vindex, mode, result=None):
+    def strgetitem(self, value, vindex, mode):
         value.ensure_nonnull()
         #
         if value.is_virtual() and isinstance(value, VStringSliceValue):
@@ -446,7 +443,7 @@
             if vindex.is_constant():
                 return value.getitem(vindex.box.getint())
         #
-        resbox = _strgetitem(self, value.force_box(), vindex.force_box(), mode, result)
+        resbox = _strgetitem(self, value.force_box(), vindex.force_box(), mode)
         return self.getvalue(resbox)
 
     def optimize_STRLEN(self, op):
@@ -456,8 +453,7 @@
 
     def _optimize_STRLEN(self, op, mode):
         value = self.getvalue(op.getarg(0))
-        lengthbox = value.getstrlen(self, mode, lengthbox=op.result)
-        if lengthbox is not op.result:
+        lengthbox = value.getstrlen(self, mode)
             self.make_equal_to(op.result, self.getvalue(lengthbox))
 
     def optimize_CALL(self, op):


More information about the pypy-commit mailing list