80 |
# define PTR2SCM(x) (SCM_PACK ((scm_t_bits) (x))) |
# define PTR2SCM(x) (SCM_PACK ((scm_t_bits) (x))) |
81 |
#endif /* def _UNICOS */ |
#endif /* def _UNICOS */ |
82 |
|
|
83 |
|
#ifdef GENGC |
84 |
|
/* |
85 |
|
TODO |
86 |
|
*/ |
87 |
|
#else /* ! genGC */ |
88 |
|
|
89 |
#define SCM_GC_CARD_N_HEADER_CELLS 1 |
#define SCM_GC_CARD_N_HEADER_CELLS 1 |
90 |
#define SCM_GC_CARD_N_CELLS 256 |
#define SCM_GC_CARD_N_CELLS 256 |
91 |
|
|
92 |
|
#define SCM_GC_CARD_GENERATION(card) |
93 |
|
#define SCM_GC_FLAG_OBJECT_WRITE(x) |
94 |
|
|
95 |
|
#define SCM_GC_CARD_BVEC(card) ((scm_t_c_bvec_limb *) ((card)->word_0)) |
96 |
|
#define SCM_GC_SET_CARD_BVEC(card, bvec) \ |
97 |
|
((card)->word_0 = (scm_t_bits) (bvec)) |
98 |
|
#endif |
99 |
|
|
100 |
|
|
101 |
#define SCM_GC_CARD_SIZE (SCM_GC_CARD_N_CELLS * sizeof (scm_t_cell)) |
#define SCM_GC_CARD_SIZE (SCM_GC_CARD_N_CELLS * sizeof (scm_t_cell)) |
102 |
#define SCM_GC_CARD_N_DATA_CELLS (SCM_GC_CARD_N_CELLS - SCM_GC_CARD_N_HEADER_CELLS) |
#define SCM_GC_CARD_N_DATA_CELLS (SCM_GC_CARD_N_CELLS - SCM_GC_CARD_N_HEADER_CELLS) |
103 |
|
|
107 |
#define SCM_GC_IN_CARD_HEADERP(x) \ |
#define SCM_GC_IN_CARD_HEADERP(x) \ |
108 |
SCM_PTR_LT ((scm_t_cell *) (x), SCM_GC_CELL_CARD (x) + SCM_GC_CARD_N_HEADER_CELLS) |
SCM_PTR_LT ((scm_t_cell *) (x), SCM_GC_CELL_CARD (x) + SCM_GC_CARD_N_HEADER_CELLS) |
109 |
|
|
|
#define SCM_GC_CARD_BVEC(card) ((scm_t_c_bvec_limb *) ((card)->word_0)) |
|
|
#define SCM_GC_SET_CARD_BVEC(card, bvec) \ |
|
|
((card)->word_0 = (scm_t_bits) (bvec)) |
|
|
|
|
110 |
#define SCM_GC_GET_CARD_FLAGS(card) ((long) ((card)->word_1)) |
#define SCM_GC_GET_CARD_FLAGS(card) ((long) ((card)->word_1)) |
111 |
#define SCM_GC_SET_CARD_FLAGS(card, flags) \ |
#define SCM_GC_SET_CARD_FLAGS(card, flags) \ |
112 |
((card)->word_1 = (scm_t_bits) (flags)) |
((card)->word_1 = (scm_t_bits) (flags)) |