/[guile]/guile/guile-core/libguile/gc.h
ViewVC logotype

Diff of /guile/guile-core/libguile/gc.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.88 by mvo, Thu Feb 14 15:32:12 2002 UTC revision 1.89 by dirk, Fri Mar 1 00:19:20 2002 UTC
# Line 52  Line 52 
52    
53    
54    
55  typedef struct scm_cell  typedef struct scm_t_cell
56  {  {
57    scm_t_bits word_0;    scm_t_bits word_0;
58    scm_t_bits word_1;    scm_t_bits word_1;
59  } scm_cell;  } scm_t_cell;
60    
61    
62  /* SCM_CELLPTR is a pointer to a cons cell which may be compared or  /* SCM_CELLPTR is a pointer to a cons cell which may be compared or
63   * differenced.   * differenced.
64   */   */
65  typedef scm_cell * SCM_CELLPTR;  typedef scm_t_cell * SCM_CELLPTR;
66    
67    
68  /* Cray machines have pointers that are incremented once for each word,  /* Cray machines have pointers that are incremented once for each word,
69   * rather than each byte, the 3 most significant bits encode the byte   * rather than each byte, the 3 most significant bits encode the byte
70   * within the word.  The following macros deal with this by storing the   * within the word.  The following macros deal with this by storing the
71   * native Cray pointers like the ones that looks like scm expects.  This   * native Cray pointers like the ones that looks like scm expects.  This
72   * is done for any pointers that might appear in the car of a scm_cell,   * is done for any pointers that might appear in the car of a scm_t_cell,
73   * pointers to scm_vector elts, functions, &c are not munged.   * pointers to scm_vector elts, functions, &c are not munged.
74   */   */
75  #ifdef _UNICOS  #ifdef _UNICOS
# Line 83  typedef scm_cell * SCM_CELLPTR; Line 83  typedef scm_cell * SCM_CELLPTR;
83  #define SCM_GC_CARD_N_HEADER_CELLS 1  #define SCM_GC_CARD_N_HEADER_CELLS 1
84  #define SCM_GC_CARD_N_CELLS        256  #define SCM_GC_CARD_N_CELLS        256
85    
86  #define SCM_GC_CARD_SIZE           (SCM_GC_CARD_N_CELLS * sizeof (scm_cell))  #define SCM_GC_CARD_SIZE           (SCM_GC_CARD_N_CELLS * sizeof (scm_t_cell))
87  #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)
88    
89  #define SCM_GC_CARD_BVEC_SIZE_IN_LIMBS \  #define SCM_GC_CARD_BVEC_SIZE_IN_LIMBS \
90      ((SCM_GC_CARD_N_CELLS + SCM_C_BVEC_LIMB_BITS - 1) / SCM_C_BVEC_LIMB_BITS)      ((SCM_GC_CARD_N_CELLS + SCM_C_BVEC_LIMB_BITS - 1) / SCM_C_BVEC_LIMB_BITS)
91    
92  #define SCM_GC_IN_CARD_HEADERP(x) \  #define SCM_GC_IN_CARD_HEADERP(x) \
93      SCM_PTR_LT ((scm_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)
94    
95  #define SCM_GC_CARD_BVEC(card)  ((scm_t_c_bvec_limb *) ((card)->word_0))  #define SCM_GC_CARD_BVEC(card)  ((scm_t_c_bvec_limb *) ((card)->word_0))
96  #define SCM_GC_SET_CARD_BVEC(card, bvec) \  #define SCM_GC_SET_CARD_BVEC(card, bvec) \

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.89

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26