COMPILATION LISTING OF SEGMENT put_data_var_all_ Compiled by: Multics PL/I Compiler, Release 28d, of September 14, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/03/83 1426.6 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 /* written 05.30.73 by A. Downing to suport put data; */ 11 /* modified 04.04.78 by R. Barnes to more properly decide when to call stu_$get_implicit_qualifier */ 12 /* Modified: 05/01/78 by PCK to implement unsigned binary */ 13 put_data_var_all_: proc (duplication, n, vp, bounds_p, psp) options(support); 14 dcl (link_p, text_p, ref_p) ptr init (null ()); 15 dcl 1 bounds (128) based (bounds_p), 16 2 lower fixed bin, 17 2 upper fixed bin; 18 dcl ss_list (0:128) int static fixed bin (26); 19 dcl ssl (128) fixed bin (26) based (sslp), 20 sslp ptr; 21 22 dcl 1 val_struct based, 23 2 flag bit(2) unal, 24 2 type bit(4) unal, 25 2 rest bit(30) unal; 26 27 dcl duplication fixed bin, /* number of duplicate variable declarations encountered */ 28 (vp, bounds_p, var_ptr) ptr, 29 p ptr, 30 search_ptr ptr, /* used in searching through duplication chains */ 31 psp ptr, /* points at the sp */ 32 duplication_list (1000) bit (18) int static, /* holds the offset of the duplicated variable actually (put) */ 33 more bit (1), 34 (item_type,i, j, k, l, n, father_n, own_dims) fixed bin (26), 35 com_err_ ext entry options (variable), 36 plio2_signal_$s_r_ ext entry (ptr, char (*), char (*), fixed bin (15)), 37 stu_$decode_runtime_value ext entry (fixed bin (35), ptr, ptr, ptr, ptr, ptr, fixed bin (26)) returns (fixed bin), 38 stu_$get_implicit_qualifier ext entry (ptr,ptr,ptr,ptr,ptr) returns(ptr), 39 stu_$get_runtime_address ext entry (ptr, ptr, ptr, ptr, ptr, ptr, ptr) returns (ptr), 40 plio2_pdt_ ext entry (ptr), 41 (addrel,addr, fixed, convert, null,rel,bit) builtin; 42 1 1 /* BEGIN INCLUDE FILE ... runtime_symbol.incl.pl1 ... Modified 07/79 */ 1 2 1 3 dcl 1 runtime_symbol aligned based, 1 4 2 flag unal bit(1), /* always "1"b for Version II */ 1 5 2 use_digit unal bit(1), /* if "1"b and units are half words units are really digits */ 1 6 2 array_units unal bit(2), 1 7 2 units unal bit(2), /* addressing units */ 1 8 2 type unal bit(6), /* data type */ 1 9 2 level unal bit(6), /* structure level */ 1 10 2 ndims unal bit(6), /* number of dimensions */ 1 11 2 bits unal, 1 12 3 aligned bit(1), 1 13 3 packed bit(1), 1 14 3 simple bit(1), 1 15 2 skip unal bit(1), 1 16 2 scale unal bit(8), /* arithmetic scale factor */ 1 17 2 name unal bit(18), /* rel ptr to acc name */ 1 18 2 brother unal bit(18), /* rel ptr to brother entry */ 1 19 2 father unal bit(18), /* rel ptr to father entry */ 1 20 2 son unal bit(18), /* rel ptr to son entry */ 1 21 2 address unal, 1 22 3 location bit(18), /* location in storage class */ 1 23 3 class bit(4), /* storage class */ 1 24 3 next bit(14), /* rel ptr to next of same class */ 1 25 2 size fixed bin(35), /* encoded string|arith size */ 1 26 2 offset fixed bin(35), /* encoded offset from address */ 1 27 2 virtual_org fixed bin(35), 1 28 2 bounds(1), 1 29 3 lower fixed bin(35), /* encoded lower bound */ 1 30 3 upper fixed bin(35), /* encoded upper bound */ 1 31 3 multiplier fixed bin(35); /* encoded multiplier */ 1 32 1 33 dcl 1 runtime_bound based, 1 34 2 lower fixed bin(35), 1 35 2 upper fixed bin(35), 1 36 2 multiplier fixed bin(35); 1 37 1 38 dcl 1 runtime_block aligned based, 1 39 2 flag unal bit(1), /* always "1"b for Version II */ 1 40 2 quick unal bit(1), /* "1"b if quick block */ 1 41 2 fortran unal bit(1), /* "1"b if fortran program */ 1 42 2 standard unal bit(1), /* "1"b if program has std obj segment */ 1 43 2 owner_flag unal bit(1), /* "1"b if block has valid owner field */ 1 44 2 skip unal bit(1), 1 45 2 type unal bit(6), /* = 0 for a block node */ 1 46 2 number unal bit(6), /* begin block number */ 1 47 2 start unal bit(18), /* rel ptr to start of symbols */ 1 48 2 name unal bit(18), /* rel ptr to name of proc */ 1 49 2 brother unal bit(18), /* rel ptr to brother block */ 1 50 2 father unal bit(18), /* rel ptr to father block */ 1 51 2 son unal bit(18), /* rel ptr to son block */ 1 52 2 map unal, 1 53 3 first bit(18), /* rel ptr to first word of map */ 1 54 3 last bit(18), /* rel ptr to last word of map */ 1 55 2 entry_info unal bit(18), /* info about entry of quick block */ 1 56 2 header unal bit(18), /* rel ptr to symbol header */ 1 57 2 chain(4) unal bit(18), /* chain(i) is rel ptr to first symbol 1 58* on start list with length >= 2**i */ 1 59 2 token(0:5) unal bit(18), /* token(i) is rel ptr to first token 1 60* on list with length >= 2 ** i */ 1 61 2 owner unal bit(18); /* rel ptr to owner block */ 1 62 1 63 dcl 1 runtime_token aligned based, 1 64 2 next unal bit(18), /* rel ptr to next token */ 1 65 2 dcl unal bit(18), /* rel ptr to first dcl of this token */ 1 66 2 name, /* ACC */ 1 67 3 size unal unsigned fixed bin (9), /* number of chars in token */ 1 68 3 string unal char(n refer(runtime_token.size)); 1 69 1 70 dcl 1 encoded_value aligned based, 1 71 2 flag bit (2) unal, 1 72 2 code bit (4) unal, 1 73 2 n1 bit (6) unal, 1 74 2 n2 bit (6) unal, 1 75 2 n3 bit (18) unal; 1 76 1 77 /* END INCLUDE FILE ... runtime_symbol.incl.pl1 */ 43 2 1 /* BEGIN INCLUDE FILE ... plio2_ps.incl.pl1 */ 2 2 /* Stream I/O data block used by PL/I I/O runtime routines. 2 3* 2 4* Modified: 31 January 1978 by RAB to change plio2_data_$fsb_thread to plio2_data_fsb_thread_ 2 5**/ 2 6 /* format: style3,idind30 */ 2 7 2 8 /* based */ 2 9 2 10 declare 1 ps aligned based (psp),/* items set NORMALLY by compiled procedures */ 2 11 2 stack_frame_p ptr, /* items set in block prologue */ 2 12 2 ST_top_p ptr, 2 13 2 ST_block_p ptr, 2 14 2 format_area_p ptr, 2 15 2 ss_list_p ptr, 2 16 2 ab_return, /* items set in prep call */ 2 17 3 abret (3) ptr, 2 18 2 source_p ptr, /* addr(fakefsb) for string option, 2 19* addr(file) for explicit file option */ 2 20 2 special_list_p ptr, /* addr(OKlist) for get data, addr(format_list) for edit */ 2 21 2 copy_file_p ptr, 2 22 2 job aligned, 2 23 3 explicit_file bit (1) unal, 2 24 3 string bit (1) unal, 2 25 3 varying_string bit (1) unal, 2 26 3 data bit (1) unal, 2 27 3 edit bit (1) unal, 2 28 3 list bit (1) unal, 2 29 3 get bit (1) unal, 2 30 3 put bit (1) unal, 2 31 3 page bit (1) unal, 2 32 3 line bit (1) unal, 2 33 3 skip bit (1) unal, 2 34 3 copy bit (1) unal, 2 35 3 p1p2 bit (1) unal, 2 36 3 bit_string bit (1) unal, /* for environment(stringvalue) */ 2 37 3 char_string bit (1) unal, 2 38 3 read bit (1) unal, 2 39 3 write bit (1) unal, 2 40 3 rewrite bit (1) unal, 2 41 3 delete bit (1) unal, 2 42 3 locate bit (1) unal, 2 43 3 key bit (1) unal, 2 44 3 keyto bit (1) unal, 2 45 3 keyfrom bit (1) unal, 2 46 3 set bit (1) unal, 2 47 3 into bit (1) unal, 2 48 3 ignore bit (1) unal, 2 49 3 from bit (1) unal, 2 50 3 version bit (6) unal, 2 51 3 not_byte_buffer bit (1) unal, 2 52 3 pad1 bit (1) unal, 2 53 3 packed_ptr bit (1) unal, 2 54 2 number fixed bin (15), 2 55 2 value_p ptr, /* items set NORMALLY by compiled procedures per transmission */ 2 56 2 descriptor bit (36) aligned, 2 57 2 length fixed bin (15), /* may be swallowed into descriptor */ 2 58 2 top_half bit (18) unal, 2 59 2 offset bit (18) unal, 2 60 2 prep fixed bin (15), /* items treated ABNORMALLY, written by user and PLIO */ 2 61 2 new_format fixed bin (15), 2 62 2 switch aligned, /* items used by PLIO and not touched by compiled procedures */ 2 63 3 first_field bit (1) unal, 2 64 3 file bit (1) unal, 2 65 3 transmit_error bit (1) unal, 2 66 3 semi_sep bit (1) unal, 2 67 3 pad2 bit (32) unal, 2 68 2 file_p ptr, 2 69 2 fsbp ptr, 2 70 2 auxp ptr, /* used as addr(ldidata) for GETs */ 2 71 2 fabp ptr, 2 72 2 fab2p ptr, 2 73 2 vp ptr, 2 74 2 descr bit (36) aligned, 2 75 2 start_copy fixed bin (15), 2 76 2 quick_stream_storage, 2 77 3 a_stored fixed bin (35), 2 78 3 q_stored fixed bin (35); 2 79 2 80 /* external static */ 2 81 2 82 declare ( 2 83 plio2_data_$pspstat, 2 84 plio2_data_$fsbpstat, 2 85 plio2_data_$badfsbp, 2 86 plio2_data_$fabpstat, 2 87 plio2_data_$fab2pstat, 2 88 plio2_data_$pliostringfsbp 2 89 ) ptr external static; 2 90 2 91 dcl plio2_data_fsb_thread_ ptr ext static initial (null); 2 92 /* *system var */ 2 93 2 94 declare ( 2 95 plio2_data_$badjob bit (36) aligned, 2 96 plio2_data_$undef_file_sw bit (1) aligned 2 97 ) external static; 2 98 2 99 /* END INCLUDE FILE ... plio2_ps.incl.pl1 */ 44 45 46 var_ptr = vp; 47 ps.ss_list_p = addr (ss_list); 48 sslp = addr (ss_list (n+1)); 49 father_n = n; 50 top: 51 n = fixed (var_ptr -> runtime_symbol.ndims, 6); 52 ss_list (0) = n; 53 own_dims = n - father_n; 54 search_ptr = addrel (var_ptr, var_ptr -> runtime_symbol.name); 55 search_ptr = addrel (search_ptr, -1); 56 search_ptr = addrel (search_ptr, search_ptr -> runtime_token.dcl); 57 if search_ptr -> runtime_symbol.address.next ^= (14)"0"b then do; 58 if fixed (var_ptr -> runtime_symbol.level, 6) < 2 then do; 59 do i = 1 to duplication; 60 if rel (search_ptr) = duplication_list (i) then go to found; 61 end; /* end of i loop */ 62 duplication = duplication + 1; 63 duplication_list (duplication) = 64 rel (search_ptr); 65 end; /* end of looking at and adding to duplication_list */ 66 end; /* end of do group */ 67 do l = father_n + 1 to n; 68 if var_ptr -> runtime_symbol.bounds (l).lower >= 0 then 69 bounds_p -> bounds (l).lower = var_ptr -> runtime_symbol.bounds (l).lower; 70 else do; 71 72 if ref_p = null & var_ptr -> runtime_symbol.class = "0011"b 73 then ref_p = stu_$get_implicit_qualifier(ps.ST_block_p,var_ptr,ps.stack_frame_p, 74 link_p,text_p); 75 else; 76 77 bounds_p -> bounds (l).lower = 78 stu_$decode_runtime_value (var_ptr -> runtime_symbol.bounds (l).lower, ps.ST_block_p, ps.stack_frame_p, null, 79 null, ref_p, i); 80 if i ^= 0 then go to bounds_error; 81 end; 82 if var_ptr -> runtime_symbol.bounds (l).upper >= 0 then 83 bounds_p -> bounds (l).upper = var_ptr -> runtime_symbol.bounds (l).upper; 84 else do; 85 86 if ref_p = null & var_ptr -> runtime_symbol.class = "0011"b 87 then ref_p = stu_$get_implicit_qualifier(ps.ST_block_p,var_ptr,ps.stack_frame_p, 88 link_p,text_p); 89 else; 90 91 bounds_p -> bounds (l).upper = stu_$decode_runtime_value 92 (var_ptr -> runtime_symbol.bounds (l).upper,ps.ST_block_p,ps.stack_frame_p,null,null,ref_p,i); 93 if i ^= 0 then go to bounds_error; 94 end; 95 end; /* end of filling in lower and upper bounds */ 96 if var_ptr -> runtime_symbol.son ^= (18)"0"b then do; 97 if n = father_n then 98 call put_data_var_all_ (duplication, n, addrel (var_ptr, var_ptr -> runtime_symbol.son), bounds_p, psp); 99 else do; /* we have arrayness at this level */ 100 do l = father_n + 1 to n -1; 101 ss_list (l) = bounds_p -> bounds (l).lower; 102 end; 103 more = "1"b; 104 do while (more); 105 do i = bounds_p -> bounds (n).lower to 106 bounds_p -> bounds (n).upper; 107 ss_list (n) = i; 108 call put_data_var_all_ (duplication, n, addrel (var_ptr, var_ptr -> runtime_symbol.son), bounds_p, psp); 109 end; /* end of do i */ 110 j = n -1; 111 do while (j > father_n & ss_list (j)+1 > bounds_p -> 112 bounds (j).upper); 113 j = j - 1; 114 end; 115 if j > father_n then do; 116 ss_list (j) = ss_list (j) + 1; 117 do i = j + 1 to n - 1; 118 ss_list (i) = bounds_p -> bounds (i).lower; 119 end; /* end of i loop */ 120 end; 121 else more = "0"b; 122 end; /* end of outer while */ 123 end; /* end of having subscripts at this level */ 124 end; /* end of having a son pointer */ 125 else do; /* we are at the end of a branch */ 126 item_type=fixed(var_ptr->runtime_symbol.type,6); 127 128 if (item_type>23 & item_type<33) | (item_type>46 & item_type<63) 129 then go to found; /* skip this item */ 130 131 k = fixed (rel (var_ptr), 18) - fixed (rel (ps.ST_top_p), 18); 132 ps.offset = bit (fixed (k, 18), 18); 133 if own_dims = 0 then call put; 134 else do; /* its an array */ 135 do i = 1 to own_dims; 136 ssl (i) = bounds_p -> bounds (i + father_n).lower; 137 end; 138 more = "1"b; 139 do while (more); 140 do i = bounds_p -> bounds (n).lower to 141 bounds_p -> bounds (n).upper; 142 ssl (own_dims) = i; 143 call put; 144 end; /* end of i loop */ 145 j = own_dims -1; 146 do while (j > 0 &ssl (j) +1 > bounds_p -> bounds (j + father_n).upper); 147 j = j -1; 148 end; /* end of do while */ 149 if j > 0 then do; 150 ssl (j) = ssl (j) + 1; 151 do k = j+1 to own_dims - 1; 152 ssl (k) = bounds_p -> bounds (k + father_n).lower; 153 end; 154 end; /* end of do group */ 155 else more = "0"b; 156 end; /* end of outer do while */ 157 end; /* end of its an array */ 158 end; /* end of handling a terminal element */ 159 found: 160 n = father_n; /* reset n */ 161 ss_list (0) = n; 162 if var_ptr -> runtime_symbol.brother ^= (18)"0"b then 163 do; 164 var_ptr = addrel (var_ptr, var_ptr -> runtime_symbol.brother); 165 go to top; 166 end; 167 return; 168 169 /* 170* 171* 172* 173**/ 174 put: proc; 175 ps.value_p = stu_$get_runtime_address 176 (ps.ST_block_p, var_ptr, ps.stack_frame_p, link_p, text_p, ref_p, addr (ss_list (1))); 177 if ps.value_p = null () then do; 178 call com_err_ 179 (0, "put_data_var_all_", "Can not get runtime address for symbol table offset ^o", fixed (ps.offset, 18)); 180 go to found; 181 end; 182 183 if item_type^=20 184 then if item_type^=22 185 then goto non_varying; 186 ps.value_p=addrel(ps.value_p,1); 187 188 /* plio2_pdt_ needs the address of varying strings as for parameter passing */ 189 190 non_varying: 191 call plio2_pdt_ (psp); 192 193 return; 194 end put; 195 196 bounds_error: 197 call com_err_ 198 (i, "put_data_var_all_", "Cannot decode runtime bounds for symbol table offset ^d", fixed (ps.offset, 18)); 199 call plio2_signal_$s_r_ (psp, "ERROR", "put_data_var_all_", 239); 200 go to found; 201 end put_data_var_all_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/03/83 1005.6 put_data_var_all_.pl1 >spec>on>pl128d>put_data_var_all_.pl1 43 1 11/26/79 1320.6 runtime_symbol.incl.pl1 >ldd>include>runtime_symbol.incl.pl1 44 2 08/13/81 2043.5 plio2_ps.incl.pl1 >ldd>include>plio2_ps.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ST_block_p 4 based pointer level 2 dcl 2-10 set ref 72* 77* 86* 91* 175* ST_top_p 2 based pointer level 2 dcl 2-10 ref 131 addr builtin function dcl 27 ref 47 48 175 175 addrel builtin function dcl 27 ref 54 55 56 97 97 108 108 164 186 address 3 based structure level 2 packed unaligned dcl 1-3 bit builtin function dcl 27 ref 132 bounds based structure array level 1 unaligned dcl 15 in procedure "put_data_var_all_" bounds 7 based structure array level 2 in structure "runtime_symbol" dcl 1-3 in procedure "put_data_var_all_" bounds_p parameter pointer dcl 27 set ref 13 68 77 82 91 97* 101 105 105 108* 111 118 136 140 140 146 152 brother 1(18) based bit(18) level 2 packed unaligned dcl 1-3 ref 162 164 class 3(18) based bit(4) level 3 packed unaligned dcl 1-3 ref 72 86 com_err_ 001176 constant entry external dcl 27 ref 178 196 dcl 0(18) based bit(18) level 2 packed unaligned dcl 1-63 ref 56 duplication parameter fixed bin(17,0) dcl 27 set ref 13 59 62* 62 63 97* 108* duplication_list 000211 internal static bit(18) array unaligned dcl 27 set ref 60 63* father_n 000122 automatic fixed bin(26,0) dcl 27 set ref 49* 53 67 97 100 111 115 136 146 152 159 fixed builtin function dcl 27 ref 50 58 126 131 131 132 178 178 196 196 i 000116 automatic fixed bin(26,0) dcl 27 set ref 59* 60* 77* 80 91* 93 105* 107* 117* 118 118* 135* 136 136* 140* 142* 196* item_type 000115 automatic fixed bin(26,0) dcl 27 set ref 126* 128 128 128 128 183 183 j 000117 automatic fixed bin(26,0) dcl 27 set ref 110* 111 111 111 113* 113 115 116 116 117 145* 146 146 146 147* 147 149 150 150 151 k 000120 automatic fixed bin(26,0) dcl 27 set ref 131* 132 151* 152 152* l 000121 automatic fixed bin(26,0) dcl 27 set ref 67* 68 68 68 77 77 82 82 82 91 91* 100* 101 101* level 0(12) based bit(6) level 2 packed unaligned dcl 1-3 ref 58 link_p 000100 automatic pointer initial dcl 14 set ref 14* 72* 86* 175* lower 7 based fixed bin(35,0) array level 3 in structure "runtime_symbol" dcl 1-3 in procedure "put_data_var_all_" set ref 68 68 77* lower based fixed bin(17,0) array level 2 in structure "bounds" dcl 15 in procedure "put_data_var_all_" set ref 68* 77* 101 105 118 136 140 152 more 000114 automatic bit(1) unaligned dcl 27 set ref 103* 104 121* 138* 139 155* n parameter fixed bin(26,0) dcl 27 set ref 13 48 49 50* 52 53 67 97 97* 100 105 105 107 108* 110 117 140 140 159* 161 name 1 based bit(18) level 2 packed unaligned dcl 1-3 ref 54 ndims 0(18) based bit(6) level 2 packed unaligned dcl 1-3 ref 50 next 3(22) based bit(14) level 3 packed unaligned dcl 1-3 ref 57 null builtin function dcl 27 ref 14 14 14 72 77 77 77 77 86 91 91 91 91 177 offset 34(18) based bit(18) level 2 packed unaligned dcl 2-10 set ref 132* 178 178 196 196 own_dims 000123 automatic fixed bin(26,0) dcl 27 set ref 53* 133 135 142 145 151 plio2_pdt_ 001210 constant entry external dcl 27 ref 190 plio2_signal_$s_r_ 001200 constant entry external dcl 27 ref 199 ps based structure level 1 dcl 2-10 psp parameter pointer dcl 27 set ref 13 47 72 72 77 77 86 86 91 91 97* 108* 131 132 175 175 175 177 178 178 186 186 190* 196 196 199* ref_p 000104 automatic pointer initial dcl 14 set ref 14* 72 72* 77* 86 86* 91* 175* rel builtin function dcl 27 ref 60 63 131 131 runtime_symbol based structure level 1 dcl 1-3 runtime_token based structure level 1 dcl 1-63 search_ptr 000112 automatic pointer dcl 27 set ref 54* 55* 55 56* 56 56 57 60 63 son 2(18) based bit(18) level 2 packed unaligned dcl 1-3 ref 96 97 97 108 108 ss_list 000010 internal static fixed bin(26,0) array dcl 18 set ref 47 48 52* 101* 107* 111 116* 116 118* 161* 175 175 ss_list_p 10 based pointer level 2 dcl 2-10 set ref 47* ssl based fixed bin(26,0) array dcl 19 set ref 136* 142* 146 150* 150 152* sslp 000106 automatic pointer dcl 19 set ref 48* 136 142 146 150 150 152 stack_frame_p based pointer level 2 dcl 2-10 set ref 72* 77* 86* 91* 175* stu_$decode_runtime_value 001202 constant entry external dcl 27 ref 77 91 stu_$get_implicit_qualifier 001204 constant entry external dcl 27 ref 72 86 stu_$get_runtime_address 001206 constant entry external dcl 27 ref 175 text_p 000102 automatic pointer initial dcl 14 set ref 14* 72* 86* 175* type 0(06) based bit(6) level 2 packed unaligned dcl 1-3 ref 126 upper 1 based fixed bin(17,0) array level 2 in structure "bounds" dcl 15 in procedure "put_data_var_all_" set ref 82* 91* 105 111 140 146 upper 10 based fixed bin(35,0) array level 3 in structure "runtime_symbol" dcl 1-3 in procedure "put_data_var_all_" set ref 82 82 91* value_p 30 based pointer level 2 dcl 2-10 set ref 175* 177 186* 186 var_ptr 000110 automatic pointer dcl 27 set ref 46* 50 54 54 58 68 68 72 72* 77 82 82 86 86* 91 96 97 97 97 97 108 108 108 108 126 131 162 164* 164 164 175* vp parameter pointer dcl 27 ref 13 46 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. convert builtin function dcl 27 encoded_value based structure level 1 dcl 1-70 p automatic pointer dcl 27 plio2_data_$badfsbp external static pointer dcl 2-82 plio2_data_$badjob external static bit(36) dcl 2-94 plio2_data_$fab2pstat external static pointer dcl 2-82 plio2_data_$fabpstat external static pointer dcl 2-82 plio2_data_$fsbpstat external static pointer dcl 2-82 plio2_data_$pliostringfsbp external static pointer dcl 2-82 plio2_data_$pspstat external static pointer dcl 2-82 plio2_data_$undef_file_sw external static bit(1) dcl 2-94 plio2_data_fsb_thread_ external static pointer initial dcl 2-91 runtime_block based structure level 1 dcl 1-38 runtime_bound based structure level 1 unaligned dcl 1-33 val_struct based structure level 1 packed unaligned dcl 22 NAMES DECLARED BY EXPLICIT CONTEXT. bounds_error 001077 constant label dcl 196 set ref 80 93 found 001061 constant label dcl 159 ref 60 128 180 200 non_varying 001321 constant label dcl 190 set ref 183 put 001204 constant entry internal dcl 174 ref 133 143 put_data_var_all_ 000064 constant entry external dcl 13 ref 97 108 top 000113 constant label dcl 50 ref 165 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1440 2652 1331 1450 Length 3072 1331 1212 204 107 1166 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME put_data_var_all_ 208 external procedure is an external procedure. put internal procedure shares stack frame of external procedure put_data_var_all_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 ss_list put_data_var_all_ 000211 duplication_list put_data_var_all_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME put_data_var_all_ 000100 link_p put_data_var_all_ 000102 text_p put_data_var_all_ 000104 ref_p put_data_var_all_ 000106 sslp put_data_var_all_ 000110 var_ptr put_data_var_all_ 000112 search_ptr put_data_var_all_ 000114 more put_data_var_all_ 000115 item_type put_data_var_all_ 000116 i put_data_var_all_ 000117 j put_data_var_all_ 000120 k put_data_var_all_ 000121 l put_data_var_all_ 000122 father_n put_data_var_all_ 000123 own_dims put_data_var_all_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_in call_ext_out_desc call_ext_out return ext_entry set_support THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ plio2_pdt_ plio2_signal_$s_r_ stu_$decode_runtime_value stu_$get_implicit_qualifier stu_$get_runtime_address NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000057 14 000072 46 000076 47 000102 48 000106 49 000111 50 000113 52 000120 53 000122 54 000125 55 000133 56 000135 57 000141 58 000144 59 000151 60 000161 61 000171 62 000173 63 000175 67 000205 68 000215 72 000234 77 000271 80 000332 82 000334 86 000351 91 000406 93 000447 95 000451 96 000453 97 000460 100 000506 101 000517 102 000527 103 000531 104 000533 105 000536 107 000553 108 000557 109 000603 110 000605 111 000611 113 000630 114 000632 115 000633 116 000636 117 000640 118 000653 119 000663 120 000665 121 000666 122 000667 124 000670 126 000671 128 000675 131 000705 132 000717 133 000724 135 000730 136 000737 137 000750 138 000752 139 000754 140 000756 142 000773 143 000776 144 000777 145 001001 146 001004 147 001022 148 001024 149 001025 150 001027 151 001031 152 001043 153 001054 154 001056 155 001057 156 001060 159 001061 161 001064 162 001066 164 001073 165 001075 167 001076 196 001077 199 001143 200 001203 174 001204 175 001205 177 001237 178 001246 180 001310 183 001311 186 001316 190 001321 193 001330 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved