Author: Maciej Fijalkowski <[email protected]>
Branch: optresult
Changeset: r77557:38a22665d973
Date: 2015-05-26 10:23 +0200
http://bitbucket.org/pypy/pypy/changeset/38a22665d973/
Log: fixes
diff --git a/rpython/jit/metainterp/optimizeopt/heap.py
b/rpython/jit/metainterp/optimizeopt/heap.py
--- a/rpython/jit/metainterp/optimizeopt/heap.py
+++ b/rpython/jit/metainterp/optimizeopt/heap.py
@@ -464,7 +464,8 @@
self.make_nonnull(op.getarg(0))
self.emit_operation(op)
# then remember the result of reading the field
- structinfo.setfield(op.getdescr(), self.get_box_replacement(op), cf)
+ structinfo.setfield(op.getdescr(), self.get_box_replacement(op), self,
+ cf)
optimize_GETFIELD_GC_R = optimize_GETFIELD_GC_I
optimize_GETFIELD_GC_F = optimize_GETFIELD_GC_I
diff --git a/rpython/jit/metainterp/optimizeopt/info.py
b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -85,7 +85,7 @@
self.flags = 0
self._fields = [None] * len(self._fields)
- def setfield(self, descr, op, cf=None):
+ def setfield(self, descr, op, optheap=None, cf=None):
self._fields[descr.index] = op
if cf is not None:
assert not self.is_virtual()
@@ -164,7 +164,7 @@
count += 1
return count
- def setitem(self, index, item, cf):
+ def setitem(self, index, item, cf=None):
if self._items is None:
self._items = [None] * (index + 1)
if index >= len(self._items):
@@ -243,9 +243,9 @@
info = self._get_info(descr, optheap)
return info.getfield(descr)
- def setfield(self, descr, op, optheap=None):
+ def setfield(self, descr, op, optheap=None, cf=None):
info = self._get_info(descr, optheap)
- info.setfield(descr, op, optheap)
+ info.setfield(descr, op, optheap, cf)
def is_null(self):
return not bool(self._const.getref_base())
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
@@ -787,7 +787,7 @@
if opinfo and opinfo.is_virtual():
indexbox = self.get_constant_box(op.getarg(1))
if indexbox is not None:
- item = opinfo.getitem_virtual(indexbox.getint())
+ item = opinfo.getitem(indexbox.getint())
if item is None: # reading uninitialized array items?
assert False, "can't read uninitialized items"
itemvalue = value.constvalue # bah, just return 0
@@ -809,8 +809,8 @@
if opinfo and opinfo.is_virtual():
indexbox = self.get_constant_box(op.getarg(1))
if indexbox is not None:
- opinfo.setitem_virtual(indexbox.getint(),
- self.get_box_replacement(op.getarg(2)))
+ opinfo.setitem(indexbox.getint(),
+ self.get_box_replacement(op.getarg(2)))
return
self.make_nonnull(op.getarg(0))
self.emit_operation(op)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit