[pypy-commit] pypy default: interning ints aswell
hakanardo
noreply at buildbot.pypy.org
Thu Nov 3 11:03:25 CET 2011
Author: Hakan Ardo <hakan at 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
More information about the pypy-commit
mailing list