[pypy-commit] pypy virtual-dicts: ptr_eq and ptr_ne don't escape things.

alex_gaynor noreply at buildbot.pypy.org
Tue Oct 25 22:42:22 CEST 2011


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: virtual-dicts
Changeset: r48460:8dfa8646de2c
Date: 2011-10-25 16:42 -0400
http://bitbucket.org/pypy/pypy/changeset/8dfa8646de2c/

Log:	ptr_eq and ptr_ne don't escape things.

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
@@ -48,8 +48,12 @@
                 self.dependencies.setdefault(box, []).append(valuebox)
             else:
                 self._escape(valuebox)
-        # GETFIELD_GC and MARK_OPAQUE_PTR doesn't escape their arguments
-        elif opnum != rop.GETFIELD_GC and opnum != rop.MARK_OPAQUE_PTR:
+        # GETFIELD_GC, MARK_OPAQUE_PTR, PTR_EQ, and PTR_NE don't escape their
+        # arguments
+        elif (opnum != rop.GETFIELD_GC and
+              opnum != rop.MARK_OPAQUE_PTR and
+              opnum != rop.PTR_EQ and
+              opnum != rop.PTR_NE):
             idx = 0
             for box in argboxes:
                 # setarrayitem_gc don't escape its first argument


More information about the pypy-commit mailing list