[pypy-commit] pypy default: maybe, just maybe, get rid of the crashes with InteriorPtr
fijal
noreply at buildbot.pypy.org
Thu Feb 21 17:03:18 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r61552:e176b19b813a
Date: 2013-02-21 18:02 +0200
http://bitbucket.org/pypy/pypy/changeset/e176b19b813a/
Log: maybe, just maybe, get rid of the crashes with InteriorPtr
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
@@ -385,48 +385,60 @@
# be direct_call'ed from rtyped flow graphs, which means that they will
# get flowed and annotated, mostly with SomePtr.
+ at objectmodel.enforceargs(None, int)
def ll_everused_from_flag(entries, i):
return entries[i].f_everused
+ at objectmodel.enforceargs(None, int)
def ll_everused_from_key(entries, i):
return bool(entries[i].key)
+ at objectmodel.enforceargs(None, int)
def ll_everused_from_value(entries, i):
return bool(entries[i].value)
+ at objectmodel.enforceargs(None, int)
def ll_valid_from_flag(entries, i):
return entries[i].f_valid
+ at objectmodel.enforceargs(None, int)
def ll_mark_deleted_in_flag(entries, i):
entries[i].f_valid = False
+ at objectmodel.enforceargs(None, int)
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
+ at objectmodel.enforceargs(None, int)
def ll_mark_deleted_in_key(entries, i):
ENTRIES = lltype.typeOf(entries).TO
dummy = ENTRIES.dummy_obj.ll_dummy_value
entries[i].key = dummy
+ at objectmodel.enforceargs(None, int)
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
+ at objectmodel.enforceargs(None, int)
def ll_mark_deleted_in_value(entries, i):
ENTRIES = lltype.typeOf(entries).TO
dummy = ENTRIES.dummy_obj.ll_dummy_value
entries[i].value = dummy
+ at objectmodel.enforceargs(None, int)
def ll_hash_from_cache(entries, i):
return entries[i].f_hash
+ at objectmodel.enforceargs(None, int)
def ll_hash_recomputed(entries, i):
ENTRIES = lltype.typeOf(entries).TO
return ENTRIES.fasthashfn(entries[i].key)
+ at objectmodel.enforceargs(None, int)
def ll_get_value(d, i):
return d.entries[i].value
More information about the pypy-commit
mailing list