comparison src/elhash.c @ 5120:d1247f3cc363 ben-lisp-object

latest work on lisp-object workspace; more changes eliminating LCRECORD in place of LISP_OBJECT; now compiles and runs.
author Ben Wing <ben@xemacs.org>
date Mon, 28 Dec 2009 01:15:52 -0600
parents e0db3c197671
children 623d57b7fbe8
comparison
equal deleted inserted replaced
5119:d877c14318b3 5120:d1247f3cc363
94 static Lisp_Object Qweak, Qkey_weak, Qvalue_weak, Qkey_or_value_weak; 94 static Lisp_Object Qweak, Qkey_weak, Qvalue_weak, Qkey_or_value_weak;
95 static Lisp_Object Qnon_weak, Q_type; 95 static Lisp_Object Qnon_weak, Q_type;
96 96
97 struct Lisp_Hash_Table 97 struct Lisp_Hash_Table
98 { 98 {
99 struct LCRECORD_HEADER header; 99 LISP_OBJECT_HEADER header;
100 Elemcount size; 100 Elemcount size;
101 Elemcount count; 101 Elemcount count;
102 Elemcount rehash_count; 102 Elemcount rehash_count;
103 double rehash_size; 103 double rehash_size;
104 double rehash_threshold; 104 double rehash_threshold;
1024 (hash_table)) 1024 (hash_table))
1025 { 1025 {
1026 const Lisp_Hash_Table *ht_old = xhash_table (hash_table); 1026 const Lisp_Hash_Table *ht_old = xhash_table (hash_table);
1027 Lisp_Object obj = ALLOC_LISP_OBJECT (hash_table); 1027 Lisp_Object obj = ALLOC_LISP_OBJECT (hash_table);
1028 Lisp_Hash_Table *ht = XHASH_TABLE (obj); 1028 Lisp_Hash_Table *ht = XHASH_TABLE (obj);
1029 COPY_LCRECORD (ht, ht_old); 1029 COPY_LISP_OBJECT (ht, ht_old);
1030 1030
1031 /* We leave room for one never-occupied sentinel htentry at the end. */ 1031 /* We leave room for one never-occupied sentinel htentry at the end. */
1032 ht->hentries = allocate_hash_table_entries (ht_old->size + 1); 1032 ht->hentries = allocate_hash_table_entries (ht_old->size + 1);
1033 memcpy (ht->hentries, ht_old->hentries, (ht_old->size + 1) * sizeof (htentry)); 1033 memcpy (ht->hentries, ht_old->hentries, (ht_old->size + 1) * sizeof (htentry));
1034 1034