[pypy-commit] pypy default: Remove the cleverness about not building recursive RawSlicePtrInfos.
arigo
noreply at buildbot.pypy.org
Wed Sep 23 20:53:24 CEST 2015
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r79804:2e8414e8d696
Date: 2015-09-23 20:53 +0200
http://bitbucket.org/pypy/pypy/changeset/2e8414e8d696/
Log: Remove the cleverness about not building recursive RawSlicePtrInfos.
It doesn't work because of 'op.getarg(0)' we do in that class, but
sometimes we'd need to follow it more than once.
diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py b/rpython/jit/metainterp/optimizeopt/virtualize.py
--- a/rpython/jit/metainterp/optimizeopt/virtualize.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualize.py
@@ -256,13 +256,10 @@
offset = offsetbox.getint()
# the following check is constant-folded to False if the
# translation occurs without any VRawXxxValue instance around
- if isinstance(opinfo, info.RawBufferPtrInfo):
+ if (isinstance(opinfo, info.RawBufferPtrInfo) or
+ isinstance(opinfo, info.RawSlicePtrInfo)):
self.make_virtual_raw_slice(offset, opinfo, op)
return
- elif isinstance(opinfo, info.RawSlicePtrInfo):
- offset = offset + opinfo.offset
- self.make_virtual_raw_slice(offset, opinfo.parent, op)
- return
self.emit_operation(op)
def optimize_ARRAYLEN_GC(self, op):
More information about the pypy-commit
mailing list