This is the mail archive of the guile-cvs@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

guile/guile-core/libguile ChangeLog gc.c gc.h ...


CVSROOT:	/cvs/guile
Module name:	guile
Changes by:	cmm@sourceware.cygnus.com	00/03/18 03:09:43

Modified files:
	guile-core/libguile: ChangeLog gc.c gc.h tags.h 

Log message:
	* tags.h: (SCM_DOUBLE_CELLP, SCM_NDOUBLE_CELLP): new macros.
	
	* gc.h: (typedef struct scm_freelist_t) remove from here.
	
	* gc.c: (CELL_UP, CELL_DN) make these macros take additional
	parameter (the span).
	(CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK) new macros.
	(typedef struct scm_freelist_t) move here from gc.h, it had no
	business being externally visible.
	(typedef struct scm_heap_seg_data_t) renamed from
	scm_heap_seg_data, to be style-compliant.
	(scm_mark_locations) if the possible pointer points to a
	multy-cell, check that it's properly aligned.
	(init_heap_seg) alighn multy-cells properly, work with the
	assumption that the segment size divides cleanly by cluster size
	(so that there's no spill).
	(round_to_cluster_size) new function.
	(alloc_some_heap, make_initial_segment) use round_to_cluster_size
	to satisfy the new init_heap_seg invariant.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]