This is the mail archive of the
guile-cvs@sourceware.cygnus.com
mailing list for the Guile project.
guile/guile-core/libguile ChangeLog gc.c gc.h ...
- To: guile-cvs at sourceware dot cygnus dot com
- Subject: guile/guile-core/libguile ChangeLog gc.c gc.h ...
- From: cmm at sourceware dot cygnus dot com
- Date: 18 Mar 2000 11:09:44 -0000
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.