[pypy-svn] r77330 - pypy/branch/jit-str/pypy/jit/metainterp/optimizeopt
arigo at codespeak.net
arigo at codespeak.net
Fri Sep 24 11:24:01 CEST 2010
Author: arigo
Date: Fri Sep 24 11:23:59 2010
New Revision: 77330
Modified:
pypy/branch/jit-str/pypy/jit/metainterp/optimizeopt/virtualize.py
Log:
Tweaks.
Modified: pypy/branch/jit-str/pypy/jit/metainterp/optimizeopt/virtualize.py
==============================================================================
--- pypy/branch/jit-str/pypy/jit/metainterp/optimizeopt/virtualize.py (original)
+++ pypy/branch/jit-str/pypy/jit/metainterp/optimizeopt/virtualize.py Fri Sep 24 11:23:59 2010
@@ -579,7 +579,7 @@
descr=op.descr)
self.make_varray(op.descr, sizebox.getint(), op.result, op)
else:
- ###self.optimize_default(op)
+ self.getvalue(op.result).ensure_nonnull()
self.emit_operation(op)
def optimize_ARRAYLEN_GC(self, op):
@@ -661,6 +661,7 @@
vvalue = self.make_vstring_plain(op.result, op)
vvalue.setup(length_box.getint())
else:
+ self.getvalue(op.result).ensure_nonnull()
self.emit_operation(op)
def optimize_STRSETITEM(self, op):
@@ -692,6 +693,8 @@
def opt_call_oopspec_STR_CONCAT(self, op):
vleft = self.getvalue(op.args[1])
vright = self.getvalue(op.args[2])
+ vleft.ensure_nonnull()
+ vright.ensure_nonnull()
newoperations = self.optimizer.newoperations
len1box = vleft.getstrlen(newoperations)
len2box = vright.getstrlen(newoperations)
@@ -705,6 +708,7 @@
vstr = self.getvalue(op.args[1])
vstart = self.getvalue(op.args[2])
vstop = self.getvalue(op.args[3])
+ vstr.ensure_nonnull()
lengthbox = _int_sub(newoperations, vstop.force_box(),
vstart.force_box())
value = self.make_vstring_slice(op.result, op)
More information about the Pypy-commit
mailing list