Author: Maciej Fijalkowski <[email protected]>
Branch: optresult
Changeset: r77831:d2a9145f3990
Date: 2015-06-03 17:53 +0200
http://bitbucket.org/pypy/pypy/changeset/d2a9145f3990/

Log:    sanity check and disable gen_store_back until we test it

diff --git a/rpython/jit/backend/x86/test/test_regalloc2.py 
b/rpython/jit/backend/x86/test/test_regalloc2.py
--- a/rpython/jit/backend/x86/test/test_regalloc2.py
+++ b/rpython/jit/backend/x86/test/test_regalloc2.py
@@ -14,6 +14,7 @@
 
 CPU = getcpuclass()
 
+
 def test_bug_rshift():
     v1 = InputArgInt()
     v2 = InputArgInt()
diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py 
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -777,6 +777,12 @@
                 raise resume.TagOverflow
         except resume.TagOverflow:
             raise compile.giveup()
+        # check no duplicates
+        seen = {}
+        for box in newboxes:
+            if box is not None:
+                assert box not in seen
+                seen[box] = None
         descr.store_final_boxes(op, newboxes, self.metainterp_sd)
         #
         if op.getopnum() == rop.GUARD_VALUE:
diff --git a/rpython/jit/metainterp/pyjitpl.py 
b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -2845,6 +2845,7 @@
             self.virtualizable_boxes.append(virtualizable_box)
 
     def gen_store_back_in_vable(self, box):
+        raise Exception("untested")
         vinfo = self.jitdriver_sd.virtualizable_info
         if vinfo is not None:
             # xxx only write back the fields really modified
@@ -2866,7 +2867,7 @@
             virtualizable = vinfo.unwrap_virtualizable_box(vbox)
             for k in range(vinfo.num_arrays):
                 descr = vinfo.array_field_descrs[k]
-                abox = self.execute_and_record(rop.GETFIELD_GC, descr, vbox)
+                abox = self.execute_and_record(rop.GETFIELD_GC_R, descr, vbox)
                 descr = vinfo.array_descrs[k]
                 for j in range(vinfo.get_array_length(virtualizable, k)):
                     itembox = self.virtualizable_boxes[i]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to