From c5b0618d92f7973565c46f42f813bc9cd65299ff Mon Sep 17 00:00:00 2001 From: Marius Vollmer Date: Sun, 27 Jul 2003 13:56:10 +0000 Subject: [PATCH] * gc.h (SCM_GC_SET_CELL_BVEC): New. * gc-card.c (scm_i_init_card_freelist): Use it. Thanks to Matthias Koeppe! --- libguile/gc-card.c | 2 +- libguile/gc.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libguile/gc-card.c b/libguile/gc-card.c index 0deb1667c..3939417d3 100644 --- a/libguile/gc-card.c +++ b/libguile/gc-card.c @@ -308,7 +308,7 @@ scm_i_init_card_freelist (scm_t_cell * card, SCM *free_list, int idx = (card - seg->bounds[0]) / SCM_GC_CARD_N_CELLS; bvec_ptr += idx *SCM_GC_CARD_BVEC_SIZE_IN_LONGS; - SCM_GC_CELL_BVEC (card) = bvec_ptr; + SCM_GC_SET_CELL_BVEC (card, bvec_ptr); /* ASSUMPTION: n_header_cells <= 2. diff --git a/libguile/gc.h b/libguile/gc.h index bebe856c4..1dca8c2c0 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -103,6 +103,7 @@ typedef struct scm_t_cell #define SCM_GC_CELL_CARD(x) ((scm_t_cell *) ((long) (x) & SCM_GC_CARD_ADDR_MASK)) #define SCM_GC_CELL_OFFSET(x) (((long) (x) & SCM_GC_CARD_SIZE_MASK) >> SCM_CELL_SIZE_SHIFT) #define SCM_GC_CELL_BVEC(x) SCM_GC_CARD_BVEC (SCM_GC_CELL_CARD (x)) +#define SCM_GC_SET_CELL_BVEC(x, bvec) SCM_GC_SET_CARD_BVEC (SCM_GC_CELL_CARD (x), bvec) #define SCM_GC_CELL_GET_BIT(x) SCM_C_BVEC_GET (SCM_GC_CELL_BVEC (x), SCM_GC_CELL_OFFSET (x)) #define SCM_GC_CELL_SET_BIT(x) SCM_C_BVEC_SET (SCM_GC_CELL_BVEC (x), SCM_GC_CELL_OFFSET (x)) #define SCM_GC_CELL_CLEAR_BIT(x) SCM_C_BVEC_CLEAR (SCM_GC_CELL_BVEC (x), SCM_GC_CELL_OFFSET (x)) -- 2.20.1