Skip to content
Snippets Groups Projects
Commit 9e89e4e5 authored by gerd's avatar gerd
Browse files

* code/hash-new.lisp (make-hash-table): Put warning about

	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.
parent 87799a7e
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.22 2003/03/22 16:15:21 gerd Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.23 2003/03/27 12:42:10 gerd Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -230,6 +230,7 @@
(scaled-size (round (/ (float size+1) rehash-threshold)))
(length (if (<= scaled-size 37) 37 (almost-primify scaled-size))))
(declare (type index size+1 scaled-size length))
#-gencgc
(when weak-p
(format *debug-io* ";; Creating unsupported weak-p hash table~%"))
(let* ((index-vector
......
/*
$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/FreeBSD-os.h,v 1.5 2003/03/23 21:23:41 gerd Exp $
$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/FreeBSD-os.h,v 1.6 2003/03/27 12:42:10 gerd Exp $
This code was written as part of the CMU Common Lisp project at
Carnegie Mellon University, and has been placed in the public domain.
......@@ -27,7 +27,7 @@ typedef int os_vm_prot_t;
#define OS_VM_DEFAULT_PAGESIZE 4096
int sc_reg (struct sigcontext*,int);
void os_save_context ();
void os_save_context (void);
/* I *think* this is when things became incompatible with old
signals. */
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment