[pypy-commit] pypy improve-heap-caching-tracing: more cases to not invalidate the cache
cfbolz
noreply at buildbot.pypy.org
Sun Sep 4 13:48:27 CEST 2011
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: improve-heap-caching-tracing
Changeset: r47073:9b4b10daa887
Date: 2011-09-04 13:38 +0200
http://bitbucket.org/pypy/pypy/changeset/9b4b10daa887/
Log: more cases to not invalidate the cache
diff --git a/pypy/jit/metainterp/heapcache.py b/pypy/jit/metainterp/heapcache.py
--- a/pypy/jit/metainterp/heapcache.py
+++ b/pypy/jit/metainterp/heapcache.py
@@ -24,6 +24,12 @@
return
if opnum == rop.SETARRAYITEM_GC:
return
+ if opnum == rop.SETFIELD_RAW:
+ return
+ if opnum == rop.SETARRAYITEM_RAW:
+ return
+ if rop._OVF_FIRST <= opnum <= rop._OVF_LAST:
+ return
if rop._NOSIDEEFFECT_FIRST <= opnum <= rop._NOSIDEEFFECT_LAST:
return
if opnum == rop.CALL:
diff --git a/pypy/jit/metainterp/test/test_heapcache.py b/pypy/jit/metainterp/test/test_heapcache.py
--- a/pypy/jit/metainterp/test/test_heapcache.py
+++ b/pypy/jit/metainterp/test/test_heapcache.py
@@ -213,6 +213,9 @@
h.setarrayitem(box1, descr1, index1, box2)
h.setarrayitem(box1, descr1, index2, box4)
h.invalidate_caches(rop.INT_ADD, None)
+ h.invalidate_caches(rop.INT_ADD_OVF, None)
+ h.invalidate_caches(rop.SETFIELD_RAW, None)
+ h.invalidate_caches(rop.SETARRAYITEM_RAW, None)
assert h.getfield(box1, descr1) is box2
assert h.getarrayitem(box1, descr1, index1) is box2
assert h.getarrayitem(box1, descr1, index2) is box4
More information about the pypy-commit
mailing list