1 03/17/86 heap_manager_
2
3
4 To obtain information on a particular entry point use the "ep" request
5
6
7 Entry points in heap_manager_:
8 List is generated by the help command
9
10
11 :Entry: push_heap_level: 03/17/86 heap_manager_$push_heap_level
12
13
14 Function: This entry point creates a new heap level, allocates
15 the heap header and chains the previous heap to the current
16 heap. If the stack_header_ptr is null an error of
17 error_table_$null_info_ptr is returned.
18
19
20 Syntax:
21 declare heap_manager_$push_heap_level entry pointer fixed
22 bin17 fixed bin35;
23 call heap_manager_$push_heap_level stack_header_ptr exe_level
24 code;
25
26
27 Arguments:
28 stack_header_ptr
29 is a pointer to the stack header. This can be obtained via
30 the PL/1 builtin stackbaseptr. Input
31 exe_level
32 is the new execution level after the new heap is created.
33 Output
34 code
35 is a standard status code. Output
36
37
38 :Entry: pop_heap_level: 03/17/86 heap_manager_$pop_heap_level
39
40
41 Function: This entry point resets the heap to the previous level
42 freeing the old heap and any variables allocated therein.
43
44
45 Syntax:
46 declare heap_manager_$pop_heap_level entry pointer fixed
47 bin35;
48 call heap_manager_$pop_heap_level stack_header_ptr code;
49
50
51 Arguments:
52 stack_header_ptr
53 is a pointer to the stack header. This can be obtained via
54 the PL/1 builtin stackbaseptr. Input
55 code
56 is a standard status code. Output
57
58
59 :Entry: get_heap_header: 03/17/86 heap_manager_$get_heap_header
60
61
62 Function: This entry point returns a pointer to the heap header
63 for the specified execution level. If the execution level does
64 not exist an error of error_table_$no_heap_defined is returned.
65
66
67 Syntax:
68 declare heap_manager_$get_heap_header entry pointer fixed
69 bin17 pointer fixed bin35;
70 call heap_manager_$get_heap_header stack_header_ptr exe_level
71 heap_header_ptr code;
72
73
74 Arguments:
75 exe_level
76 is the execution level of the heap required. If a -1 is passed
77 then the current execution level is used. Input
78 stack_header_ptr
79 is a pointer to the stack header. This can be obtained via
80 the PL/1 builtin stackbaseptr. Input
81 heap_header_ptr
82 is a pointer to the heap header for the passed execution
83 level. Output.
84 code
85 is a standard status code. Output
86
87
88 :Entry: get_heap_level: 03/17/86 heap_manager_$get_heap_level
89
90
91 Function: This entry point returns the current execution level
92 from the current heap header. If the heap does not exist an execution
93 level of -1 is returned.
94
95
96 Syntax:
97 declare heap_manager_$get_heap_level entry pointer
98 returns fixed bin17;
99 exe_level = heap_manager_$get_heap_level stack_header_ptr;
100
101
102 Arguments:
103 stack_header_ptr
104 is a pointer to the stack header. This can be obtained via
105 the PL/1 builtin stackbaseptr. Input
106
107
108 :Entry: get_heap_area: 03/17/86 heap_manager_$get_heap_area
109
110
111 Function: This entry point returns a pointer to the heap area
112 for the specified level. The area is max_segsize - 50 words.
113 If the heap level specified does not exist an error of
114 error_table_$no_heap_defined is returned.
115
116
117 Syntax:
118 declare heap_manager_$get_heap_area entry pointer fixed
119 bin17 pointer fixed bin35;
120 call heap_manager_$get_heap_area stack_header_ptr exe_level
121 heap_area_ptr code;
122
123
124 Arguments:
125 exe_level
126 is the execution level of the heap area required. If a -1 is
127 passed then the current execution level is used. Input
128 stack_header_ptr
129 is a pointer to the stack header. This can be obtained via
130 the PL/1 builtin stackbaseptr. Input
131 heap_area_ptr
132 is pointer to the heap area for the passed level. Output
133 code
134 is a standard status code. Output
135