diff options
author | Ludovic Courtes <ludovic.courtes@laas.fr> | 2006-06-13 20:17:32 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2008-09-10 20:27:20 +0200 |
commit | c6a35e35f76e800bd85cb28e6ace743aedd87e61 (patch) | |
tree | 1aa538e23b2b8092c46173a91b160b784ce17046 /libguile/weaks.c | |
parent | 651a0735225da3e4887df018824e9baaada5194e (diff) | |
download | guile-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/weaks.c')
0 files changed, 0 insertions, 0 deletions