COMPILATION LISTING OF SEGMENT trace_calibrate_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/11/85 1036.6 mst Fri Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* 7* This program experimentally determines the metering compensation values. 8* 9* Written: May 1984 by Jeffrey D. Ives. 10**/ 11 /* format: style2,ifthendo,^indnoniterdo,thendo,^inditerdo,indproc,ind2,dclind5,idind32 */ 12 13 14 trace_calibrate_: 15 proc (compensation_kind_i, entry_comp_o, return_comp_o); 16 17 if trace_$num_entrypoints () ^= 0 18 then signal error; 19 20 transaction_id = clock (); 21 if ^trace_$transaction_begin (transaction_id) 22 then signal error; 23 if compensation_kind_i = "repeat" 24 then do; 25 call trace_tables_$specify_entrypoint (codeptr (trace_repeat_), "trace_repeat_$trace_repeat_", 0, "0"b); 26 call trace_tables_$specify_entrypoint (codeptr (trace_repeat_dummy_), "trace_repeat_dummy_$trace_repeat_dummy_", 0, "0"b); 27 end; 28 else if compensation_kind_i = "recurse" 29 then do; 30 call trace_tables_$specify_entrypoint (codeptr (trace_recurse_), "trace_recurse_$trace_recurse_", 0, "0"b); 31 call 32 trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), "trace_recurse_dummy_$trace_recurse_dummy_", 0, "0"b); 33 end; 34 else signal error; 35 stop_routine_saved = trace_$stop_routine (); 36 call trace_$set_stop_routine (SNAP_ENTRIES); 37 call trace_$set_enabled ("0"b); /* Run without trace operators. */ 38 call trace_$set_trace ("00"b); 39 if ^trace_$update_global_parms () 40 then signal error; 41 call trace_$add_specified_eps (n_added, n_modified); 42 if n_added ^= 2 | n_modified ^= 0 43 then signal error; 44 if ^trace_$transaction_end (transaction_id) 45 then signal error; 46 47 total = 0; 48 trials_vcpu_start = vclock (); 49 50 TRIAL_LOOP: 51 do total_trials = 0 by 1 while (total_trials < NUMBER_OF_TRIALS); 52 run.elapsed = 0; 53 54 NO_INTERRUPTION_LOOP: /* We are striving for perfection. */ 55 do while (run.elapsed.real_time >= run.elapsed.vcpu_time); 56 if vclock () - trials_vcpu_start > 2000000 57 then go to END_OF_TRIALS; /* We know when to give up. */ 58 59 run.start.vcpu_time = vclock (); 60 run.start.real_time = clock (); 61 62 if compensation_kind_i = "repeat" 63 then do; 64 call 65 trace_repeat_ (NUMBER_OF_BASELINE_CALLS, trial.benchmark.baseline.entry.real_time, 66 trial.benchmark.baseline.return.real_time); 67 call 68 trace_repeat_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, trial.benchmark.measure.entry.real_time, 69 trial.benchmark.measure.return.real_time); 70 end; 71 else if compensation_kind_i = "recurse" 72 then do; 73 call 74 trace_recurse_ (NUMBER_OF_BASELINE_CALLS, trial.benchmark.baseline.entry.real_time, 75 trial.benchmark.baseline.return.real_time); 76 call 77 trace_recurse_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, trial.benchmark.measure.entry.real_time, 78 trial.benchmark.measure.return.real_time); 79 end; 80 else signal error; 81 82 transaction_id = clock (); 83 if ^trace_$transaction_begin (transaction_id) 84 then signal error; 85 else if compensation_kind_i = "recurse" 86 then do; 87 call 88 trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), "trace_recurse_dummy_$trace_recurse_dummy_", 89 0, "0"b); 90 call trace_$set_trace ("00"b); 91 call trace_$set_stop ("10"b); /* -stop in */ 92 call trace_$set_stop_every (NUMBER_OF_BASELINE_CALLS); 93 call trace_$add_specified_eps (n_added, n_modified); 94 if n_added ^= 0 | n_modified ^= 1 95 then signal error; 96 end; 97 call trace_$set_enabled ("1"b); 98 if ^trace_$update_global_parms () 99 then signal error; 100 call trace_$reset_meters (); 101 if ^trace_$transaction_end (transaction_id) 102 then signal error; 103 104 if compensation_kind_i = "repeat" 105 then call trace_repeat_ (NUMBER_OF_BASELINE_CALLS, not_used (1), not_used (2)); 106 else if compensation_kind_i = "recurse" 107 then call trace_recurse_ (NUMBER_OF_BASELINE_CALLS, not_used (1), not_used (2)); 108 else signal error; 109 110 transaction_id = clock (); 111 if ^trace_$transaction_begin (transaction_id) 112 then signal error; 113 do tt_idx = 0 to 1; 114 meters = trace_$entrypoint_local_meters (tt_idx); 115 entry_ptr = trace_$entrypoint_ptr (tt_idx); 116 if entry_ptr = codeptr (trace_repeat_) 117 then do; 118 trial.meter.baseline.return.real_time = meters.real_time; 119 trial.meter.baseline.return.vcpu_time = meters.vcpu_time; 120 end; 121 else if entry_ptr = codeptr (trace_repeat_dummy_) 122 then do; 123 trial.meter.baseline.entry.real_time = meters.real_time; 124 trial.meter.baseline.entry.vcpu_time = meters.vcpu_time; 125 end; 126 else if entry_ptr = codeptr (trace_recurse_) 127 then ; 128 else if entry_ptr = codeptr (trace_recurse_dummy_) 129 then do; 130 trial.meter.baseline.return.real_time = meters.real_time - trial.meter.baseline.entry.real_time; 131 trial.meter.baseline.return.vcpu_time = meters.vcpu_time - trial.meter.baseline.entry.vcpu_time; 132 call 133 trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), 134 "trace_recurse_dummy_$trace_recurse_dummy_", 0, "0"b); 135 call trace_$set_trace ("00"b); 136 call trace_$set_stop ("10"b); /* -stop in */ 137 call trace_$set_stop_every (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS); 138 call trace_$add_specified_eps (n_added, n_modified); 139 if n_added ^= 0 | n_modified ^= 1 140 then signal error; 141 end; 142 else signal error; 143 end; 144 call trace_$reset_meters (); 145 if ^trace_$transaction_end (transaction_id) 146 then signal error; 147 148 if compensation_kind_i = "repeat" 149 then call trace_repeat_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, not_used (1), not_used (2)); 150 else if compensation_kind_i = "recurse" 151 then call trace_recurse_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, not_used (1), not_used (2)); 152 else signal error; 153 154 run.stop.real_time = clock (); 155 run.stop.vcpu_time = vclock (); 156 157 run.elapsed = run.stop - run.start; 158 159 transaction_id = clock (); 160 if ^trace_$transaction_begin (transaction_id) 161 then signal error; 162 call trace_$set_enabled ("0"b); /* Run without trace operators. */ 163 if ^trace_$update_global_parms () 164 then signal error; 165 if ^trace_$transaction_end (transaction_id) 166 then signal error; 167 end NO_INTERRUPTION_LOOP; 168 169 170 do tt_idx = 0 to 1; 171 entry_ptr = trace_$entrypoint_ptr (tt_idx); 172 meters = trace_$entrypoint_local_meters (tt_idx); 173 174 if entry_ptr = codeptr (trace_repeat_) 175 then do; 176 trial.meter.measure.return.real_time = meters.real_time; 177 trial.meter.measure.return.vcpu_time = meters.vcpu_time; 178 end; 179 else if entry_ptr = codeptr (trace_repeat_dummy_) 180 then do; 181 trial.meter.measure.entry.real_time = meters.real_time; 182 trial.meter.measure.entry.vcpu_time = meters.vcpu_time; 183 end; 184 else if entry_ptr = codeptr (trace_recurse_) 185 then ; 186 else if entry_ptr = codeptr (trace_recurse_dummy_) 187 then do; 188 trial.meter.measure.return.real_time = meters.real_time - trial.meter.measure.entry.real_time; 189 trial.meter.measure.return.vcpu_time = meters.vcpu_time - trial.meter.measure.entry.vcpu_time; 190 end; 191 else signal error; 192 end; 193 194 total = total + trial; 195 end TRIAL_LOOP; 196 197 END_OF_TRIALS: 198 transaction_id = clock (); 199 if ^trace_$transaction_begin (transaction_id) 200 then signal error; 201 call trace_$specify_entrypoints ("*", null ()); 202 call trace_$set_stop_routine (stop_routine_saved); 203 call trace_$set_enabled ("1"b); 204 if ^trace_$update_global_parms () 205 then signal error; 206 call trace_$remove_specified_eps (n_removed); 207 if n_removed ^= 2 208 then signal error; 209 if ^trace_$transaction_end (transaction_id) 210 then signal error; 211 212 if total_trials = 0 213 then do; 214 entry_comp_o = 0; 215 return_comp_o = 0; 216 end; 217 else do; 218 total_measured_calls = multiply (total_trials, NUMBER_OF_MEASURED_CALLS, 17); 219 220 entry_comp_o = 221 divide ((total.meter.measure.entry - total.meter.baseline.entry) 222 - (total.benchmark.measure.entry.real_time - total.benchmark.baseline.entry.real_time), total_measured_calls, 53); 223 return_comp_o = 224 divide ((total.meter.measure.return - total.meter.baseline.return) 225 - (total.benchmark.measure.return.real_time - total.benchmark.baseline.return.real_time), total_measured_calls, 226 53); 227 end; 228 229 return; 230 231 /* SUBROUTINES */ 232 233 234 SNAP_ENTRIES: 235 proc (event_i); 236 dcl 1 event_i like event aligned parm; 237 dcl EVENT_VERSION_3 char (4) aligned static options (constant) init ("TEV3"); 238 dcl event_ptr ptr; 239 dcl 1 event aligned based (event_ptr), 240 /* Trace_catch_ knows this is 16 words. */ 241 2 version char (4), 242 2 kind char (2) unal, 243 2 frame_count fixed bin unal, 244 2 frame like meters, 245 2 entry_ptr ptr unal, 246 2 saved like counts, 247 2 entry_idx fixed bin, 248 2 arg_list_ptr ptr unal, 249 2 callers_sp ptr unal, 250 2 return_ptr ptr unal; 251 dcl 1 snap_meters like meters aligned; 252 dcl trace_catch_$start_tracing entry (); 253 dcl trace_catch_$stop_tracing entry (); 254 255 event_ptr = addr (event_i); 256 if event.version ^= EVENT_VERSION_3 | event.kind ^= "ca" 257 then signal error; 258 259 call trace_catch_$stop_tracing (); /* Flush meters form trace_catch_ frames in stack.*/ 260 snap_meters = trace_$entrypoint_local_meters (event.entry_idx); 261 call trace_catch_$start_tracing (); /* Replant the trace operators pointers. */ 262 263 if event.saved.calls + 1 = NUMBER_OF_BASELINE_CALLS 264 then do; 265 trial.meter.baseline.entry.real_time = snap_meters.real_time; 266 trial.meter.baseline.entry.vcpu_time = snap_meters.vcpu_time; 267 end; 268 else if event.saved.calls + 1 = NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS 269 then do; 270 trial.meter.measure.entry.real_time = snap_meters.real_time; 271 trial.meter.measure.entry.vcpu_time = snap_meters.vcpu_time; 272 end; 273 else signal error; 274 275 return; 276 end SNAP_ENTRIES; 277 278 /* START OF DECLARATIONS */ 279 /* format: ^insnl,^delnl */ 280 281 /* Parameters */ 282 283 dcl compensation_kind_i char (8) aligned parm; 284 dcl 1 entry_comp_o aligned parm like compensation; 285 dcl 1 return_comp_o aligned parm like compensation; 286 287 288 /* Automatic */ 289 290 dcl entry_ptr ptr unal; 291 dcl n_added fixed bin; 292 dcl n_modified fixed bin; 293 dcl n_removed fixed bin; 294 dcl not_used (2) fixed bin (53); 295 dcl stop_routine_saved entry variable; 296 dcl total_measured_calls fixed bin; 297 dcl total_trials fixed bin; 298 dcl transaction_id fixed bin (71); 299 dcl trials_vcpu_start fixed bin (53); 300 dcl tt_idx fixed bin; 301 302 dcl 1 run aligned, 303 2 start like compensation, 304 2 stop like compensation, 305 2 elapsed like compensation; 306 307 dcl 1 trial aligned, 308 2 benchmark, 309 3 baseline, 310 4 entry, 311 5 real_time fixed bin (53), 312 4 return, 313 5 real_time fixed bin (53), 314 3 measure, 315 4 entry, 316 5 real_time fixed bin (53), 317 4 return, 318 5 real_time fixed bin (53), 319 2 meter, 320 3 baseline, 321 4 entry like compensation, 322 4 return like compensation, 323 3 measure, 324 4 entry like compensation, 325 4 return like compensation; 326 327 dcl 1 total aligned like trial; 328 329 330 /* Static */ 331 332 dcl NUMBER_OF_BASELINE_CALLS fixed bin (34) static options (constant) init (2); 333 dcl NUMBER_OF_MEASURED_CALLS fixed bin (34) static options (constant) init (16); 334 dcl NUMBER_OF_TRIALS fixed bin static options (constant) init (8); 335 dcl ZERO fixed bin (35) static options (constant) init (0); 336 337 338 /* Conditions */ 339 340 dcl error condition; 341 342 343 /* Based */ 344 345 346 347 /* External Variables */ 348 349 350 351 /* External Entries */ 352 353 dcl trace_repeat_ entry (fixed bin (34), fixed bin (53), fixed bin (53)); 354 dcl trace_repeat_dummy_ entry (fixed bin (53)); 355 dcl trace_recurse_ entry (fixed bin (34), fixed bin (53), fixed bin (53)); 356 dcl trace_recurse_dummy_ entry (fixed bin, fixed bin (53)); 357 dcl trace_tables_$specify_entrypoint entry (ptr unal, char (65) var, fixed bin, bit aligned); 358 359 360 /* format: insnl,delnl */ 361 /* END OF DECLARATIONS */ 362 363 /* START OF INCLUDE FILES */ 364 365 1 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 1 2 /* format: style3 */ 1 3 1 4 /* These constants are to be used for the flags argument of sub_err_ */ 1 5 /* They are just "string (condition_info_header.action_flags)" */ 1 6 1 7 declare ( 1 8 ACTION_CAN_RESTART init (""b), 1 9 ACTION_CANT_RESTART init ("1"b), 1 10 ACTION_DEFAULT_RESTART 1 11 init ("01"b), 1 12 ACTION_QUIET_RESTART 1 13 init ("001"b), 1 14 ACTION_SUPPORT_SIGNAL 1 15 init ("0001"b) 1 16 ) bit (36) aligned internal static options (constant); 1 17 1 18 /* End include file */ 366 367 2 1 /* START OF: trace_interface.incl.pl1 * * * * * * * * * * * * * * * * */ 2 2 /* Written: May 1984 by Jeffrey D. Ives. */ 2 3 /* format: style2,^inddcls,^indnoniterdo,^inditerdo,dclind5,idind35 */ 2 4 2 5 /* IDENTIFICATION */ 2 6 2 7 dcl trace_$me entry () returns (char (32)); 2 8 dcl trace_$version entry () returns (char (32)); 2 9 2 10 /* TRANSACTIONS */ 2 11 2 12 dcl trace_$transaction_begin entry (fixed bin (71)) returns (bit aligned); 2 13 dcl trace_$transaction_begin_force entry (fixed bin (71)); 2 14 dcl trace_$transaction_end entry (fixed bin (71)) returns (bit aligned); 2 15 2 16 /* ACTIONS */ 2 17 2 18 dcl trace_$update_default_parms entry () returns (bit aligned); 2 19 dcl trace_$update_global_parms entry () returns (bit aligned); 2 20 dcl trace_$add_specified_eps entry (fixed bin, fixed bin); 2 21 dcl trace_$add_specified_locs entry (fixed bin, fixed bin); 2 22 dcl trace_$remove_specified_eps entry (fixed bin); 2 23 dcl trace_$remove_specified_locs entry (fixed bin); 2 24 dcl trace_$turn_on_specified_eps entry (fixed bin); 2 25 dcl trace_$turn_off_specified_eps entry (fixed bin); 2 26 2 27 /* CONVERSION */ 2 28 2 29 dcl trace_$cv_inout_to_bits entry (char (8) aligned) returns (bit (2) aligned); 2 30 dcl trace_$cv_bits_to_inout entry (bit (2) aligned) returns (char (8) aligned); 2 31 dcl trace_$cv_n_to_number entry (char (16)) returns (fixed bin (34)); 2 32 dcl trace_$cv_onoff_to_bit entry (char (8) aligned) returns (bit aligned); 2 33 dcl trace_$cv_bit_to_onoff entry (bit aligned) returns (char (8) aligned); 2 34 dcl trace_$cv_entry_name_to_spp entry (char (256) var, ptr) returns (1 like stop_proc aligned); 2 35 dcl trace_$cv_file_path_to_osw entry (char (256) var, ptr) returns (1 like output_switch aligned); 2 36 dcl trace_$cv_stream_name_to_osw entry (char (32) var) returns (1 like output_switch aligned); 2 37 2 38 /* METERS */ 2 39 2 40 dcl trace_$entrypoint_counts entry (fixed bin) returns (1 aligned like counts); 2 41 dcl trace_$entrypoint_global_meters entry (fixed bin) returns (1 like meters aligned); 2 42 dcl trace_$entrypoint_local_meters entry (fixed bin) returns (1 like meters aligned); 2 43 dcl trace_$metered entry () returns (1 like meters aligned); 2 44 dcl trace_$removed entry () returns (1 like meters aligned); 2 45 dcl trace_$reset_meters entry (); 2 46 2 47 /* ENTRYPOINTS */ 2 48 2 49 dcl trace_$entrypoint_index entry (ptr unal) returns (fixed bin); 2 50 dcl trace_$entrypoint_name entry (fixed bin) returns (char (65) var); 2 51 dcl trace_$entrypoint_ptr entry (fixed bin) returns (ptr); 2 52 dcl trace_$entrypoint_seg_path entry (fixed bin) returns (char (256) var); 2 53 dcl trace_$entrypoint_status entry (fixed bin) returns (char (32) var); 2 54 dcl trace_$function entry (fixed bin) returns (bit aligned); 2 55 dcl trace_$num_entrypoints entry () returns (fixed bin); 2 56 dcl trace_$num_specified_entrypoints entry () returns (fixed bin); 2 57 dcl trace_$specified_entrypoint_index entry (fixed bin) returns (fixed bin); 2 58 dcl trace_$specify_entrypoints entry (char (256) var, ptr); 2 59 dcl trace_$translator_id entry (fixed bin) returns (fixed bin); 2 60 2 61 /* LOCATIONS */ 2 62 2 63 dcl trace_$location_ptr entry (fixed bin) returns (ptr); 2 64 dcl trace_$location_seg_path entry (fixed bin) returns (char (256) var); 2 65 dcl trace_$location_values entry (fixed bin) returns (1 aligned like watch_values); 2 66 dcl trace_$num_locations entry () returns (fixed bin); 2 67 dcl trace_$num_specified_locations entry () returns (fixed bin); 2 68 dcl trace_$specified_location_index entry (fixed bin) returns (fixed bin); 2 69 dcl trace_$specify_locations entry (char (256) var); 2 70 dcl trace_$specify_changed_locations entry (); 2 71 2 72 /* EVENT BUFFER */ 2 73 2 74 dcl trace_$buffer_counts entry (fixed bin (34), fixed bin (34)); 2 75 dcl trace_$buffer_event entry (fixed bin (34), fixed bin, char (2), ptr unal, 1 like counts aligned, 1 like meters aligned); 2 76 dcl trace_$buffer_event_header entry (fixed bin (34)) returns (char (256) var); 2 77 dcl trace_$buffer_event_string entry (fixed bin (34)) returns (char (256) var); 2 78 dcl trace_$buffer_ptr entry () returns (ptr unal); 2 79 2 80 /* TRACE PARAMETERS */ 2 81 2 82 dcl trace_$arguments entry (fixed bin) returns (bit (2) aligned); 2 83 dcl trace_$set_arguments entry (bit (2) aligned); 2 84 dcl trace_$call entry (fixed bin) returns (char (256) var); 2 85 dcl trace_$set_call entry (char (256) var); 2 86 dcl trace_$every entry (fixed bin) returns (fixed bin (34)); 2 87 dcl trace_$set_every entry (fixed bin (34)); 2 88 dcl trace_$first entry (fixed bin) returns (fixed bin (34)); 2 89 dcl trace_$set_first entry (fixed bin (34)); 2 90 dcl trace_$high entry (fixed bin) returns (fixed bin (34)); 2 91 dcl trace_$set_high entry (fixed bin (34)); 2 92 dcl trace_$last entry (fixed bin) returns (fixed bin (34)); 2 93 dcl trace_$set_last entry (fixed bin (34)); 2 94 dcl trace_$low entry (fixed bin) returns (fixed bin (34)); 2 95 dcl trace_$set_low entry (fixed bin (34)); 2 96 dcl trace_$new_high entry (fixed bin) returns (bit aligned); 2 97 dcl trace_$set_new_high entry (bit aligned); 2 98 dcl trace_$parms_string entry (fixed bin, bit aligned) returns (char (256) var); 2 99 dcl trace_$parms_specified entry () returns (bit aligned); 2 100 dcl trace_$stop entry (fixed bin) returns (bit (2) aligned); 2 101 dcl trace_$set_stop entry (bit (2) aligned); 2 102 dcl trace_$stop_every entry (fixed bin) returns (fixed bin (34)); 2 103 dcl trace_$set_stop_every entry (fixed bin (34)); 2 104 dcl trace_$stop_low entry (fixed bin) returns (fixed bin (34)); 2 105 dcl trace_$set_stop_low entry (fixed bin (34)); 2 106 dcl trace_$trace entry (fixed bin) returns (bit (2) aligned); 2 107 dcl trace_$set_trace entry (bit (2) aligned); 2 108 2 109 /* GLOBAL PARAMETERS */ 2 110 2 111 dcl trace_$alm entry () returns (bit aligned); 2 112 dcl trace_$set_alm entry (bit aligned); 2 113 dcl trace_$automatic entry () returns (bit aligned); 2 114 dcl trace_$set_automatic entry (bit aligned); 2 115 dcl trace_$buffer entry () returns (bit aligned); 2 116 dcl trace_$set_buffer entry (bit aligned); 2 117 dcl trace_$calibrate entry () returns (bit aligned); 2 118 dcl trace_$set_calibrate entry (bit aligned); 2 119 dcl trace_$compensation entry (fixed bin) returns (1 aligned like compensation); 2 120 dcl trace_$set_compensation entry (fixed bin, 1 aligned like compensation); 2 121 dcl trace_$enabled entry () returns (bit aligned); 2 122 dcl trace_$set_enabled entry (bit aligned); 2 123 dcl trace_$global_parms_string entry () returns (char (256) var); 2 124 dcl trace_$long entry () returns (bit aligned); 2 125 dcl trace_$set_long entry (bit aligned); 2 126 dcl trace_$meter entry () returns (bit aligned); 2 127 dcl trace_$set_meter entry (bit aligned); 2 128 dcl trace_$output_switch entry () returns (1 like output_switch aligned); 2 129 dcl trace_$set_output_switch entry (1 like output_switch aligned); 2 130 dcl trace_$signals entry () returns (bit aligned); 2 131 dcl trace_$set_signals entry (bit aligned); 2 132 dcl trace_$stop_proc entry () returns (1 like stop_proc); 2 133 dcl trace_$set_stop_proc entry (1 like stop_proc); 2 134 dcl trace_$stop_routine entry () returns (entry); 2 135 dcl trace_$set_stop_routine entry (entry); 2 136 dcl trace_$trace_routine entry () returns (entry); 2 137 dcl trace_$set_trace_routine entry (entry); 2 138 dcl trace_$loud entry () returns (bit aligned); 2 139 dcl trace_$set_loud entry (bit aligned); 2 140 2 141 /* MISCELLANEOUS */ 2 142 2 143 dcl trace_$in_trace entry () returns (bit aligned); 2 144 2 145 /* STRUCTURES AND CONSTANTS */ 2 146 2 147 dcl 1 watch_values aligned, 2 148 2 old bit (36), 2 149 2 new bit (36); 2 150 2 151 dcl 1 counts aligned, 2 152 2 calls fixed bin (53), /* total number of calls */ 2 153 2 level fixed bin (34), /* current recursion level */ 2 154 2 max_level fixed bin (34); /* max ever recursion level */ 2 155 2 156 2 157 dcl 1 meters aligned, 2 158 2 real_time fixed bin (53), /* The total amount of real time metered. */ 2 159 2 vcpu_time fixed bin (53), /* The total amount of virtual cpu time metered. */ 2 160 2 page_faults fixed bin (34); /* The total number of page faults metered. */ 2 161 2 162 dcl 1 output_switch aligned based, 2 163 2 iocb_ptr ptr, 2 164 2 stream_name char (32) var, 2 165 2 file_path char (256) var; 2 166 2 167 dcl 1 stop_proc aligned based, 2 168 2 entry_value entry (), 2 169 2 entry_name char (256) var; 2 170 2 171 dcl 1 compensation aligned, 2 172 2 real_time fixed bin (53), 2 173 2 vcpu_time fixed bin (53); 2 174 2 175 dcl ( 2 176 COMPENSATION_FROM_ENTRY_TO_ENTRY init (1), 2 177 COMPENSATION_FROM_ENTRY_TO_RETURN init (2), 2 178 COMPENSATION_FROM_RETURN_TO_ENTRY init (3), 2 179 COMPENSATION_FROM_RETURN_TO_RETURN init (4) 2 180 ) static options (constant); 2 181 2 182 /* END OF: trace_interface.incl.pl1 * * * * * * * * * * * * * * * * */ 368 369 370 end trace_calibrate_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/11/85 1034.9 trace_calibrate_.pl1 >special_ldd>online>6972.pbf>trace_calibrate_.pl1 366 1 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 368 2 10/23/84 1349.5 trace_interface.incl.pl1 >ldd>include>trace_interface.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. EVENT_VERSION_3 000000 constant char(4) initial dcl 237 ref 256 NUMBER_OF_BASELINE_CALLS 000015 constant fixed bin(34,0) initial dcl 332 set ref 64* 67 73* 76 92* 104* 106* 137 148 150 263 268 NUMBER_OF_MEASURED_CALLS constant fixed bin(34,0) initial dcl 333 ref 67 76 137 148 150 218 268 NUMBER_OF_TRIALS constant fixed bin(17,0) initial dcl 334 ref 50 baseline 000140 automatic structure level 3 in structure "trial" dcl 307 in procedure "trace_calibrate_" baseline 10 000170 automatic structure level 3 in structure "total" dcl 327 in procedure "trace_calibrate_" baseline 10 000140 automatic structure level 3 in structure "trial" dcl 307 in procedure "trace_calibrate_" baseline 000170 automatic structure level 3 in structure "total" dcl 327 in procedure "trace_calibrate_" benchmark 000140 automatic structure level 2 in structure "trial" dcl 307 in procedure "trace_calibrate_" benchmark 000170 automatic structure level 2 in structure "total" dcl 327 in procedure "trace_calibrate_" calls 10 based fixed bin(53,0) level 3 dcl 239 ref 263 268 compensation 000242 automatic structure level 1 dcl 2-171 compensation_kind_i parameter char(8) dcl 283 ref 14 23 28 62 71 85 104 106 148 150 counts 000230 automatic structure level 1 dcl 2-151 elapsed 10 000124 automatic structure level 2 dcl 302 set ref 52* 157* entry 10 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 220 entry 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" entry 4 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" entry 4 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" entry 10 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" entry 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" entry 20 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" entry 20 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 220 entry_comp_o parameter structure level 1 dcl 284 set ref 14 214* 220* entry_idx 14 based fixed bin(17,0) level 2 dcl 239 set ref 260* entry_ptr 000100 automatic pointer unaligned dcl 290 set ref 115* 116 121 126 128 171* 174 179 184 186 error 000220 stack reference condition dcl 340 ref 17 21 34 39 42 44 80 83 94 98 101 108 111 139 142 145 152 160 163 165 191 199 204 207 209 256 273 event based structure level 1 dcl 239 event_i parameter structure level 1 dcl 236 set ref 234 255 event_ptr 000100 automatic pointer dcl 238 set ref 255* 256 256 260 263 268 kind 1 based char(2) level 2 packed unaligned dcl 239 ref 256 measure 4 000170 automatic structure level 3 in structure "total" dcl 327 in procedure "trace_calibrate_" measure 20 000140 automatic structure level 3 in structure "trial" dcl 307 in procedure "trace_calibrate_" measure 20 000170 automatic structure level 3 in structure "total" dcl 327 in procedure "trace_calibrate_" measure 4 000140 automatic structure level 3 in structure "trial" dcl 307 in procedure "trace_calibrate_" meter 10 000170 automatic structure level 2 in structure "total" dcl 327 in procedure "trace_calibrate_" meter 10 000140 automatic structure level 2 in structure "trial" dcl 307 in procedure "trace_calibrate_" meters 000234 automatic structure level 1 dcl 2-157 set ref 114* 172* n_added 000101 automatic fixed bin(17,0) dcl 291 set ref 41* 42 93* 94 138* 139 n_modified 000102 automatic fixed bin(17,0) dcl 292 set ref 41* 42 93* 94 138* 139 n_removed 000103 automatic fixed bin(17,0) dcl 293 set ref 206* 207 not_used 000104 automatic fixed bin(53,0) array dcl 294 set ref 104* 104* 106* 106* 148* 148* 150* 150* output_switch based structure level 1 dcl 2-162 real_time 4 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 154* real_time 24 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 176* 188* real_time 000102 automatic fixed bin(53,0) level 2 in structure "snap_meters" dcl 251 in procedure "SNAP_ENTRIES" set ref 265 270 real_time 4 000170 automatic fixed bin(53,0) level 5 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 220 real_time 14 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 118* 130* real_time 4 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 67* 76* real_time 000234 automatic fixed bin(53,0) level 2 in structure "meters" dcl 2-157 in procedure "trace_calibrate_" set ref 118 123 130 176 181 188 real_time 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 64* 73* real_time 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 60* real_time 6 000170 automatic fixed bin(53,0) level 5 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 223 real_time 10 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 123* 130 265* real_time 20 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 181* 188 270* real_time 6 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 67* 76* real_time 2 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 64* 73* real_time 2 000170 automatic fixed bin(53,0) level 5 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 223 real_time 10 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 54 real_time 000170 automatic fixed bin(53,0) level 5 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 220 return 14 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" return 24 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 223 return 14 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" set ref 223 return 6 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" return 24 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" return 6 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" return 2 000170 automatic structure level 4 in structure "total" dcl 327 in procedure "trace_calibrate_" return 2 000140 automatic structure level 4 in structure "trial" dcl 307 in procedure "trace_calibrate_" return_comp_o parameter structure level 1 dcl 285 set ref 14 215* 223* run 000124 automatic structure level 1 dcl 302 saved 10 based structure level 2 dcl 239 snap_meters 000102 automatic structure level 1 dcl 251 set ref 260* start 000124 automatic structure level 2 dcl 302 set ref 157 stop 4 000124 automatic structure level 2 dcl 302 set ref 157 stop_proc based structure level 1 dcl 2-167 stop_routine_saved 000110 automatic entry variable dcl 295 set ref 35* 202* total 000170 automatic structure level 1 dcl 327 set ref 47* 194* 194 total_measured_calls 000114 automatic fixed bin(17,0) dcl 296 set ref 218* 220 220 220 223 223 223 total_trials 000115 automatic fixed bin(17,0) dcl 297 set ref 50* 50* 212 218 trace_$add_specified_eps 000030 constant entry external dcl 2-20 ref 41 93 138 trace_$entrypoint_local_meters 000034 constant entry external dcl 2-42 ref 114 172 260 trace_$entrypoint_ptr 000040 constant entry external dcl 2-51 ref 115 171 trace_$num_entrypoints 000042 constant entry external dcl 2-55 ref 17 trace_$remove_specified_eps 000032 constant entry external dcl 2-22 ref 206 trace_$reset_meters 000036 constant entry external dcl 2-45 ref 100 144 trace_$set_enabled 000054 constant entry external dcl 2-122 ref 37 97 162 203 trace_$set_stop 000046 constant entry external dcl 2-101 ref 91 136 trace_$set_stop_every 000050 constant entry external dcl 2-103 ref 92 137 trace_$set_stop_routine 000060 constant entry external dcl 2-135 ref 36 202 trace_$set_trace 000052 constant entry external dcl 2-107 ref 38 90 135 trace_$specify_entrypoints 000044 constant entry external dcl 2-58 ref 201 trace_$stop_routine 000056 constant entry external dcl 2-134 ref 35 trace_$transaction_begin 000022 constant entry external dcl 2-12 ref 21 83 111 160 199 trace_$transaction_end 000024 constant entry external dcl 2-14 ref 44 101 145 165 209 trace_$update_global_parms 000026 constant entry external dcl 2-19 ref 39 98 163 204 trace_catch_$start_tracing 000062 constant entry external dcl 252 ref 261 trace_catch_$stop_tracing 000064 constant entry external dcl 253 ref 259 trace_recurse_ 000014 constant entry external dcl 355 ref 30 30 73 76 106 126 150 184 trace_recurse_dummy_ 000016 constant entry external dcl 356 ref 31 31 87 87 128 132 132 186 trace_repeat_ 000010 constant entry external dcl 353 ref 25 25 64 67 104 116 148 174 trace_repeat_dummy_ 000012 constant entry external dcl 354 ref 26 26 121 179 trace_tables_$specify_entrypoint 000020 constant entry external dcl 357 ref 25 26 30 31 87 132 transaction_id 000116 automatic fixed bin(71,0) dcl 298 set ref 20* 21* 44* 82* 83* 101* 110* 111* 145* 159* 160* 165* 197* 199* 209* trial 000140 automatic structure level 1 dcl 307 set ref 194 trials_vcpu_start 000120 automatic fixed bin(53,0) dcl 299 set ref 48* 56 tt_idx 000122 automatic fixed bin(17,0) dcl 300 set ref 113* 114* 115* 170* 171* 172* vcpu_time 2 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 59* vcpu_time 22 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 182* 189 271* vcpu_time 12 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 124* 131 266* vcpu_time 6 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 155* vcpu_time 26 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 177* 189* vcpu_time 12 000124 automatic fixed bin(53,0) level 3 in structure "run" dcl 302 in procedure "trace_calibrate_" set ref 54 vcpu_time 2 000234 automatic fixed bin(53,0) level 2 in structure "meters" dcl 2-157 in procedure "trace_calibrate_" set ref 119 124 131 177 182 189 vcpu_time 16 000140 automatic fixed bin(53,0) level 5 in structure "trial" dcl 307 in procedure "trace_calibrate_" set ref 119* 131* vcpu_time 2 000102 automatic fixed bin(53,0) level 2 in structure "snap_meters" dcl 251 in procedure "SNAP_ENTRIES" set ref 266 271 version based char(4) level 2 dcl 239 ref 256 watch_values 000226 automatic structure level 1 dcl 2-147 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CANT_RESTART internal static bit(36) initial dcl 1-7 ACTION_CAN_RESTART internal static bit(36) initial dcl 1-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 1-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 1-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 1-7 COMPENSATION_FROM_ENTRY_TO_ENTRY internal static fixed bin(17,0) initial dcl 2-175 COMPENSATION_FROM_ENTRY_TO_RETURN internal static fixed bin(17,0) initial dcl 2-175 COMPENSATION_FROM_RETURN_TO_ENTRY internal static fixed bin(17,0) initial dcl 2-175 COMPENSATION_FROM_RETURN_TO_RETURN internal static fixed bin(17,0) initial dcl 2-175 ZERO internal static fixed bin(35,0) initial dcl 335 trace_$add_specified_locs 000000 constant entry external dcl 2-21 trace_$alm 000000 constant entry external dcl 2-111 trace_$arguments 000000 constant entry external dcl 2-82 trace_$automatic 000000 constant entry external dcl 2-113 trace_$buffer 000000 constant entry external dcl 2-115 trace_$buffer_counts 000000 constant entry external dcl 2-74 trace_$buffer_event 000000 constant entry external dcl 2-75 trace_$buffer_event_header 000000 constant entry external dcl 2-76 trace_$buffer_event_string 000000 constant entry external dcl 2-77 trace_$buffer_ptr 000000 constant entry external dcl 2-78 trace_$calibrate 000000 constant entry external dcl 2-117 trace_$call 000000 constant entry external dcl 2-84 trace_$compensation 000000 constant entry external dcl 2-119 trace_$cv_bit_to_onoff 000000 constant entry external dcl 2-33 trace_$cv_bits_to_inout 000000 constant entry external dcl 2-30 trace_$cv_entry_name_to_spp 000000 constant entry external dcl 2-34 trace_$cv_file_path_to_osw 000000 constant entry external dcl 2-35 trace_$cv_inout_to_bits 000000 constant entry external dcl 2-29 trace_$cv_n_to_number 000000 constant entry external dcl 2-31 trace_$cv_onoff_to_bit 000000 constant entry external dcl 2-32 trace_$cv_stream_name_to_osw 000000 constant entry external dcl 2-36 trace_$enabled 000000 constant entry external dcl 2-121 trace_$entrypoint_counts 000000 constant entry external dcl 2-40 trace_$entrypoint_global_meters 000000 constant entry external dcl 2-41 trace_$entrypoint_index 000000 constant entry external dcl 2-49 trace_$entrypoint_name 000000 constant entry external dcl 2-50 trace_$entrypoint_seg_path 000000 constant entry external dcl 2-52 trace_$entrypoint_status 000000 constant entry external dcl 2-53 trace_$every 000000 constant entry external dcl 2-86 trace_$first 000000 constant entry external dcl 2-88 trace_$function 000000 constant entry external dcl 2-54 trace_$global_parms_string 000000 constant entry external dcl 2-123 trace_$high 000000 constant entry external dcl 2-90 trace_$in_trace 000000 constant entry external dcl 2-143 trace_$last 000000 constant entry external dcl 2-92 trace_$location_ptr 000000 constant entry external dcl 2-63 trace_$location_seg_path 000000 constant entry external dcl 2-64 trace_$location_values 000000 constant entry external dcl 2-65 trace_$long 000000 constant entry external dcl 2-124 trace_$loud 000000 constant entry external dcl 2-138 trace_$low 000000 constant entry external dcl 2-94 trace_$me 000000 constant entry external dcl 2-7 trace_$meter 000000 constant entry external dcl 2-126 trace_$metered 000000 constant entry external dcl 2-43 trace_$new_high 000000 constant entry external dcl 2-96 trace_$num_locations 000000 constant entry external dcl 2-66 trace_$num_specified_entrypoints 000000 constant entry external dcl 2-56 trace_$num_specified_locations 000000 constant entry external dcl 2-67 trace_$output_switch 000000 constant entry external dcl 2-128 trace_$parms_specified 000000 constant entry external dcl 2-99 trace_$parms_string 000000 constant entry external dcl 2-98 trace_$remove_specified_locs 000000 constant entry external dcl 2-23 trace_$removed 000000 constant entry external dcl 2-44 trace_$set_alm 000000 constant entry external dcl 2-112 trace_$set_arguments 000000 constant entry external dcl 2-83 trace_$set_automatic 000000 constant entry external dcl 2-114 trace_$set_buffer 000000 constant entry external dcl 2-116 trace_$set_calibrate 000000 constant entry external dcl 2-118 trace_$set_call 000000 constant entry external dcl 2-85 trace_$set_compensation 000000 constant entry external dcl 2-120 trace_$set_every 000000 constant entry external dcl 2-87 trace_$set_first 000000 constant entry external dcl 2-89 trace_$set_high 000000 constant entry external dcl 2-91 trace_$set_last 000000 constant entry external dcl 2-93 trace_$set_long 000000 constant entry external dcl 2-125 trace_$set_loud 000000 constant entry external dcl 2-139 trace_$set_low 000000 constant entry external dcl 2-95 trace_$set_meter 000000 constant entry external dcl 2-127 trace_$set_new_high 000000 constant entry external dcl 2-97 trace_$set_output_switch 000000 constant entry external dcl 2-129 trace_$set_signals 000000 constant entry external dcl 2-131 trace_$set_stop_low 000000 constant entry external dcl 2-105 trace_$set_stop_proc 000000 constant entry external dcl 2-133 trace_$set_trace_routine 000000 constant entry external dcl 2-137 trace_$signals 000000 constant entry external dcl 2-130 trace_$specified_entrypoint_index 000000 constant entry external dcl 2-57 trace_$specified_location_index 000000 constant entry external dcl 2-68 trace_$specify_changed_locations 000000 constant entry external dcl 2-70 trace_$specify_locations 000000 constant entry external dcl 2-69 trace_$stop 000000 constant entry external dcl 2-100 trace_$stop_every 000000 constant entry external dcl 2-102 trace_$stop_low 000000 constant entry external dcl 2-104 trace_$stop_proc 000000 constant entry external dcl 2-132 trace_$trace 000000 constant entry external dcl 2-106 trace_$trace_routine 000000 constant entry external dcl 2-136 trace_$transaction_begin_force 000000 constant entry external dcl 2-13 trace_$translator_id 000000 constant entry external dcl 2-59 trace_$turn_off_specified_eps 000000 constant entry external dcl 2-25 trace_$turn_on_specified_eps 000000 constant entry external dcl 2-24 trace_$update_default_parms 000000 constant entry external dcl 2-18 trace_$version 000000 constant entry external dcl 2-8 NAMES DECLARED BY EXPLICIT CONTEXT. END_OF_TRIALS 001771 constant label dcl 197 ref 56 NO_INTERRUPTION_LOOP 000542 constant label dcl 54 SNAP_ENTRIES 002203 constant entry internal dcl 234 ref 36 36 TRIAL_LOOP 000533 constant label dcl 50 trace_calibrate_ 000150 constant entry external dcl 14 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 255 clock builtin function ref 20 60 82 110 154 159 197 codeptr builtin function ref 25 25 26 26 30 30 31 31 87 87 116 121 126 128 132 132 174 179 184 186 divide builtin function ref 220 223 multiply builtin function ref 218 null builtin function ref 201 201 vclock builtin function ref 48 56 59 155 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2636 2724 2313 2646 Length 3226 2313 66 266 322 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME trace_calibrate_ 306 external procedure is an external procedure. SNAP_ENTRIES 92 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME SNAP_ENTRIES 000100 event_ptr SNAP_ENTRIES 000102 snap_meters SNAP_ENTRIES trace_calibrate_ 000100 entry_ptr trace_calibrate_ 000101 n_added trace_calibrate_ 000102 n_modified trace_calibrate_ 000103 n_removed trace_calibrate_ 000104 not_used trace_calibrate_ 000110 stop_routine_saved trace_calibrate_ 000114 total_measured_calls trace_calibrate_ 000115 total_trials trace_calibrate_ 000116 transaction_id trace_calibrate_ 000120 trials_vcpu_start trace_calibrate_ 000122 tt_idx trace_calibrate_ 000124 run trace_calibrate_ 000140 trial trace_calibrate_ 000170 total trace_calibrate_ 000226 watch_values trace_calibrate_ 000230 counts trace_calibrate_ 000234 meters trace_calibrate_ 000242 compensation trace_calibrate_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. unpk_to_pk call_ext_out return signal ext_entry int_entry divide_fx3 clock vclock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. trace_$add_specified_eps trace_$entrypoint_local_meters trace_$entrypoint_ptr trace_$num_entrypoints trace_$remove_specified_eps trace_$reset_meters trace_$set_enabled trace_$set_stop trace_$set_stop_every trace_$set_stop_routine trace_$set_trace trace_$specify_entrypoints trace_$stop_routine trace_$transaction_begin trace_$transaction_end trace_$update_global_parms trace_catch_$start_tracing trace_catch_$stop_tracing trace_recurse_ trace_recurse_dummy_ trace_repeat_ trace_repeat_dummy_ trace_tables_$specify_entrypoint NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. CONSTANTS 000000 aa 124 105 126 063 TEV3 000001 aa 000007502200 000002 aa 500000000000 000003 aa 466000000000 000004 aa 530000000040 000005 aa 530000000400 000006 aa 464000000000 000007 aa 530000000101 000010 aa 404000000021 000011 aa 404000000042 000012 aa 514000000002 000013 aa 514000000001 000014 aa 526000000040 000015 aa 000000000002 000016 aa 524000000010 000020 aa 077777000043 000021 aa 000001000000 000022 aa 000000000000 000023 aa 000000000000 000024 aa 162 145 143 165 recu 000025 aa 162 163 145 000 rse 000026 aa 162 145 160 145 repe 000027 aa 141 164 000 000 at 000030 aa 145 162 162 157 erro 000031 aa 162 000 000 000 r 000032 aa 504000000002 000033 aa 514000000044 000034 aa 514000000044 000035 aa 504000000002 000036 aa 500000000000 000037 aa 530000000400 000040 aa 504000000002 000041 aa 410000000065 000042 aa 410000000065 000043 aa 504000000003 000044 aa 410000000065 000045 aa 410000000065 000046 aa 404000000042 000047 aa 504000000003 000050 aa 410000000065 000051 aa 404000000042 000052 aa 404000000042 000053 aa 504000000003 000054 aa 464000000000 000055 aa 530000000040 000056 aa 530000000400 000057 aa 164 162 141 143 trac 000060 aa 145 137 162 145 e_re 000061 aa 160 145 141 164 peat 000062 aa 137 044 164 162 _$tr 000063 aa 141 143 145 137 ace_ 000064 aa 162 145 160 145 repe 000065 aa 141 164 137 000 at_ 000066 aa 164 162 141 143 trac 000067 aa 145 137 162 145 e_re 000070 aa 143 165 162 163 curs 000071 aa 145 137 044 164 e_$t 000072 aa 162 141 143 145 race 000073 aa 137 162 145 143 _rec 000074 aa 165 162 163 145 urse 000075 aa 137 000 000 000 _ 000076 aa 164 162 141 143 trac 000077 aa 145 137 162 145 e_re 000100 aa 160 145 141 164 peat 000101 aa 137 144 165 155 _dum 000102 aa 155 171 137 044 my_$ 000103 aa 164 162 141 143 trac 000104 aa 145 137 162 145 e_re 000105 aa 160 145 141 164 peat 000106 aa 137 144 165 155 _dum 000107 aa 155 171 137 000 my_ 000110 aa 164 162 141 143 trac 000111 aa 145 137 162 145 e_re 000112 aa 143 165 162 163 curs 000113 aa 145 137 144 165 e_du 000114 aa 155 155 171 137 mmy_ 000115 aa 044 164 162 141 $tra 000116 aa 143 145 137 162 ce_r 000117 aa 145 143 165 162 ecur 000120 aa 163 145 137 144 se_d 000121 aa 165 155 155 171 ummy 000122 aa 137 000 000 000 _ 000123 aa 504000000012 000124 aa 524000000004 000125 aa 526000000002 000126 aa 406000000021 000127 aa 504000000003 000130 aa 410000000065 000131 aa 410000000065 000132 aa 404000000042 000133 aa 466000000000 000134 aa 504000000003 000135 aa 410000000065 000136 aa 404000000042 000137 aa 404000000042 000140 aa 404000000021 000141 aa 466000000000 000142 aa 466000000000 000143 aa 466000000000 BEGIN PROCEDURE trace_calibrate_ ENTRY TO trace_calibrate_ STATEMENT 1 ON LINE 14 trace_calibrate_: proc (compensation_kind_i, entry_comp_o, return_comp_o); 000144 at 000003000016 000145 tt 000040000040 000146 ta 000144000000 000147 da 000307300000 000150 aa 000500 6270 00 eax7 320 000151 aa 7 00034 3521 20 epp2 pr7|28,* 000152 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000153 aa 000006000000 000154 aa 000000000000 STATEMENT 1 ON LINE 17 if trace_$num_entrypoints () ^= 0 then signal error; 000155 aa 6 00246 3521 00 epp2 pr6|166 000156 aa 6 00252 2521 00 spri2 pr6|170 000157 aa 6 00250 6211 00 eax1 pr6|168 000160 aa 004000 4310 07 fld 2048,dl 000161 la 4 00042 3521 20 epp2 pr4|34,* trace_$num_entrypoints 000162 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000163 aa 6 00246 2361 00 ldq pr6|166 000164 aa 000004 6000 04 tze 4,ic 000170 000165 aa 000005 7260 07 lxl6 5,dl 000166 aa 777642 3520 04 epp2 -94,ic 000030 = 145162162157 000167 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 20 transaction_id = clock (); 000170 aa 0 01435 7001 00 tsx0 pr0|797 clock 000171 aa 6 00116 7571 00 staq pr6|78 transaction_id STATEMENT 1 ON LINE 21 if ^trace_$transaction_begin (transaction_id) then signal error; 000172 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 000173 aa 6 00256 2521 00 spri2 pr6|174 000174 aa 6 00246 3521 00 epp2 pr6|166 000175 aa 6 00260 2521 00 spri2 pr6|176 000176 aa 6 00254 6211 00 eax1 pr6|172 000177 aa 010000 4310 07 fld 4096,dl 000200 aa 6 00044 3701 20 epp4 pr6|36,* 000201 la 4 00022 3521 20 epp2 pr4|18,* trace_$transaction_begin 000202 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000203 aa 6 00246 2351 00 lda pr6|166 000204 aa 400000 3150 03 cana 131072,du 000205 aa 000004 6010 04 tnz 4,ic 000211 000206 aa 000005 7260 07 lxl6 5,dl 000207 aa 777621 3520 04 epp2 -111,ic 000030 = 145162162157 000210 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 23 if compensation_kind_i = "repeat" then do; 000211 aa 777615 2370 04 ldaq -115,ic 000026 = 162145160145 141164000000 000212 aa 0 00454 2771 00 oraq pr0|300 = 000000000000 000000040040 000213 aa 6 00032 3735 20 epp7 pr6|26,* 000214 aa 7 00002 3715 20 epp5 pr7|2,* 000215 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 000216 aa 000002 6010 04 tnz 2,ic 000220 000217 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 000220 aa 000062 6010 04 tnz 50,ic 000302 STATEMENT 1 ON LINE 25 call trace_tables_$specify_entrypoint (codeptr (trace_repeat_), "trace_repeat_$trace_repeat_", 0, "0"b); 000221 aa 6 00044 3701 20 epp4 pr6|36,* 000222 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 000223 aa 6 00246 5421 00 sprp2 pr6|166 000224 aa 000033 2360 07 ldq 27,dl 000225 aa 6 00262 7561 00 stq pr6|178 000226 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 000227 aa 777631 00 0006 desc9a -103,ql 000057 = 164162141143 000230 aa 6 00263 00 0006 desc9a pr6|179,ql 000231 aa 6 00247 4501 00 stz pr6|167 000232 aa 000000 2350 07 lda 0,dl 000233 aa 6 00304 7551 00 sta pr6|196 000234 aa 6 00320 2521 00 spri2 pr6|208 000235 aa 6 00246 3521 00 epp2 pr6|166 000236 aa 6 00310 2521 00 spri2 pr6|200 000237 aa 6 00263 3521 00 epp2 pr6|179 000240 aa 6 00312 2521 00 spri2 pr6|202 000241 aa 6 00247 3521 00 epp2 pr6|167 000242 aa 6 00314 2521 00 spri2 pr6|204 000243 aa 6 00304 3521 00 epp2 pr6|196 000244 aa 6 00316 2521 00 spri2 pr6|206 000245 aa 6 00306 6211 00 eax1 pr6|198 000246 aa 020000 4310 07 fld 8192,dl 000247 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 000250 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 26 call trace_tables_$specify_entrypoint (codeptr (trace_repeat_dummy_), "trace_repeat_dummy_$trace_repeat_dummy_", 0, "0"b); 000251 aa 6 00044 3701 20 epp4 pr6|36,* 000252 la 4 00012 3521 20 epp2 pr4|10,* trace_repeat_dummy_ 000253 aa 6 00304 5421 00 sprp2 pr6|196 000254 aa 000047 2360 07 ldq 39,dl 000255 aa 6 00262 7561 00 stq pr6|178 000256 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 000257 aa 777620 00 0006 desc9a -112,ql 000076 = 164162141143 000260 aa 6 00263 00 0006 desc9a pr6|179,ql 000261 aa 6 00247 4501 00 stz pr6|167 000262 aa 000000 2350 07 lda 0,dl 000263 aa 6 00246 7551 00 sta pr6|166 000264 aa 6 00322 2521 00 spri2 pr6|210 000265 aa 6 00304 3521 00 epp2 pr6|196 000266 aa 6 00310 2521 00 spri2 pr6|200 000267 aa 6 00263 3521 00 epp2 pr6|179 000270 aa 6 00312 2521 00 spri2 pr6|202 000271 aa 6 00247 3521 00 epp2 pr6|167 000272 aa 6 00314 2521 00 spri2 pr6|204 000273 aa 6 00246 3521 00 epp2 pr6|166 000274 aa 6 00316 2521 00 spri2 pr6|206 000275 aa 6 00306 6211 00 eax1 pr6|198 000276 aa 020000 4310 07 fld 8192,dl 000277 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 000300 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 27 end; 000301 aa 000073 7100 04 tra 59,ic 000374 STATEMENT 1 ON LINE 28 else if compensation_kind_i = "recurse" then do; 000302 aa 777522 2370 04 ldaq -174,ic 000024 = 162145143165 162163145000 000303 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 000304 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 000305 aa 000002 6010 04 tnz 2,ic 000307 000306 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 000307 aa 000062 6010 04 tnz 50,ic 000371 STATEMENT 1 ON LINE 30 call trace_tables_$specify_entrypoint (codeptr (trace_recurse_), "trace_recurse_$trace_recurse_", 0, "0"b); 000310 aa 6 00044 3701 20 epp4 pr6|36,* 000311 la 4 00014 3521 20 epp2 pr4|12,* trace_recurse_ 000312 aa 6 00246 5421 00 sprp2 pr6|166 000313 aa 000035 2360 07 ldq 29,dl 000314 aa 6 00262 7561 00 stq pr6|178 000315 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 000316 aa 777551 00 0006 desc9a -151,ql 000066 = 164162141143 000317 aa 6 00263 00 0006 desc9a pr6|179,ql 000320 aa 6 00247 4501 00 stz pr6|167 000321 aa 000000 2350 07 lda 0,dl 000322 aa 6 00304 7551 00 sta pr6|196 000323 aa 6 00324 2521 00 spri2 pr6|212 000324 aa 6 00246 3521 00 epp2 pr6|166 000325 aa 6 00310 2521 00 spri2 pr6|200 000326 aa 6 00263 3521 00 epp2 pr6|179 000327 aa 6 00312 2521 00 spri2 pr6|202 000330 aa 6 00247 3521 00 epp2 pr6|167 000331 aa 6 00314 2521 00 spri2 pr6|204 000332 aa 6 00304 3521 00 epp2 pr6|196 000333 aa 6 00316 2521 00 spri2 pr6|206 000334 aa 6 00306 6211 00 eax1 pr6|198 000335 aa 020000 4310 07 fld 8192,dl 000336 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 000337 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 31 call trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), "trace_recurse_dummy_$trace_recurse_dummy_", 0, "0"b); 000340 aa 6 00044 3701 20 epp4 pr6|36,* 000341 la 4 00016 3521 20 epp2 pr4|14,* trace_recurse_dummy_ 000342 aa 6 00304 5421 00 sprp2 pr6|196 000343 aa 000051 2360 07 ldq 41,dl 000344 aa 6 00262 7561 00 stq pr6|178 000345 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 000346 aa 777543 00 0006 desc9a -157,ql 000110 = 164162141143 000347 aa 6 00263 00 0006 desc9a pr6|179,ql 000350 aa 6 00247 4501 00 stz pr6|167 000351 aa 000000 2350 07 lda 0,dl 000352 aa 6 00246 7551 00 sta pr6|166 000353 aa 6 00326 2521 00 spri2 pr6|214 000354 aa 6 00304 3521 00 epp2 pr6|196 000355 aa 6 00310 2521 00 spri2 pr6|200 000356 aa 6 00263 3521 00 epp2 pr6|179 000357 aa 6 00312 2521 00 spri2 pr6|202 000360 aa 6 00247 3521 00 epp2 pr6|167 000361 aa 6 00314 2521 00 spri2 pr6|204 000362 aa 6 00246 3521 00 epp2 pr6|166 000363 aa 6 00316 2521 00 spri2 pr6|206 000364 aa 6 00306 6211 00 eax1 pr6|198 000365 aa 020000 4310 07 fld 8192,dl 000366 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 000367 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 33 end; 000370 aa 000004 7100 04 tra 4,ic 000374 STATEMENT 1 ON LINE 34 else signal error; 000371 aa 000005 7260 07 lxl6 5,dl 000372 aa 777436 3520 04 epp2 -226,ic 000030 = 145162162157 000373 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 35 stop_routine_saved = trace_$stop_routine (); 000374 aa 6 00110 3521 00 epp2 pr6|72 stop_routine_saved 000375 aa 6 00252 2521 00 spri2 pr6|170 000376 aa 6 00250 6211 00 eax1 pr6|168 000377 aa 004000 4310 07 fld 2048,dl 000400 aa 6 00044 3701 20 epp4 pr6|36,* 000401 la 4 00056 3521 20 epp2 pr4|46,* trace_$stop_routine 000402 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 36 call trace_$set_stop_routine (SNAP_ENTRIES); 000403 aa 001600 3520 04 epp2 896,ic 002203 = 000140627000 000404 aa 6 00250 2521 00 spri2 pr6|168 cp.311 000405 aa 6 00252 6521 00 spri6 pr6|170 cp.311 000406 aa 6 00250 3521 00 epp2 pr6|168 cp.311 000407 aa 6 00256 2521 00 spri2 pr6|174 000410 aa 6 00254 6211 00 eax1 pr6|172 000411 aa 004000 4310 07 fld 2048,dl 000412 aa 6 00044 3701 20 epp4 pr6|36,* 000413 la 4 00060 3521 20 epp2 pr4|48,* trace_$set_stop_routine 000414 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 37 call trace_$set_enabled ("0"b); 000415 aa 000000 2350 07 lda 0,dl 000416 aa 6 00246 7551 00 sta pr6|166 000417 aa 6 00246 3521 00 epp2 pr6|166 000420 aa 6 00252 2521 00 spri2 pr6|170 000421 aa 6 00250 6211 00 eax1 pr6|168 000422 aa 004000 4310 07 fld 2048,dl 000423 aa 6 00044 3701 20 epp4 pr6|36,* 000424 la 4 00054 3521 20 epp2 pr4|44,* trace_$set_enabled 000425 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 38 call trace_$set_trace ("00"b); 000426 aa 000000 2350 07 lda 0,dl 000427 aa 6 00246 7551 00 sta pr6|166 000430 aa 6 00246 3521 00 epp2 pr6|166 000431 aa 6 00252 2521 00 spri2 pr6|170 000432 aa 6 00250 6211 00 eax1 pr6|168 000433 aa 004000 4310 07 fld 2048,dl 000434 aa 6 00044 3701 20 epp4 pr6|36,* 000435 la 4 00052 3521 20 epp2 pr4|42,* trace_$set_trace 000436 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 39 if ^trace_$update_global_parms () then signal error; 000437 aa 6 00246 3521 00 epp2 pr6|166 000440 aa 6 00252 2521 00 spri2 pr6|170 000441 aa 6 00250 6211 00 eax1 pr6|168 000442 aa 004000 4310 07 fld 2048,dl 000443 aa 6 00044 3701 20 epp4 pr6|36,* 000444 la 4 00026 3521 20 epp2 pr4|22,* trace_$update_global_parms 000445 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000446 aa 6 00246 2351 00 lda pr6|166 000447 aa 400000 3150 03 cana 131072,du 000450 aa 000004 6010 04 tnz 4,ic 000454 000451 aa 000005 7260 07 lxl6 5,dl 000452 aa 777356 3520 04 epp2 -274,ic 000030 = 145162162157 000453 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 41 call trace_$add_specified_eps (n_added, n_modified); 000454 aa 6 00101 3521 00 epp2 pr6|65 n_added 000455 aa 6 00256 2521 00 spri2 pr6|174 000456 aa 6 00102 3521 00 epp2 pr6|66 n_modified 000457 aa 6 00260 2521 00 spri2 pr6|176 000460 aa 6 00254 6211 00 eax1 pr6|172 000461 aa 010000 4310 07 fld 4096,dl 000462 aa 6 00044 3701 20 epp4 pr6|36,* 000463 la 4 00030 3521 20 epp2 pr4|24,* trace_$add_specified_eps 000464 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 42 if n_added ^= 2 | n_modified ^= 0 then signal error; 000465 aa 6 00101 2361 00 ldq pr6|65 n_added 000466 aa 000002 1160 07 cmpq 2,dl 000467 aa 000003 6010 04 tnz 3,ic 000472 000470 aa 6 00102 2361 00 ldq pr6|66 n_modified 000471 aa 000004 6000 04 tze 4,ic 000475 000472 aa 000005 7260 07 lxl6 5,dl 000473 aa 777335 3520 04 epp2 -291,ic 000030 = 145162162157 000474 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 44 if ^trace_$transaction_end (transaction_id) then signal error; 000475 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 000476 aa 6 00256 2521 00 spri2 pr6|174 000477 aa 6 00246 3521 00 epp2 pr6|166 000500 aa 6 00260 2521 00 spri2 pr6|176 000501 aa 6 00254 6211 00 eax1 pr6|172 000502 aa 010000 4310 07 fld 4096,dl 000503 aa 6 00044 3701 20 epp4 pr6|36,* 000504 la 4 00024 3521 20 epp2 pr4|20,* trace_$transaction_end 000505 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000506 aa 6 00246 2351 00 lda pr6|166 000507 aa 400000 3150 03 cana 131072,du 000510 aa 000004 6010 04 tnz 4,ic 000514 000511 aa 000005 7260 07 lxl6 5,dl 000512 aa 777316 3520 04 epp2 -306,ic 000030 = 145162162157 000513 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 47 total = 0; 000514 aa 777306 2370 04 ldaq -314,ic 000022 = 000000000000 000000000000 000515 aa 6 00170 7571 00 staq pr6|120 total.real_time 000516 aa 6 00172 7571 00 staq pr6|122 total.real_time 000517 aa 6 00174 7571 00 staq pr6|124 total.real_time 000520 aa 6 00176 7571 00 staq pr6|126 total.real_time 000521 aa 6 00200 7571 00 staq pr6|128 total.real_time 000522 aa 6 00202 7571 00 staq pr6|130 total.vcpu_time 000523 aa 6 00204 7571 00 staq pr6|132 total.real_time 000524 aa 6 00206 7571 00 staq pr6|134 total.vcpu_time 000525 aa 6 00210 7571 00 staq pr6|136 total.real_time 000526 aa 6 00212 7571 00 staq pr6|138 total.vcpu_time 000527 aa 6 00214 7571 00 staq pr6|140 total.real_time 000530 aa 6 00216 7571 00 staq pr6|142 total.vcpu_time STATEMENT 1 ON LINE 48 trials_vcpu_start = vclock (); 000531 aa 0 01436 7001 00 tsx0 pr0|798 vclock 000532 aa 6 00120 7571 00 staq pr6|80 trials_vcpu_start STATEMENT 1 ON LINE 50 TRIAL_LOOP: do total_trials = 0 by 1 while (total_trials < NUMBER_OF_TRIALS); 000533 aa 6 00115 4501 00 stz pr6|77 total_trials 000534 aa 6 00115 2361 00 ldq pr6|77 total_trials 000535 aa 000010 1160 07 cmpq 8,dl 000536 aa 001233 6050 04 tpl 667,ic 001771 STATEMENT 1 ON LINE 52 run.elapsed = 0; 000537 aa 777263 2370 04 ldaq -333,ic 000022 = 000000000000 000000000000 000540 aa 6 00134 7571 00 staq pr6|92 run.real_time 000541 aa 6 00136 7571 00 staq pr6|94 run.vcpu_time STATEMENT 1 ON LINE 54 NO_INTERRUPTION_LOOP: /* We are striving for perfection. */ do while (run.elapsed.real_time >= run.elapsed.vcpu_time); 000542 aa 6 00134 2371 00 ldaq pr6|92 run.real_time 000543 aa 6 00136 1171 00 cmpaq pr6|94 run.vcpu_time 000544 aa 001040 6040 04 tmi 544,ic 001604 STATEMENT 1 ON LINE 56 if vclock () - trials_vcpu_start > 2000000 then go to END_OF_TRIALS; 000545 aa 0 01436 7001 00 tsx0 pr0|798 vclock 000546 aa 6 00120 1771 00 sbaq pr6|80 trials_vcpu_start 000547 aa 6 00330 7571 00 staq pr6|216 000550 aa 777231 2350 04 lda -359,ic 000001 = 000007502200 000551 aa 000044 7330 00 lrs 36 000552 aa 6 00330 1171 00 cmpaq pr6|216 000553 aa 001216 6040 04 tmi 654,ic 001771 STATEMENT 1 ON LINE 59 run.start.vcpu_time = vclock (); 000554 aa 0 01436 7001 00 tsx0 pr0|798 vclock 000555 aa 6 00126 7571 00 staq pr6|86 run.vcpu_time STATEMENT 1 ON LINE 60 run.start.real_time = clock (); 000556 aa 0 01435 7001 00 tsx0 pr0|797 clock 000557 aa 6 00124 7571 00 staq pr6|84 run.real_time STATEMENT 1 ON LINE 62 if compensation_kind_i = "repeat" then do; 000560 aa 777246 2370 04 ldaq -346,ic 000026 = 162145160145 141164000000 000561 aa 0 00454 2771 00 oraq pr0|300 = 000000000000 000000040040 000562 aa 6 00032 3735 20 epp7 pr6|26,* 000563 aa 7 00002 3715 20 epp5 pr7|2,* 000564 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 000565 aa 000002 6010 04 tnz 2,ic 000567 000566 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 000567 aa 000032 6010 04 tnz 26,ic 000621 STATEMENT 1 ON LINE 64 call trace_repeat_ (NUMBER_OF_BASELINE_CALLS, trial.benchmark.baseline.entry.real_time, trial.benchmark.baseline.return.real_time); 000570 aa 777225 3520 04 epp2 -363,ic 000015 = 000000000002 000571 aa 6 00310 2521 00 spri2 pr6|200 000572 aa 6 00140 3521 00 epp2 pr6|96 trial.real_time 000573 aa 6 00312 2521 00 spri2 pr6|202 000574 aa 6 00142 3521 00 epp2 pr6|98 trial.real_time 000575 aa 6 00314 2521 00 spri2 pr6|204 000576 aa 6 00306 6211 00 eax1 pr6|198 000577 aa 014000 4310 07 fld 6144,dl 000600 aa 6 00044 3701 20 epp4 pr6|36,* 000601 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 000602 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 67 call trace_repeat_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, trial.benchmark.measure.entry.real_time, trial.benchmark.measure.return.real_time); 000603 aa 000022 2360 07 ldq 18,dl 000604 aa 6 00246 7561 00 stq pr6|166 000605 aa 6 00246 3521 00 epp2 pr6|166 000606 aa 6 00310 2521 00 spri2 pr6|200 000607 aa 6 00144 3521 00 epp2 pr6|100 trial.real_time 000610 aa 6 00312 2521 00 spri2 pr6|202 000611 aa 6 00146 3521 00 epp2 pr6|102 trial.real_time 000612 aa 6 00314 2521 00 spri2 pr6|204 000613 aa 6 00306 6211 00 eax1 pr6|198 000614 aa 014000 4310 07 fld 6144,dl 000615 aa 6 00044 3701 20 epp4 pr6|36,* 000616 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 000617 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 70 end; 000620 aa 000043 7100 04 tra 35,ic 000663 STATEMENT 1 ON LINE 71 else if compensation_kind_i = "recurse" then do; 000621 aa 777203 2370 04 ldaq -381,ic 000024 = 162145143165 162163145000 000622 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 000623 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 000624 aa 000002 6010 04 tnz 2,ic 000626 000625 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 000626 aa 000032 6010 04 tnz 26,ic 000660 STATEMENT 1 ON LINE 73 call trace_recurse_ (NUMBER_OF_BASELINE_CALLS, trial.benchmark.baseline.entry.real_time, trial.benchmark.baseline.return.real_time); 000627 aa 777166 3520 04 epp2 -394,ic 000015 = 000000000002 000630 aa 6 00310 2521 00 spri2 pr6|200 000631 aa 6 00140 3521 00 epp2 pr6|96 trial.real_time 000632 aa 6 00312 2521 00 spri2 pr6|202 000633 aa 6 00142 3521 00 epp2 pr6|98 trial.real_time 000634 aa 6 00314 2521 00 spri2 pr6|204 000635 aa 6 00306 6211 00 eax1 pr6|198 000636 aa 014000 4310 07 fld 6144,dl 000637 aa 6 00044 3701 20 epp4 pr6|36,* 000640 la 4 00014 3521 20 epp2 pr4|12,* trace_recurse_ 000641 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 76 call trace_recurse_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, trial.benchmark.measure.entry.real_time, trial.benchmark.measure.return.real_time); 000642 aa 000022 2360 07 ldq 18,dl 000643 aa 6 00246 7561 00 stq pr6|166 000644 aa 6 00246 3521 00 epp2 pr6|166 000645 aa 6 00310 2521 00 spri2 pr6|200 000646 aa 6 00144 3521 00 epp2 pr6|100 trial.real_time 000647 aa 6 00312 2521 00 spri2 pr6|202 000650 aa 6 00146 3521 00 epp2 pr6|102 trial.real_time 000651 aa 6 00314 2521 00 spri2 pr6|204 000652 aa 6 00306 6211 00 eax1 pr6|198 000653 aa 014000 4310 07 fld 6144,dl 000654 aa 6 00044 3701 20 epp4 pr6|36,* 000655 la 4 00014 3521 20 epp2 pr4|12,* trace_recurse_ 000656 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 79 end; 000657 aa 000004 7100 04 tra 4,ic 000663 STATEMENT 1 ON LINE 80 else signal error; 000660 aa 000005 7260 07 lxl6 5,dl 000661 aa 777147 3520 04 epp2 -409,ic 000030 = 145162162157 000662 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 82 transaction_id = clock (); 000663 aa 0 01435 7001 00 tsx0 pr0|797 clock 000664 aa 6 00116 7571 00 staq pr6|78 transaction_id STATEMENT 1 ON LINE 83 if ^trace_$transaction_begin (transaction_id) then signal error; 000665 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 000666 aa 6 00256 2521 00 spri2 pr6|174 000667 aa 6 00246 3521 00 epp2 pr6|166 000670 aa 6 00260 2521 00 spri2 pr6|176 000671 aa 6 00254 6211 00 eax1 pr6|172 000672 aa 010000 4310 07 fld 4096,dl 000673 aa 6 00044 3701 20 epp4 pr6|36,* 000674 la 4 00022 3521 20 epp2 pr4|18,* trace_$transaction_begin 000675 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000676 aa 6 00246 2351 00 lda pr6|166 000677 aa 400000 3150 03 cana 131072,du 000700 aa 000005 6010 04 tnz 5,ic 000705 000701 aa 000005 7260 07 lxl6 5,dl 000702 aa 777126 3520 04 epp2 -426,ic 000030 = 145162162157 000703 aa 0 00716 7001 00 tsx0 pr0|462 signal 000704 aa 000113 7100 04 tra 75,ic 001017 STATEMENT 1 ON LINE 85 else if compensation_kind_i = "recurse" then do; 000705 aa 777117 2370 04 ldaq -433,ic 000024 = 162145143165 162163145000 000706 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 000707 aa 6 00032 3735 20 epp7 pr6|26,* 000710 aa 7 00002 3715 20 epp5 pr7|2,* 000711 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 000712 aa 000002 6010 04 tnz 2,ic 000714 000713 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 000714 aa 000103 6010 04 tnz 67,ic 001017 STATEMENT 1 ON LINE 87 call trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), "trace_recurse_dummy_$trace_recurse_dummy_", 0, "0"b); 000715 aa 6 00044 3701 20 epp4 pr6|36,* 000716 la 4 00016 3521 20 epp2 pr4|14,* trace_recurse_dummy_ 000717 aa 6 00246 5421 00 sprp2 pr6|166 000720 aa 000051 2360 07 ldq 41,dl 000721 aa 6 00262 7561 00 stq pr6|178 000722 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 000723 aa 777166 00 0006 desc9a -394,ql 000110 = 164162141143 000724 aa 6 00263 00 0006 desc9a pr6|179,ql 000725 aa 6 00247 4501 00 stz pr6|167 000726 aa 000000 2350 07 lda 0,dl 000727 aa 6 00304 7551 00 sta pr6|196 000730 aa 6 00330 2521 00 spri2 pr6|216 000731 aa 6 00246 3521 00 epp2 pr6|166 000732 aa 6 00310 2521 00 spri2 pr6|200 000733 aa 6 00263 3521 00 epp2 pr6|179 000734 aa 6 00312 2521 00 spri2 pr6|202 000735 aa 6 00247 3521 00 epp2 pr6|167 000736 aa 6 00314 2521 00 spri2 pr6|204 000737 aa 6 00304 3521 00 epp2 pr6|196 000740 aa 6 00316 2521 00 spri2 pr6|206 000741 aa 6 00306 6211 00 eax1 pr6|198 000742 aa 020000 4310 07 fld 8192,dl 000743 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 000744 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 90 call trace_$set_trace ("00"b); 000745 aa 000000 2350 07 lda 0,dl 000746 aa 6 00304 7551 00 sta pr6|196 000747 aa 6 00304 3521 00 epp2 pr6|196 000750 aa 6 00252 2521 00 spri2 pr6|170 000751 aa 6 00250 6211 00 eax1 pr6|168 000752 aa 004000 4310 07 fld 2048,dl 000753 aa 6 00044 3701 20 epp4 pr6|36,* 000754 la 4 00052 3521 20 epp2 pr4|42,* trace_$set_trace 000755 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 91 call trace_$set_stop ("10"b); 000756 aa 400000 2350 03 lda 131072,du 000757 aa 6 00304 7551 00 sta pr6|196 000760 aa 6 00304 3521 00 epp2 pr6|196 000761 aa 6 00252 2521 00 spri2 pr6|170 000762 aa 6 00250 6211 00 eax1 pr6|168 000763 aa 004000 4310 07 fld 2048,dl 000764 aa 6 00044 3701 20 epp4 pr6|36,* 000765 la 4 00046 3521 20 epp2 pr4|38,* trace_$set_stop 000766 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 92 call trace_$set_stop_every (NUMBER_OF_BASELINE_CALLS); 000767 aa 777026 3520 04 epp2 -490,ic 000015 = 000000000002 000770 aa 6 00252 2521 00 spri2 pr6|170 000771 aa 6 00250 6211 00 eax1 pr6|168 000772 aa 004000 4310 07 fld 2048,dl 000773 aa 6 00044 3701 20 epp4 pr6|36,* 000774 la 4 00050 3521 20 epp2 pr4|40,* trace_$set_stop_every 000775 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 93 call trace_$add_specified_eps (n_added, n_modified); 000776 aa 6 00101 3521 00 epp2 pr6|65 n_added 000777 aa 6 00256 2521 00 spri2 pr6|174 001000 aa 6 00102 3521 00 epp2 pr6|66 n_modified 001001 aa 6 00260 2521 00 spri2 pr6|176 001002 aa 6 00254 6211 00 eax1 pr6|172 001003 aa 010000 4310 07 fld 4096,dl 001004 aa 6 00044 3701 20 epp4 pr6|36,* 001005 la 4 00030 3521 20 epp2 pr4|24,* trace_$add_specified_eps 001006 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 94 if n_added ^= 0 | n_modified ^= 1 then signal error; 001007 aa 6 00101 2361 00 ldq pr6|65 n_added 001010 aa 000004 6010 04 tnz 4,ic 001014 001011 aa 6 00102 2361 00 ldq pr6|66 n_modified 001012 aa 000001 1160 07 cmpq 1,dl 001013 aa 000004 6000 04 tze 4,ic 001017 001014 aa 000005 7260 07 lxl6 5,dl 001015 aa 777013 3520 04 epp2 -501,ic 000030 = 145162162157 001016 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 96 end; STATEMENT 1 ON LINE 97 call trace_$set_enabled ("1"b); 001017 aa 400000 2350 03 lda 131072,du 001020 aa 6 00304 7551 00 sta pr6|196 001021 aa 6 00304 3521 00 epp2 pr6|196 001022 aa 6 00252 2521 00 spri2 pr6|170 001023 aa 6 00250 6211 00 eax1 pr6|168 001024 aa 004000 4310 07 fld 2048,dl 001025 aa 6 00044 3701 20 epp4 pr6|36,* 001026 la 4 00054 3521 20 epp2 pr4|44,* trace_$set_enabled 001027 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 98 if ^trace_$update_global_parms () then signal error; 001030 aa 6 00304 3521 00 epp2 pr6|196 001031 aa 6 00252 2521 00 spri2 pr6|170 001032 aa 6 00250 6211 00 eax1 pr6|168 001033 aa 004000 4310 07 fld 2048,dl 001034 aa 6 00044 3701 20 epp4 pr6|36,* 001035 la 4 00026 3521 20 epp2 pr4|22,* trace_$update_global_parms 001036 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001037 aa 6 00304 2351 00 lda pr6|196 001040 aa 400000 3150 03 cana 131072,du 001041 aa 000004 6010 04 tnz 4,ic 001045 001042 aa 000005 7260 07 lxl6 5,dl 001043 aa 776765 3520 04 epp2 -523,ic 000030 = 145162162157 001044 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 100 call trace_$reset_meters (); 001045 aa 6 00056 6211 00 eax1 pr6|46 001046 aa 000000 4310 07 fld 0,dl 001047 aa 6 00044 3701 20 epp4 pr6|36,* 001050 la 4 00036 3521 20 epp2 pr4|30,* trace_$reset_meters 001051 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 101 if ^trace_$transaction_end (transaction_id) then signal error; 001052 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001053 aa 6 00256 2521 00 spri2 pr6|174 001054 aa 6 00304 3521 00 epp2 pr6|196 001055 aa 6 00260 2521 00 spri2 pr6|176 001056 aa 6 00254 6211 00 eax1 pr6|172 001057 aa 010000 4310 07 fld 4096,dl 001060 aa 6 00044 3701 20 epp4 pr6|36,* 001061 la 4 00024 3521 20 epp2 pr4|20,* trace_$transaction_end 001062 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001063 aa 6 00304 2351 00 lda pr6|196 001064 aa 400000 3150 03 cana 131072,du 001065 aa 000004 6010 04 tnz 4,ic 001071 001066 aa 000005 7260 07 lxl6 5,dl 001067 aa 776741 3520 04 epp2 -543,ic 000030 = 145162162157 001070 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 104 if compensation_kind_i = "repeat" then call trace_repeat_ (NUMBER_OF_BASELINE_CALLS, not_used (1), not_used (2)); 001071 aa 776735 2370 04 ldaq -547,ic 000026 = 162145160145 141164000000 001072 aa 0 00454 2771 00 oraq pr0|300 = 000000000000 000000040040 001073 aa 6 00032 3735 20 epp7 pr6|26,* 001074 aa 7 00002 3715 20 epp5 pr7|2,* 001075 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 001076 aa 000002 6010 04 tnz 2,ic 001100 001077 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 001100 aa 000015 6010 04 tnz 13,ic 001115 001101 aa 776714 3520 04 epp2 -564,ic 000015 = 000000000002 001102 aa 6 00310 2521 00 spri2 pr6|200 001103 aa 6 00104 3521 00 epp2 pr6|68 not_used 001104 aa 6 00312 2521 00 spri2 pr6|202 001105 aa 6 00106 3521 00 epp2 pr6|70 not_used 001106 aa 6 00314 2521 00 spri2 pr6|204 001107 aa 6 00306 6211 00 eax1 pr6|198 001110 aa 014000 4310 07 fld 6144,dl 001111 aa 6 00044 3701 20 epp4 pr6|36,* 001112 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 001113 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001114 aa 000026 7100 04 tra 22,ic 001142 STATEMENT 1 ON LINE 106 else if compensation_kind_i = "recurse" then call trace_recurse_ (NUMBER_OF_BASELINE_CALLS, not_used (1), not_used (2)); 001115 aa 776707 2370 04 ldaq -569,ic 000024 = 162145143165 162163145000 001116 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 001117 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 001120 aa 000002 6010 04 tnz 2,ic 001122 001121 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 001122 aa 000015 6010 04 tnz 13,ic 001137 001123 aa 776672 3520 04 epp2 -582,ic 000015 = 000000000002 001124 aa 6 00310 2521 00 spri2 pr6|200 001125 aa 6 00104 3521 00 epp2 pr6|68 not_used 001126 aa 6 00312 2521 00 spri2 pr6|202 001127 aa 6 00106 3521 00 epp2 pr6|70 not_used 001130 aa 6 00314 2521 00 spri2 pr6|204 001131 aa 6 00306 6211 00 eax1 pr6|198 001132 aa 014000 4310 07 fld 6144,dl 001133 aa 6 00044 3701 20 epp4 pr6|36,* 001134 la 4 00014 3521 20 epp2 pr4|12,* trace_recurse_ 001135 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001136 aa 000004 7100 04 tra 4,ic 001142 STATEMENT 1 ON LINE 108 else signal error; 001137 aa 000005 7260 07 lxl6 5,dl 001140 aa 776670 3520 04 epp2 -584,ic 000030 = 145162162157 001141 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 110 transaction_id = clock (); 001142 aa 0 01435 7001 00 tsx0 pr0|797 clock 001143 aa 6 00116 7571 00 staq pr6|78 transaction_id STATEMENT 1 ON LINE 111 if ^trace_$transaction_begin (transaction_id) then signal error; 001144 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001145 aa 6 00256 2521 00 spri2 pr6|174 001146 aa 6 00304 3521 00 epp2 pr6|196 001147 aa 6 00260 2521 00 spri2 pr6|176 001150 aa 6 00254 6211 00 eax1 pr6|172 001151 aa 010000 4310 07 fld 4096,dl 001152 aa 6 00044 3701 20 epp4 pr6|36,* 001153 la 4 00022 3521 20 epp2 pr4|18,* trace_$transaction_begin 001154 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001155 aa 6 00304 2351 00 lda pr6|196 001156 aa 400000 3150 03 cana 131072,du 001157 aa 000004 6010 04 tnz 4,ic 001163 001160 aa 000005 7260 07 lxl6 5,dl 001161 aa 776647 3520 04 epp2 -601,ic 000030 = 145162162157 001162 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 113 do tt_idx = 0 to 1; 001163 aa 6 00122 4501 00 stz pr6|82 tt_idx 001164 aa 6 00122 2361 00 ldq pr6|82 tt_idx 001165 aa 000001 1160 07 cmpq 1,dl 001166 aa 000214 6054 04 tpnz 140,ic 001402 STATEMENT 1 ON LINE 114 meters = trace_$entrypoint_local_meters (tt_idx); 001167 aa 6 00122 3521 00 epp2 pr6|82 tt_idx 001170 aa 6 00310 2521 00 spri2 pr6|200 001171 aa 6 00254 3521 00 epp2 pr6|172 001172 aa 6 00312 2521 00 spri2 pr6|202 001173 aa 6 00306 6211 00 eax1 pr6|198 001174 aa 010000 4310 07 fld 4096,dl 001175 aa 6 00044 3701 20 epp4 pr6|36,* 001176 la 4 00034 3521 20 epp2 pr4|28,* trace_$entrypoint_local_meters 001177 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001200 aa 6 00254 2371 00 ldaq pr6|172 001201 aa 6 00234 7571 00 staq pr6|156 meters 001202 aa 6 00256 2371 00 ldaq pr6|174 001203 aa 6 00236 7571 00 staq pr6|158 meters 001204 aa 6 00260 2351 00 lda pr6|176 001205 aa 6 00240 7551 00 sta pr6|160 meters STATEMENT 1 ON LINE 115 entry_ptr = trace_$entrypoint_ptr (tt_idx); 001206 aa 6 00122 3521 00 epp2 pr6|82 tt_idx 001207 aa 6 00256 2521 00 spri2 pr6|174 001210 aa 6 00332 3521 00 epp2 pr6|218 001211 aa 6 00260 2521 00 spri2 pr6|176 001212 aa 6 00254 6211 00 eax1 pr6|172 001213 aa 010000 4310 07 fld 4096,dl 001214 aa 6 00044 3701 20 epp4 pr6|36,* 001215 la 4 00040 3521 20 epp2 pr4|32,* trace_$entrypoint_ptr 001216 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001217 aa 6 00332 3735 20 epp7 pr6|218,* 001220 aa 6 00100 5471 00 sprp7 pr6|64 entry_ptr STATEMENT 1 ON LINE 116 if entry_ptr = codeptr (trace_repeat_) then do; 001221 aa 6 00044 3701 20 epp4 pr6|36,* 001222 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 001223 aa 6 00334 2521 00 spri2 pr6|220 001224 aa 6 00334 2371 00 ldaq pr6|220 001225 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001226 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001227 aa 000006 6010 04 tnz 6,ic 001235 STATEMENT 1 ON LINE 118 trial.meter.baseline.return.real_time = meters.real_time; 001230 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001231 aa 6 00154 7571 00 staq pr6|108 trial.real_time STATEMENT 1 ON LINE 119 trial.meter.baseline.return.vcpu_time = meters.vcpu_time; 001232 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001233 aa 6 00156 7571 00 staq pr6|110 trial.vcpu_time STATEMENT 1 ON LINE 120 end; 001234 aa 000144 7100 04 tra 100,ic 001400 STATEMENT 1 ON LINE 121 else if entry_ptr = codeptr (trace_repeat_dummy_) then do; 001235 la 4 00012 3521 20 epp2 pr4|10,* trace_repeat_dummy_ 001236 aa 6 00336 2521 00 spri2 pr6|222 001237 aa 6 00336 2371 00 ldaq pr6|222 001240 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001241 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001242 aa 000006 6010 04 tnz 6,ic 001250 STATEMENT 1 ON LINE 123 trial.meter.baseline.entry.real_time = meters.real_time; 001243 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001244 aa 6 00150 7571 00 staq pr6|104 trial.real_time STATEMENT 1 ON LINE 124 trial.meter.baseline.entry.vcpu_time = meters.vcpu_time; 001245 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001246 aa 6 00152 7571 00 staq pr6|106 trial.vcpu_time STATEMENT 1 ON LINE 125 end; 001247 aa 000131 7100 04 tra 89,ic 001400 STATEMENT 1 ON LINE 126 else if entry_ptr = codeptr (trace_recurse_) then ; 001250 la 4 00014 3515 20 epp1 pr4|12,* trace_recurse_ 001251 aa 6 00340 2515 00 spri1 pr6|224 001252 aa 6 00340 2371 00 ldaq pr6|224 001253 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001254 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001255 aa 000002 6010 04 tnz 2,ic 001257 001256 aa 000122 7100 04 tra 82,ic 001400 STATEMENT 1 ON LINE 128 else if entry_ptr = codeptr (trace_recurse_dummy_) then do; 001257 la 4 00016 3535 20 epp3 pr4|14,* trace_recurse_dummy_ 001260 aa 6 00342 2535 00 spri3 pr6|226 001261 aa 6 00342 2371 00 ldaq pr6|226 001262 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001263 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001264 aa 000111 6010 04 tnz 73,ic 001375 STATEMENT 1 ON LINE 130 trial.meter.baseline.return.real_time = meters.real_time - trial.meter.baseline.entry.real_time; 001265 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001266 aa 6 00150 1771 00 sbaq pr6|104 trial.real_time 001267 aa 6 00154 7571 00 staq pr6|108 trial.real_time STATEMENT 1 ON LINE 131 trial.meter.baseline.return.vcpu_time = meters.vcpu_time - trial.meter.baseline.entry.vcpu_time; 001270 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001271 aa 6 00152 1771 00 sbaq pr6|106 trial.vcpu_time 001272 aa 6 00156 7571 00 staq pr6|110 trial.vcpu_time STATEMENT 1 ON LINE 132 call trace_tables_$specify_entrypoint (codeptr (trace_recurse_dummy_), "trace_recurse_dummy_$trace_recurse_dummy_", 0, "0"b); 001273 aa 6 00304 5431 00 sprp3 pr6|196 001274 aa 000051 2360 07 ldq 41,dl 001275 aa 6 00262 7561 00 stq pr6|178 001276 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 001277 aa 776612 00 0006 desc9a -630,ql 000110 = 164162141143 001300 aa 6 00263 00 0006 desc9a pr6|179,ql 001301 aa 6 00247 4501 00 stz pr6|167 001302 aa 000000 2350 07 lda 0,dl 001303 aa 6 00246 7551 00 sta pr6|166 001304 aa 6 00304 3521 00 epp2 pr6|196 001305 aa 6 00310 2521 00 spri2 pr6|200 001306 aa 6 00263 3521 00 epp2 pr6|179 001307 aa 6 00312 2521 00 spri2 pr6|202 001310 aa 6 00247 3521 00 epp2 pr6|167 001311 aa 6 00314 2521 00 spri2 pr6|204 001312 aa 6 00246 3521 00 epp2 pr6|166 001313 aa 6 00316 2521 00 spri2 pr6|206 001314 aa 6 00306 6211 00 eax1 pr6|198 001315 aa 020000 4310 07 fld 8192,dl 001316 la 4 00020 3521 20 epp2 pr4|16,* trace_tables_$specify_entrypoint 001317 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 135 call trace_$set_trace ("00"b); 001320 aa 000000 2350 07 lda 0,dl 001321 aa 6 00246 7551 00 sta pr6|166 001322 aa 6 00246 3521 00 epp2 pr6|166 001323 aa 6 00252 2521 00 spri2 pr6|170 001324 aa 6 00250 6211 00 eax1 pr6|168 001325 aa 004000 4310 07 fld 2048,dl 001326 aa 6 00044 3701 20 epp4 pr6|36,* 001327 la 4 00052 3521 20 epp2 pr4|42,* trace_$set_trace 001330 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 136 call trace_$set_stop ("10"b); 001331 aa 400000 2350 03 lda 131072,du 001332 aa 6 00246 7551 00 sta pr6|166 001333 aa 6 00246 3521 00 epp2 pr6|166 001334 aa 6 00252 2521 00 spri2 pr6|170 001335 aa 6 00250 6211 00 eax1 pr6|168 001336 aa 004000 4310 07 fld 2048,dl 001337 aa 6 00044 3701 20 epp4 pr6|36,* 001340 la 4 00046 3521 20 epp2 pr4|38,* trace_$set_stop 001341 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 137 call trace_$set_stop_every (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS); 001342 aa 000022 2360 07 ldq 18,dl 001343 aa 6 00246 7561 00 stq pr6|166 001344 aa 6 00246 3521 00 epp2 pr6|166 001345 aa 6 00252 2521 00 spri2 pr6|170 001346 aa 6 00250 6211 00 eax1 pr6|168 001347 aa 004000 4310 07 fld 2048,dl 001350 aa 6 00044 3701 20 epp4 pr6|36,* 001351 la 4 00050 3521 20 epp2 pr4|40,* trace_$set_stop_every 001352 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 138 call trace_$add_specified_eps (n_added, n_modified); 001353 aa 6 00101 3521 00 epp2 pr6|65 n_added 001354 aa 6 00256 2521 00 spri2 pr6|174 001355 aa 6 00102 3521 00 epp2 pr6|66 n_modified 001356 aa 6 00260 2521 00 spri2 pr6|176 001357 aa 6 00254 6211 00 eax1 pr6|172 001360 aa 010000 4310 07 fld 4096,dl 001361 aa 6 00044 3701 20 epp4 pr6|36,* 001362 la 4 00030 3521 20 epp2 pr4|24,* trace_$add_specified_eps 001363 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 139 if n_added ^= 0 | n_modified ^= 1 then signal error; 001364 aa 6 00101 2361 00 ldq pr6|65 n_added 001365 aa 000004 6010 04 tnz 4,ic 001371 001366 aa 6 00102 2361 00 ldq pr6|66 n_modified 001367 aa 000001 1160 07 cmpq 1,dl 001370 aa 000010 6000 04 tze 8,ic 001400 001371 aa 000005 7260 07 lxl6 5,dl 001372 aa 776436 3520 04 epp2 -738,ic 000030 = 145162162157 001373 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 141 end; 001374 aa 000004 7100 04 tra 4,ic 001400 STATEMENT 1 ON LINE 142 else signal error; 001375 aa 000005 7260 07 lxl6 5,dl 001376 aa 776432 3520 04 epp2 -742,ic 000030 = 145162162157 001377 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 143 end; 001400 aa 6 00122 0541 00 aos pr6|82 tt_idx 001401 aa 777563 7100 04 tra -141,ic 001164 STATEMENT 1 ON LINE 144 call trace_$reset_meters (); 001402 aa 6 00056 6211 00 eax1 pr6|46 001403 aa 000000 4310 07 fld 0,dl 001404 aa 6 00044 3701 20 epp4 pr6|36,* 001405 la 4 00036 3521 20 epp2 pr4|30,* trace_$reset_meters 001406 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 145 if ^trace_$transaction_end (transaction_id) then signal error; 001407 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001410 aa 6 00256 2521 00 spri2 pr6|174 001411 aa 6 00246 3521 00 epp2 pr6|166 001412 aa 6 00260 2521 00 spri2 pr6|176 001413 aa 6 00254 6211 00 eax1 pr6|172 001414 aa 010000 4310 07 fld 4096,dl 001415 aa 6 00044 3701 20 epp4 pr6|36,* 001416 la 4 00024 3521 20 epp2 pr4|20,* trace_$transaction_end 001417 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001420 aa 6 00246 2351 00 lda pr6|166 001421 aa 400000 3150 03 cana 131072,du 001422 aa 000004 6010 04 tnz 4,ic 001426 001423 aa 000005 7260 07 lxl6 5,dl 001424 aa 776404 3520 04 epp2 -764,ic 000030 = 145162162157 001425 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 148 if compensation_kind_i = "repeat" then call trace_repeat_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, not_used (1), not_used (2)); 001426 aa 776400 2370 04 ldaq -768,ic 000026 = 162145160145 141164000000 001427 aa 0 00454 2771 00 oraq pr0|300 = 000000000000 000000040040 001430 aa 6 00032 3735 20 epp7 pr6|26,* 001431 aa 7 00002 3715 20 epp5 pr7|2,* 001432 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 001433 aa 000002 6010 04 tnz 2,ic 001435 001434 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 001435 aa 000017 6010 04 tnz 15,ic 001454 001436 aa 000022 2360 07 ldq 18,dl 001437 aa 6 00246 7561 00 stq pr6|166 001440 aa 6 00246 3521 00 epp2 pr6|166 001441 aa 6 00310 2521 00 spri2 pr6|200 001442 aa 6 00104 3521 00 epp2 pr6|68 not_used 001443 aa 6 00312 2521 00 spri2 pr6|202 001444 aa 6 00106 3521 00 epp2 pr6|70 not_used 001445 aa 6 00314 2521 00 spri2 pr6|204 001446 aa 6 00306 6211 00 eax1 pr6|198 001447 aa 014000 4310 07 fld 6144,dl 001450 aa 6 00044 3701 20 epp4 pr6|36,* 001451 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 001452 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001453 aa 000030 7100 04 tra 24,ic 001503 STATEMENT 1 ON LINE 150 else if compensation_kind_i = "recurse" then call trace_recurse_ (NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS, not_used (1), not_used (2)); 001454 aa 776350 2370 04 ldaq -792,ic 000024 = 162145143165 162163145000 001455 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 001456 aa 5 00000 1151 00 cmpa pr5|0 compensation_kind_i 001457 aa 000002 6010 04 tnz 2,ic 001461 001460 aa 5 00001 1161 00 cmpq pr5|1 compensation_kind_i 001461 aa 000017 6010 04 tnz 15,ic 001500 001462 aa 000022 2360 07 ldq 18,dl 001463 aa 6 00246 7561 00 stq pr6|166 001464 aa 6 00246 3521 00 epp2 pr6|166 001465 aa 6 00310 2521 00 spri2 pr6|200 001466 aa 6 00104 3521 00 epp2 pr6|68 not_used 001467 aa 6 00312 2521 00 spri2 pr6|202 001470 aa 6 00106 3521 00 epp2 pr6|70 not_used 001471 aa 6 00314 2521 00 spri2 pr6|204 001472 aa 6 00306 6211 00 eax1 pr6|198 001473 aa 014000 4310 07 fld 6144,dl 001474 aa 6 00044 3701 20 epp4 pr6|36,* 001475 la 4 00014 3521 20 epp2 pr4|12,* trace_recurse_ 001476 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001477 aa 000004 7100 04 tra 4,ic 001503 STATEMENT 1 ON LINE 152 else signal error; 001500 aa 000005 7260 07 lxl6 5,dl 001501 aa 776327 3520 04 epp2 -809,ic 000030 = 145162162157 001502 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 154 run.stop.real_time = clock (); 001503 aa 0 01435 7001 00 tsx0 pr0|797 clock 001504 aa 6 00130 7571 00 staq pr6|88 run.real_time STATEMENT 1 ON LINE 155 run.stop.vcpu_time = vclock (); 001505 aa 0 01436 7001 00 tsx0 pr0|798 vclock 001506 aa 6 00132 7571 00 staq pr6|90 run.vcpu_time STATEMENT 1 ON LINE 157 run.elapsed = run.stop - run.start; 001507 aa 6 00130 2371 00 ldaq pr6|88 run.real_time 001510 aa 6 00124 1771 00 sbaq pr6|84 run.real_time 001511 aa 6 00134 7571 00 staq pr6|92 run.real_time 001512 aa 6 00132 2371 00 ldaq pr6|90 run.vcpu_time 001513 aa 6 00126 1771 00 sbaq pr6|86 run.vcpu_time 001514 aa 6 00136 7571 00 staq pr6|94 run.vcpu_time STATEMENT 1 ON LINE 159 transaction_id = clock (); 001515 aa 0 01435 7001 00 tsx0 pr0|797 clock 001516 aa 6 00116 7571 00 staq pr6|78 transaction_id STATEMENT 1 ON LINE 160 if ^trace_$transaction_begin (transaction_id) then signal error; 001517 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001520 aa 6 00256 2521 00 spri2 pr6|174 001521 aa 6 00246 3521 00 epp2 pr6|166 001522 aa 6 00260 2521 00 spri2 pr6|176 001523 aa 6 00254 6211 00 eax1 pr6|172 001524 aa 010000 4310 07 fld 4096,dl 001525 aa 6 00044 3701 20 epp4 pr6|36,* 001526 la 4 00022 3521 20 epp2 pr4|18,* trace_$transaction_begin 001527 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001530 aa 6 00246 2351 00 lda pr6|166 001531 aa 400000 3150 03 cana 131072,du 001532 aa 000004 6010 04 tnz 4,ic 001536 001533 aa 000005 7260 07 lxl6 5,dl 001534 aa 776274 3520 04 epp2 -836,ic 000030 = 145162162157 001535 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 162 call trace_$set_enabled ("0"b); 001536 aa 000000 2350 07 lda 0,dl 001537 aa 6 00246 7551 00 sta pr6|166 001540 aa 6 00246 3521 00 epp2 pr6|166 001541 aa 6 00252 2521 00 spri2 pr6|170 001542 aa 6 00250 6211 00 eax1 pr6|168 001543 aa 004000 4310 07 fld 2048,dl 001544 aa 6 00044 3701 20 epp4 pr6|36,* 001545 la 4 00054 3521 20 epp2 pr4|44,* trace_$set_enabled 001546 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 163 if ^trace_$update_global_parms () then signal error; 001547 aa 6 00246 3521 00 epp2 pr6|166 001550 aa 6 00252 2521 00 spri2 pr6|170 001551 aa 6 00250 6211 00 eax1 pr6|168 001552 aa 004000 4310 07 fld 2048,dl 001553 aa 6 00044 3701 20 epp4 pr6|36,* 001554 la 4 00026 3521 20 epp2 pr4|22,* trace_$update_global_parms 001555 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001556 aa 6 00246 2351 00 lda pr6|166 001557 aa 400000 3150 03 cana 131072,du 001560 aa 000004 6010 04 tnz 4,ic 001564 001561 aa 000005 7260 07 lxl6 5,dl 001562 aa 776246 3520 04 epp2 -858,ic 000030 = 145162162157 001563 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 165 if ^trace_$transaction_end (transaction_id) then signal error; 001564 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001565 aa 6 00256 2521 00 spri2 pr6|174 001566 aa 6 00246 3521 00 epp2 pr6|166 001567 aa 6 00260 2521 00 spri2 pr6|176 001570 aa 6 00254 6211 00 eax1 pr6|172 001571 aa 010000 4310 07 fld 4096,dl 001572 aa 6 00044 3701 20 epp4 pr6|36,* 001573 la 4 00024 3521 20 epp2 pr4|20,* trace_$transaction_end 001574 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001575 aa 6 00246 2351 00 lda pr6|166 001576 aa 400000 3150 03 cana 131072,du 001577 aa 776743 6010 04 tnz -541,ic 000542 001600 aa 000005 7260 07 lxl6 5,dl 001601 aa 776227 3520 04 epp2 -873,ic 000030 = 145162162157 001602 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 167 end NO_INTERRUPTION_LOOP; 001603 aa 776737 7100 04 tra -545,ic 000542 STATEMENT 1 ON LINE 170 do tt_idx = 0 to 1; 001604 aa 6 00122 4501 00 stz pr6|82 tt_idx 001605 aa 000000 0110 03 nop 0,du 001606 aa 6 00122 2361 00 ldq pr6|82 tt_idx 001607 aa 000001 1160 07 cmpq 1,dl 001610 aa 000113 6054 04 tpnz 75,ic 001723 STATEMENT 1 ON LINE 171 entry_ptr = trace_$entrypoint_ptr (tt_idx); 001611 aa 6 00122 3521 00 epp2 pr6|82 tt_idx 001612 aa 6 00256 2521 00 spri2 pr6|174 001613 aa 6 00344 3521 00 epp2 pr6|228 001614 aa 6 00260 2521 00 spri2 pr6|176 001615 aa 6 00254 6211 00 eax1 pr6|172 001616 aa 010000 4310 07 fld 4096,dl 001617 aa 6 00044 3701 20 epp4 pr6|36,* 001620 la 4 00040 3521 20 epp2 pr4|32,* trace_$entrypoint_ptr 001621 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001622 aa 6 00344 3735 20 epp7 pr6|228,* 001623 aa 6 00100 5471 00 sprp7 pr6|64 entry_ptr STATEMENT 1 ON LINE 172 meters = trace_$entrypoint_local_meters (tt_idx); 001624 aa 6 00122 3521 00 epp2 pr6|82 tt_idx 001625 aa 6 00310 2521 00 spri2 pr6|200 001626 aa 6 00254 3521 00 epp2 pr6|172 001627 aa 6 00312 2521 00 spri2 pr6|202 001630 aa 6 00306 6211 00 eax1 pr6|198 001631 aa 010000 4310 07 fld 4096,dl 001632 aa 6 00044 3701 20 epp4 pr6|36,* 001633 la 4 00034 3521 20 epp2 pr4|28,* trace_$entrypoint_local_meters 001634 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001635 aa 6 00254 2371 00 ldaq pr6|172 001636 aa 6 00234 7571 00 staq pr6|156 meters 001637 aa 6 00256 2371 00 ldaq pr6|174 001640 aa 6 00236 7571 00 staq pr6|158 meters 001641 aa 6 00260 2351 00 lda pr6|176 001642 aa 6 00240 7551 00 sta pr6|160 meters STATEMENT 1 ON LINE 174 if entry_ptr = codeptr (trace_repeat_) then do; 001643 aa 6 00044 3701 20 epp4 pr6|36,* 001644 la 4 00010 3521 20 epp2 pr4|8,* trace_repeat_ 001645 aa 6 00346 2521 00 spri2 pr6|230 001646 aa 6 00346 2371 00 ldaq pr6|230 001647 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001650 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001651 aa 000006 6010 04 tnz 6,ic 001657 STATEMENT 1 ON LINE 176 trial.meter.measure.return.real_time = meters.real_time; 001652 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001653 aa 6 00164 7571 00 staq pr6|116 trial.real_time STATEMENT 1 ON LINE 177 trial.meter.measure.return.vcpu_time = meters.vcpu_time; 001654 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001655 aa 6 00166 7571 00 staq pr6|118 trial.vcpu_time STATEMENT 1 ON LINE 178 end; 001656 aa 000043 7100 04 tra 35,ic 001721 STATEMENT 1 ON LINE 179 else if entry_ptr = codeptr (trace_repeat_dummy_) then do; 001657 la 4 00012 3521 20 epp2 pr4|10,* trace_repeat_dummy_ 001660 aa 6 00350 2521 00 spri2 pr6|232 001661 aa 6 00350 2371 00 ldaq pr6|232 001662 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001663 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001664 aa 000006 6010 04 tnz 6,ic 001672 STATEMENT 1 ON LINE 181 trial.meter.measure.entry.real_time = meters.real_time; 001665 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001666 aa 6 00160 7571 00 staq pr6|112 trial.real_time STATEMENT 1 ON LINE 182 trial.meter.measure.entry.vcpu_time = meters.vcpu_time; 001667 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001670 aa 6 00162 7571 00 staq pr6|114 trial.vcpu_time STATEMENT 1 ON LINE 183 end; 001671 aa 000030 7100 04 tra 24,ic 001721 STATEMENT 1 ON LINE 184 else if entry_ptr = codeptr (trace_recurse_) then ; 001672 la 4 00014 3515 20 epp1 pr4|12,* trace_recurse_ 001673 aa 6 00352 2515 00 spri1 pr6|234 001674 aa 6 00352 2371 00 ldaq pr6|234 001675 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001676 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001677 aa 000002 6010 04 tnz 2,ic 001701 001700 aa 000021 7100 04 tra 17,ic 001721 STATEMENT 1 ON LINE 186 else if entry_ptr = codeptr (trace_recurse_dummy_) then do; 001701 la 4 00016 3535 20 epp3 pr4|14,* trace_recurse_dummy_ 001702 aa 6 00354 2535 00 spri3 pr6|236 001703 aa 6 00354 2371 00 ldaq pr6|236 001704 aa 0 00560 7001 00 tsx0 pr0|368 unpk_to_pk 001705 aa 6 00100 1161 00 cmpq pr6|64 entry_ptr 001706 aa 000010 6010 04 tnz 8,ic 001716 STATEMENT 1 ON LINE 188 trial.meter.measure.return.real_time = meters.real_time - trial.meter.measure.entry.real_time; 001707 aa 6 00234 2371 00 ldaq pr6|156 meters.real_time 001710 aa 6 00160 1771 00 sbaq pr6|112 trial.real_time 001711 aa 6 00164 7571 00 staq pr6|116 trial.real_time STATEMENT 1 ON LINE 189 trial.meter.measure.return.vcpu_time = meters.vcpu_time - trial.meter.measure.entry.vcpu_time; 001712 aa 6 00236 2371 00 ldaq pr6|158 meters.vcpu_time 001713 aa 6 00162 1771 00 sbaq pr6|114 trial.vcpu_time 001714 aa 6 00166 7571 00 staq pr6|118 trial.vcpu_time STATEMENT 1 ON LINE 190 end; 001715 aa 000004 7100 04 tra 4,ic 001721 STATEMENT 1 ON LINE 191 else signal error; 001716 aa 000005 7260 07 lxl6 5,dl 001717 aa 776111 3520 04 epp2 -951,ic 000030 = 145162162157 001720 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 192 end; 001721 aa 6 00122 0541 00 aos pr6|82 tt_idx 001722 aa 777664 7100 04 tra -76,ic 001606 STATEMENT 1 ON LINE 194 total = total + trial; 001723 aa 6 00170 2371 00 ldaq pr6|120 total.real_time 001724 aa 6 00140 0771 00 adaq pr6|96 trial.real_time 001725 aa 6 00170 7571 00 staq pr6|120 total.real_time 001726 aa 6 00172 2371 00 ldaq pr6|122 total.real_time 001727 aa 6 00142 0771 00 adaq pr6|98 trial.real_time 001730 aa 6 00172 7571 00 staq pr6|122 total.real_time 001731 aa 6 00174 2371 00 ldaq pr6|124 total.real_time 001732 aa 6 00144 0771 00 adaq pr6|100 trial.real_time 001733 aa 6 00174 7571 00 staq pr6|124 total.real_time 001734 aa 6 00176 2371 00 ldaq pr6|126 total.real_time 001735 aa 6 00146 0771 00 adaq pr6|102 trial.real_time 001736 aa 6 00176 7571 00 staq pr6|126 total.real_time 001737 aa 6 00200 2371 00 ldaq pr6|128 total.real_time 001740 aa 6 00150 0771 00 adaq pr6|104 trial.real_time 001741 aa 6 00200 7571 00 staq pr6|128 total.real_time 001742 aa 6 00202 2371 00 ldaq pr6|130 total.vcpu_time 001743 aa 6 00152 0771 00 adaq pr6|106 trial.vcpu_time 001744 aa 6 00202 7571 00 staq pr6|130 total.vcpu_time 001745 aa 6 00204 2371 00 ldaq pr6|132 total.real_time 001746 aa 6 00154 0771 00 adaq pr6|108 trial.real_time 001747 aa 6 00204 7571 00 staq pr6|132 total.real_time 001750 aa 6 00206 2371 00 ldaq pr6|134 total.vcpu_time 001751 aa 6 00156 0771 00 adaq pr6|110 trial.vcpu_time 001752 aa 6 00206 7571 00 staq pr6|134 total.vcpu_time 001753 aa 6 00210 2371 00 ldaq pr6|136 total.real_time 001754 aa 6 00160 0771 00 adaq pr6|112 trial.real_time 001755 aa 6 00210 7571 00 staq pr6|136 total.real_time 001756 aa 6 00212 2371 00 ldaq pr6|138 total.vcpu_time 001757 aa 6 00162 0771 00 adaq pr6|114 trial.vcpu_time 001760 aa 6 00212 7571 00 staq pr6|138 total.vcpu_time 001761 aa 6 00214 2371 00 ldaq pr6|140 total.real_time 001762 aa 6 00164 0771 00 adaq pr6|116 trial.real_time 001763 aa 6 00214 7571 00 staq pr6|140 total.real_time 001764 aa 6 00216 2371 00 ldaq pr6|142 total.vcpu_time 001765 aa 6 00166 0771 00 adaq pr6|118 trial.vcpu_time 001766 aa 6 00216 7571 00 staq pr6|142 total.vcpu_time STATEMENT 1 ON LINE 195 end TRIAL_LOOP; 001767 aa 6 00115 0541 00 aos pr6|77 total_trials 001770 aa 776544 7100 04 tra -668,ic 000534 STATEMENT 1 ON LINE 197 END_OF_TRIALS: transaction_id = clock (); 001771 aa 0 01435 7001 00 tsx0 pr0|797 clock 001772 aa 6 00116 7571 00 staq pr6|78 transaction_id STATEMENT 1 ON LINE 199 if ^trace_$transaction_begin (transaction_id) then signal error; 001773 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 001774 aa 6 00256 2521 00 spri2 pr6|174 001775 aa 6 00246 3521 00 epp2 pr6|166 001776 aa 6 00260 2521 00 spri2 pr6|176 001777 aa 6 00254 6211 00 eax1 pr6|172 002000 aa 010000 4310 07 fld 4096,dl 002001 aa 6 00044 3701 20 epp4 pr6|36,* 002002 la 4 00022 3521 20 epp2 pr4|18,* trace_$transaction_begin 002003 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002004 aa 6 00246 2351 00 lda pr6|166 002005 aa 400000 3150 03 cana 131072,du 002006 aa 000004 6010 04 tnz 4,ic 002012 002007 aa 000005 7260 07 lxl6 5,dl 002010 aa 776020 3520 04 epp2 -1008,ic 000030 = 145162162157 002011 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 201 call trace_$specify_entrypoints ("*", null ()); 002012 aa 052000 2350 03 lda 21504,du 002013 aa 6 00357 7551 00 sta pr6|239 002014 aa 000001 2360 07 ldq 1,dl 002015 aa 6 00356 7561 00 stq pr6|238 002016 aa 776002 3734 24 epp7 -1022,ic* 002017 aa 6 00460 6535 00 spri7 pr6|304 002020 aa 6 00357 3521 00 epp2 pr6|239 002021 aa 6 00256 2521 00 spri2 pr6|174 002022 aa 6 00460 3521 00 epp2 pr6|304 002023 aa 6 00260 2521 00 spri2 pr6|176 002024 aa 6 00254 6211 00 eax1 pr6|172 002025 aa 010000 4310 07 fld 4096,dl 002026 aa 6 00044 3701 20 epp4 pr6|36,* 002027 la 4 00044 3521 20 epp2 pr4|36,* trace_$specify_entrypoints 002030 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 202 call trace_$set_stop_routine (stop_routine_saved); 002031 aa 6 00110 3521 00 epp2 pr6|72 stop_routine_saved 002032 aa 6 00252 2521 00 spri2 pr6|170 002033 aa 6 00250 6211 00 eax1 pr6|168 002034 aa 004000 4310 07 fld 2048,dl 002035 aa 6 00044 3701 20 epp4 pr6|36,* 002036 la 4 00060 3521 20 epp2 pr4|48,* trace_$set_stop_routine 002037 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 203 call trace_$set_enabled ("1"b); 002040 aa 400000 2350 03 lda 131072,du 002041 aa 6 00457 7551 00 sta pr6|303 002042 aa 6 00457 3521 00 epp2 pr6|303 002043 aa 6 00252 2521 00 spri2 pr6|170 002044 aa 6 00250 6211 00 eax1 pr6|168 002045 aa 004000 4310 07 fld 2048,dl 002046 aa 6 00044 3701 20 epp4 pr6|36,* 002047 la 4 00054 3521 20 epp2 pr4|44,* trace_$set_enabled 002050 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 204 if ^trace_$update_global_parms () then signal error; 002051 aa 6 00457 3521 00 epp2 pr6|303 002052 aa 6 00252 2521 00 spri2 pr6|170 002053 aa 6 00250 6211 00 eax1 pr6|168 002054 aa 004000 4310 07 fld 2048,dl 002055 aa 6 00044 3701 20 epp4 pr6|36,* 002056 la 4 00026 3521 20 epp2 pr4|22,* trace_$update_global_parms 002057 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002060 aa 6 00457 2351 00 lda pr6|303 002061 aa 400000 3150 03 cana 131072,du 002062 aa 000004 6010 04 tnz 4,ic 002066 002063 aa 000005 7260 07 lxl6 5,dl 002064 aa 775744 3520 04 epp2 -1052,ic 000030 = 145162162157 002065 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 206 call trace_$remove_specified_eps (n_removed); 002066 aa 6 00103 3521 00 epp2 pr6|67 n_removed 002067 aa 6 00252 2521 00 spri2 pr6|170 002070 aa 6 00250 6211 00 eax1 pr6|168 002071 aa 004000 4310 07 fld 2048,dl 002072 aa 6 00044 3701 20 epp4 pr6|36,* 002073 la 4 00032 3521 20 epp2 pr4|26,* trace_$remove_specified_eps 002074 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 207 if n_removed ^= 2 then signal error; 002075 aa 6 00103 2361 00 ldq pr6|67 n_removed 002076 aa 000002 1160 07 cmpq 2,dl 002077 aa 000004 6000 04 tze 4,ic 002103 002100 aa 000005 7260 07 lxl6 5,dl 002101 aa 775727 3520 04 epp2 -1065,ic 000030 = 145162162157 002102 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 209 if ^trace_$transaction_end (transaction_id) then signal error; 002103 aa 6 00116 3521 00 epp2 pr6|78 transaction_id 002104 aa 6 00256 2521 00 spri2 pr6|174 002105 aa 6 00457 3521 00 epp2 pr6|303 002106 aa 6 00260 2521 00 spri2 pr6|176 002107 aa 6 00254 6211 00 eax1 pr6|172 002110 aa 010000 4310 07 fld 4096,dl 002111 aa 6 00044 3701 20 epp4 pr6|36,* 002112 la 4 00024 3521 20 epp2 pr4|20,* trace_$transaction_end 002113 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002114 aa 6 00457 2351 00 lda pr6|303 002115 aa 400000 3150 03 cana 131072,du 002116 aa 000004 6010 04 tnz 4,ic 002122 002117 aa 000005 7260 07 lxl6 5,dl 002120 aa 775710 3520 04 epp2 -1080,ic 000030 = 145162162157 002121 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 212 if total_trials = 0 then do; 002122 aa 6 00115 2361 00 ldq pr6|77 total_trials 002123 aa 000012 6010 04 tnz 10,ic 002135 STATEMENT 1 ON LINE 214 entry_comp_o = 0; 002124 aa 775676 2370 04 ldaq -1090,ic 000022 = 000000000000 000000000000 002125 aa 6 00032 3735 20 epp7 pr6|26,* 002126 aa 7 00004 7571 20 staq pr7|4,* entry_comp_o.real_time 002127 aa 7 00004 3715 20 epp5 pr7|4,* 002130 aa 5 00002 7571 00 staq pr5|2 entry_comp_o.vcpu_time STATEMENT 1 ON LINE 215 return_comp_o = 0; 002131 aa 7 00006 7571 20 staq pr7|6,* return_comp_o.real_time 002132 aa 7 00006 3535 20 epp3 pr7|6,* 002133 aa 3 00002 7571 00 staq pr3|2 return_comp_o.vcpu_time STATEMENT 1 ON LINE 216 end; 002134 aa 000045 7100 04 tra 37,ic 002201 STATEMENT 1 ON LINE 217 else do; STATEMENT 1 ON LINE 218 total_measured_calls = multiply (total_trials, NUMBER_OF_MEASURED_CALLS, 17); 002135 aa 000004 7360 00 qls 4 002136 aa 6 00114 7561 00 stq pr6|76 total_measured_calls STATEMENT 1 ON LINE 220 entry_comp_o = divide ((total.meter.measure.entry - total.meter.baseline.entry) - (total.benchmark.measure.entry.real_time - total.benchmark.baseline.entry.real_time), total_measured_calls, 53); 002137 aa 6 00174 2371 00 ldaq pr6|124 total.real_time 002140 aa 6 00170 1771 00 sbaq pr6|120 total.real_time 002141 aa 6 00460 7571 00 staq pr6|304 002142 aa 6 00210 2371 00 ldaq pr6|136 total.real_time 002143 aa 6 00200 1771 00 sbaq pr6|128 total.real_time 002144 aa 6 00460 1771 00 sbaq pr6|304 002145 aa 6 00114 3521 00 epp2 pr6|76 total_measured_calls 002146 aa 0 01264 7001 00 tsx0 pr0|692 divide_fx3 002147 aa 000000000000 002150 aa 6 00032 3735 20 epp7 pr6|26,* 002151 aa 7 00004 7571 20 staq pr7|4,* entry_comp_o.real_time 002152 aa 6 00212 2371 00 ldaq pr6|138 total.vcpu_time 002153 aa 6 00202 1771 00 sbaq pr6|130 total.vcpu_time 002154 aa 6 00460 1771 00 sbaq pr6|304 002155 aa 0 01264 7001 00 tsx0 pr0|692 divide_fx3 002156 aa 000000000000 002157 aa 7 00004 3715 20 epp5 pr7|4,* 002160 aa 5 00002 7571 00 staq pr5|2 entry_comp_o.vcpu_time STATEMENT 1 ON LINE 223 return_comp_o = divide ((total.meter.measure.return - total.meter.baseline.return) - (total.benchmark.measure.return.real_time - total.benchmark.baseline.return.real_time), total_measured_calls, 53); 002161 aa 6 00176 2371 00 ldaq pr6|126 total.real_time 002162 aa 6 00172 1771 00 sbaq pr6|122 total.real_time 002163 aa 6 00460 7571 00 staq pr6|304 002164 aa 6 00214 2371 00 ldaq pr6|140 total.real_time 002165 aa 6 00204 1771 00 sbaq pr6|132 total.real_time 002166 aa 6 00460 1771 00 sbaq pr6|304 002167 aa 0 01264 7001 00 tsx0 pr0|692 divide_fx3 002170 aa 000000000000 002171 aa 7 00006 7571 20 staq pr7|6,* return_comp_o.real_time 002172 aa 6 00216 2371 00 ldaq pr6|142 total.vcpu_time 002173 aa 6 00206 1771 00 sbaq pr6|134 total.vcpu_time 002174 aa 6 00460 1771 00 sbaq pr6|304 002175 aa 0 01264 7001 00 tsx0 pr0|692 divide_fx3 002176 aa 000000000000 002177 aa 7 00006 3535 20 epp3 pr7|6,* 002200 aa 3 00002 7571 00 staq pr3|2 return_comp_o.vcpu_time STATEMENT 1 ON LINE 227 end; STATEMENT 1 ON LINE 229 return; 002201 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 370 end trace_calibrate_; BEGIN PROCEDURE SNAP_ENTRIES ENTRY TO SNAP_ENTRIES STATEMENT 1 ON LINE 234 SNAP_ENTRIES: proc (event_i); 002202 da 000316200000 002203 aa 000140 6270 00 eax7 96 002204 aa 7 00034 3521 20 epp2 pr7|28,* 002205 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002206 aa 000002000000 002207 aa 000000000000 STATEMENT 1 ON LINE 255 event_ptr = addr (event_i); 002210 aa 6 00032 3735 20 epp7 pr6|26,* 002211 aa 7 00002 3715 20 epp5 pr7|2,* event_i 002212 aa 6 00100 6515 00 spri5 pr6|64 event_ptr STATEMENT 1 ON LINE 256 if event.version ^= EVENT_VERSION_3 | event.kind ^= "ca" then signal error; 002213 aa 5 00000 2351 00 lda pr5|0 event.version 002214 aa 775564 1150 04 cmpa -1164,ic 000000 = 124105126063 002215 aa 000005 6010 04 tnz 5,ic 002222 002216 aa 5 00001 2351 00 lda pr5|1 event.kind 002217 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002220 aa 143141 1150 03 cmpa 50785,du 002221 aa 000004 6000 04 tze 4,ic 002225 002222 aa 000005 7260 07 lxl6 5,dl 002223 aa 775605 3520 04 epp2 -1147,ic 000030 = 145162162157 002224 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 259 call trace_catch_$stop_tracing (); 002225 aa 6 00056 6211 00 eax1 pr6|46 002226 aa 000000 4310 07 fld 0,dl 002227 aa 6 00044 3701 20 epp4 pr6|36,* 002230 la 4 00064 3521 20 epp2 pr4|52,* trace_catch_$stop_tracing 002231 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 260 snap_meters = trace_$entrypoint_local_meters (event.entry_idx); 002232 aa 6 00100 3735 20 epp7 pr6|64,* event_ptr 002233 aa 7 00014 3521 00 epp2 pr7|12 event.entry_idx 002234 aa 6 00126 2521 00 spri2 pr6|86 002235 aa 6 00116 3521 00 epp2 pr6|78 002236 aa 6 00130 2521 00 spri2 pr6|88 002237 aa 6 00124 6211 00 eax1 pr6|84 002240 aa 010000 4310 07 fld 4096,dl 002241 aa 6 00044 3701 20 epp4 pr6|36,* 002242 la 4 00034 3521 20 epp2 pr4|28,* trace_$entrypoint_local_meters 002243 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002244 aa 6 00116 2371 00 ldaq pr6|78 002245 aa 6 00102 7571 00 staq pr6|66 snap_meters 002246 aa 6 00120 2371 00 ldaq pr6|80 002247 aa 6 00104 7571 00 staq pr6|68 snap_meters 002250 aa 6 00122 2351 00 lda pr6|82 002251 aa 6 00106 7551 00 sta pr6|70 snap_meters STATEMENT 1 ON LINE 261 call trace_catch_$start_tracing (); 002252 aa 6 00056 6211 00 eax1 pr6|46 002253 aa 000000 4310 07 fld 0,dl 002254 aa 6 00044 3701 20 epp4 pr6|36,* 002255 la 4 00062 3521 20 epp2 pr4|50,* trace_catch_$start_tracing 002256 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 263 if event.saved.calls + 1 = NUMBER_OF_BASELINE_CALLS then do; 002257 aa 6 00100 3735 20 epp7 pr6|64,* event_ptr 002260 aa 7 00010 2371 00 ldaq pr7|8 event.calls 002261 aa 000001 0330 07 adl 1,dl 002262 aa 6 00132 7571 00 staq pr6|90 002263 aa 000002 2350 07 lda 2,dl 002264 aa 000044 7330 00 lrs 36 002265 aa 6 00132 1171 00 cmpaq pr6|90 002266 aa 000007 6010 04 tnz 7,ic 002275 STATEMENT 1 ON LINE 265 trial.meter.baseline.entry.real_time = snap_meters.real_time; 002267 aa 6 00102 2371 00 ldaq pr6|66 snap_meters.real_time 002270 aa 6 00040 3715 20 epp5 pr6|32,* 002271 aa 5 00150 7571 00 staq pr5|104 trial.real_time STATEMENT 1 ON LINE 266 trial.meter.baseline.entry.vcpu_time = snap_meters.vcpu_time; 002272 aa 6 00104 2371 00 ldaq pr6|68 snap_meters.vcpu_time 002273 aa 5 00152 7571 00 staq pr5|106 trial.vcpu_time STATEMENT 1 ON LINE 267 end; 002274 aa 000016 7100 04 tra 14,ic 002312 STATEMENT 1 ON LINE 268 else if event.saved.calls + 1 = NUMBER_OF_BASELINE_CALLS + NUMBER_OF_MEASURED_CALLS then do; 002275 aa 000022 2350 07 lda 18,dl 002276 aa 000044 7330 00 lrs 36 002277 aa 6 00132 1171 00 cmpaq pr6|90 002300 aa 000007 6010 04 tnz 7,ic 002307 STATEMENT 1 ON LINE 270 trial.meter.measure.entry.real_time = snap_meters.real_time; 002301 aa 6 00102 2371 00 ldaq pr6|66 snap_meters.real_time 002302 aa 6 00040 3715 20 epp5 pr6|32,* 002303 aa 5 00160 7571 00 staq pr5|112 trial.real_time STATEMENT 1 ON LINE 271 trial.meter.measure.entry.vcpu_time = snap_meters.vcpu_time; 002304 aa 6 00104 2371 00 ldaq pr6|68 snap_meters.vcpu_time 002305 aa 5 00162 7571 00 staq pr5|114 trial.vcpu_time STATEMENT 1 ON LINE 272 end; 002306 aa 000004 7100 04 tra 4,ic 002312 STATEMENT 1 ON LINE 273 else signal error; 002307 aa 000005 7260 07 lxl6 5,dl 002310 aa 775520 3520 04 epp2 -1200,ic 000030 = 145162162157 002311 aa 0 00716 7001 00 tsx0 pr0|462 signal STATEMENT 1 ON LINE 275 return; 002312 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 276 end SNAP_ENTRIES; END PROCEDURE SNAP_ENTRIES END PROCEDURE trace_calibrate_ ----------------------------------------------------------- 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