From mboxrd@z Thu Jan 1 00:00:00 1970 From: cmm@sourceware.cygnus.com To: guile-cvs@sourceware.cygnus.com Subject: guile/guile-core/libguile ChangeLog gc.c gc.h ... Date: Sat, 18 Mar 2000 03:09:00 -0000 Message-id: <20000318110944.23241.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00443.html List-Id: 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.