Author: Carl Friedrich Bolz <[email protected]>
Branch:
Changeset: r53177:0f597ff4a6ba
Date: 2012-03-01 21:12 +0100
http://bitbucket.org/pypy/pypy/changeset/0f597ff4a6ba/
Log: bah. of course the identity hash and the identity eq are fast.
diff --git a/pypy/rpython/rclass.py b/pypy/rpython/rclass.py
--- a/pypy/rpython/rclass.py
+++ b/pypy/rpython/rclass.py
@@ -364,6 +364,8 @@
def get_ll_hash_function(self):
return ll_inst_hash
+ get_ll_fasthash_function = get_ll_hash_function
+
def rtype_type(self, hop):
raise NotImplementedError
diff --git a/pypy/rpython/test/test_rdict.py b/pypy/rpython/test/test_rdict.py
--- a/pypy/rpython/test/test_rdict.py
+++ b/pypy/rpython/test/test_rdict.py
@@ -449,6 +449,21 @@
assert r_AB_dic.lowleveltype == r_BA_dic.lowleveltype
+ def test_identity_hash_is_fast(self):
+ class A(object):
+ pass
+
+ def f():
+ return {A(): 1}
+
+ t = TranslationContext()
+ s = t.buildannotator().build_types(f, [])
+ rtyper = t.buildrtyper()
+ rtyper.specialize()
+
+ r_dict = rtyper.getrepr(s)
+ assert not hasattr(r_dict.lowleveltype.TO.entries.TO.OF, "f_hash")
+
def test_tuple_dict(self):
def f(i):
d = {}
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit