[pypy-commit] pypy rdict-experiments-3: (fijal, arigo)
arigo
noreply at buildbot.pypy.org
Wed Oct 9 19:27:34 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch: rdict-experiments-3
Changeset: r67258:f0f77aef2ee3
Date: 2013-10-09 19:26 +0200
http://bitbucket.org/pypy/pypy/changeset/f0f77aef2ee3/
Log: (fijal, arigo) More RPythonification
diff --git a/rpython/rtyper/lltypesystem/rdict.py b/rpython/rtyper/lltypesystem/rdict.py
--- a/rpython/rtyper/lltypesystem/rdict.py
+++ b/rpython/rtyper/lltypesystem/rdict.py
@@ -448,12 +448,12 @@
def ll_valid_from_key(entries, i):
ENTRIES = lltype.typeOf(entries).TO
dummy = ENTRIES.dummy_obj.ll_dummy_value
- return entries.everused(i) and entries[i].key != dummy
+ return entries[i].key != dummy
def ll_valid_from_value(entries, i):
ENTRIES = lltype.typeOf(entries).TO
dummy = ENTRIES.dummy_obj.ll_dummy_value
- return entries.everused(i) and entries[i].value != dummy
+ return entries[i].value != dummy
def ll_mark_deleted_in_flag(entries, i):
entries[i].f_valid = False
diff --git a/rpython/rtyper/test/test_rdict.py b/rpython/rtyper/test/test_rdict.py
--- a/rpython/rtyper/test/test_rdict.py
+++ b/rpython/rtyper/test/test_rdict.py
@@ -39,12 +39,17 @@
return c
class TestRDictDirect(object):
+ dummykeyobj = None
+ dummyvalueobj = None
+
def _get_str_dict(self):
# STR -> lltype.Signed
DICT = rdict.get_ll_dict(lltype.Ptr(rstr.STR), lltype.Signed,
ll_fasthash_function=rstr.LLHelpers.ll_strhash,
ll_hash_function=rstr.LLHelpers.ll_strhash,
- ll_eq_function=rstr.LLHelpers.ll_streq)
+ ll_eq_function=rstr.LLHelpers.ll_streq,
+ dummykeyobj=self.dummykeyobj,
+ dummyvalueobj=self.dummyvalueobj)
return DICT
def test_dict_creation(self):
@@ -172,6 +177,16 @@
for k in foreach_index(ll_d):
assert k < rdict.VALID_OFFSET
+
+class TestRDictDirectDummyKey(TestRDictDirect):
+ class dummykeyobj:
+ ll_dummy_value = llstr("dupa")
+
+class TestRDictDirectDummyValue(TestRDictDirect):
+ class dummyvalueobj:
+ ll_dummy_value = -42
+
+
class TestRdict(BaseRtypingTest):
def test_dict_creation(self):
More information about the pypy-commit
mailing list