comparison src/lisp.h @ 81813:32d8fd242bb2

* lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer. * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned from a Lisp_Object into a bare pointer. (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): Adjust the code correspondingly.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 11 Jul 2007 15:26:24 +0000
parents c1184a3d99c9
children b98604865ea0 0ece58f6e0aa a66921565bcb
comparison
equal deleted inserted replaced
81812:a4517fcdd6e1 81813:32d8fd242bb2
54 #endif /* 0 */ 54 #endif /* 0 */
55 55
56 #ifdef GC_CHECK_CONS_LIST 56 #ifdef GC_CHECK_CONS_LIST
57 #define CHECK_CONS_LIST() check_cons_list() 57 #define CHECK_CONS_LIST() check_cons_list()
58 #else 58 #else
59 #define CHECK_CONS_LIST() 0 59 #define CHECK_CONS_LIST() ((void)0)
60 #endif 60 #endif
61 61
62 /* These are default choices for the types to use. */ 62 /* These are default choices for the types to use. */
63 #ifdef _LP64 63 #ifdef _LP64
64 #ifndef EMACS_INT 64 #ifndef EMACS_INT
1039 /* Bucket vector. A non-nil entry is the index of the first item in 1039 /* Bucket vector. A non-nil entry is the index of the first item in
1040 a collision chain. This vector's size can be larger than the 1040 a collision chain. This vector's size can be larger than the
1041 hash table size to reduce collisions. */ 1041 hash table size to reduce collisions. */
1042 Lisp_Object index; 1042 Lisp_Object index;
1043 1043
1044 /* Next weak hash table if this is a weak hash table. The head
1045 of the list is in Vweak_hash_tables. */
1046 Lisp_Object next_weak;
1047
1048 /* User-supplied hash function, or nil. */ 1044 /* User-supplied hash function, or nil. */
1049 Lisp_Object user_hash_function; 1045 Lisp_Object user_hash_function;
1050 1046
1051 /* User-supplied key comparison function, or nil. */ 1047 /* User-supplied key comparison function, or nil. */
1052 Lisp_Object user_cmp_function; 1048 Lisp_Object user_cmp_function;
1049
1050 /* Next weak hash table if this is a weak hash table. The head
1051 of the list is in weak_hash_tables. */
1052 struct Lisp_Hash_Table *next_weak;
1053 1053
1054 /* C function to compare two keys. */ 1054 /* C function to compare two keys. */
1055 int (* cmpfn) P_ ((struct Lisp_Hash_Table *, Lisp_Object, 1055 int (* cmpfn) P_ ((struct Lisp_Hash_Table *, Lisp_Object,
1056 unsigned, Lisp_Object, unsigned)); 1056 unsigned, Lisp_Object, unsigned));
1057 1057