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