Author: Hakan Ardo <ha...@debian.org>
Branch: 
Changeset: r48681:d0466dedbb14
Date: 2011-11-03 07:34 +0100
http://bitbucket.org/pypy/pypy/changeset/d0466dedbb14/

Log:    interning ints aswell

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
@@ -1,6 +1,6 @@
 from pypy.jit.metainterp import jitprof, resume, compile
 from pypy.jit.metainterp.executor import execute_nonspec
-from pypy.jit.metainterp.history import BoxInt, BoxFloat, Const, ConstInt, REF
+from pypy.jit.metainterp.history import BoxInt, BoxFloat, Const, ConstInt, 
REF, INT
 from pypy.jit.metainterp.optimizeopt.intutils import IntBound, IntUnbounded, \
                                                      ImmutableIntUnbounded, \
                                                      IntLowerBound, MININT, 
MAXINT
@@ -326,6 +326,7 @@
         self.bridge = bridge
         self.values = {}
         self.interned_refs = self.cpu.ts.new_ref_dict()
+        self.interned_ints = {}
         self.resumedata_memo = resume.ResumeDataLoopMemo(metainterp_sd)
         self.bool_boxes = {}
         self.producer = {}
@@ -398,6 +399,9 @@
             if not value:
                 return box
             return self.interned_refs.setdefault(value, box)
+        elif constbox.type == INT:
+            value = constbox.getint()
+            return self.interned_ints.setdefault(value, box)
         else:
             return box
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to