/[gcl]/gcl/h/page.h
ViewVC logotype

Diff of /gcl/h/page.h

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

revision 1.10 by camm, Wed Jul 14 20:49:38 2004 UTC revision 1.11 by camm, Fri Jun 10 15:13:53 2005 UTC
# Line 69  char sgc_type_map[MAXPAGE]; Line 69  char sgc_type_map[MAXPAGE];
69                                 (sgc_type_map[xSG] & SGC_WRITABLE)) \                                 (sgc_type_map[xSG] & SGC_WRITABLE)) \
70                                   {if_code;}} while(0)                                   {if_code;}} while(0)
71    
72  #define sgc_mark_object(x) IF_WRITABLE(x,if((x)->d.m==0) sgc_mark_object1(x))  #define sgc_mark_object(x) IF_WRITABLE(x,if(!is_marked(x)) sgc_mark_object1(x))
73  /*  /*
74  #define sgc_mark_object(x) sgc_mark_object1(x)  #define sgc_mark_object(x) sgc_mark_object1(x)
75  */  */
# Line 81  int sgc_on; Line 81  int sgc_on;
81    
82    
83  /* for the S field of the FIRSTWORD */  /* for the S field of the FIRSTWORD */
84  enum sgc_type { SGC_NORMAL,   /* not allocated since the last sgc */  enum sgc_type { SGC_NORMAL,    /* not allocated since the last sgc */
85                  SGC_RECENT    /* allocated since last sgc */                  SGC_RECENT     /* allocated since last sgc */
86                  };                  };
87    
88    
89  #define TM_BASE_TYPE_P(i) (((int) (tm_table[i].tm_type)) == i)  #define TM_BASE_TYPE_P(i) (((int) (tm_table[i].tm_type)) == i)
# Line 99  enum sgc_type { SGC_NORMAL,   /* not all Line 99  enum sgc_type { SGC_NORMAL,   /* not all
99  /* check if a relblock address is new relblock */  /* check if a relblock address is new relblock */
100  #define SGC_RELBLOCK_P(x)  ((char *)(x) >= rb_start)  #define SGC_RELBLOCK_P(x)  ((char *)(x) >= rb_start)
101    
102  /* the following assumes that the char s,m fields of first word  #define SGC_OR_M(x) (is_marked_or_free((object)x) || (is_cons((object)x) ? ON_SGC_PAGE((object)x) : ((object)x)->d.s))
    have same length as a short  
    (x->d.m || x->d.s) would be an equivalent for our purposes */  
 struct sgc_firstword {short t; short sm;};  
 #define SGC_OR_M(x)  (((struct sgc_firstword *)(x))->sm)  
   
103  #ifndef SIGPROTV  #ifndef SIGPROTV
104  #define SIGPROTV SIGSEGV  #define SIGPROTV SIGSEGV
105  #endif  #endif
# Line 140  extern int page_multiple; Line 135  extern int page_multiple;
135  */  */
136  char type_map[MAXPAGE];  char type_map[MAXPAGE];
137    
138    #define available_pages \
139            ((long)((real_maxpage-page(heap_end)-new_holepage-nrbpage-real_maxpage/32)))

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

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