summaryrefslogtreecommitdiff
path: root/libguile/init.c
diff options
context:
space:
mode:
authorLudovic Courtes <ludovic.courtes@laas.fr>2006-06-13 20:17:32 +0000
committerLudovic Courtès <ludo@gnu.org>2008-09-10 20:27:20 +0200
commitc6a35e35f76e800bd85cb28e6ace743aedd87e61 (patch)
tree1aa538e23b2b8092c46173a91b160b784ce17046 /libguile/init.c
parent651a0735225da3e4887df018824e9baaada5194e (diff)
downloadguile-c6a35e35f76e800bd85cb28e6ace743aedd87e61.tar.gz
Implemented rehashing of weak hash tables.
* libguile/hashtab.c (weak_hashtables): Removed. (SCM_WEAK_CELL_DELETED_P): New macro. (START_WEAK_BUCKET_FIXUP): Added the HASHFN argument. Invoke `scm_i_rehash ()' when pairs have been removed. (END_WEAK_BUCKET_FIXUP): Added the HASHFN argument. (make_hash_table): Use `SCM_NEWSMOB2 ()' instead of `SCM_NEWSMOB3 ()' -- last argument used to be WEAK_HASHTABLES. (scm_i_rehash): Handle weak hash tables. (to_rehash): Removed. (scm_internal_hash_fold): Use `SCM_WEAK_CELL_DELETED_P ()' rather than hand-written equivalent code. (rehash_after_gc): Removed. (scm_hashtab_prehistory): Don't add it as an after-gc hook. * libguile/hashtab.h (SCM_HASHTABLE_NEXT): Removed. (SCM_HASHTABLE_NEXTLOC): Removed. (SCM_SET_HASHTABLE_NEXT): Removed. git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-38
Diffstat (limited to 'libguile/init.c')
0 files changed, 0 insertions, 0 deletions