1 /* Include file describing the data related to the free storage allocation package */
 2 
 3 dcl lisp_alloc_$alloc_fault_word ext bit(36) aligned,
 4     alloc_fault_word bit(36) defined ( lisp_alloc_$alloc_fault_word),
 5     lisp_alloc_$alloc_info bit(288) aligned ext,                      /* info to save for recursiveness of lisp */
 6 
 7           /*  FAULT BIT MASKS FOR FAULT BITS IN ALLOC_FAULT_WORD
 8               THE FAULT CODES ARE:
 9                     6         ft3 - car or cdr of number
10                     5         mme4 - array oob
11                     4         quit
12                     2         alrm
13                     1         cput
14            */
15 
16 
17     quit_fault bit(36) static init ("000000000000000000000000000000000100"b),
18     alrm_fault bit(36) static init ("000000000000000000000000000000000010"b),
19     cput_fault bit(36) static init ("000000000000000000000000000000000001"b),
20 
21     fault_mask bit(36) static init ("000000000000000000000000000000000111"b),
22     lisp_alloc_$gc_blk_cntr ext fixed bin,        /* number of 16k blocks before next gc. */
23     lisp_alloc_$seg_blk_cntr ext fixed bin,       /* number of 16k blocks to end of segment */
24     lisp_alloc_$consptr ext ptr aligned,          /* pointer to ad tally word */
25     1 consptr_ovly based (addr(lisp_alloc_$consptr)) aligned,         /* overlay to set further modification field of pointer */
26       2 padding bit(66) unal,
27       2 mod bit(6) unal,
28     lisp_alloc_$cur_seg ext ptr aligned,          /* pointer to current allocation segment */
29 
30     1 alloc_segment based aligned,                /* structure of a free storage segment */
31       2 next_seg ptr,                             /* chain to next older segment */
32       2 tally_word,                               /* ad tally word */
33           3 seg_offset bit(18) unal,              /* next address in this seg to be allocated */
34           3 tally bit(12) unal,                   /* decremented once for every 4 words, 16k runout */
35           3 delta fixed bin(5) unal,              /* should be set to 4, the size of a cons */
36       2 pad bit(36),
37       2 first_allocatable_word bit(72);
38 
39 /* end include file describing free storage structure */