Ignore:
Timestamp:
Feb 22, 2004, 1:27:13 AM (15 years ago)
Author:
gb
Message:

PPC64 changes (some of them rather suspect ...). 32-bit kernel may be a
little funky ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/area.h

    r6 r557  
    3939
    4040typedef struct area {
    41   struct area *pred;            /* linked list predecessor */
    42   struct area *succ;            /* linked list successor */
    43   BytePtr low;                  /* arithmetic lower limit on addresses (inclusive) */
    44   BytePtr high;                 /* arithmetic upper limit on addresses (exclusive) */
    45   BytePtr active;               /* low bound (stack) or high bound (heap) */
    46   BytePtr softlimit;            /* only makes sense for dynamic heaps & stacks */
    47   BytePtr hardlimit;            /* only makes sense for dynamic heaps & stacks */
    48   area_code code;
    49   bitvector markbits;           /* markbits for active area */
    50   unsigned ndwords;             /* "active" size of dynamic area or stack */
    51   struct area *older;           /* if ephemeral, the next older ephemeral area
     41  NATURAL_POINTER_FIELD(struct area,pred);  /* linked list predecessor */
     42  NATURAL_POINTER_FIELD(struct area,succ);  /* linked list successor */
     43  NATURAL_POINTER_FIELD(char,low);        /* arithmetic lower limit on addresses (inclusive) */
     44  NATURAL_POINTER_FIELD(char,high);        /* arithmetic upper limit on addresses (exclusive) */
     45  NATURAL_POINTER_FIELD(char,active);       /* low bound (stack) or high bound (heap) */
     46  NATURAL_POINTER_FIELD(char,softlimit);                /* only makes sense for dynamic heaps & stacks */
     47  NATURAL_POINTER_FIELD(char,hardlimit);                /* only makes sense for dynamic heaps & stacks */
     48  natural code;
     49  NATURAL_POINTER_FIELD(natural, markbits);           /* markbits for active area */
     50  natural ndnodes;              /* "active" size of dynamic area or stack */
     51  NATURAL_POINTER_FIELD(struct area,older);             /* if ephemeral, the next older ephemeral area
    5252                                 or the dynamic area */
    53   struct area *younger;         /* if ephemeral, the next "younger" ephemeral area
    54                                 if there is one.  If dynamic, the oldest ephemeral
     53  NATURAL_POINTER_FIELD(struct area,younger); /* if ephemeral, the next "younger" ephemeral area
     54                                  if there is one.  If dynamic, the oldest ephemeral
    5555                                 area. */
    56   Ptr h;                        /* The pointer allocated to contain this area, or NULL
     56  NATURAL_POINTER_FIELD(char, h);                       /* The pointer allocated to contain this area, or NULL
    5757                                 if the operating system allocated it for us. */
    58   protected_area_ptr softprot;  /* "soft" protected_area */
    59   protected_area_ptr hardprot;  /* "hard" protected_area */
    60   unsigned owner;               /* position in external_containers linked list */
    61   bitvector refbits;            /* intergenerational references.
    62                                    May or may not be the same as markbits */
    63   unsigned threshold;          /* egc threshold (boxed "fullword count") or 0 */
     58  NATURAL_POINTER_FIELD(protected_area,softprot);  /* "soft" protected_area */
     59  NATURAL_POINTER_FIELD(protected_area,hardprot);  /* "hard" protected_area */
     60  natural owner;               /* position in external_containers linked list */
     61  NATURAL_POINTER_FIELD(natural, refbits); /* intergenerational references.
     62                                               May or may not be the same as markbits */
     63  natural threshold; /* egc threshold (boxed "fullword count") or 0 */
    6464  LispObj gccount;              /* boxed generation GC count. */
    6565} area;
Note: See TracChangeset for help on using the changeset viewer.