Author: Maciej Fijalkowski <fij...@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. +@objectmodel.enforceargs(None, int) def ll_everused_from_flag(entries, i): return entries[i].f_everused +@objectmodel.enforceargs(None, int) def ll_everused_from_key(entries, i): return bool(entries[i].key) +@objectmodel.enforceargs(None, int) def ll_everused_from_value(entries, i): return bool(entries[i].value) +@objectmodel.enforceargs(None, int) def ll_valid_from_flag(entries, i): return entries[i].f_valid +@objectmodel.enforceargs(None, int) def ll_mark_deleted_in_flag(entries, i): entries[i].f_valid = False +@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 +@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 +@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 +@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 +@objectmodel.enforceargs(None, int) def ll_hash_from_cache(entries, i): return entries[i].f_hash +@objectmodel.enforceargs(None, int) def ll_hash_recomputed(entries, i): ENTRIES = lltype.typeOf(entries).TO return ENTRIES.fasthashfn(entries[i].key) +@objectmodel.enforceargs(None, int) def ll_get_value(d, i): return d.entries[i].value _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit