1 " BEGIN INCLUDE FILE ... stack_header.incl.alm 3/72 Bill Silver
2 "
3 " modified 7/76 by M. Weaver for *system links and more system use of areas
4 " modified 3/77 by M. Weaver to add rnt_ptr
5 " modified 7/77 by S. Webber to add run_unit_depth and assign_linkage_ptr
6 " modified 6/83 by J. Ives to add trace_frames and in_trace.
7
8 " HISTORY COMMENTS:
9 " 1) change86-06-24DGHowe, approve86-06-24MCR7396,
10 " audit86-08-05Schroth, install86-11-03MR12.0-1206:
11 " added the heap_header_ptr definition
12 " 2) change86-08-12Kissel, approve86-08-12MCR7473,
13 " audit86-10-10Fawcett, install86-11-03MR12.0-1206:
14 " Modified to support control point management. These changes were
15 " actually made in February 1985 by G. Palter.
16 " 3) change86-10-22Fawcett, approve86-10-22MCR7473,
17 " audit86-10-22Farley, install86-11-03MR12.0-1206:
18 " Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18
19 " bit pad after cur_lot_size for the cpm_enabled. This was done to save
20 " some space int the stack header and change the cpd_ptr unal to
21 " cpm_data_ptr ITS pair.
22 " END HISTORY COMMENTS
23
24 equ stack_header.cpm_data_ptr,4 ptr to control point for this stack
25 equ stack_header.combined_stat_ptr,6 ptr to separate static area
26
27 equ stack_header.clr_ptr,8 ptr to area containing linkage sections
28 equ stack_header.max_lot_size,10 number of words allowed in lot DU
29 equ stack_header.main_proc_invoked,10 nonzero if main proc was invoked in run unit DL
30 equ stack_header.run_unit_depth,10 number of active run units stacked DL
31 equ stack_header.cur_lot_size,11 DU number of words entries in lot
32 equ stack_header.cpm_enabled,11 DL non-zero if control point management is enabled
33 equ stack_header.system_free_ptr,12 ptr to system storage area
34 equ stack_header.user_free_ptr,14 ptr to user storage area
35
36 equ stack_header.parent_ptr,16 ptr to parent stack or null
37 equ stack_header.stack_begin_ptr,18 ptr to first stack frame
38 equ stack_header.stack_end_ptr,20 ptr to next useable stack frame
39 equ stack_header.lot_ptr,22 ptr to the lot for the current ring
40
41 equ stack_header.signal_ptr,24 ptr to signal proc for current ring
42 equ stack_header.bar_mode_sp,26 value of sp before entering bar mode
43 equ stack_header.pl1_operators_ptr,28 ptr: pl1_operators_$operator_table
44 equ stack_header.call_op_ptr,30 ptr to standard call operator
45
46 equ stack_header.push_op_ptr,32 ptr to standard push operator
47 equ stack_header.return_op_ptr,34 ptr to standard return operator
48 equ stack_header.ret_no_pop_op_ptr,36 ptr: stand. return/ no pop operator
49 equ stack_header.entry_op_ptr,38 ptr to standard entry operator
50
51 equ stack_header.trans_op_tv_ptr,40 ptr to table of translator operator ptrs
52 equ stack_header.isot_ptr,42 pointer to ISOT
53 equ stack_header.sct_ptr,44 pointer to System Condition Table
54 equ stack_header.unwinder_ptr,46 pointer to unwinder for current ring
55
56 equ stack_header.sys_link_info_ptr,48 ptr to *system link name table
57 equ stack_header.rnt_ptr,50 ptr to reference name table
58 equ stack_header.ect_ptr,52 ptr to event channel table
59 equ stack_header.assign_linkage_ptr,54 ptr to area for hcs_$assign_linkage calls
60 equ stack_header.heap_header_ptr,56 ptr to heap header.
61 equ stack_header.trace_frames,58 stack of trace_catch_ frames
62 equ stach_header.trace_top_ptr,59 trace pointer
63 equ stack_header.in_trace,60 trace antirecurse bit
64 equ stack_header_end,64 length of stack header
65
66
67
68
69 equ trace_frames.count,0 number of trace frames on stack
70 equ trace_frames.top_ptr,1 packed pointer to top one
71
72 " The following constant is an offset within the pl1 operators table.
73 " It references a transfer vector table.
74
75 bool tv_offset,551
76
77
78 " The following constants are offsets within this transfer vector table.
79
80 equ call_offset,tv_offset+271
81 equ push_offset,tv_offset+272
82 equ return_offset,tv_offset+273
83 equ return_no_pop_offset,tv_offset+274
84 equ entry_offset,tv_offset+275
85
86
87 " END INCLUDE FILE stack_header.incl.alm