Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • gerd's avatar
    9e89e4e5
    * code/hash-new.lisp (make-hash-table): Put warning about · 9e89e4e5
    gerd authored
    	creating weak tables in #-gencgc.
    
    	* lisp/gencgc.c (gc_assert): Ensure macro expansion is always a C
    	statement.
    	(struct hash_table): New struct.
    	(HASH_TABLE_SIZE, EQ_HASH): New macros.
    	(weak_hash_tables): New variable.
    	(survives_gc, u32_vector, free_hash_entry, record_for_rehashing)
    	(scav_hash_entries, scav_weak_entries, scan_weak_tables)
    	(scav_hash_vector): New functions.
    	(scav_vector): Removed.
    	(scav_weak_pointer, trans_weak_pointer, scan_weak_pointers):
    	Cleaned up.
    	(gc_init_tables): Use scav_hash_vector instead of scav_vector.
    	(garbage_collect_generation): Call scan_weak_tables.
    	(everywhere): Add casts, change format strings, etc. to placate
    	the compiler.
    
    	* lisp/FreeBSD-os.h: Fix a function prototype.
    9e89e4e5
    History
    * code/hash-new.lisp (make-hash-table): Put warning about
    gerd authored
    	creating weak tables in #-gencgc.
    
    	* lisp/gencgc.c (gc_assert): Ensure macro expansion is always a C
    	statement.
    	(struct hash_table): New struct.
    	(HASH_TABLE_SIZE, EQ_HASH): New macros.
    	(weak_hash_tables): New variable.
    	(survives_gc, u32_vector, free_hash_entry, record_for_rehashing)
    	(scav_hash_entries, scav_weak_entries, scan_weak_tables)
    	(scav_hash_vector): New functions.
    	(scav_vector): Removed.
    	(scav_weak_pointer, trans_weak_pointer, scan_weak_pointers):
    	Cleaned up.
    	(gc_init_tables): Use scav_hash_vector instead of scav_vector.
    	(garbage_collect_generation): Call scan_weak_tables.
    	(everywhere): Add casts, change format strings, etc. to placate
    	the compiler.
    
    	* lisp/FreeBSD-os.h: Fix a function prototype.