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

Reply via email to