[pypy-svn] pypy jit-fromstart: some interned support

hakanardo commits-noreply at bitbucket.org
Wed Feb 2 08:20:51 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-fromstart
Changeset: r41535:2a2796f9b086
Date: 2011-02-02 06:59 +0100
http://bitbucket.org/pypy/pypy/changeset/2a2796f9b086/

Log:	some interned support

diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -353,8 +353,17 @@
 
         assert self.posponedop is None
 
+        for value in valuemap.values():
+            box = value.get_key_box()
+            assert box is new.getinterned(box)
+            try:
+                assert new.values[box] == value
+            except KeyError:
+                new.values[box] = value
+            
         for box in surviving_boxes:
             v = self.getvalue(box)
+            box = new.getinterned(box)
             new.values[box] = v.get_reconstructed(new, valuemap)
 
         return new


More information about the Pypy-commit mailing list