COMPILATION LISTING OF SEGMENT trace_meters Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/11/85 1039.6 mst Fri Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* 8*Fall//79, Robert E. Mullen, Initial coding. 9*06/29/81, Jeffrey D. Ives, added SUB TOTALs. 10*03/29/82, Jeffrey D. Ives, added -bf and -of and made trace table 0 relative. 11*07/22/83, Jeffrey D. Ives, for new tab with bigger vcpu and real time fields. Added VCPU/CALL. 12*May 1984, Jeffrey D. Ives, get rid of tab altogether and go to new interface. 13**/ 14 15 /* format: style2,^inddcls,^indnoniterdo,^inditerdo,dclind5,idind35 */ 16 trace_meters: 17 tmt: 18 procedure options (variable); 19 20 /* DISABLE TRACE_CATCH_ */ 21 22 transaction_id = clock (); 23 on cleanup call TRACE_METERS_CLEANUP (); 24 if ^trace_$transaction_begin (transaction_id) /* Temporarily disables trace_catch_. */ 25 then do; 26 call com_err_ (code, ME, "There seems to be an incomplete invocation of trace, 27 watch, or trace_meters still on the stack. Try the release command."); 28 return; 29 end; 30 31 /* read the arguments */ 32 33 call cu_$arg_count (arg_count, code); 34 if code ^= 0 35 then do; 36 call com_err_ (code, ME); 37 go to RETURN; 38 end; 39 40 ARG_READING_LOOP: 41 do arg_idx = 1 to arg_count; 42 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 43 if code ^= 0 44 then do; 45 call com_err_ (code, ME); 46 go to RETURN; 47 end; 48 49 if arg = "-brief" | arg = "-bf" 50 then long_format = "0"b; 51 else if arg = "-long" | arg = "-lg" 52 then long_format = "1"b; 53 else if arg = "-reset" | arg = "-rs" 54 then do; 55 reset = "1"b; 56 report = "0"b; 57 end; 58 else if arg = "-report_reset" | arg = "-rr" 59 then do; 60 reset = "1"b; 61 report = "1"b; 62 end; 63 else if arg = "-output_file" | arg = "-of" 64 then do; 65 control_arg = arg; 66 67 arg_idx = arg_idx + 1; 68 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 69 if code ^= 0 70 then do; 71 BAD_FILE_PATH_ARG: 72 call com_err_ (code, ME, " A pathname must follow ^a.", control_arg); 73 go to RETURN; 74 end; 75 76 if arg = "" 77 then go to BAD_FILE_PATH_ARG; 78 79 if substr (arg, 1, 1) = "-" 80 then go to BAD_FILE_PATH_ARG; 81 82 call expand_pathname_$add_suffix (arg, "tmt", output_file.dir_path, output_file.entry_name, code); 83 if code ^= 0 84 then do; 85 call com_err_ (code, ME, " The argument in error is ""^a"".", arg); 86 go to RETURN; 87 end; 88 end; 89 else if arg = "-percent" | arg = "-pct" | arg = "-%" 90 then do; 91 minimum.kind = "local"; 92 go to GET_PERCENTAGE; 93 end; 94 else if arg = "-global_percent" | arg = "-gpct" | arg = "-g%" 95 then do; 96 minimum.kind = "global"; 97 GET_PERCENTAGE: 98 control_arg = arg; 99 100 arg_idx = arg_idx + 1; 101 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 102 if code ^= 0 103 then do; 104 BAD_PERCENTAGE_ARG: 105 call com_err_ (code, ME, " A number between 0 and 100 must follow ^a.", control_arg); 106 go to RETURN; 107 end; 108 109 if arg = "" 110 then go to BAD_PERCENTAGE_ARG; 111 112 if substr (arg, 1, 1) = "-" 113 then go to BAD_PERCENTAGE_ARG; 114 115 numeric_arg = cv_dec_check_ (arg, code); 116 if code ^= 0 117 then do; 118 call com_err_ (ZERO, ME, " Decimal conversion error at ""^a"" in ""^a"".", substr (arg, code, 1), 119 arg); 120 code = 0; 121 go to BAD_PERCENTAGE_ARG; 122 end; 123 124 if numeric_arg < 0 | numeric_arg > 100 125 then go to BAD_PERCENTAGE_ARG; 126 127 minimum.percent = numeric_arg; 128 end; 129 else do; 130 call com_err_ (error_table_$badopt, ME, """^a""", arg); 131 go to RETURN; 132 end; 133 end ARG_READING_LOOP; 134 135 /* Open the output file if necessary. */ 136 137 if output_file.entry_name = "" 138 then output_file.iocb_ptr = iox_$user_output; 139 else 140 OPEN_OUTPUT_FILE: 141 do; 142 call iox_$attach_name (unique_chars_ (""b), output_file.iocb_ptr, 143 "vfile_ " || rtrim (output_file.dir_path) || ">" || rtrim (output_file.entry_name), 144 codeptr (trace_meters), code); 145 if code ^= 0 146 then do; 147 call com_err_ (code, ME, " Coult not attach the file ""^a>^a"".", output_file.dir_path, 148 output_file.entry_name); 149 go to RETURN; 150 end; 151 152 call iox_$open (output_file.iocb_ptr, Stream_output, "0"b, code); 153 if code ^= 0 154 then do; 155 call com_err_ (code, ME, " Could not open the file ""^a>^a"".", output_file.dir_path, 156 output_file.entry_name); 157 go to RETURN; 158 end; 159 end OPEN_OUTPUT_FILE; 160 161 162 /* Do some consistency checks. */ 163 164 metered = trace_$metered () - trace_$removed (); 165 166 if metered.real_time < 0 | metered.vcpu_time > metered.real_time | metered.page_faults < 0 167 then call com_err_ (ZERO, ME, 168 " The meters are inconsistent. Metered real time is ^d, vcpu time is ^d, and page faults are ^d.", 169 metered.real_time, metered.vcpu_time, metered.page_faults); 170 171 172 /* Calculate the percentage coefficients. */ 173 174 if metered.vcpu_time = 0 175 then percentage_coefficient.vcpu_time = 0; 176 else percentage_coefficient.vcpu_time = 1e2 / float (metered.vcpu_time, 27); 177 178 if metered.page_faults = 0 179 then percentage_coefficient.page_faults = 0; 180 else percentage_coefficient.page_faults = 1e2 / float (metered.page_faults, 27); 181 182 /* Print the requested information. */ 183 184 totals = 0; 185 tt_count = trace_$num_entrypoints (); 186 187 TOTAL_LOOP: 188 do tt_idx = 0 by 0 to tt_count - 1; 189 190 segment_being_subtotaled.seg_num = baseno (trace_$entrypoint_ptr (tt_idx)); 191 segment_being_subtotaled.dir_path = "?"; 192 segment_being_subtotaled.entry_name = "?"; 193 194 subtotals = 0; 195 196 SUB_TOTAL_LOOP: 197 do tt_idx = tt_idx to tt_count - 1 198 while (baseno (trace_$entrypoint_ptr (tt_idx)) = segment_being_subtotaled.seg_num); 199 200 counts = trace_$entrypoint_counts (tt_idx); 201 local_meters = trace_$entrypoint_local_meters (tt_idx); 202 global_meters = trace_$entrypoint_global_meters (tt_idx); 203 204 if ^report 205 then go to END_SUB_TOTAL_LOOP; 206 207 if counts.calls = 0 208 then go to END_SUB_TOTAL_LOOP; 209 210 if minimum.kind = "local" 211 then if float (local_meters.vcpu_time, 27) * percentage_coefficient.vcpu_time < minimum.percent 212 & float (local_meters.page_faults, 27) * percentage_coefficient.page_faults 213 < minimum.percent 214 then go to END_SUB_TOTAL_LOOP; 215 216 if minimum.kind = "global" 217 then if float (global_meters.vcpu_time, 27) * percentage_coefficient.vcpu_time < minimum.percent 218 & float (global_meters.page_faults, 27) * percentage_coefficient.page_faults 219 < minimum.percent 220 then go to END_SUB_TOTAL_LOOP; 221 222 /* Print column headers if necessary */ 223 224 if subtotals.line_count = 0 225 then do; 226 if long_format 227 then do; 228 call PRINT_METERS_HEADER ("G"); 229 call PRINT_METERS_HEADER ("L"); 230 call expand_pathname_ ((trace_$entrypoint_seg_path (tt_idx)), 231 segment_being_subtotaled.dir_path, segment_being_subtotaled.entry_name, code); 232 if code ^= 0 233 then segment_being_subtotaled.dir_path, segment_being_subtotaled.entry_name = "?"; 234 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a>^a", segment_being_subtotaled.dir_path, 235 segment_being_subtotaled.entry_name); 236 end; 237 238 if ^long_format & totals.line_count = 0 239 then do; 240 call PRINT_METERS_HEADER ("L"); 241 call ioa_$ioa_switch (output_file.iocb_ptr, " ENTRY POINT NAME"); 242 end; 243 end; 244 245 246 /* Print the stats for this entrypoint. */ 247 248 if long_format 249 then call PRINT_METERS (global_meters); 250 251 call PRINT_METERS (local_meters); 252 253 call PRINT_STATS (local_meters.vcpu_time, counts.calls); 254 255 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a", trace_$entrypoint_name (tt_idx)); 256 257 subtotals.line_count = subtotals.line_count + 1; 258 subtotals.calls = subtotals.calls + counts.calls; 259 subtotals.meters = subtotals.meters + local_meters; 260 261 END_SUB_TOTAL_LOOP: 262 end SUB_TOTAL_LOOP; 263 264 if report & long_format & subtotals.line_count >= 1 265 then do; 266 if subtotals.line_count >= 2 267 then call PRINT_TOTAL_LINE (subtotals, "SUBTOTAL", segment_being_subtotaled.entry_name); 268 269 call ioa_$ioa_switch (output_file.iocb_ptr, ""); 270 end; 271 272 totals = totals + subtotals; 273 end TOTAL_LOOP; 274 275 276 if report 277 then do; 278 if long_format 279 then call PRINT_METERS_HEADER (" "); 280 else call ioa_$ioa_switch (output_file.iocb_ptr, ""); 281 282 call PRINT_METERS_HEADER ("L"); 283 284 call ioa_$ioa_switch (output_file.iocb_ptr, ""); 285 286 call date_time_ (clock (), date_time_string); 287 288 call PRINT_TOTAL_LINE (totals, "TOTAL", date_time_string); 289 end; 290 291 292 if reset 293 then call trace_$reset_meters (); 294 295 296 RETURN: 297 call TRACE_METERS_CLEANUP; 298 299 return; 300 301 /* SUBROUTINES */ 302 303 304 TRACE_METERS_CLEANUP: 305 proc; 306 if output_file.iocb_ptr ^= null () & output_file.iocb_ptr ^= iox_$user_output 307 then do; 308 call iox_$close (output_file.iocb_ptr, (0)); 309 call iox_$detach_iocb (output_file.iocb_ptr, (0)); 310 output_file.iocb_ptr = null (); 311 end; 312 313 if ^trace_$transaction_end (transaction_id) /* Re-enable trace_catch_. */ 314 then call com_err_ (ZERO, ME, "The trace_meters command ended abnormally."); 315 end TRACE_METERS_CLEANUP; 316 317 318 319 320 321 322 323 324 PRINT_TOTAL_LINE: 325 proc (totals_i, comment_1_i, comment_2_i); 326 if long_format 327 then call PRINT_METERS_HEADER (" "); 328 329 call PRINT_METERS (totals_i.meters); 330 331 call PRINT_STATS (totals_i.meters.vcpu_time, totals_i.calls); 332 333 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a ^a", comment_1_i, comment_2_i); 334 335 dcl 1 totals_i aligned parm like totals; 336 dcl comment_1_i char (*) parm; 337 dcl comment_2_i char (*) parm; 338 end PRINT_TOTAL_LINE; 339 340 341 342 343 344 345 PRINT_METERS_HEADER: 346 proc (leading_letter_i); 347 if leading_letter_i = " " 348 then call ioa_$ioa_switch_nnl (output_file.iocb_ptr, "^24x"); 349 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^aREAL ^aVCPU ^aPF^[ LVCPU/CALL LVCPU% CALLS^]", 350 leading_letter_i, leading_letter_i, leading_letter_i, leading_letter_i = "L"); 351 352 dcl leading_letter_i char parm; 353 end PRINT_METERS_HEADER; 354 355 356 357 358 359 360 361 PRINT_METERS: 362 proc (meters_i); 363 if meters_i.real_time = 0 & meters_i.vcpu_time = 0 & meters_i.page_faults = 0 364 then call PRINT_METERS_HEADER (" "); 365 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, "^9.3f ^8.3f ^5d", float (meters_i.real_time, 27) * 1e-6, 366 float (meters_i.vcpu_time, 27) * 1e-6, meters_i.page_faults); 367 368 dcl 1 meters_i aligned parm like local_meters; 369 end PRINT_METERS; 370 371 372 373 374 PRINT_STATS: 375 proc (vcpu_time_i, calls_i); 376 if vcpu_time_i = 0 | calls_i = 0 377 then call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^10x ^5x ^7d", calls_i); 378 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^10.6f ^5.1f ^7d", 379 (float (vcpu_time_i, 27) / float (calls_i, 27)) * 1e-6, 380 float (vcpu_time_i, 27) * percentage_coefficient.vcpu_time, calls_i); 381 382 dcl vcpu_time_i fixed bin (53) parm; 383 dcl calls_i fixed bin (53) parm; 384 end PRINT_STATS; 385 386 /* START OF DECLARATIONS */ 387 /* format: ^insnl,^delnl */ 388 389 390 /* Parameters */ 391 392 393 /* Automatic */ 394 395 dcl arg_count fixed bin; 396 dcl arg_idx fixed bin; 397 dcl arg_length fixed bin (21); 398 dcl arg_ptr ptr init (null ()); 399 dcl code fixed bin (35) init (0); 400 dcl control_arg char (32); 401 dcl date_time_string char (24); 402 dcl in_trace_saved bit (36) aligned; 403 dcl long_format bit aligned init ("1"b); 404 dcl numeric_arg fixed bin (35); 405 dcl report bit aligned init ("1"b); 406 dcl reset bit aligned init ("0"b); 407 dcl transaction_id fixed bin (71); 408 dcl tt_count fixed bin; 409 dcl tt_idx fixed bin; 410 411 dcl 1 local_meters like meters aligned; 412 dcl 1 global_meters like meters aligned; 413 dcl 1 metered like meters aligned; 414 415 dcl 1 minimum aligned, 416 2 kind char (8) init (""), 417 2 percent float bin (27) init (0); 418 419 dcl 1 output_file aligned, 420 2 iocb_ptr ptr init (null ()), 421 2 dir_path char (168) unal init (""), 422 2 entry_name char (32) unal init (""); 423 424 dcl 1 percentage_coefficient aligned, 425 2 vcpu_time float bin (27), 426 2 page_faults float bin (27); 427 428 dcl 1 totals aligned, 429 2 line_count fixed bin, 430 2 calls fixed bin (53), 431 2 meters like meters; 432 433 dcl 1 subtotals aligned like totals; 434 435 dcl 1 segment_being_subtotaled aligned, 436 2 seg_num bit (18), 437 2 dir_path char (168) unal, 438 2 entry_name char (32) unal; 439 440 441 /* Static */ 442 443 dcl ME char (32) static options (constant) init ("trace_meters"); 444 dcl ZERO fixed bin (35) static options (constant) init (0); 445 446 447 /* Conditions */ 448 449 dcl cleanup condition; 450 451 452 /* Based */ 453 454 dcl arg char (arg_length) based (arg_ptr); 455 456 457 /* External Variables */ 458 459 dcl error_table_$badopt fixed bin (35) ext; 460 dcl iox_$user_output ptr ext; 461 462 463 /* External Entries */ 464 465 dcl com_err_ entry () options (variable); 466 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 467 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 468 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 469 dcl date_time_ entry (fixed bin (71), char (*)); 470 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 471 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)); 472 dcl ioa_$ioa_switch entry () options (variable); 473 dcl ioa_$ioa_switch_nnl entry () options (variable); 474 dcl iox_$attach_name entry (char (*), ptr, char (*), ptr, fixed bin (35)); 475 dcl iox_$close entry (ptr, fixed bin (35)); 476 dcl iox_$detach_iocb entry (ptr, fixed bin (35)); 477 dcl iox_$open entry (ptr, fixed bin, bit (1) aligned, fixed bin (35)); 478 dcl unique_chars_ entry (bit (*)) returns (char (15)); 479 480 481 /* format: insnl,delnl */ 482 /* END OF DECLARATIONS */ 483 484 /* START OF INCLUDE FILES */ 485 486 487 1 1 /* Begin include file ..... iox_modes.incl.pl1 */ 1 2 1 3 /* Written by C. D. Tavares, 03/17/75 */ 1 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 1 5 1 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 1 7 ("stream_input", "stream_output", "stream_input_output", 1 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 1 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 1 10 "direct_input", "direct_output", "direct_update"); 1 11 1 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 1 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 1 14 1 15 dcl (Stream_input initial (1), 1 16 Stream_output initial (2), 1 17 Stream_input_output initial (3), 1 18 Sequential_input initial (4), 1 19 Sequential_output initial (5), 1 20 Sequential_input_output initial (6), 1 21 Sequential_update initial (7), 1 22 Keyed_sequential_input initial (8), 1 23 Keyed_sequential_output initial (9), 1 24 Keyed_sequential_update initial (10), 1 25 Direct_input initial (11), 1 26 Direct_output initial (12), 1 27 Direct_update initial (13)) fixed bin int static options (constant); 1 28 1 29 /* End include file ..... iox_modes.incl.pl1 */ 488 489 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 * * * * * * * * * * * * * * * * */ 490 491 492 end trace_meters; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/11/85 1034.9 trace_meters.pl1 >special_ldd>online>6972.pbf>trace_meters.pl1 488 1 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 490 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. ME 000000 constant char(32) initial unaligned dcl 443 set ref 26* 36* 45* 71* 85* 104* 118* 130* 147* 155* 166* 313* Stream_output 000022 constant fixed bin(17,0) initial dcl 1-15 set ref 152* ZERO 000057 constant fixed bin(35,0) initial dcl 444 set ref 118* 166* 313* arg based char unaligned dcl 454 set ref 49 49 51 51 53 53 58 58 63 63 65 76 79 82* 85* 89 89 89 94 94 94 97 109 112 115* 118 118 118* 130* arg_count 000100 automatic fixed bin(17,0) dcl 395 set ref 33* 40 arg_idx 000101 automatic fixed bin(17,0) dcl 396 set ref 40* 42* 67* 67 68* 100* 100 101* arg_length 000102 automatic fixed bin(21,0) dcl 397 set ref 42* 49 49 51 51 53 53 58 58 63 63 65 68* 76 79 82 82 85 85 89 89 89 94 94 94 97 101* 109 112 115 115 118 118 118 118 130 130 arg_ptr 000104 automatic pointer initial dcl 398 set ref 42* 49 49 51 51 53 53 58 58 63 63 65 68* 76 79 82 85 89 89 89 94 94 94 97 101* 109 112 115 118 118 118 130 398* calls 2 000262 automatic fixed bin(53,0) level 2 in structure "subtotals" dcl 433 in procedure "tmt" set ref 258* 258 calls 000366 automatic fixed bin(53,0) level 2 in structure "counts" dcl 2-151 in procedure "tmt" set ref 207 253* 258 calls 2 parameter fixed bin(53,0) level 2 in structure "totals_i" dcl 335 in procedure "PRINT_TOTAL_LINE" set ref 331* calls_i parameter fixed bin(53,0) dcl 383 set ref 374 376 376* 378 378* cleanup 000356 stack reference condition dcl 449 ref 23 code 000106 automatic fixed bin(35,0) initial dcl 399 set ref 26* 33* 34 36* 42* 43 45* 68* 69 71* 82* 83 85* 101* 102 104* 115* 116 118 118 120* 142* 145 147* 152* 153 155* 230* 232 399* com_err_ 000014 constant entry external dcl 465 ref 26 36 45 71 85 104 118 130 147 155 166 313 comment_1_i parameter char unaligned dcl 336 set ref 324 333* comment_2_i parameter char unaligned dcl 337 set ref 324 333* compensation 000400 automatic structure level 1 dcl 2-171 control_arg 000107 automatic char(32) unaligned dcl 400 set ref 65* 71* 97* 104* counts 000366 automatic structure level 1 dcl 2-151 set ref 200* cu_$arg_count 000016 constant entry external dcl 466 ref 33 cu_$arg_ptr 000020 constant entry external dcl 467 ref 42 68 101 cv_dec_check_ 000022 constant entry external dcl 468 ref 115 date_time_ 000024 constant entry external dcl 469 ref 286 date_time_string 000117 automatic char(24) unaligned dcl 401 set ref 286* 288* dir_path 2 000162 automatic char(168) initial level 2 in structure "output_file" packed unaligned dcl 419 in procedure "tmt" set ref 82* 142 147* 155* 419* dir_path 1 000273 automatic char(168) level 2 in structure "segment_being_subtotaled" packed unaligned dcl 435 in procedure "tmt" set ref 191* 230* 232* 234* entry_name 53 000273 automatic char(32) level 2 in structure "segment_being_subtotaled" packed unaligned dcl 435 in procedure "tmt" set ref 192* 230* 232* 234* 266* entry_name 54 000162 automatic char(32) initial level 2 in structure "output_file" packed unaligned dcl 419 in procedure "tmt" set ref 82* 137 142 147* 155* 419* error_table_$badopt 000010 external static fixed bin(35,0) dcl 459 set ref 130* expand_pathname_ 000026 constant entry external dcl 470 ref 230 expand_pathname_$add_suffix 000030 constant entry external dcl 471 ref 82 global_meters 000144 automatic structure level 1 dcl 412 set ref 202* 248* ioa_$ioa_switch 000032 constant entry external dcl 472 ref 234 241 255 269 280 284 333 ioa_$ioa_switch_nnl 000034 constant entry external dcl 473 ref 347 349 365 376 378 iocb_ptr 000162 automatic pointer initial level 2 dcl 419 set ref 137* 142* 152* 234* 241* 255* 269* 280* 284* 306 306 308* 309* 310* 333* 347* 349* 365* 376* 378* 419* iox_$attach_name 000036 constant entry external dcl 474 ref 142 iox_$close 000040 constant entry external dcl 475 ref 308 iox_$detach_iocb 000042 constant entry external dcl 476 ref 309 iox_$open 000044 constant entry external dcl 477 ref 152 iox_$user_output 000012 external static pointer dcl 460 ref 137 306 kind 000157 automatic char(8) initial level 2 dcl 415 set ref 91* 96* 210 216 415* leading_letter_i parameter char(1) unaligned dcl 352 set ref 345 347 349* 349* 349* 349 line_count 000262 automatic fixed bin(17,0) level 2 in structure "subtotals" dcl 433 in procedure "tmt" set ref 224 257* 257 264 266 line_count 000250 automatic fixed bin(17,0) level 2 in structure "totals" dcl 428 in procedure "tmt" set ref 238 local_meters 000136 automatic structure level 1 dcl 411 set ref 201* 251* 259 long_format 000125 automatic bit(1) initial dcl 403 set ref 49* 51* 226 238 248 264 278 326 403* metered 000152 automatic structure level 1 dcl 413 set ref 164* meters 000372 automatic structure level 1 dcl 2-157 in procedure "tmt" meters 4 parameter structure level 2 in structure "totals_i" dcl 335 in procedure "PRINT_TOTAL_LINE" set ref 329* meters 4 000262 automatic structure level 2 in structure "subtotals" dcl 433 in procedure "tmt" set ref 259* 259 meters_i parameter structure level 1 dcl 368 set ref 361 minimum 000157 automatic structure level 1 dcl 415 numeric_arg 000126 automatic fixed bin(35,0) dcl 404 set ref 115* 124 124 127 output_file 000162 automatic structure level 1 dcl 419 output_switch based structure level 1 dcl 2-162 page_faults 1 000246 automatic float bin(27) level 2 in structure "percentage_coefficient" dcl 424 in procedure "tmt" set ref 178* 180* 210 216 page_faults 4 000136 automatic fixed bin(34,0) level 2 in structure "local_meters" dcl 411 in procedure "tmt" set ref 210 page_faults 4 parameter fixed bin(34,0) level 2 in structure "meters_i" dcl 368 in procedure "PRINT_METERS" set ref 363 365* page_faults 4 000144 automatic fixed bin(34,0) level 2 in structure "global_meters" dcl 412 in procedure "tmt" set ref 216 page_faults 4 000152 automatic fixed bin(34,0) level 2 in structure "metered" dcl 413 in procedure "tmt" set ref 166 166* 178 180 percent 2 000157 automatic float bin(27) initial level 2 dcl 415 set ref 127* 210 210 216 216 415* percentage_coefficient 000246 automatic structure level 1 dcl 424 real_time parameter fixed bin(53,0) level 2 in structure "meters_i" dcl 368 in procedure "PRINT_METERS" ref 363 365 real_time 000152 automatic fixed bin(53,0) level 2 in structure "metered" dcl 413 in procedure "tmt" set ref 166 166 166* report 000127 automatic bit(1) initial dcl 405 set ref 56* 61* 204 264 276 405* reset 000130 automatic bit(1) initial dcl 406 set ref 55* 60* 292 406* seg_num 000273 automatic bit(18) level 2 dcl 435 set ref 190* 196 segment_being_subtotaled 000273 automatic structure level 1 dcl 435 stop_proc based structure level 1 dcl 2-167 subtotals 000262 automatic structure level 1 dcl 433 set ref 194* 266* 272 totals 000250 automatic structure level 1 dcl 428 set ref 184* 272* 272 288* totals_i parameter structure level 1 dcl 335 set ref 324 trace_$entrypoint_counts 000054 constant entry external dcl 2-40 ref 200 trace_$entrypoint_global_meters 000056 constant entry external dcl 2-41 ref 202 trace_$entrypoint_local_meters 000060 constant entry external dcl 2-42 ref 201 trace_$entrypoint_name 000070 constant entry external dcl 2-50 ref 255 trace_$entrypoint_ptr 000072 constant entry external dcl 2-51 ref 190 196 trace_$entrypoint_seg_path 000074 constant entry external dcl 2-52 ref 230 trace_$metered 000062 constant entry external dcl 2-43 ref 164 trace_$num_entrypoints 000076 constant entry external dcl 2-55 ref 185 trace_$removed 000064 constant entry external dcl 2-44 ref 164 trace_$reset_meters 000066 constant entry external dcl 2-45 ref 292 trace_$transaction_begin 000050 constant entry external dcl 2-12 ref 24 trace_$transaction_end 000052 constant entry external dcl 2-14 ref 313 transaction_id 000132 automatic fixed bin(71,0) dcl 407 set ref 22* 24* 313* tt_count 000134 automatic fixed bin(17,0) dcl 408 set ref 185* 187 196 tt_idx 000135 automatic fixed bin(17,0) dcl 409 set ref 187* 190* 196* 196 196* 200* 201* 202* 230* 255* unique_chars_ 000046 constant entry external dcl 478 ref 142 142 vcpu_time 000246 automatic float bin(27) level 2 in structure "percentage_coefficient" dcl 424 in procedure "tmt" set ref 174* 176* 210 216 378 vcpu_time 6 parameter fixed bin(53,0) level 3 in structure "totals_i" dcl 335 in procedure "PRINT_TOTAL_LINE" set ref 331* vcpu_time 2 000144 automatic fixed bin(53,0) level 2 in structure "global_meters" dcl 412 in procedure "tmt" set ref 216 vcpu_time 2 000152 automatic fixed bin(53,0) level 2 in structure "metered" dcl 413 in procedure "tmt" set ref 166 166* 174 176 vcpu_time 2 000136 automatic fixed bin(53,0) level 2 in structure "local_meters" dcl 411 in procedure "tmt" set ref 210 253* vcpu_time 2 parameter fixed bin(53,0) level 2 in structure "meters_i" dcl 368 in procedure "PRINT_METERS" ref 363 365 vcpu_time_i parameter fixed bin(53,0) dcl 382 ref 374 376 378 378 watch_values 000364 automatic structure level 1 dcl 2-147 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. 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 Direct_input internal static fixed bin(17,0) initial dcl 1-15 Direct_output internal static fixed bin(17,0) initial dcl 1-15 Direct_update internal static fixed bin(17,0) initial dcl 1-15 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 1-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 1-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 1-15 Sequential_input internal static fixed bin(17,0) initial dcl 1-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 1-15 Sequential_output internal static fixed bin(17,0) initial dcl 1-15 Sequential_update internal static fixed bin(17,0) initial dcl 1-15 Stream_input internal static fixed bin(17,0) initial dcl 1-15 Stream_input_output internal static fixed bin(17,0) initial dcl 1-15 in_trace_saved automatic bit(36) dcl 402 iox_modes internal static char(24) initial array dcl 1-6 short_iox_modes internal static char(4) initial array dcl 1-12 trace_$add_specified_eps 000000 constant entry external dcl 2-20 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_index 000000 constant entry external dcl 2-49 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_$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_eps 000000 constant entry external dcl 2-22 trace_$remove_specified_locs 000000 constant entry external dcl 2-23 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_enabled 000000 constant entry external dcl 2-122 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 000000 constant entry external dcl 2-101 trace_$set_stop_every 000000 constant entry external dcl 2-103 trace_$set_stop_low 000000 constant entry external dcl 2-105 trace_$set_stop_proc 000000 constant entry external dcl 2-133 trace_$set_stop_routine 000000 constant entry external dcl 2-135 trace_$set_trace 000000 constant entry external dcl 2-107 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_entrypoints 000000 constant entry external dcl 2-58 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_$stop_routine 000000 constant entry external dcl 2-134 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_$update_global_parms 000000 constant entry external dcl 2-19 trace_$version 000000 constant entry external dcl 2-8 NAMES DECLARED BY EXPLICIT CONTEXT. ARG_READING_LOOP 000630 constant label dcl 40 BAD_FILE_PATH_ARG 001006 constant label dcl 71 ref 76 79 BAD_PERCENTAGE_ARG 001230 constant label dcl 104 ref 109 112 121 124 END_SUB_TOTAL_LOOP 002501 constant label dcl 261 ref 204 207 210 216 GET_PERCENTAGE 001204 constant label dcl 97 ref 92 OPEN_OUTPUT_FILE 001443 constant label dcl 139 PRINT_METERS 003170 constant entry internal dcl 361 ref 248 251 329 PRINT_METERS_HEADER 003074 constant entry internal dcl 345 ref 228 229 240 278 282 326 363 PRINT_STATS 003257 constant entry internal dcl 374 ref 253 331 PRINT_TOTAL_LINE 002774 constant entry internal dcl 324 ref 266 288 RETURN 002660 constant label dcl 296 ref 37 46 73 86 106 131 149 157 SUB_TOTAL_LOOP 002101 constant label dcl 196 TOTAL_LOOP 002041 constant label dcl 187 TRACE_METERS_CLEANUP 002666 constant entry internal dcl 304 ref 23 296 tmt 000474 constant entry external dcl 16 trace_meters 000504 constant entry external dcl 16 ref 142 142 NAMES DECLARED BY CONTEXT OR IMPLICATION. baseno builtin function ref 190 196 clock builtin function ref 22 286 286 codeptr builtin function ref 142 142 float builtin function ref 176 180 210 210 216 216 365 365 378 378 378 null builtin function ref 306 310 398 419 rtrim builtin function ref 142 142 substr builtin function ref 79 112 118 118 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4040 4140 3464 4050 Length 4436 3464 100 262 354 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tmt 602 external procedure is an external procedure. on unit on line 23 64 on unit TRACE_METERS_CLEANUP 98 internal procedure is called by several nonquick procedures. PRINT_TOTAL_LINE internal procedure shares stack frame of external procedure tmt. PRINT_METERS_HEADER internal procedure shares stack frame of external procedure tmt. PRINT_METERS internal procedure shares stack frame of external procedure tmt. PRINT_STATS internal procedure shares stack frame of external procedure tmt. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tmt 000100 arg_count tmt 000101 arg_idx tmt 000102 arg_length tmt 000104 arg_ptr tmt 000106 code tmt 000107 control_arg tmt 000117 date_time_string tmt 000125 long_format tmt 000126 numeric_arg tmt 000127 report tmt 000130 reset tmt 000132 transaction_id tmt 000134 tt_count tmt 000135 tt_idx tmt 000136 local_meters tmt 000144 global_meters tmt 000152 metered tmt 000157 minimum tmt 000162 output_file tmt 000246 percentage_coefficient tmt 000250 totals tmt 000262 subtotals tmt 000273 segment_being_subtotaled tmt 000364 watch_values tmt 000366 counts tmt 000372 meters tmt 000400 compensation tmt THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_e_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this call_int_other return enable shorten_stack ext_entry int_entry clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ date_time_ expand_pathname_ expand_pathname_$add_suffix ioa_$ioa_switch ioa_$ioa_switch_nnl iox_$attach_name iox_$close iox_$detach_iocb iox_$open trace_$entrypoint_counts trace_$entrypoint_global_meters trace_$entrypoint_local_meters trace_$entrypoint_name trace_$entrypoint_ptr trace_$entrypoint_seg_path trace_$metered trace_$num_entrypoints trace_$removed trace_$reset_meters trace_$transaction_begin trace_$transaction_end unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt iox_$user_output CONSTANTS 003372 aa 000002000000 003373 aa 000000000000 003374 aa 600000000041 003375 aa 001024000000 003376 aa 000002000000 003377 aa 000000000000 003400 aa 600000000041 003401 aa 000675000000 003402 aa 000006000000 003403 aa 000006000000 003404 aa 600000000041 003405 aa 000250000000 003406 aa 600000000041 003407 aa 000536000000 003410 aa 600000000041 003411 aa 000117000000 003412 ta 000235000000 003413 aa 000000000000 003414 ta 000017000000 003415 aa 000000000000 003416 ta 000020000000 003417 aa 000000000000 003420 aa 000006000000 003421 aa 000006000000 003422 aa 600000000041 003423 aa 000262000000 003424 aa 600000000041 003425 aa 000536000000 003426 aa 600000000041 003427 aa 000346000000 003430 ta 000235000000 003431 aa 000000000000 003432 ta 000071000000 003433 aa 000000000000 003434 ta 000074000000 003435 aa 000000000000 003436 aa 000004000000 003437 aa 000000000000 003440 aa 600000000041 003441 aa 000140000000 003442 aa 600000000041 003443 aa 000366000000 003444 aa 000002000000 003445 aa 000000000000 003446 aa 600000000041 003447 aa 000136000000 003450 aa 000002000000 003451 aa 000000000000 003452 aa 600000000041 003453 aa 000144000000 003454 aa 000002000000 003455 aa 000000000000 003456 aa 600000000041 003457 aa 000507000000 000000 aa 164 162 141 143 trac 000001 aa 145 137 155 145 e_me 000002 aa 164 145 162 163 ters 000003 aa 040 040 040 040 000004 aa 040 040 040 040 000005 aa 040 040 040 040 000006 aa 040 040 040 040 000007 aa 040 040 040 040 000010 aa 524000000015 000011 aa 414000000033 000012 aa 732414336750 000013 aa 524000000070 000014 aa 136 062 064 170 ^24x 000015 aa 526000000001 000016 aa 526077777777 000017 aa 524000000005 000020 aa 526000000030 000021 aa 410000000107 000022 aa 000000000002 000023 aa 040 136 141 000 ^a 000024 aa 524000000021 000025 aa 524000000006 003460 aa 077 000 000 000 ? 000026 aa 410000000065 000027 aa 524000000140 000030 aa 524000000041 000031 aa 524000000043 000032 aa 524000000000 003461 aa 076 000 000 000 > 000033 aa 524000000017 000034 aa 514000000000 000035 aa 524000000004 000036 aa 042 136 141 042 "^a" 000037 aa 524000000001 000040 aa 524000000052 000041 aa 524000000053 000042 aa 055 147 045 000 -g% 003462 aa 055 045 000 000 -% 000043 aa 055 160 143 164 -pct 000044 aa 524000000037 000045 aa 526000000250 000046 aa 524000000003 000047 aa 164 155 164 000 tmt 000050 aa 526000000000 003463 aa 055 000 000 000 - 000051 aa 524000000033 000052 aa 055 157 146 000 -of 000053 aa 055 162 162 000 -rr 000054 aa 055 162 163 000 -rs 000055 aa 055 154 147 000 -lg 000056 aa 055 142 146 000 -bf 000057 aa 000000000000 000060 aa 524000000171 000061 aa 500000000000 000062 aa 466000000000 000063 aa 530000000040 000064 aa 530000000400 000065 aa 464000000000 000066 aa 530000000101 000067 aa 404000000021 000070 aa 404000000042 000071 aa 524000000010 000072 aa 514000000002 000073 aa 514000000001 000074 aa 526000000040 000075 aa 526000000017 000076 aa 404000000043 000100 aa 040 136 141 040 ^a 000101 aa 136 141 000 000 ^a 000102 aa 040 040 040 040 000103 aa 040 040 040 040 000104 aa 077777000043 000105 aa 000001000000 000106 aa 124 117 124 101 TOTA 000107 aa 114 000 000 000 L 000110 aa 123 125 102 124 SUBT 000111 aa 117 124 101 114 OTAL 000112 aa 040 136 141 076 ^a> 000113 aa 136 141 000 000 ^a 000114 aa 147 154 157 142 glob 000115 aa 141 154 000 000 al 000116 aa 154 157 143 141 loca 000117 aa 154 000 000 000 l 000120 aa 000000000000 000121 aa 000000000000 000122 aa 166 146 151 154 vfil 000123 aa 145 137 040 000 e_ 000124 aa 147 154 157 142 glob 000125 aa 141 154 040 040 al 000126 aa 055 147 160 143 -gpc 000127 aa 164 000 000 000 t 000130 aa 154 157 143 141 loca 000131 aa 154 040 040 040 l 000132 aa 055 160 145 162 -per 000133 aa 143 145 156 164 cent 000134 aa 055 162 145 163 -res 000135 aa 145 164 000 000 et 000136 aa 055 154 157 156 -lon 000137 aa 147 000 000 000 g 000140 aa 055 142 162 151 -bri 000141 aa 145 146 000 000 ef 000142 aa 143 154 145 141 clea 000143 aa 156 165 160 000 nup 000144 aa 055 157 165 164 -out 000145 aa 160 165 164 137 put_ 000146 aa 146 151 154 145 file 000147 aa 504000000002 000150 aa 410000000065 000151 aa 410000000065 000152 aa 504000000002 000153 aa 514000000044 000154 aa 514000000044 000155 aa 504000000002 000156 aa 500000000000 000157 aa 530000000400 000160 aa 040 136 061 060 ^10 000161 aa 170 040 136 065 x ^5 000162 aa 170 040 136 067 x ^7 000163 aa 144 000 000 000 d 000164 aa 136 071 056 063 ^9.3 000165 aa 146 040 136 070 f ^8 000166 aa 056 063 146 040 .3f 000167 aa 136 065 144 000 ^5d 000170 aa 055 147 154 157 -glo 000171 aa 142 141 154 137 bal_ 000172 aa 160 145 162 143 perc 000173 aa 145 156 164 000 ent 000174 aa 055 162 145 160 -rep 000175 aa 157 162 164 137 ort_ 000176 aa 162 145 163 145 rese 000177 aa 164 000 000 000 t 000200 aa 504000000003 000201 aa 410000000065 000202 aa 404000000042 000203 aa 404000000042 000204 aa 504000000003 000205 aa 464000000000 000206 aa 530000000040 000207 aa 530000000400 000210 aa 504000000003 000211 aa 410000000065 000212 aa 410000000065 000213 aa 404000000042 000214 aa 040 136 061 060 ^10 000215 aa 056 066 146 040 .6f 000216 aa 136 065 056 061 ^5.1 000217 aa 146 040 136 067 f ^7 000220 aa 144 000 000 000 d 000221 aa 040 105 116 124 ENT 000222 aa 122 131 040 120 RY P 000223 aa 117 111 116 124 OINT 000224 aa 040 116 101 115 NAM 000225 aa 105 000 000 000 E 000226 aa 040 101 040 160 A p 000227 aa 141 164 150 156 athn 000230 aa 141 155 145 040 ame 000231 aa 155 165 163 164 must 000232 aa 040 146 157 154 fol 000233 aa 154 157 167 040 low 000234 aa 136 141 056 000 ^a. 000235 aa 504000000003 000236 aa 404000000021 000237 aa 410000000065 000240 aa 504000000003 000241 aa 410000000065 000242 aa 410000000065 000243 aa 404000000042 000244 aa 040 124 150 145 The 000245 aa 040 141 162 147 arg 000246 aa 165 155 145 156 umen 000247 aa 164 040 151 156 t in 000250 aa 040 145 162 162 err 000251 aa 157 162 040 151 or i 000252 aa 163 040 042 136 s "^ 000253 aa 141 042 056 000 a". 000254 aa 040 103 157 165 Cou 000255 aa 154 144 040 156 ld n 000256 aa 157 164 040 157 ot o 000257 aa 160 145 156 040 pen 000260 aa 164 150 145 040 the 000261 aa 146 151 154 145 file 000262 aa 040 042 136 141 "^a 000263 aa 076 136 141 042 >^a" 000264 aa 056 000 000 000 . 000265 aa 040 103 157 165 Cou 000266 aa 154 164 040 156 lt n 000267 aa 157 164 040 141 ot a 000270 aa 164 164 141 143 ttac 000271 aa 150 040 164 150 h th 000272 aa 145 040 146 151 e fi 000273 aa 154 145 040 042 le " 000274 aa 136 141 076 136 ^a>^ 000275 aa 141 042 056 000 a". 000276 aa 124 150 145 040 The 000277 aa 164 162 141 143 trac 000300 aa 145 137 155 145 e_me 000301 aa 164 145 162 163 ters 000302 aa 040 143 157 155 com 000303 aa 155 141 156 144 mand 000304 aa 040 145 156 144 end 000305 aa 145 144 040 141 ed a 000306 aa 142 156 157 162 bnor 000307 aa 155 141 154 154 mall 000310 aa 171 056 000 000 y. 000311 aa 040 104 145 143 Dec 000312 aa 151 155 141 154 imal 000313 aa 040 143 157 156 con 000314 aa 166 145 162 163 vers 000315 aa 151 157 156 040 ion 000316 aa 145 162 162 157 erro 000317 aa 162 040 141 164 r at 000320 aa 040 042 136 141 "^a 000321 aa 042 040 151 156 " in 000322 aa 040 042 136 141 "^a 000323 aa 042 056 000 000 ". 000324 aa 040 101 040 156 A n 000325 aa 165 155 142 145 umbe 000326 aa 162 040 142 145 r be 000327 aa 164 167 145 145 twee 000330 aa 156 040 060 040 n 0 000331 aa 141 156 144 040 and 000332 aa 061 060 060 040 100 000333 aa 155 165 163 164 must 000334 aa 040 146 157 154 fol 000335 aa 154 157 167 040 low 000336 aa 136 141 056 000 ^a. 000337 aa 040 040 040 040 000340 aa 136 141 122 105 ^aRE 000341 aa 101 114 040 040 AL 000342 aa 040 040 136 141 ^a 000343 aa 126 103 120 125 VCPU 000344 aa 040 040 040 136 ^ 000345 aa 141 120 106 136 aPF^ 000346 aa 133 040 114 126 [ LV 000347 aa 103 120 125 057 CPU/ 000350 aa 103 101 114 114 CALL 000351 aa 040 114 126 103 LVC 000352 aa 120 125 045 040 PU% 000353 aa 040 103 101 114 CAL 000354 aa 114 123 136 135 LS^] 000355 aa 040 124 150 145 The 000356 aa 040 155 145 164 met 000357 aa 145 162 163 040 ers 000360 aa 141 162 145 040 are 000361 aa 151 156 143 157 inco 000362 aa 156 163 151 163 nsis 000363 aa 164 145 156 164 tent 000364 aa 056 040 040 115 . M 000365 aa 145 164 145 162 eter 000366 aa 145 144 040 162 ed r 000367 aa 145 141 154 040 eal 000370 aa 164 151 155 145 time 000371 aa 040 151 163 040 is 000372 aa 136 144 054 040 ^d, 000373 aa 166 143 160 165 vcpu 000374 aa 040 164 151 155 tim 000375 aa 145 040 151 163 e is 000376 aa 040 136 144 054 ^d, 000377 aa 040 141 156 144 and 000400 aa 040 160 141 147 pag 000401 aa 145 040 146 141 e fa 000402 aa 165 154 164 163 ults 000403 aa 040 141 162 145 are 000404 aa 040 136 144 056 ^d. 000405 aa 124 150 145 162 Ther 000406 aa 145 040 163 145 e se 000407 aa 145 155 163 040 ems 000410 aa 164 157 040 142 to b 000411 aa 145 040 141 156 e an 000412 aa 040 151 156 143 inc 000413 aa 157 155 160 154 ompl 000414 aa 145 164 145 040 ete 000415 aa 151 156 166 157 invo 000416 aa 143 141 164 151 cati 000417 aa 157 156 040 157 on o 000420 aa 146 040 164 162 f tr 000421 aa 141 143 145 054 ace, 000422 aa 012 167 141 164 wat 000423 aa 143 150 054 040 ch, 000424 aa 157 162 040 164 or t 000425 aa 162 141 143 145 race 000426 aa 137 155 145 164 _met 000427 aa 145 162 163 040 ers 000430 aa 163 164 151 154 stil 000431 aa 154 040 157 156 l on 000432 aa 040 164 150 145 the 000433 aa 040 163 164 141 sta 000434 aa 143 153 056 040 ck. 000435 aa 040 124 162 171 Try 000436 aa 040 164 150 145 the 000437 aa 040 162 145 154 rel 000440 aa 145 141 163 145 ease 000441 aa 040 143 157 155 com 000442 aa 155 141 156 144 mand 000443 aa 056 000 000 000 . BEGIN PROCEDURE tmt PROLOGUE SEQUENCE 000444 aa 6 00440 4401 00 sxl0 pr6|288 STATEMENT 1 ON LINE 398 000445 aa 777437 2370 04 ldaq -225,ic 000104 = 077777000043 000001000000 000446 aa 6 00104 7571 00 staq pr6|68 arg_ptr STATEMENT 1 ON LINE 399 000447 aa 6 00106 4501 00 stz pr6|70 code STATEMENT 1 ON LINE 403 000450 aa 400000 2350 03 lda 131072,du 000451 aa 6 00125 7551 00 sta pr6|85 long_format STATEMENT 1 ON LINE 405 000452 aa 6 00127 7551 00 sta pr6|87 report STATEMENT 1 ON LINE 406 000453 aa 6 00130 4501 00 stz pr6|88 reset STATEMENT 1 ON LINE 415 000454 aa 777426 2370 04 ldaq -234,ic 000102 = 040040040040 040040040040 000455 aa 6 00157 7551 00 sta pr6|111 minimum.kind 000456 aa 6 00160 7561 00 stq pr6|112 minimum.kind 000457 aa 400000 4310 03 fld 131072,du 000460 aa 6 00161 4551 00 fst pr6|113 minimum.percent STATEMENT 1 ON LINE 419 000461 aa 777423 2370 04 ldaq -237,ic 000104 = 077777000043 000001000000 000462 aa 6 00162 7571 00 staq pr6|114 output_file.iocb_ptr 000463 aa 040 100 100 400 mlr (),(pr),fill(040) 000464 aa 000000 00 0000 desc9a 0,0 000465 aa 6 00164 00 0250 desc9a pr6|116,168 output_file.dir_path 000466 aa 040 100 100 400 mlr (),(pr),fill(040) 000467 aa 000000 00 0000 desc9a 0,0 000470 aa 6 00236 00 0040 desc9a pr6|158,32 output_file.entry_name 000471 aa 6 00440 7201 00 lxl0 pr6|288 000472 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO tmt STATEMENT 1 ON LINE 16 trace_meters: tmt: procedure options (variable); 000473 da 000326240000 000474 aa 001140 6270 00 eax7 608 000475 aa 7 00034 3521 20 epp2 pr7|28,* 000476 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000477 aa 000000000000 000500 aa 000000000000 000501 aa 777743 7000 04 tsx0 -29,ic 000444 000502 aa 000010 7100 04 tra 8,ic 000512 ENTRY TO trace_meters STATEMENT 1 ON LINE 16 trace_meters: tmt: procedure options (variable); 000503 da 000331240000 000504 aa 001140 6270 00 eax7 608 000505 aa 7 00034 3521 20 epp2 pr7|28,* 000506 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000507 aa 000000000000 000510 aa 000000000000 000511 aa 777733 7000 04 tsx0 -37,ic 000444 STATEMENT 1 ON LINE 22 transaction_id = clock (); 000512 aa 0 01435 7001 00 tsx0 pr0|797 clock 000513 aa 6 00132 7571 00 staq pr6|90 transaction_id STATEMENT 1 ON LINE 23 on cleanup call TRACE_METERS_CLEANUP (); 000514 aa 000007 7260 07 lxl6 7,dl 000515 aa 777425 3520 04 epp2 -235,ic 000142 = 143154145141 000516 aa 0 00717 7001 00 tsx0 pr0|463 enable 000517 aa 000004 7100 04 tra 4,ic 000523 000520 aa 000356000000 000521 aa 000015 7100 04 tra 13,ic 000536 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 23 on cleanup call TRACE_METERS_CLEANUP (); 000522 da 000337200000 000523 aa 000100 6270 00 eax7 64 000524 aa 7 00034 3521 20 epp2 pr7|28,* 000525 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000526 aa 000000000000 000527 aa 000000000000 000530 aa 000001 7270 07 lxl7 1,dl 000531 aa 6 00056 6211 00 eax1 pr6|46 000532 aa 000000 4310 07 fld 0,dl 000533 aa 002133 3520 04 epp2 1115,ic 002666 = 000160627000 000534 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 000535 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 24 if ^trace_$transaction_begin (transaction_id) /* Temporarily disables trace_catch_. */ then do; 000536 aa 6 00132 3521 00 epp2 pr6|90 transaction_id 000537 aa 6 00444 2521 00 spri2 pr6|292 000540 aa 6 00441 3521 00 epp2 pr6|289 000541 aa 6 00446 2521 00 spri2 pr6|294 000542 aa 6 00442 6211 00 eax1 pr6|290 000543 aa 010000 4310 07 fld 4096,dl 000544 aa 6 00044 3701 20 epp4 pr6|36,* 000545 la 4 00050 3521 20 epp2 pr4|40,* trace_$transaction_begin 000546 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000547 aa 6 00441 2351 00 lda pr6|289 000550 aa 400000 3150 03 cana 131072,du 000551 aa 000026 6010 04 tnz 22,ic 000577 STATEMENT 1 ON LINE 26 call com_err_ (code, ME, "There seems to be an incomplete invocation of trace, watch, or trace_meters still on the stack. Try the release command."); 000552 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000553 aa 777633 00 0174 desc9a -101,124 000405 = 124150145162 000554 aa 6 00450 00 0174 desc9a pr6|296,124 000555 aa 6 00106 3521 00 epp2 pr6|70 code 000556 aa 6 00512 2521 00 spri2 pr6|330 000557 aa 777221 3520 04 epp2 -367,ic 000000 = 164162141143 000560 aa 6 00514 2521 00 spri2 pr6|332 000561 aa 6 00450 3521 00 epp2 pr6|296 000562 aa 6 00516 2521 00 spri2 pr6|334 000563 aa 777313 3520 04 epp2 -309,ic 000076 = 404000000043 000564 aa 6 00520 2521 00 spri2 pr6|336 000565 aa 777307 3520 04 epp2 -313,ic 000074 = 526000000040 000566 aa 6 00522 2521 00 spri2 pr6|338 000567 aa 777271 3520 04 epp2 -327,ic 000060 = 524000000171 000570 aa 6 00524 2521 00 spri2 pr6|340 000571 aa 6 00510 6211 00 eax1 pr6|328 000572 aa 014000 4310 07 fld 6144,dl 000573 aa 6 00044 3701 20 epp4 pr6|36,* 000574 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000575 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 28 return; 000576 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 29 end; STATEMENT 1 ON LINE 33 call cu_$arg_count (arg_count, code); 000577 aa 6 00100 3521 00 epp2 pr6|64 arg_count 000600 aa 6 00444 2521 00 spri2 pr6|292 000601 aa 6 00106 3521 00 epp2 pr6|70 code 000602 aa 6 00446 2521 00 spri2 pr6|294 000603 aa 6 00442 6211 00 eax1 pr6|290 000604 aa 010000 4310 07 fld 4096,dl 000605 aa 6 00044 3701 20 epp4 pr6|36,* 000606 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_count 000607 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 34 if code ^= 0 then do; 000610 aa 6 00106 2361 00 ldq pr6|70 code 000611 aa 000017 6000 04 tze 15,ic 000630 STATEMENT 1 ON LINE 36 call com_err_ (code, ME); 000612 aa 6 00106 3521 00 epp2 pr6|70 code 000613 aa 6 00512 2521 00 spri2 pr6|330 000614 aa 777164 3520 04 epp2 -396,ic 000000 = 164162141143 000615 aa 6 00514 2521 00 spri2 pr6|332 000616 aa 777260 3520 04 epp2 -336,ic 000076 = 404000000043 000617 aa 6 00516 2521 00 spri2 pr6|334 000620 aa 777254 3520 04 epp2 -340,ic 000074 = 526000000040 000621 aa 6 00520 2521 00 spri2 pr6|336 000622 aa 6 00510 6211 00 eax1 pr6|328 000623 aa 010000 4310 07 fld 4096,dl 000624 aa 6 00044 3701 20 epp4 pr6|36,* 000625 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000626 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 37 go to RETURN; 000627 aa 002031 7100 04 tra 1049,ic 002660 STATEMENT 1 ON LINE 38 end; STATEMENT 1 ON LINE 40 ARG_READING_LOOP: do arg_idx = 1 to arg_count; 000630 aa 6 00100 2361 00 ldq pr6|64 arg_count 000631 aa 6 00404 7561 00 stq pr6|260 000632 aa 000001 2360 07 ldq 1,dl 000633 aa 6 00101 7561 00 stq pr6|65 arg_idx 000634 aa 6 00101 2361 00 ldq pr6|65 arg_idx 000635 aa 6 00404 1161 00 cmpq pr6|260 000636 aa 000574 6054 04 tpnz 380,ic 001432 STATEMENT 1 ON LINE 42 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 000637 aa 6 00101 3521 00 epp2 pr6|65 arg_idx 000640 aa 6 00512 2521 00 spri2 pr6|330 000641 aa 6 00104 3521 00 epp2 pr6|68 arg_ptr 000642 aa 6 00514 2521 00 spri2 pr6|332 000643 aa 6 00102 3521 00 epp2 pr6|66 arg_length 000644 aa 6 00516 2521 00 spri2 pr6|334 000645 aa 6 00106 3521 00 epp2 pr6|70 code 000646 aa 6 00520 2521 00 spri2 pr6|336 000647 aa 6 00510 6211 00 eax1 pr6|328 000650 aa 020000 4310 07 fld 8192,dl 000651 aa 6 00044 3701 20 epp4 pr6|36,* 000652 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 000653 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 43 if code ^= 0 then do; 000654 aa 6 00106 2361 00 ldq pr6|70 code 000655 aa 000017 6000 04 tze 15,ic 000674 STATEMENT 1 ON LINE 45 call com_err_ (code, ME); 000656 aa 6 00106 3521 00 epp2 pr6|70 code 000657 aa 6 00512 2521 00 spri2 pr6|330 000660 aa 777120 3520 04 epp2 -432,ic 000000 = 164162141143 000661 aa 6 00514 2521 00 spri2 pr6|332 000662 aa 777214 3520 04 epp2 -372,ic 000076 = 404000000043 000663 aa 6 00516 2521 00 spri2 pr6|334 000664 aa 777210 3520 04 epp2 -376,ic 000074 = 526000000040 000665 aa 6 00520 2521 00 spri2 pr6|336 000666 aa 6 00510 6211 00 eax1 pr6|328 000667 aa 010000 4310 07 fld 4096,dl 000670 aa 6 00044 3701 20 epp4 pr6|36,* 000671 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000672 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 46 go to RETURN; 000673 aa 001765 7100 04 tra 1013,ic 002660 STATEMENT 1 ON LINE 47 end; STATEMENT 1 ON LINE 49 if arg = "-brief" | arg = "-bf" then long_format = "0"b; 000674 aa 6 00104 3735 20 epp7 pr6|68,* arg_ptr 000675 aa 6 00102 2351 00 lda pr6|66 arg_length 000676 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000677 aa 7 00000 00 0005 desc9a pr7|0,al arg 000700 aa 777242 00 0006 desc9a -350,6 000140 = 055142162151 000701 aa 000005 6000 04 tze 5,ic 000706 000702 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000703 aa 7 00000 00 0005 desc9a pr7|0,al arg 000704 aa 777154 00 0003 desc9a -404,3 000056 = 055142146000 000705 aa 000003 6010 04 tnz 3,ic 000710 000706 aa 6 00125 4501 00 stz pr6|85 long_format 000707 aa 000521 7100 04 tra 337,ic 001430 STATEMENT 1 ON LINE 51 else if arg = "-long" | arg = "-lg" then long_format = "1"b; 000710 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000711 aa 7 00000 00 0005 desc9a pr7|0,al arg 000712 aa 777226 00 0005 desc9a -362,5 000136 = 055154157156 000713 aa 000005 6000 04 tze 5,ic 000720 000714 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000715 aa 7 00000 00 0005 desc9a pr7|0,al arg 000716 aa 777141 00 0003 desc9a -415,3 000055 = 055154147000 000717 aa 000004 6010 04 tnz 4,ic 000723 000720 aa 400000 2350 03 lda 131072,du 000721 aa 6 00125 7551 00 sta pr6|85 long_format 000722 aa 000506 7100 04 tra 326,ic 001430 STATEMENT 1 ON LINE 53 else if arg = "-reset" | arg = "-rs" then do; 000723 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000724 aa 7 00000 00 0005 desc9a pr7|0,al arg 000725 aa 777211 00 0006 desc9a -375,6 000134 = 055162145163 000726 aa 000005 6000 04 tze 5,ic 000733 000727 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000730 aa 7 00000 00 0005 desc9a pr7|0,al arg 000731 aa 777125 00 0003 desc9a -427,3 000054 = 055162163000 000732 aa 000005 6010 04 tnz 5,ic 000737 STATEMENT 1 ON LINE 55 reset = "1"b; 000733 aa 400000 2350 03 lda 131072,du 000734 aa 6 00130 7551 00 sta pr6|88 reset STATEMENT 1 ON LINE 56 report = "0"b; 000735 aa 6 00127 4501 00 stz pr6|87 report STATEMENT 1 ON LINE 57 end; 000736 aa 000472 7100 04 tra 314,ic 001430 STATEMENT 1 ON LINE 58 else if arg = "-report_reset" | arg = "-rr" then do; 000737 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000740 aa 7 00000 00 0005 desc9a pr7|0,al arg 000741 aa 777235 00 0015 desc9a -355,13 000174 = 055162145160 000742 aa 000005 6000 04 tze 5,ic 000747 000743 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000744 aa 7 00000 00 0005 desc9a pr7|0,al arg 000745 aa 777110 00 0003 desc9a -440,3 000053 = 055162162000 000746 aa 000005 6010 04 tnz 5,ic 000753 STATEMENT 1 ON LINE 60 reset = "1"b; 000747 aa 400000 2350 03 lda 131072,du 000750 aa 6 00130 7551 00 sta pr6|88 reset STATEMENT 1 ON LINE 61 report = "1"b; 000751 aa 6 00127 7551 00 sta pr6|87 report STATEMENT 1 ON LINE 62 end; 000752 aa 000456 7100 04 tra 302,ic 001430 STATEMENT 1 ON LINE 63 else if arg = "-output_file" | arg = "-of" then do; 000753 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000754 aa 7 00000 00 0005 desc9a pr7|0,al arg 000755 aa 777171 00 0014 desc9a -391,12 000144 = 055157165164 000756 aa 000005 6000 04 tze 5,ic 000763 000757 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000760 aa 7 00000 00 0005 desc9a pr7|0,al arg 000761 aa 777073 00 0003 desc9a -453,3 000052 = 055157146000 000762 aa 000163 6010 04 tnz 115,ic 001145 STATEMENT 1 ON LINE 65 control_arg = arg; 000763 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000764 aa 7 00000 00 0005 desc9a pr7|0,al arg 000765 aa 6 00107 00 0040 desc9a pr6|71,32 control_arg STATEMENT 1 ON LINE 67 arg_idx = arg_idx + 1; 000766 aa 6 00101 0541 00 aos pr6|65 arg_idx STATEMENT 1 ON LINE 68 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 000767 aa 6 00101 3521 00 epp2 pr6|65 arg_idx 000770 aa 6 00512 2521 00 spri2 pr6|330 000771 aa 6 00104 3521 00 epp2 pr6|68 arg_ptr 000772 aa 6 00514 2521 00 spri2 pr6|332 000773 aa 6 00102 3521 00 epp2 pr6|66 arg_length 000774 aa 6 00516 2521 00 spri2 pr6|334 000775 aa 6 00106 3521 00 epp2 pr6|70 code 000776 aa 6 00520 2521 00 spri2 pr6|336 000777 aa 6 00510 6211 00 eax1 pr6|328 001000 aa 020000 4310 07 fld 8192,dl 001001 aa 6 00044 3701 20 epp4 pr6|36,* 001002 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 001003 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 69 if code ^= 0 then do; 001004 aa 6 00106 2361 00 ldq pr6|70 code 001005 aa 000031 6000 04 tze 25,ic 001036 STATEMENT 1 ON LINE 71 BAD_FILE_PATH_ARG: call com_err_ (code, ME, " A pathname must follow ^a.", control_arg); 001006 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001007 aa 777220 00 0034 desc9a -368,28 000226 = 040101040160 001010 aa 6 00510 00 0034 desc9a pr6|328,28 001011 aa 6 00106 3521 00 epp2 pr6|70 code 001012 aa 6 00452 2521 00 spri2 pr6|298 001013 aa 776765 3520 04 epp2 -523,ic 000000 = 164162141143 001014 aa 6 00454 2521 00 spri2 pr6|300 001015 aa 6 00510 3521 00 epp2 pr6|328 001016 aa 6 00456 2521 00 spri2 pr6|302 001017 aa 6 00107 3521 00 epp2 pr6|71 control_arg 001020 aa 6 00460 2521 00 spri2 pr6|304 001021 aa 777055 3520 04 epp2 -467,ic 000076 = 404000000043 001022 aa 6 00462 2521 00 spri2 pr6|306 001023 aa 777051 3520 04 epp2 -471,ic 000074 = 526000000040 001024 aa 6 00464 2521 00 spri2 pr6|308 001025 aa 6 00470 2521 00 spri2 pr6|312 001026 aa 777023 3520 04 epp2 -493,ic 000051 = 524000000033 001027 aa 6 00466 2521 00 spri2 pr6|310 001030 aa 6 00450 6211 00 eax1 pr6|296 001031 aa 020000 4310 07 fld 8192,dl 001032 aa 6 00044 3701 20 epp4 pr6|36,* 001033 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001034 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 73 go to RETURN; 001035 aa 001623 7100 04 tra 915,ic 002660 STATEMENT 1 ON LINE 74 end; STATEMENT 1 ON LINE 76 if arg = "" then go to BAD_FILE_PATH_ARG; 001036 aa 6 00104 3735 20 epp7 pr6|68,* arg_ptr 001037 aa 6 00102 2351 00 lda pr6|66 arg_length 001040 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001041 aa 7 00000 00 0005 desc9a pr7|0,al arg 001042 aa 002420 00 0000 desc9a 1296,0 003460 = 077000000000 001043 aa 777743 6000 04 tze -29,ic 001006 STATEMENT 1 ON LINE 79 if substr (arg, 1, 1) = "-" then go to BAD_FILE_PATH_ARG; 001044 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001045 aa 7 00000 00 0001 desc9a pr7|0,1 arg 001046 aa 002417 00 0001 desc9a 1295,1 003463 = 055000000000 001047 aa 777737 6000 04 tze -33,ic 001006 STATEMENT 1 ON LINE 82 call expand_pathname_$add_suffix (arg, "tmt", output_file.dir_path, output_file.entry_name, code); 001050 aa 6 00102 2361 00 ldq pr6|66 arg_length 001051 aa 526000 2760 03 orq 175104,du 001052 aa 6 00507 7561 00 stq pr6|327 001053 aa 776774 2350 04 lda -516,ic 000047 = 164155164000 001054 aa 6 00441 7551 00 sta pr6|289 001055 aa 7 00000 3521 00 epp2 pr7|0 arg 001056 aa 6 00452 2521 00 spri2 pr6|298 001057 aa 6 00441 3521 00 epp2 pr6|289 001060 aa 6 00454 2521 00 spri2 pr6|300 001061 aa 6 00164 3521 00 epp2 pr6|116 output_file.dir_path 001062 aa 6 00456 2521 00 spri2 pr6|302 001063 aa 6 00236 3521 00 epp2 pr6|158 output_file.entry_name 001064 aa 6 00460 2521 00 spri2 pr6|304 001065 aa 6 00106 3521 00 epp2 pr6|70 code 001066 aa 6 00462 2521 00 spri2 pr6|306 001067 aa 6 00507 3521 00 epp2 pr6|327 001070 aa 6 00464 2521 00 spri2 pr6|308 001071 aa 776755 3520 04 epp2 -531,ic 000046 = 524000000003 001072 aa 6 00466 2521 00 spri2 pr6|310 001073 aa 776752 3520 04 epp2 -534,ic 000045 = 526000000250 001074 aa 6 00470 2521 00 spri2 pr6|312 001075 aa 776777 3520 04 epp2 -513,ic 000074 = 526000000040 001076 aa 6 00472 2521 00 spri2 pr6|314 001077 aa 776777 3520 04 epp2 -513,ic 000076 = 404000000043 001100 aa 6 00474 2521 00 spri2 pr6|316 001101 aa 6 00450 6211 00 eax1 pr6|296 001102 aa 024000 4310 07 fld 10240,dl 001103 aa 6 00044 3701 20 epp4 pr6|36,* 001104 la 4 00030 3521 20 epp2 pr4|24,* expand_pathname_$add_suffix 001105 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 83 if code ^= 0 then do; 001106 aa 6 00106 2361 00 ldq pr6|70 code 001107 aa 000321 6000 04 tze 209,ic 001430 STATEMENT 1 ON LINE 85 call com_err_ (code, ME, " The argument in error is ""^a"".", arg); 001110 aa 6 00102 2361 00 ldq pr6|66 arg_length 001111 aa 526000 2760 03 orq 175104,du 001112 aa 6 00507 7561 00 stq pr6|327 001113 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001114 aa 777131 00 0040 desc9a -423,32 000244 = 040124150145 001115 aa 6 00510 00 0040 desc9a pr6|328,32 001116 aa 6 00106 3521 00 epp2 pr6|70 code 001117 aa 6 00452 2521 00 spri2 pr6|298 001120 aa 776660 3520 04 epp2 -592,ic 000000 = 164162141143 001121 aa 6 00454 2521 00 spri2 pr6|300 001122 aa 6 00510 3521 00 epp2 pr6|328 001123 aa 6 00456 2521 00 spri2 pr6|302 001124 aa 6 00104 3521 20 epp2 pr6|68,* arg 001125 aa 6 00460 2521 00 spri2 pr6|304 001126 aa 776750 3520 04 epp2 -536,ic 000076 = 404000000043 001127 aa 6 00462 2521 00 spri2 pr6|306 001130 aa 776744 3520 04 epp2 -540,ic 000074 = 526000000040 001131 aa 6 00464 2521 00 spri2 pr6|308 001132 aa 776712 3520 04 epp2 -566,ic 000044 = 524000000037 001133 aa 6 00466 2521 00 spri2 pr6|310 001134 aa 6 00507 3521 00 epp2 pr6|327 001135 aa 6 00470 2521 00 spri2 pr6|312 001136 aa 6 00450 6211 00 eax1 pr6|296 001137 aa 020000 4310 07 fld 8192,dl 001140 aa 6 00044 3701 20 epp4 pr6|36,* 001141 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001142 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 86 go to RETURN; 001143 aa 001515 7100 04 tra 845,ic 002660 STATEMENT 1 ON LINE 87 end; STATEMENT 1 ON LINE 88 end; 001144 aa 000264 7100 04 tra 180,ic 001430 STATEMENT 1 ON LINE 89 else if arg = "-percent" | arg = "-pct" | arg = "-%" then do; 001145 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001146 aa 7 00000 00 0005 desc9a pr7|0,al arg 001147 aa 776765 00 0010 desc9a -523,8 000132 = 055160145162 001150 aa 000011 6000 04 tze 9,ic 001161 001151 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001152 aa 7 00000 00 0005 desc9a pr7|0,al arg 001153 aa 776672 00 0004 desc9a -582,4 000043 = 055160143164 001154 aa 000005 6000 04 tze 5,ic 001161 001155 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001156 aa 7 00000 00 0005 desc9a pr7|0,al arg 001157 aa 002305 00 0002 desc9a 1221,2 003462 = 055045000000 001160 aa 000005 6010 04 tnz 5,ic 001165 STATEMENT 1 ON LINE 91 minimum.kind = "local"; 001161 aa 776747 2370 04 ldaq -537,ic 000130 = 154157143141 154040040040 001162 aa 6 00157 7551 00 sta pr6|111 minimum.kind 001163 aa 6 00160 7561 00 stq pr6|112 minimum.kind STATEMENT 1 ON LINE 92 go to GET_PERCENTAGE; 001164 aa 000020 7100 04 tra 16,ic 001204 STATEMENT 1 ON LINE 93 end; STATEMENT 1 ON LINE 94 else if arg = "-global_percent" | arg = "-gpct" | arg = "-g%" then do; 001165 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001166 aa 7 00000 00 0005 desc9a pr7|0,al arg 001167 aa 777003 00 0017 desc9a -509,15 000170 = 055147154157 001170 aa 000011 6000 04 tze 9,ic 001201 001171 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001172 aa 7 00000 00 0005 desc9a pr7|0,al arg 001173 aa 776735 00 0005 desc9a -547,5 000126 = 055147160143 001174 aa 000005 6000 04 tze 5,ic 001201 001175 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001176 aa 7 00000 00 0005 desc9a pr7|0,al arg 001177 aa 776645 00 0003 desc9a -603,3 000042 = 055147045000 001200 aa 000175 6010 04 tnz 125,ic 001375 STATEMENT 1 ON LINE 96 minimum.kind = "global"; 001201 aa 776723 2370 04 ldaq -557,ic 000124 = 147154157142 141154040040 001202 aa 6 00157 7551 00 sta pr6|111 minimum.kind 001203 aa 6 00160 7561 00 stq pr6|112 minimum.kind STATEMENT 1 ON LINE 97 GET_PERCENTAGE: control_arg = arg; 001204 aa 6 00102 2361 00 ldq pr6|66 arg_length 001205 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001206 aa 7 00000 00 0006 desc9a pr7|0,ql arg 001207 aa 6 00107 00 0040 desc9a pr6|71,32 control_arg STATEMENT 1 ON LINE 100 arg_idx = arg_idx + 1; 001210 aa 6 00101 0541 00 aos pr6|65 arg_idx STATEMENT 1 ON LINE 101 call cu_$arg_ptr (arg_idx, arg_ptr, arg_length, code); 001211 aa 6 00101 3521 00 epp2 pr6|65 arg_idx 001212 aa 6 00512 2521 00 spri2 pr6|330 001213 aa 6 00104 3521 00 epp2 pr6|68 arg_ptr 001214 aa 6 00514 2521 00 spri2 pr6|332 001215 aa 6 00102 3521 00 epp2 pr6|66 arg_length 001216 aa 6 00516 2521 00 spri2 pr6|334 001217 aa 6 00106 3521 00 epp2 pr6|70 code 001220 aa 6 00520 2521 00 spri2 pr6|336 001221 aa 6 00510 6211 00 eax1 pr6|328 001222 aa 020000 4310 07 fld 8192,dl 001223 aa 6 00044 3701 20 epp4 pr6|36,* 001224 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 001225 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 102 if code ^= 0 then do; 001226 aa 6 00106 2361 00 ldq pr6|70 code 001227 aa 000031 6000 04 tze 25,ic 001260 STATEMENT 1 ON LINE 104 BAD_PERCENTAGE_ARG: call com_err_ (code, ME, " A number between 0 and 100 must follow ^a.", control_arg); 001230 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001231 aa 777074 00 0054 desc9a -452,44 000324 = 040101040156 001232 aa 6 00510 00 0054 desc9a pr6|328,44 001233 aa 6 00106 3521 00 epp2 pr6|70 code 001234 aa 6 00452 2521 00 spri2 pr6|298 001235 aa 776543 3520 04 epp2 -669,ic 000000 = 164162141143 001236 aa 6 00454 2521 00 spri2 pr6|300 001237 aa 6 00510 3521 00 epp2 pr6|328 001240 aa 6 00456 2521 00 spri2 pr6|302 001241 aa 6 00107 3521 00 epp2 pr6|71 control_arg 001242 aa 6 00460 2521 00 spri2 pr6|304 001243 aa 776633 3520 04 epp2 -613,ic 000076 = 404000000043 001244 aa 6 00462 2521 00 spri2 pr6|306 001245 aa 776627 3520 04 epp2 -617,ic 000074 = 526000000040 001246 aa 6 00464 2521 00 spri2 pr6|308 001247 aa 6 00470 2521 00 spri2 pr6|312 001250 aa 776571 3520 04 epp2 -647,ic 000041 = 524000000053 001251 aa 6 00466 2521 00 spri2 pr6|310 001252 aa 6 00450 6211 00 eax1 pr6|296 001253 aa 020000 4310 07 fld 8192,dl 001254 aa 6 00044 3701 20 epp4 pr6|36,* 001255 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001256 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 106 go to RETURN; 001257 aa 001401 7100 04 tra 769,ic 002660 STATEMENT 1 ON LINE 107 end; STATEMENT 1 ON LINE 109 if arg = "" then go to BAD_PERCENTAGE_ARG; 001260 aa 6 00104 3735 20 epp7 pr6|68,* arg_ptr 001261 aa 6 00102 2351 00 lda pr6|66 arg_length 001262 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001263 aa 7 00000 00 0005 desc9a pr7|0,al arg 001264 aa 002176 00 0000 desc9a 1150,0 003460 = 077000000000 001265 aa 777743 6000 04 tze -29,ic 001230 STATEMENT 1 ON LINE 112 if substr (arg, 1, 1) = "-" then go to BAD_PERCENTAGE_ARG; 001266 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001267 aa 7 00000 00 0001 desc9a pr7|0,1 arg 001270 aa 002175 00 0001 desc9a 1149,1 003463 = 055000000000 001271 aa 777737 6000 04 tze -33,ic 001230 STATEMENT 1 ON LINE 115 numeric_arg = cv_dec_check_ (arg, code); 001272 aa 6 00102 2361 00 ldq pr6|66 arg_length 001273 aa 526000 2760 03 orq 175104,du 001274 aa 6 00507 7561 00 stq pr6|327 001275 aa 7 00000 3521 00 epp2 pr7|0 arg 001276 aa 6 00512 2521 00 spri2 pr6|330 001277 aa 6 00106 3521 00 epp2 pr6|70 code 001300 aa 6 00514 2521 00 spri2 pr6|332 001301 aa 6 00126 3521 00 epp2 pr6|86 numeric_arg 001302 aa 6 00516 2521 00 spri2 pr6|334 001303 aa 6 00507 3521 00 epp2 pr6|327 001304 aa 6 00520 2521 00 spri2 pr6|336 001305 aa 776571 3520 04 epp2 -647,ic 000076 = 404000000043 001306 aa 6 00522 2521 00 spri2 pr6|338 001307 aa 6 00524 2521 00 spri2 pr6|340 001310 aa 6 00510 6211 00 eax1 pr6|328 001311 aa 014000 4310 07 fld 6144,dl 001312 aa 6 00044 3701 20 epp4 pr6|36,* 001313 la 4 00022 3521 20 epp2 pr4|18,* cv_dec_check_ 001314 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 116 if code ^= 0 then do; 001315 aa 6 00106 2361 00 ldq pr6|70 code 001316 aa 000050 6000 04 tze 40,ic 001366 STATEMENT 1 ON LINE 118 call com_err_ (ZERO, ME, " Decimal conversion error at ""^a"" in ""^a"".", substr (arg, code, 1), arg); 001317 aa 6 00102 2361 00 ldq pr6|66 arg_length 001320 aa 526000 2760 03 orq 175104,du 001321 aa 6 00507 7561 00 stq pr6|327 001322 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001323 aa 776767 00 0054 desc9a -521,44 000311 = 040104145143 001324 aa 6 00510 00 0054 desc9a pr6|328,44 001325 aa 6 00441 4501 00 stz pr6|289 001326 aa 6 00106 2351 00 lda pr6|70 code 001327 aa 6 00104 3735 20 epp7 pr6|68,* arg_ptr 001330 aa 040 100 100 505 mlr (pr,al),(pr),fill(040) 001331 aa 7 77777 60 0001 desc9a pr7|-1(3),1 arg 001332 aa 6 00441 00 0001 desc9a pr6|289,1 001333 aa 776524 3520 04 epp2 -684,ic 000057 = 000000000000 001334 aa 6 00452 2521 00 spri2 pr6|298 001335 aa 776443 3520 04 epp2 -733,ic 000000 = 164162141143 001336 aa 6 00454 2521 00 spri2 pr6|300 001337 aa 6 00510 3521 00 epp2 pr6|328 001340 aa 6 00456 2521 00 spri2 pr6|302 001341 aa 6 00441 3521 00 epp2 pr6|289 001342 aa 6 00460 2521 00 spri2 pr6|304 001343 aa 7 00000 3521 00 epp2 pr7|0 arg 001344 aa 6 00462 2521 00 spri2 pr6|306 001345 aa 776531 3520 04 epp2 -679,ic 000076 = 404000000043 001346 aa 6 00464 2521 00 spri2 pr6|308 001347 aa 776525 3520 04 epp2 -683,ic 000074 = 526000000040 001350 aa 6 00466 2521 00 spri2 pr6|310 001351 aa 776467 3520 04 epp2 -713,ic 000040 = 524000000052 001352 aa 6 00470 2521 00 spri2 pr6|312 001353 aa 776464 3520 04 epp2 -716,ic 000037 = 524000000001 001354 aa 6 00472 2521 00 spri2 pr6|314 001355 aa 6 00507 3521 00 epp2 pr6|327 001356 aa 6 00474 2521 00 spri2 pr6|316 001357 aa 6 00450 6211 00 eax1 pr6|296 001360 aa 024000 4310 07 fld 10240,dl 001361 aa 6 00044 3701 20 epp4 pr6|36,* 001362 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001363 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 120 code = 0; 001364 aa 6 00106 4501 00 stz pr6|70 code STATEMENT 1 ON LINE 121 go to BAD_PERCENTAGE_ARG; 001365 aa 777643 7100 04 tra -93,ic 001230 STATEMENT 1 ON LINE 122 end; STATEMENT 1 ON LINE 124 if numeric_arg < 0 | numeric_arg > 100 then go to BAD_PERCENTAGE_ARG; 001366 aa 6 00126 2361 00 ldq pr6|86 numeric_arg 001367 aa 777641 6040 04 tmi -95,ic 001230 001370 aa 000144 1160 07 cmpq 100,dl 001371 aa 777637 6054 04 tpnz -97,ic 001230 STATEMENT 1 ON LINE 127 minimum.percent = numeric_arg; 001372 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001373 aa 6 00161 4551 00 fst pr6|113 minimum.percent STATEMENT 1 ON LINE 128 end; 001374 aa 000034 7100 04 tra 28,ic 001430 STATEMENT 1 ON LINE 129 else do; STATEMENT 1 ON LINE 130 call com_err_ (error_table_$badopt, ME, """^a""", arg); 001375 aa 6 00102 2361 00 ldq pr6|66 arg_length 001376 aa 526000 2760 03 orq 175104,du 001377 aa 6 00507 7561 00 stq pr6|327 001400 aa 776436 2350 04 lda -738,ic 000036 = 042136141042 001401 aa 6 00441 7551 00 sta pr6|289 001402 aa 6 00044 3701 20 epp4 pr6|36,* 001403 la 4 00010 3521 20 epp2 pr4|8,* error_table_$badopt 001404 aa 6 00452 2521 00 spri2 pr6|298 001405 aa 776373 3520 04 epp2 -773,ic 000000 = 164162141143 001406 aa 6 00454 2521 00 spri2 pr6|300 001407 aa 6 00441 3521 00 epp2 pr6|289 001410 aa 6 00456 2521 00 spri2 pr6|302 001411 aa 7 00000 3521 00 epp2 pr7|0 arg 001412 aa 6 00460 2521 00 spri2 pr6|304 001413 aa 776463 3520 04 epp2 -717,ic 000076 = 404000000043 001414 aa 6 00462 2521 00 spri2 pr6|306 001415 aa 776457 3520 04 epp2 -721,ic 000074 = 526000000040 001416 aa 6 00464 2521 00 spri2 pr6|308 001417 aa 776416 3520 04 epp2 -754,ic 000035 = 524000000004 001420 aa 6 00466 2521 00 spri2 pr6|310 001421 aa 6 00507 3521 00 epp2 pr6|327 001422 aa 6 00470 2521 00 spri2 pr6|312 001423 aa 6 00450 6211 00 eax1 pr6|296 001424 aa 020000 4310 07 fld 8192,dl 001425 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001426 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 131 go to RETURN; 001427 aa 001231 7100 04 tra 665,ic 002660 STATEMENT 1 ON LINE 132 end; STATEMENT 1 ON LINE 133 end ARG_READING_LOOP; 001430 aa 6 00101 0541 00 aos pr6|65 arg_idx 001431 aa 777203 7100 04 tra -381,ic 000634 STATEMENT 1 ON LINE 137 if output_file.entry_name = "" then output_file.iocb_ptr = iox_$user_output; 001432 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001433 aa 6 00236 00 0040 desc9a pr6|158,32 output_file.entry_name 001434 aa 002026 00 0000 desc9a 1046,0 003460 = 077000000000 001435 aa 000006 6010 04 tnz 6,ic 001443 001436 aa 6 00044 3701 20 epp4 pr6|36,* 001437 la 4 00012 3735 20 epp7 pr4|10,* iox_$user_output 001440 aa 7 00000 3735 20 epp7 pr7|0,* iox_$user_output 001441 aa 6 00162 6535 00 spri7 pr6|114 output_file.iocb_ptr 001442 aa 000245 7100 04 tra 165,ic 001707 STATEMENT 1 ON LINE 139 else OPEN_OUTPUT_FILE: do; STATEMENT 1 ON LINE 142 call iox_$attach_name (unique_chars_ (""b), output_file.iocb_ptr, "vfile_ " || rtrim (output_file.dir_path) || ">" || rtrim (output_file.entry_name), codeptr (trace_meters), code); 001443 aa 000 000 165 500 tctr (pr) 001444 aa 6 00236 00 0040 desc9a pr6|158,32 output_file.entry_name 001445 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001446 aa 6 00056 0001 00 arg pr6|46 001447 aa 6 00056 2361 00 ldq pr6|46 001450 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001451 aa 6 00441 7561 00 stq pr6|289 001452 aa 000040 2360 07 ldq 32,dl 001453 aa 6 00441 1761 00 sbq pr6|289 001454 aa 6 00441 7561 00 stq pr6|289 001455 aa 000 000 165 500 tctr (pr) 001456 aa 6 00164 00 0250 desc9a pr6|116,168 output_file.dir_path 001457 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001460 aa 6 00056 0001 00 arg pr6|46 001461 aa 6 00056 2361 00 ldq pr6|46 001462 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001463 aa 6 00526 7561 00 stq pr6|342 001464 aa 000250 2360 07 ldq 168,dl 001465 aa 6 00526 1761 00 sbq pr6|342 001466 aa 6 00526 7561 00 stq pr6|342 001467 aa 000007 0760 07 adq 7,dl 001470 aa 6 00527 7561 00 stq pr6|343 001471 aa 000001 0760 07 adq 1,dl 001472 aa 6 00530 7561 00 stq pr6|344 001473 aa 6 00441 0761 00 adq pr6|289 001474 aa 6 00531 7561 00 stq pr6|345 001475 aa 524000 2760 03 orq 174080,du 001476 aa 6 00507 7561 00 stq pr6|327 001477 aa 6 00532 3521 00 epp2 pr6|346 001500 aa 6 00512 2521 00 spri2 pr6|330 001501 aa 6 00442 3521 00 epp2 pr6|290 001502 aa 6 00514 2521 00 spri2 pr6|332 001503 aa 776331 3520 04 epp2 -807,ic 000034 = 514000000000 001504 aa 6 00516 2521 00 spri2 pr6|334 001505 aa 776370 3520 04 epp2 -776,ic 000075 = 526000000017 001506 aa 6 00520 2521 00 spri2 pr6|336 001507 aa 6 00510 6211 00 eax1 pr6|328 001510 aa 010000 4310 07 fld 4096,dl 001511 aa 6 00044 3701 20 epp4 pr6|36,* 001512 la 4 00046 3521 20 epp2 pr4|38,* unique_chars_ 001513 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001514 aa 6 00527 2361 00 ldq pr6|343 001515 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001516 aa 040 100 100 404 mlr (ic),(pr),fill(040) 001517 aa 776404 00 0007 desc9a -764,7 000122 = 166146151154 001520 aa 2 00000 00 0007 desc9a pr2|0,7 001521 aa 6 00526 2351 00 lda pr6|342 001522 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001523 aa 6 00164 00 0005 desc9a pr6|116,al output_file.dir_path 001524 aa 2 00001 60 0005 desc9a pr2|1(3),al 001525 aa 6 00530 2361 00 ldq pr6|344 001526 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 001527 aa 6 00527 2351 00 lda pr6|343 001530 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 001531 aa 001731 00 0001 desc9a 985,1 003461 = 076000000000 001532 aa 2 00000 00 0001 desc9a pr2|0,1 001533 aa 6 00531 2361 00 ldq pr6|345 001534 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 001535 aa 6 00530 2351 00 lda pr6|344 001536 aa 6 00441 2361 00 ldq pr6|289 001537 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 001540 aa 6 00236 00 0006 desc9a pr6|158,ql output_file.entry_name 001541 aa 2 00000 00 0006 desc9a pr2|0,ql 001542 aa 6 00456 2521 00 spri2 pr6|302 001543 aa 776741 3514 04 epp1 -543,ic 000504 = 001140627000 001544 aa 6 00536 2515 00 spri1 pr6|350 001545 aa 6 00442 3521 00 epp2 pr6|290 001546 aa 6 00452 2521 00 spri2 pr6|298 001547 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 001550 aa 6 00454 2521 00 spri2 pr6|300 001551 aa 6 00536 3521 00 epp2 pr6|350 001552 aa 6 00460 2521 00 spri2 pr6|304 001553 aa 6 00106 3521 00 epp2 pr6|70 code 001554 aa 6 00462 2521 00 spri2 pr6|306 001555 aa 776256 3520 04 epp2 -850,ic 000033 = 524000000017 001556 aa 6 00464 2521 00 spri2 pr6|308 001557 aa 776306 3520 04 epp2 -826,ic 000065 = 464000000000 001560 aa 6 00466 2521 00 spri2 pr6|310 001561 aa 6 00472 2521 00 spri2 pr6|314 001562 aa 6 00507 3521 00 epp2 pr6|327 001563 aa 6 00470 2521 00 spri2 pr6|312 001564 aa 776312 3520 04 epp2 -822,ic 000076 = 404000000043 001565 aa 6 00474 2521 00 spri2 pr6|316 001566 aa 6 00450 6211 00 eax1 pr6|296 001567 aa 024000 4310 07 fld 10240,dl 001570 aa 6 00044 3701 20 epp4 pr6|36,* 001571 la 4 00036 3521 20 epp2 pr4|30,* iox_$attach_name 001572 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 145 if code ^= 0 then do; 001573 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001574 aa 6 00106 2361 00 ldq pr6|70 code 001575 aa 000035 6000 04 tze 29,ic 001632 STATEMENT 1 ON LINE 147 call com_err_ (code, ME, " Coult not attach the file ""^a>^a"".", output_file.dir_path, output_file.entry_name); 001576 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001577 aa 776467 00 0044 desc9a -713,36 000265 = 040103157165 001600 aa 6 00510 00 0044 desc9a pr6|328,36 001601 aa 6 00106 3521 00 epp2 pr6|70 code 001602 aa 6 00452 2521 00 spri2 pr6|298 001603 aa 776175 3520 04 epp2 -899,ic 000000 = 164162141143 001604 aa 6 00454 2521 00 spri2 pr6|300 001605 aa 6 00510 3521 00 epp2 pr6|328 001606 aa 6 00456 2521 00 spri2 pr6|302 001607 aa 6 00164 3521 00 epp2 pr6|116 output_file.dir_path 001610 aa 6 00460 2521 00 spri2 pr6|304 001611 aa 6 00236 3521 00 epp2 pr6|158 output_file.entry_name 001612 aa 6 00462 2521 00 spri2 pr6|306 001613 aa 776263 3520 04 epp2 -845,ic 000076 = 404000000043 001614 aa 6 00464 2521 00 spri2 pr6|308 001615 aa 776257 3520 04 epp2 -849,ic 000074 = 526000000040 001616 aa 6 00466 2521 00 spri2 pr6|310 001617 aa 6 00474 2521 00 spri2 pr6|316 001620 aa 776211 3520 04 epp2 -887,ic 000031 = 524000000043 001621 aa 6 00470 2521 00 spri2 pr6|312 001622 aa 776223 3520 04 epp2 -877,ic 000045 = 526000000250 001623 aa 6 00472 2521 00 spri2 pr6|314 001624 aa 6 00450 6211 00 eax1 pr6|296 001625 aa 024000 4310 07 fld 10240,dl 001626 aa 6 00044 3701 20 epp4 pr6|36,* 001627 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001630 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 149 go to RETURN; 001631 aa 001027 7100 04 tra 535,ic 002660 STATEMENT 1 ON LINE 150 end; STATEMENT 1 ON LINE 152 call iox_$open (output_file.iocb_ptr, Stream_output, "0"b, code); 001632 aa 000000 2350 07 lda 0,dl 001633 aa 6 00507 7551 00 sta pr6|327 001634 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 001635 aa 6 00512 2521 00 spri2 pr6|330 001636 aa 776164 3520 04 epp2 -908,ic 000022 = 000000000002 001637 aa 6 00514 2521 00 spri2 pr6|332 001640 aa 6 00507 3521 00 epp2 pr6|327 001641 aa 6 00516 2521 00 spri2 pr6|334 001642 aa 6 00106 3521 00 epp2 pr6|70 code 001643 aa 6 00520 2521 00 spri2 pr6|336 001644 aa 6 00510 6211 00 eax1 pr6|328 001645 aa 020000 4310 07 fld 8192,dl 001646 aa 6 00044 3701 20 epp4 pr6|36,* 001647 la 4 00044 3521 20 epp2 pr4|36,* iox_$open 001650 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 153 if code ^= 0 then do; 001651 aa 6 00106 2361 00 ldq pr6|70 code 001652 aa 000035 6000 04 tze 29,ic 001707 STATEMENT 1 ON LINE 155 call com_err_ (code, ME, " Could not open the file ""^a>^a"".", output_file.dir_path, output_file.entry_name); 001653 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001654 aa 776401 00 0044 desc9a -767,36 000254 = 040103157165 001655 aa 6 00510 00 0044 desc9a pr6|328,36 001656 aa 6 00106 3521 00 epp2 pr6|70 code 001657 aa 6 00452 2521 00 spri2 pr6|298 001660 aa 776120 3520 04 epp2 -944,ic 000000 = 164162141143 001661 aa 6 00454 2521 00 spri2 pr6|300 001662 aa 6 00510 3521 00 epp2 pr6|328 001663 aa 6 00456 2521 00 spri2 pr6|302 001664 aa 6 00164 3521 00 epp2 pr6|116 output_file.dir_path 001665 aa 6 00460 2521 00 spri2 pr6|304 001666 aa 6 00236 3521 00 epp2 pr6|158 output_file.entry_name 001667 aa 6 00462 2521 00 spri2 pr6|306 001670 aa 776206 3520 04 epp2 -890,ic 000076 = 404000000043 001671 aa 6 00464 2521 00 spri2 pr6|308 001672 aa 776202 3520 04 epp2 -894,ic 000074 = 526000000040 001673 aa 6 00466 2521 00 spri2 pr6|310 001674 aa 6 00474 2521 00 spri2 pr6|316 001675 aa 776133 3520 04 epp2 -933,ic 000030 = 524000000041 001676 aa 6 00470 2521 00 spri2 pr6|312 001677 aa 776146 3520 04 epp2 -922,ic 000045 = 526000000250 001700 aa 6 00472 2521 00 spri2 pr6|314 001701 aa 6 00450 6211 00 eax1 pr6|296 001702 aa 024000 4310 07 fld 10240,dl 001703 aa 6 00044 3701 20 epp4 pr6|36,* 001704 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001705 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 157 go to RETURN; 001706 aa 000752 7100 04 tra 490,ic 002660 STATEMENT 1 ON LINE 158 end; STATEMENT 1 ON LINE 159 end OPEN_OUTPUT_FILE; STATEMENT 1 ON LINE 164 metered = trace_$metered () - trace_$removed (); 001707 aa 6 00442 3521 00 epp2 pr6|290 001710 aa 6 00512 2521 00 spri2 pr6|330 001711 aa 6 00510 6211 00 eax1 pr6|328 001712 aa 004000 4310 07 fld 2048,dl 001713 aa 6 00044 3701 20 epp4 pr6|36,* 001714 la 4 00062 3521 20 epp2 pr4|50,* trace_$metered 001715 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001716 aa 6 00510 3521 00 epp2 pr6|328 001717 aa 6 00452 2521 00 spri2 pr6|298 001720 aa 6 00450 6211 00 eax1 pr6|296 001721 aa 004000 4310 07 fld 2048,dl 001722 aa 6 00044 3701 20 epp4 pr6|36,* 001723 la 4 00064 3521 20 epp2 pr4|52,* trace_$removed 001724 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001725 aa 6 00442 2371 00 ldaq pr6|290 001726 aa 6 00510 1771 00 sbaq pr6|328 001727 aa 6 00152 7571 00 staq pr6|106 metered.real_time 001730 aa 6 00444 2371 00 ldaq pr6|292 001731 aa 6 00512 1771 00 sbaq pr6|330 001732 aa 6 00154 7571 00 staq pr6|108 metered.vcpu_time 001733 aa 6 00446 2361 00 ldq pr6|294 001734 aa 6 00514 1761 00 sbq pr6|332 001735 aa 6 00156 7561 00 stq pr6|110 metered.page_faults STATEMENT 1 ON LINE 166 if metered.real_time < 0 | metered.vcpu_time > metered.real_time | metered.page_faults < 0 then call com_err_ (ZERO, ME, " The meters are inconsistent. Metered real time is ^d, vcpu time is ^d, and page faults are ^d.", metered.real_time, metered.vcpu_time, metered.page_faults); 001736 aa 6 00152 2371 00 ldaq pr6|106 metered.real_time 001737 aa 000005 6040 04 tmi 5,ic 001744 001740 aa 6 00154 1171 00 cmpaq pr6|108 metered.vcpu_time 001741 aa 000003 6040 04 tmi 3,ic 001744 001742 aa 6 00156 2361 00 ldq pr6|110 metered.page_faults 001743 aa 000040 6050 04 tpl 32,ic 002003 001744 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001745 aa 776411 00 0140 desc9a -759,96 000355 = 040124150145 001746 aa 6 00450 00 0140 desc9a pr6|296,96 001747 aa 776110 3520 04 epp2 -952,ic 000057 = 000000000000 001750 aa 6 00542 2521 00 spri2 pr6|354 001751 aa 776027 3520 04 epp2 -1001,ic 000000 = 164162141143 001752 aa 6 00544 2521 00 spri2 pr6|356 001753 aa 6 00450 3521 00 epp2 pr6|296 001754 aa 6 00546 2521 00 spri2 pr6|358 001755 aa 6 00152 3521 00 epp2 pr6|106 metered.real_time 001756 aa 6 00550 2521 00 spri2 pr6|360 001757 aa 6 00154 3521 00 epp2 pr6|108 metered.vcpu_time 001760 aa 6 00552 2521 00 spri2 pr6|362 001761 aa 6 00156 3521 00 epp2 pr6|110 metered.page_faults 001762 aa 6 00554 2521 00 spri2 pr6|364 001763 aa 776113 3520 04 epp2 -949,ic 000076 = 404000000043 001764 aa 6 00556 2521 00 spri2 pr6|366 001765 aa 776107 3520 04 epp2 -953,ic 000074 = 526000000040 001766 aa 6 00560 2521 00 spri2 pr6|368 001767 aa 776040 3520 04 epp2 -992,ic 000027 = 524000000140 001770 aa 6 00562 2521 00 spri2 pr6|370 001771 aa 776035 3520 04 epp2 -995,ic 000026 = 410000000065 001772 aa 6 00564 2521 00 spri2 pr6|372 001773 aa 6 00566 2521 00 spri2 pr6|374 001774 aa 776074 3520 04 epp2 -964,ic 000070 = 404000000042 001775 aa 6 00570 2521 00 spri2 pr6|376 001776 aa 6 00540 6211 00 eax1 pr6|352 001777 aa 030000 4310 07 fld 12288,dl 002000 aa 6 00044 3701 20 epp4 pr6|36,* 002001 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002002 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 174 if metered.vcpu_time = 0 then percentage_coefficient.vcpu_time = 0; 002003 aa 6 00154 2371 00 ldaq pr6|108 metered.vcpu_time 002004 aa 000004 6010 04 tnz 4,ic 002010 002005 aa 400000 4310 03 fld 131072,du 002006 aa 6 00246 4551 00 fst pr6|166 percentage_coefficient.vcpu_time 002007 aa 000005 7100 04 tra 5,ic 002014 STATEMENT 1 ON LINE 176 else percentage_coefficient.vcpu_time = 1e2 / float (metered.vcpu_time, 27); 002010 aa 216000 4110 03 lde 72704,du 002011 aa 400000 4750 03 fad 131072,du 002012 aa 016620 5250 03 fdi 7568,du 002013 aa 6 00246 4551 00 fst pr6|166 percentage_coefficient.vcpu_time STATEMENT 1 ON LINE 178 if metered.page_faults = 0 then percentage_coefficient.page_faults = 0; 002014 aa 6 00156 2361 00 ldq pr6|110 metered.page_faults 002015 aa 000004 6010 04 tnz 4,ic 002021 002016 aa 400000 4310 03 fld 131072,du 002017 aa 6 00247 4551 00 fst pr6|167 percentage_coefficient.page_faults 002020 aa 000004 7100 04 tra 4,ic 002024 STATEMENT 1 ON LINE 180 else percentage_coefficient.page_faults = 1e2 / float (metered.page_faults, 27); 002021 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 002022 aa 016620 5250 03 fdi 7568,du 002023 aa 6 00247 4551 00 fst pr6|167 percentage_coefficient.page_faults STATEMENT 1 ON LINE 184 totals = 0; 002024 aa 6 00250 4501 00 stz pr6|168 totals.line_count 002025 aa 776073 2370 04 ldaq -965,ic 000120 = 000000000000 000000000000 002026 aa 6 00252 7571 00 staq pr6|170 totals.calls 002027 aa 6 00254 7571 00 staq pr6|172 totals.real_time 002030 aa 6 00256 7571 00 staq pr6|174 totals.vcpu_time 002031 aa 6 00260 4501 00 stz pr6|176 totals.page_faults STATEMENT 1 ON LINE 185 tt_count = trace_$num_entrypoints (); 002032 aa 6 00134 3521 00 epp2 pr6|92 tt_count 002033 aa 6 00444 2521 00 spri2 pr6|292 002034 aa 6 00442 6211 00 eax1 pr6|290 002035 aa 004000 4310 07 fld 2048,dl 002036 aa 6 00044 3701 20 epp4 pr6|36,* 002037 la 4 00076 3521 20 epp2 pr4|62,* trace_$num_entrypoints 002040 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 187 TOTAL_LOOP: do tt_idx = 0 by 0 to tt_count - 1; 002041 aa 6 00134 2361 00 ldq pr6|92 tt_count 002042 aa 000001 1760 07 sbq 1,dl 002043 aa 6 00405 7561 00 stq pr6|261 002044 aa 6 00135 4501 00 stz pr6|93 tt_idx 002045 aa 000000 0110 03 nop 0,du 002046 aa 6 00135 2361 00 ldq pr6|93 tt_idx 002047 aa 6 00405 1161 00 cmpq pr6|261 002050 aa 000506 6054 04 tpnz 326,ic 002556 STATEMENT 1 ON LINE 190 segment_being_subtotaled.seg_num = baseno (trace_$entrypoint_ptr (tt_idx)); 002051 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002052 aa 6 00444 2521 00 spri2 pr6|292 002053 aa 6 00536 3521 00 epp2 pr6|350 002054 aa 6 00446 2521 00 spri2 pr6|294 002055 aa 6 00442 6211 00 eax1 pr6|290 002056 aa 010000 4310 07 fld 4096,dl 002057 aa 6 00044 3701 20 epp4 pr6|36,* 002060 la 4 00072 3521 20 epp2 pr4|58,* trace_$entrypoint_ptr 002061 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002062 aa 6 00536 2131 20 epaq pr6|350,* 002063 aa 077777 3750 03 ana 32767,du 002064 aa 6 00273 7551 00 sta pr6|187 segment_being_subtotaled.seg_num STATEMENT 1 ON LINE 191 segment_being_subtotaled.dir_path = "?"; 002065 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002066 aa 001373 00 0001 desc9a 763,1 003460 = 077000000000 002067 aa 6 00274 00 0250 desc9a pr6|188,168 segment_being_subtotaled.dir_path STATEMENT 1 ON LINE 192 segment_being_subtotaled.entry_name = "?"; 002070 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002071 aa 001370 00 0001 desc9a 760,1 003460 = 077000000000 002072 aa 6 00346 00 0040 desc9a pr6|230,32 segment_being_subtotaled.entry_name STATEMENT 1 ON LINE 194 subtotals = 0; 002073 aa 6 00262 4501 00 stz pr6|178 subtotals.line_count 002074 aa 776024 2370 04 ldaq -1004,ic 000120 = 000000000000 000000000000 002075 aa 6 00264 7571 00 staq pr6|180 subtotals.calls 002076 aa 6 00266 7571 00 staq pr6|182 subtotals.real_time 002077 aa 6 00270 7571 00 staq pr6|184 subtotals.vcpu_time 002100 aa 6 00272 4501 00 stz pr6|186 subtotals.page_faults STATEMENT 1 ON LINE 196 SUB_TOTAL_LOOP: do tt_idx = tt_idx to tt_count - 1 while (baseno (trace_$entrypoint_ptr (tt_idx)) = segment_being_subtotaled.seg_num); 002101 aa 6 00134 2361 00 ldq pr6|92 tt_count 002102 aa 000001 1760 07 sbq 1,dl 002103 aa 6 00406 7561 00 stq pr6|262 002104 aa 6 00135 2361 00 ldq pr6|93 tt_idx 002105 aa 6 00135 7561 00 stq pr6|93 tt_idx 002106 aa 6 00135 2361 00 ldq pr6|93 tt_idx 002107 aa 6 00406 1161 00 cmpq pr6|262 002110 aa 000373 6054 04 tpnz 251,ic 002503 002111 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002112 aa 6 00444 2521 00 spri2 pr6|292 002113 aa 6 00536 3521 00 epp2 pr6|350 002114 aa 6 00446 2521 00 spri2 pr6|294 002115 aa 6 00442 6211 00 eax1 pr6|290 002116 aa 010000 4310 07 fld 4096,dl 002117 aa 6 00044 3701 20 epp4 pr6|36,* 002120 la 4 00072 3521 20 epp2 pr4|58,* trace_$entrypoint_ptr 002121 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002122 aa 6 00536 2131 20 epaq pr6|350,* 002123 aa 077777 3750 03 ana 32767,du 002124 aa 6 00273 1151 00 cmpa pr6|187 segment_being_subtotaled.seg_num 002125 aa 000356 6010 04 tnz 238,ic 002503 STATEMENT 1 ON LINE 200 counts = trace_$entrypoint_counts (tt_idx); 002126 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002127 aa 6 00512 2521 00 spri2 pr6|330 002130 aa 6 00442 3521 00 epp2 pr6|290 002131 aa 6 00514 2521 00 spri2 pr6|332 002132 aa 6 00510 6211 00 eax1 pr6|328 002133 aa 010000 4310 07 fld 4096,dl 002134 aa 6 00044 3701 20 epp4 pr6|36,* 002135 la 4 00054 3521 20 epp2 pr4|44,* trace_$entrypoint_counts 002136 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002137 aa 6 00442 2371 00 ldaq pr6|290 002140 aa 6 00366 7571 00 staq pr6|246 counts 002141 aa 6 00444 2371 00 ldaq pr6|292 002142 aa 6 00370 7571 00 staq pr6|248 counts STATEMENT 1 ON LINE 201 local_meters = trace_$entrypoint_local_meters (tt_idx); 002143 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002144 aa 6 00512 2521 00 spri2 pr6|330 002145 aa 6 00442 3521 00 epp2 pr6|290 002146 aa 6 00514 2521 00 spri2 pr6|332 002147 aa 6 00510 6211 00 eax1 pr6|328 002150 aa 010000 4310 07 fld 4096,dl 002151 aa 6 00044 3701 20 epp4 pr6|36,* 002152 la 4 00060 3521 20 epp2 pr4|48,* trace_$entrypoint_local_meters 002153 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002154 aa 6 00442 2371 00 ldaq pr6|290 002155 aa 6 00136 7571 00 staq pr6|94 local_meters 002156 aa 6 00444 2371 00 ldaq pr6|292 002157 aa 6 00140 7571 00 staq pr6|96 local_meters 002160 aa 6 00446 2351 00 lda pr6|294 002161 aa 6 00142 7551 00 sta pr6|98 local_meters STATEMENT 1 ON LINE 202 global_meters = trace_$entrypoint_global_meters (tt_idx); 002162 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002163 aa 6 00512 2521 00 spri2 pr6|330 002164 aa 6 00442 3521 00 epp2 pr6|290 002165 aa 6 00514 2521 00 spri2 pr6|332 002166 aa 6 00510 6211 00 eax1 pr6|328 002167 aa 010000 4310 07 fld 4096,dl 002170 aa 6 00044 3701 20 epp4 pr6|36,* 002171 la 4 00056 3521 20 epp2 pr4|46,* trace_$entrypoint_global_meters 002172 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002173 aa 6 00442 2371 00 ldaq pr6|290 002174 aa 6 00144 7571 00 staq pr6|100 global_meters 002175 aa 6 00444 2371 00 ldaq pr6|292 002176 aa 6 00146 7571 00 staq pr6|102 global_meters 002177 aa 6 00446 2351 00 lda pr6|294 002200 aa 6 00150 7551 00 sta pr6|104 global_meters STATEMENT 1 ON LINE 204 if ^report then go to END_SUB_TOTAL_LOOP; 002201 aa 6 00127 2351 00 lda pr6|87 report 002202 aa 000277 6000 04 tze 191,ic 002501 STATEMENT 1 ON LINE 207 if counts.calls = 0 then go to END_SUB_TOTAL_LOOP; 002203 aa 6 00366 2371 00 ldaq pr6|246 counts.calls 002204 aa 000275 6000 04 tze 189,ic 002501 STATEMENT 1 ON LINE 210 if minimum.kind = "local" then if float (local_meters.vcpu_time, 27) * percentage_coefficient.vcpu_time < minimum.percent & float (local_meters.page_faults, 27) * percentage_coefficient.page_faults < minimum.percent then go to END_SUB_TOTAL_LOOP; 002205 aa 775711 2370 04 ldaq -1079,ic 000116 = 154157143141 154000000000 002206 aa 0 00452 2771 00 oraq pr0|298 = 000000000000 000040040040 002207 aa 6 00157 1151 00 cmpa pr6|111 minimum.kind 002210 aa 000002 6010 04 tnz 2,ic 002212 002211 aa 6 00160 1161 00 cmpq pr6|112 minimum.kind 002212 aa 000014 6010 04 tnz 12,ic 002226 002213 aa 6 00140 2371 00 ldaq pr6|96 local_meters.vcpu_time 002214 aa 216000 4110 03 lde 72704,du 002215 aa 400000 4750 03 fad 131072,du 002216 aa 6 00246 4611 00 fmp pr6|166 percentage_coefficient.vcpu_time 002217 aa 6 00161 5151 00 fcmp pr6|113 minimum.percent 002220 aa 000006 6050 04 tpl 6,ic 002226 002221 aa 6 00142 2361 00 ldq pr6|98 local_meters.page_faults 002222 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 002223 aa 6 00247 4611 00 fmp pr6|167 percentage_coefficient.page_faults 002224 aa 6 00161 5151 00 fcmp pr6|113 minimum.percent 002225 aa 000254 6040 04 tmi 172,ic 002501 STATEMENT 1 ON LINE 216 if minimum.kind = "global" then if float (global_meters.vcpu_time, 27) * percentage_coefficient.vcpu_time < minimum.percent & float (global_meters.page_faults, 27) * percentage_coefficient.page_faults < minimum.percent then go to END_SUB_TOTAL_LOOP; 002226 aa 775666 2370 04 ldaq -1098,ic 000114 = 147154157142 141154000000 002227 aa 0 00454 2771 00 oraq pr0|300 = 000000000000 000000040040 002230 aa 6 00157 1151 00 cmpa pr6|111 minimum.kind 002231 aa 000002 6010 04 tnz 2,ic 002233 002232 aa 6 00160 1161 00 cmpq pr6|112 minimum.kind 002233 aa 000014 6010 04 tnz 12,ic 002247 002234 aa 6 00146 2371 00 ldaq pr6|102 global_meters.vcpu_time 002235 aa 216000 4110 03 lde 72704,du 002236 aa 400000 4750 03 fad 131072,du 002237 aa 6 00246 4611 00 fmp pr6|166 percentage_coefficient.vcpu_time 002240 aa 6 00161 5151 00 fcmp pr6|113 minimum.percent 002241 aa 000006 6050 04 tpl 6,ic 002247 002242 aa 6 00150 2361 00 ldq pr6|104 global_meters.page_faults 002243 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 002244 aa 6 00247 4611 00 fmp pr6|167 percentage_coefficient.page_faults 002245 aa 6 00161 5151 00 fcmp pr6|113 minimum.percent 002246 aa 000233 6040 04 tmi 155,ic 002501 STATEMENT 1 ON LINE 224 if subtotals.line_count = 0 then do; 002247 aa 6 00262 2361 00 ldq pr6|178 subtotals.line_count 002250 aa 000151 6010 04 tnz 105,ic 002421 STATEMENT 1 ON LINE 226 if long_format then do; 002251 aa 6 00125 2351 00 lda pr6|85 long_format 002252 aa 000117 6000 04 tze 79,ic 002371 STATEMENT 1 ON LINE 228 call PRINT_METERS_HEADER ("G"); 002253 aa 107000 2350 03 lda 36352,du 002254 aa 6 00507 7551 00 sta pr6|327 002255 aa 001177 3520 04 epp2 639,ic 003454 = 000002000000 002256 aa 000616 6700 04 tsp4 398,ic 003074 STATEMENT 1 ON LINE 229 call PRINT_METERS_HEADER ("L"); 002257 aa 114000 2350 03 lda 38912,du 002260 aa 6 00507 7551 00 sta pr6|327 002261 aa 001173 3520 04 epp2 635,ic 003454 = 000002000000 002262 aa 000612 6700 04 tsp4 394,ic 003074 STATEMENT 1 ON LINE 230 call expand_pathname_ ((trace_$entrypoint_seg_path (tt_idx)), segment_being_subtotaled.dir_path, segment_being_subtotaled.entry_name, code); 002263 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002264 aa 6 00444 2521 00 spri2 pr6|292 002265 aa 6 00573 3521 00 epp2 pr6|379 002266 aa 6 00446 2521 00 spri2 pr6|294 002267 aa 6 00442 6211 00 eax1 pr6|290 002270 aa 010000 4310 07 fld 4096,dl 002271 aa 6 00044 3701 20 epp4 pr6|36,* 002272 la 4 00074 3521 20 epp2 pr4|60,* trace_$entrypoint_seg_path 002273 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002274 aa 6 00572 2361 00 ldq pr6|378 002275 aa 524000 2760 03 orq 174080,du 002276 aa 6 00507 7561 00 stq pr6|327 002277 aa 6 00572 2361 00 ldq pr6|378 002300 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 002301 aa 6 00542 2521 00 spri2 pr6|354 002302 aa 6 00572 7271 00 lxl7 pr6|378 002303 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002304 aa 6 00573 00 0017 desc9a pr6|379,x7 002305 aa 2 00000 00 0006 desc9a pr2|0,ql 002306 aa 6 00274 3521 00 epp2 pr6|188 segment_being_subtotaled.dir_path 002307 aa 6 00544 2521 00 spri2 pr6|356 002310 aa 6 00346 3521 00 epp2 pr6|230 segment_being_subtotaled.entry_name 002311 aa 6 00546 2521 00 spri2 pr6|358 002312 aa 6 00106 3521 00 epp2 pr6|70 code 002313 aa 6 00550 2521 00 spri2 pr6|360 002314 aa 6 00507 3521 00 epp2 pr6|327 002315 aa 6 00552 2521 00 spri2 pr6|362 002316 aa 775527 3520 04 epp2 -1193,ic 000045 = 526000000250 002317 aa 6 00554 2521 00 spri2 pr6|364 002320 aa 775554 3520 04 epp2 -1172,ic 000074 = 526000000040 002321 aa 6 00556 2521 00 spri2 pr6|366 002322 aa 775554 3520 04 epp2 -1172,ic 000076 = 404000000043 002323 aa 6 00560 2521 00 spri2 pr6|368 002324 aa 6 00540 6211 00 eax1 pr6|352 002325 aa 020000 4310 07 fld 8192,dl 002326 aa 6 00044 3701 20 epp4 pr6|36,* 002327 la 4 00026 3521 20 epp2 pr4|22,* expand_pathname_ 002330 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 232 if code ^= 0 then segment_being_subtotaled.dir_path, segment_being_subtotaled.entry_name = "?"; 002331 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002332 aa 6 00106 2361 00 ldq pr6|70 code 002333 aa 000007 6000 04 tze 7,ic 002342 002334 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002335 aa 001124 00 0001 desc9a 596,1 003460 = 077000000000 002336 aa 6 00274 00 0250 desc9a pr6|188,168 segment_being_subtotaled.dir_path 002337 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002340 aa 001121 00 0001 desc9a 593,1 003460 = 077000000000 002341 aa 6 00346 00 0040 desc9a pr6|230,32 segment_being_subtotaled.entry_name STATEMENT 1 ON LINE 234 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a>^a", segment_being_subtotaled.dir_path, segment_being_subtotaled.entry_name); 002342 aa 775550 2370 04 ldaq -1176,ic 000112 = 040136141076 136141000000 002343 aa 6 00536 7571 00 staq pr6|350 002344 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002345 aa 6 00542 2521 00 spri2 pr6|354 002346 aa 6 00536 3521 00 epp2 pr6|350 002347 aa 6 00544 2521 00 spri2 pr6|356 002350 aa 6 00274 3521 00 epp2 pr6|188 segment_being_subtotaled.dir_path 002351 aa 6 00546 2521 00 spri2 pr6|358 002352 aa 6 00346 3521 00 epp2 pr6|230 segment_being_subtotaled.entry_name 002353 aa 6 00550 2521 00 spri2 pr6|360 002354 aa 775511 3520 04 epp2 -1207,ic 000065 = 464000000000 002355 aa 6 00552 2521 00 spri2 pr6|362 002356 aa 775447 3520 04 epp2 -1241,ic 000025 = 524000000006 002357 aa 6 00554 2521 00 spri2 pr6|364 002360 aa 775465 3520 04 epp2 -1227,ic 000045 = 526000000250 002361 aa 6 00556 2521 00 spri2 pr6|366 002362 aa 775512 3520 04 epp2 -1206,ic 000074 = 526000000040 002363 aa 6 00560 2521 00 spri2 pr6|368 002364 aa 6 00540 6211 00 eax1 pr6|352 002365 aa 020000 4310 07 fld 8192,dl 002366 aa 6 00044 3701 20 epp4 pr6|36,* 002367 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002370 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 236 end; STATEMENT 1 ON LINE 238 if ^long_format & totals.line_count = 0 then do; 002371 aa 6 00125 2351 00 lda pr6|85 long_format 002372 aa 000027 6010 04 tnz 23,ic 002421 002373 aa 6 00250 2361 00 ldq pr6|168 totals.line_count 002374 aa 000025 6010 04 tnz 21,ic 002421 STATEMENT 1 ON LINE 240 call PRINT_METERS_HEADER ("L"); 002375 aa 114000 2350 03 lda 38912,du 002376 aa 6 00507 7551 00 sta pr6|327 002377 aa 001055 3520 04 epp2 557,ic 003454 = 000002000000 002400 aa 000474 6700 04 tsp4 316,ic 003074 STATEMENT 1 ON LINE 241 call ioa_$ioa_switch (output_file.iocb_ptr, " ENTRY POINT NAME"); 002401 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002402 aa 775620 00 0024 desc9a -1136,20 000221 = 040105116124 002403 aa 6 00442 00 0024 desc9a pr6|290,20 002404 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002405 aa 6 00512 2521 00 spri2 pr6|330 002406 aa 6 00442 3521 00 epp2 pr6|290 002407 aa 6 00514 2521 00 spri2 pr6|332 002410 aa 775455 3520 04 epp2 -1235,ic 000065 = 464000000000 002411 aa 6 00516 2521 00 spri2 pr6|334 002412 aa 775412 3520 04 epp2 -1270,ic 000024 = 524000000021 002413 aa 6 00520 2521 00 spri2 pr6|336 002414 aa 6 00510 6211 00 eax1 pr6|328 002415 aa 010000 4310 07 fld 4096,dl 002416 aa 6 00044 3701 20 epp4 pr6|36,* 002417 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002420 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 242 end; STATEMENT 1 ON LINE 243 end; STATEMENT 1 ON LINE 248 if long_format then call PRINT_METERS (global_meters); 002421 aa 6 00125 2351 00 lda pr6|85 long_format 002422 aa 000003 6000 04 tze 3,ic 002425 002423 aa 001025 3520 04 epp2 533,ic 003450 = 000002000000 002424 aa 000544 6700 04 tsp4 356,ic 003170 STATEMENT 1 ON LINE 251 call PRINT_METERS (local_meters); 002425 aa 001017 3520 04 epp2 527,ic 003444 = 000002000000 002426 aa 000542 6700 04 tsp4 354,ic 003170 STATEMENT 1 ON LINE 253 call PRINT_STATS (local_meters.vcpu_time, counts.calls); 002427 aa 001007 3520 04 epp2 519,ic 003436 = 000004000000 002430 aa 000627 6700 04 tsp4 407,ic 003257 STATEMENT 1 ON LINE 255 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a", trace_$entrypoint_name (tt_idx)); 002431 aa 775372 2350 04 lda -1286,ic 000023 = 040136141000 002432 aa 6 00507 7551 00 sta pr6|327 002433 aa 6 00135 3521 00 epp2 pr6|93 tt_idx 002434 aa 6 00444 2521 00 spri2 pr6|292 002435 aa 6 00541 3521 00 epp2 pr6|353 002436 aa 6 00446 2521 00 spri2 pr6|294 002437 aa 6 00442 6211 00 eax1 pr6|290 002440 aa 010000 4310 07 fld 4096,dl 002441 aa 6 00044 3701 20 epp4 pr6|36,* 002442 la 4 00070 3521 20 epp2 pr4|56,* trace_$entrypoint_name 002443 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002444 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002445 aa 6 00512 2521 00 spri2 pr6|330 002446 aa 6 00507 3521 00 epp2 pr6|327 002447 aa 6 00514 2521 00 spri2 pr6|332 002450 aa 6 00541 3521 00 epp2 pr6|353 002451 aa 6 00516 2521 00 spri2 pr6|334 002452 aa 775413 3520 04 epp2 -1269,ic 000065 = 464000000000 002453 aa 6 00520 2521 00 spri2 pr6|336 002454 aa 775372 3520 04 epp2 -1286,ic 000046 = 524000000003 002455 aa 6 00522 2521 00 spri2 pr6|338 002456 aa 775410 3520 04 epp2 -1272,ic 000066 = 530000000101 002457 aa 6 00524 2521 00 spri2 pr6|340 002460 aa 6 00510 6211 00 eax1 pr6|328 002461 aa 014000 4310 07 fld 6144,dl 002462 aa 6 00044 3701 20 epp4 pr6|36,* 002463 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002464 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 257 subtotals.line_count = subtotals.line_count + 1; 002465 aa 6 00262 0541 00 aos pr6|178 subtotals.line_count STATEMENT 1 ON LINE 258 subtotals.calls = subtotals.calls + counts.calls; 002466 aa 6 00264 2371 00 ldaq pr6|180 subtotals.calls 002467 aa 6 00366 0771 00 adaq pr6|246 counts.calls 002470 aa 6 00264 7571 00 staq pr6|180 subtotals.calls STATEMENT 1 ON LINE 259 subtotals.meters = subtotals.meters + local_meters; 002471 aa 6 00266 2371 00 ldaq pr6|182 subtotals.real_time 002472 aa 6 00136 0771 00 adaq pr6|94 local_meters.real_time 002473 aa 6 00266 7571 00 staq pr6|182 subtotals.real_time 002474 aa 6 00270 2371 00 ldaq pr6|184 subtotals.vcpu_time 002475 aa 6 00140 0771 00 adaq pr6|96 local_meters.vcpu_time 002476 aa 6 00270 7571 00 staq pr6|184 subtotals.vcpu_time 002477 aa 6 00142 2361 00 ldq pr6|98 local_meters.page_faults 002500 aa 6 00272 0561 00 asq pr6|186 subtotals.page_faults STATEMENT 1 ON LINE 261 END_SUB_TOTAL_LOOP: end SUB_TOTAL_LOOP; 002501 aa 6 00135 0541 00 aos pr6|93 tt_idx 002502 aa 777404 7100 04 tra -252,ic 002106 STATEMENT 1 ON LINE 264 if report & long_format & subtotals.line_count >= 1 then do; 002503 aa 6 00127 2351 00 lda pr6|87 report 002504 aa 000032 6000 04 tze 26,ic 002536 002505 aa 6 00125 2351 00 lda pr6|85 long_format 002506 aa 000030 6000 04 tze 24,ic 002536 002507 aa 6 00262 2361 00 ldq pr6|178 subtotals.line_count 002510 aa 000001 1160 07 cmpq 1,dl 002511 aa 000025 6040 04 tmi 21,ic 002536 STATEMENT 1 ON LINE 266 if subtotals.line_count >= 2 then call PRINT_TOTAL_LINE (subtotals, "SUBTOTAL", segment_being_subtotaled.entry_name); 002512 aa 000002 1160 07 cmpq 2,dl 002513 aa 000006 6040 04 tmi 6,ic 002521 002514 aa 775374 2370 04 ldaq -1284,ic 000110 = 123125102124 117124101114 002515 aa 6 00536 7571 00 staq pr6|350 002516 aa 000702 3520 04 epp2 450,ic 003420 = 000006000000 002517 aa 2 00000 2351 00 lda pr2|0 002520 aa 000254 6700 04 tsp4 172,ic 002774 STATEMENT 1 ON LINE 269 call ioa_$ioa_switch (output_file.iocb_ptr, ""); 002521 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002522 aa 6 00512 2521 00 spri2 pr6|330 002523 aa 6 00507 3521 00 epp2 pr6|327 002524 aa 6 00514 2521 00 spri2 pr6|332 002525 aa 775340 3520 04 epp2 -1312,ic 000065 = 464000000000 002526 aa 6 00516 2521 00 spri2 pr6|334 002527 aa 775303 3520 04 epp2 -1341,ic 000032 = 524000000000 002530 aa 6 00520 2521 00 spri2 pr6|336 002531 aa 6 00510 6211 00 eax1 pr6|328 002532 aa 010000 4310 07 fld 4096,dl 002533 aa 6 00044 3701 20 epp4 pr6|36,* 002534 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002535 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 270 end; STATEMENT 1 ON LINE 272 totals = totals + subtotals; 002536 aa 6 00262 2361 00 ldq pr6|178 subtotals.line_count 002537 aa 6 00250 0561 00 asq pr6|168 totals.line_count 002540 aa 6 00252 2371 00 ldaq pr6|170 totals.calls 002541 aa 6 00264 0771 00 adaq pr6|180 subtotals.calls 002542 aa 6 00252 7571 00 staq pr6|170 totals.calls 002543 aa 6 00254 2371 00 ldaq pr6|172 totals.real_time 002544 aa 6 00266 0771 00 adaq pr6|182 subtotals.real_time 002545 aa 6 00254 7571 00 staq pr6|172 totals.real_time 002546 aa 6 00256 2371 00 ldaq pr6|174 totals.vcpu_time 002547 aa 6 00270 0771 00 adaq pr6|184 subtotals.vcpu_time 002550 aa 6 00256 7571 00 staq pr6|174 totals.vcpu_time 002551 aa 6 00272 2361 00 ldq pr6|186 subtotals.page_faults 002552 aa 6 00260 0561 00 asq pr6|176 totals.page_faults STATEMENT 1 ON LINE 273 end TOTAL_LOOP; 002553 aa 000000 2360 07 ldq 0,dl 002554 aa 6 00135 0561 00 asq pr6|93 tt_idx 002555 aa 777271 7100 04 tra -327,ic 002046 STATEMENT 1 ON LINE 276 if report then do; 002556 aa 6 00127 2351 00 lda pr6|87 report 002557 aa 000072 6000 04 tze 58,ic 002651 STATEMENT 1 ON LINE 278 if long_format then call PRINT_METERS_HEADER (" "); 002560 aa 6 00125 2351 00 lda pr6|85 long_format 002561 aa 000006 6000 04 tze 6,ic 002567 002562 aa 040000 2350 03 lda 16384,du 002563 aa 6 00507 7551 00 sta pr6|327 002564 aa 000670 3520 04 epp2 440,ic 003454 = 000002000000 002565 aa 000307 6700 04 tsp4 199,ic 003074 002566 aa 000016 7100 04 tra 14,ic 002604 STATEMENT 1 ON LINE 280 else call ioa_$ioa_switch (output_file.iocb_ptr, ""); 002567 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002570 aa 6 00512 2521 00 spri2 pr6|330 002571 aa 6 00507 3521 00 epp2 pr6|327 002572 aa 6 00514 2521 00 spri2 pr6|332 002573 aa 775272 3520 04 epp2 -1350,ic 000065 = 464000000000 002574 aa 6 00516 2521 00 spri2 pr6|334 002575 aa 775235 3520 04 epp2 -1379,ic 000032 = 524000000000 002576 aa 6 00520 2521 00 spri2 pr6|336 002577 aa 6 00510 6211 00 eax1 pr6|328 002600 aa 010000 4310 07 fld 4096,dl 002601 aa 6 00044 3701 20 epp4 pr6|36,* 002602 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002603 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 282 call PRINT_METERS_HEADER ("L"); 002604 aa 114000 2350 03 lda 38912,du 002605 aa 6 00507 7551 00 sta pr6|327 002606 aa 000646 3520 04 epp2 422,ic 003454 = 000002000000 002607 aa 000265 6700 04 tsp4 181,ic 003074 STATEMENT 1 ON LINE 284 call ioa_$ioa_switch (output_file.iocb_ptr, ""); 002610 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 002611 aa 6 00512 2521 00 spri2 pr6|330 002612 aa 6 00507 3521 00 epp2 pr6|327 002613 aa 6 00514 2521 00 spri2 pr6|332 002614 aa 775251 3520 04 epp2 -1367,ic 000065 = 464000000000 002615 aa 6 00516 2521 00 spri2 pr6|334 002616 aa 775214 3520 04 epp2 -1396,ic 000032 = 524000000000 002617 aa 6 00520 2521 00 spri2 pr6|336 002620 aa 6 00510 6211 00 eax1 pr6|328 002621 aa 010000 4310 07 fld 4096,dl 002622 aa 6 00044 3701 20 epp4 pr6|36,* 002623 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 002624 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 286 call date_time_ (clock (), date_time_string); 002625 aa 0 01435 7001 00 tsx0 pr0|797 clock 002626 aa 6 00536 7571 00 staq pr6|350 002627 aa 6 00536 3521 00 epp2 pr6|350 002630 aa 6 00512 2521 00 spri2 pr6|330 002631 aa 6 00117 3521 00 epp2 pr6|79 date_time_string 002632 aa 6 00514 2521 00 spri2 pr6|332 002633 aa 775166 3520 04 epp2 -1418,ic 000021 = 410000000107 002634 aa 6 00516 2521 00 spri2 pr6|334 002635 aa 775163 3520 04 epp2 -1421,ic 000020 = 526000000030 002636 aa 6 00520 2521 00 spri2 pr6|336 002637 aa 6 00510 6211 00 eax1 pr6|328 002640 aa 010000 4310 07 fld 4096,dl 002641 aa 6 00044 3701 20 epp4 pr6|36,* 002642 la 4 00024 3521 20 epp2 pr4|20,* date_time_ 002643 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 288 call PRINT_TOTAL_LINE (totals, "TOTAL", date_time_string); 002644 aa 775242 2370 04 ldaq -1374,ic 000106 = 124117124101 114000000000 002645 aa 6 00536 7571 00 staq pr6|350 002646 aa 000534 3520 04 epp2 348,ic 003402 = 000006000000 002647 aa 2 00000 2351 00 lda pr2|0 002650 aa 000124 6700 04 tsp4 84,ic 002774 STATEMENT 1 ON LINE 289 end; STATEMENT 1 ON LINE 292 if reset then call trace_$reset_meters (); 002651 aa 6 00130 2351 00 lda pr6|88 reset 002652 aa 000006 6000 04 tze 6,ic 002660 002653 aa 6 00056 6211 00 eax1 pr6|46 002654 aa 000000 4310 07 fld 0,dl 002655 aa 6 00044 3701 20 epp4 pr6|36,* 002656 la 4 00066 3521 20 epp2 pr4|54,* trace_$reset_meters 002657 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 296 RETURN: call TRACE_METERS_CLEANUP; 002660 aa 6 00056 6211 00 eax1 pr6|46 002661 aa 000000 4310 07 fld 0,dl 002662 aa 000004 3520 04 epp2 4,ic 002666 = 000160627000 002663 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 299 return; 002664 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 492 end trace_meters; BEGIN PROCEDURE TRACE_METERS_CLEANUP ENTRY TO TRACE_METERS_CLEANUP STATEMENT 1 ON LINE 304 TRACE_METERS_CLEANUP: proc; 002665 da 000350200000 002666 aa 000160 6270 00 eax7 112 002667 aa 7 00034 3521 20 epp2 pr7|28,* 002670 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002671 aa 000000000000 002672 aa 000000000000 STATEMENT 1 ON LINE 306 if output_file.iocb_ptr ^= null () & output_file.iocb_ptr ^= iox_$user_output then do; 002673 aa 6 00040 3735 20 epp7 pr6|32,* 002674 aa 7 00162 2371 00 ldaq pr7|114 output_file.iocb_ptr 002675 aa 775207 6770 04 eraq -1401,ic 000104 = 077777000043 000001000000 002676 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002677 aa 000034 6000 04 tze 28,ic 002733 002700 aa 7 00162 2371 00 ldaq pr7|114 output_file.iocb_ptr 002701 la 4 00012 6771 20 eraq pr4|10,* iox_$user_output 002702 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002703 aa 000030 6000 04 tze 24,ic 002733 STATEMENT 1 ON LINE 308 call iox_$close (output_file.iocb_ptr, (0)); 002704 aa 6 00100 4501 00 stz pr6|64 002705 aa 7 00162 3521 00 epp2 pr7|114 output_file.iocb_ptr 002706 aa 6 00104 2521 00 spri2 pr6|68 002707 aa 6 00100 3521 00 epp2 pr6|64 002710 aa 6 00106 2521 00 spri2 pr6|70 002711 aa 6 00102 6211 00 eax1 pr6|66 002712 aa 010000 4310 07 fld 4096,dl 002713 la 4 00040 3521 20 epp2 pr4|32,* iox_$close 002714 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 309 call iox_$detach_iocb (output_file.iocb_ptr, (0)); 002715 aa 6 00100 4501 00 stz pr6|64 002716 aa 6 00040 3735 20 epp7 pr6|32,* 002717 aa 7 00162 3521 00 epp2 pr7|114 output_file.iocb_ptr 002720 aa 6 00104 2521 00 spri2 pr6|68 002721 aa 6 00100 3521 00 epp2 pr6|64 002722 aa 6 00106 2521 00 spri2 pr6|70 002723 aa 6 00102 6211 00 eax1 pr6|66 002724 aa 010000 4310 07 fld 4096,dl 002725 aa 6 00044 3701 20 epp4 pr6|36,* 002726 la 4 00042 3521 20 epp2 pr4|34,* iox_$detach_iocb 002727 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 310 output_file.iocb_ptr = null (); 002730 aa 775154 2370 04 ldaq -1428,ic 000104 = 077777000043 000001000000 002731 aa 6 00040 3735 20 epp7 pr6|32,* 002732 aa 7 00162 7571 00 staq pr7|114 output_file.iocb_ptr STATEMENT 1 ON LINE 311 end; STATEMENT 1 ON LINE 313 if ^trace_$transaction_end (transaction_id) /* Re-enable trace_catch_. */ then call com_err_ (ZERO, ME, "The trace_meters command ended abnormally."); 002733 aa 7 00132 3521 00 epp2 pr7|90 transaction_id 002734 aa 6 00104 2521 00 spri2 pr6|68 002735 aa 6 00100 3521 00 epp2 pr6|64 002736 aa 6 00106 2521 00 spri2 pr6|70 002737 aa 6 00102 6211 00 eax1 pr6|66 002740 aa 010000 4310 07 fld 4096,dl 002741 aa 6 00044 3701 20 epp4 pr6|36,* 002742 la 4 00052 3521 20 epp2 pr4|42,* trace_$transaction_end 002743 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002744 aa 6 00100 2351 00 lda pr6|64 002745 aa 400000 3150 03 cana 131072,du 002746 aa 000025 6010 04 tnz 21,ic 002773 002747 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002750 aa 775327 00 0054 desc9a -1321,44 000276 = 124150145040 002751 aa 6 00110 00 0054 desc9a pr6|72,44 002752 aa 775105 3520 04 epp2 -1467,ic 000057 = 000000000000 002753 aa 6 00126 2521 00 spri2 pr6|86 002754 aa 775024 3520 04 epp2 -1516,ic 000000 = 164162141143 002755 aa 6 00130 2521 00 spri2 pr6|88 002756 aa 6 00110 3521 00 epp2 pr6|72 002757 aa 6 00132 2521 00 spri2 pr6|90 002760 aa 775116 3520 04 epp2 -1458,ic 000076 = 404000000043 002761 aa 6 00134 2521 00 spri2 pr6|92 002762 aa 775112 3520 04 epp2 -1462,ic 000074 = 526000000040 002763 aa 6 00136 2521 00 spri2 pr6|94 002764 aa 775054 3520 04 epp2 -1492,ic 000040 = 524000000052 002765 aa 6 00140 2521 00 spri2 pr6|96 002766 aa 6 00124 6211 00 eax1 pr6|84 002767 aa 014000 4310 07 fld 6144,dl 002770 aa 6 00044 3701 20 epp4 pr6|36,* 002771 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002772 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 315 end TRACE_METERS_CLEANUP; 002773 aa 0 00631 7101 00 tra pr0|409 return END PROCEDURE TRACE_METERS_CLEANUP BEGIN PROCEDURE PRINT_TOTAL_LINE ENTRY TO PRINT_TOTAL_LINE STATEMENT 1 ON LINE 324 PRINT_TOTAL_LINE: proc (totals_i, comment_1_i, comment_2_i); 002774 aa 6 00410 6501 00 spri4 pr6|264 002775 aa 6 00412 2521 00 spri2 pr6|266 002776 aa 2 00002 3521 01 epp2 pr2|2,au 002777 aa 6 00414 2521 00 spri2 pr6|268 003000 aa 2 00002 2361 20 ldq pr2|2,* 003001 aa 000002 6040 04 tmi 2,ic 003003 003002 aa 777777 3760 07 anq 262143,dl 003003 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003004 aa 6 00673 7561 00 stq pr6|443 003005 aa 2 00004 2361 20 ldq pr2|4,* 003006 aa 000002 6040 04 tmi 2,ic 003010 003007 aa 777777 3760 07 anq 262143,dl 003010 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003011 aa 6 00674 7561 00 stq pr6|444 STATEMENT 1 ON LINE 326 if long_format then call PRINT_METERS_HEADER (" "); 003012 aa 6 00125 2351 00 lda pr6|85 long_format 003013 aa 000005 6000 04 tze 5,ic 003020 003014 aa 040000 2350 03 lda 16384,du 003015 aa 6 00675 7551 00 sta pr6|445 003016 aa 000360 3520 04 epp2 240,ic 003376 = 000002000000 003017 aa 000055 6700 04 tsp4 45,ic 003074 STATEMENT 1 ON LINE 329 call PRINT_METERS (totals_i.meters); 003020 aa 6 00412 3735 20 epp7 pr6|266,* 003021 aa 7 00002 3715 20 epp5 pr7|2,* 003022 aa 5 00004 3521 00 epp2 pr5|4 totals_i.meters 003023 aa 6 00700 2521 00 spri2 pr6|448 003024 aa 6 00676 3521 00 epp2 pr6|446 003025 aa 004000 4310 07 fld 2048,dl 003026 aa 2 00000 7571 00 staq pr2|0 003027 aa 000141 6700 04 tsp4 97,ic 003170 STATEMENT 1 ON LINE 331 call PRINT_STATS (totals_i.meters.vcpu_time, totals_i.calls); 003030 aa 6 00412 3735 20 epp7 pr6|266,* 003031 aa 7 00002 3715 20 epp5 pr7|2,* 003032 aa 5 00006 3521 00 epp2 pr5|6 totals_i.vcpu_time 003033 aa 6 00706 2521 00 spri2 pr6|454 003034 aa 5 00002 3521 00 epp2 pr5|2 totals_i.calls 003035 aa 6 00710 2521 00 spri2 pr6|456 003036 aa 6 00704 3521 00 epp2 pr6|452 003037 aa 010000 4310 07 fld 4096,dl 003040 aa 2 00000 7571 00 staq pr2|0 003041 aa 000216 6700 04 tsp4 142,ic 003257 STATEMENT 1 ON LINE 333 call ioa_$ioa_switch (output_file.iocb_ptr, " ^a ^a", comment_1_i, comment_2_i); 003042 aa 775036 2370 04 ldaq -1506,ic 000100 = 040136141040 136141000000 003043 aa 6 00714 7571 00 staq pr6|460 003044 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003045 aa 6 00720 2521 00 spri2 pr6|464 003046 aa 6 00714 3521 00 epp2 pr6|460 003047 aa 6 00722 2521 00 spri2 pr6|466 003050 aa 6 00412 3735 20 epp7 pr6|266,* 003051 aa 7 00004 3521 20 epp2 pr7|4,* comment_1_i 003052 aa 6 00724 2521 00 spri2 pr6|468 003053 aa 7 00006 3521 20 epp2 pr7|6,* comment_2_i 003054 aa 6 00726 2521 00 spri2 pr6|470 003055 aa 775010 3520 04 epp2 -1528,ic 000065 = 464000000000 003056 aa 6 00730 2521 00 spri2 pr6|472 003057 aa 774746 3520 04 epp2 -1562,ic 000025 = 524000000006 003060 aa 6 00732 2521 00 spri2 pr6|474 003061 aa 6 00414 3715 20 epp5 pr6|268,* 003062 aa 5 00002 3521 20 epp2 pr5|2,* 003063 aa 6 00734 2521 00 spri2 pr6|476 003064 aa 5 00004 3521 20 epp2 pr5|4,* 003065 aa 6 00736 2521 00 spri2 pr6|478 003066 aa 6 00716 6211 00 eax1 pr6|462 003067 aa 020000 4310 07 fld 8192,dl 003070 aa 6 00044 3701 20 epp4 pr6|36,* 003071 la 4 00032 3521 20 epp2 pr4|26,* ioa_$ioa_switch 003072 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 338 end PRINT_TOTAL_LINE; 003073 aa 6 00410 6101 00 rtcd pr6|264 END PROCEDURE PRINT_TOTAL_LINE BEGIN PROCEDURE PRINT_METERS_HEADER ENTRY TO PRINT_METERS_HEADER STATEMENT 1 ON LINE 345 PRINT_METERS_HEADER: proc (leading_letter_i); 003074 aa 6 00416 6501 00 spri4 pr6|270 003075 aa 6 00420 2521 00 spri2 pr6|272 STATEMENT 1 ON LINE 347 if leading_letter_i = " " then call ioa_$ioa_switch_nnl (output_file.iocb_ptr, "^24x"); 003076 aa 2 00002 3735 20 epp7 pr2|2,* 003077 aa 000 100 100 500 mlr (pr),(pr),fill(000) 003100 aa 7 00000 00 0001 desc9a pr7|0,1 leading_letter_i 003101 aa 6 00740 00 0004 desc9a pr6|480,4 leading_letter_i 003102 aa 6 00740 2351 00 lda pr6|480 leading_letter_i 003103 aa 040000 1150 03 cmpa 16384,du 003104 aa 000021 6010 04 tnz 17,ic 003125 003105 aa 774707 2350 04 lda -1593,ic 000014 = 136062064170 003106 aa 6 00741 7551 00 sta pr6|481 003107 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003110 aa 6 00744 2521 00 spri2 pr6|484 003111 aa 6 00741 3521 00 epp2 pr6|481 003112 aa 6 00746 2521 00 spri2 pr6|486 003113 aa 774752 3520 04 epp2 -1558,ic 000065 = 464000000000 003114 aa 6 00750 2521 00 spri2 pr6|488 003115 aa 774720 3520 04 epp2 -1584,ic 000035 = 524000000004 003116 aa 6 00752 2521 00 spri2 pr6|490 003117 aa 6 00742 6211 00 eax1 pr6|482 003120 aa 010000 4310 07 fld 4096,dl 003121 aa 6 00044 3701 20 epp4 pr6|36,* 003122 la 4 00034 3521 20 epp2 pr4|28,* ioa_$ioa_switch_nnl 003123 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003124 aa 000043 7100 04 tra 35,ic 003167 STATEMENT 1 ON LINE 349 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^aREAL ^aVCPU ^aPF^[ LVCPU/CALL LVCPU% CALLS^]", leading_letter_i, leading_letter_i, leading_letter_i, leading_letter_i = "L"); 003125 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003126 aa 775212 00 0070 desc9a -1398,56 000337 = 040040040040 003127 aa 6 00754 00 0070 desc9a pr6|492,56 003130 aa 114000 1150 03 cmpa 38912,du 003131 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003132 aa 6 00740 7551 00 sta pr6|480 003133 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003134 aa 6 00774 2521 00 spri2 pr6|508 003135 aa 6 00754 3521 00 epp2 pr6|492 003136 aa 6 00776 2521 00 spri2 pr6|510 003137 aa 6 00420 3715 20 epp5 pr6|272,* 003140 aa 5 00002 3521 20 epp2 pr5|2,* leading_letter_i 003141 aa 6 01000 2521 00 spri2 pr6|512 003142 aa 5 00002 3521 20 epp2 pr5|2,* leading_letter_i 003143 aa 6 01002 2521 00 spri2 pr6|514 003144 aa 5 00002 3521 20 epp2 pr5|2,* leading_letter_i 003145 aa 6 01004 2521 00 spri2 pr6|516 003146 aa 6 00740 3521 00 epp2 pr6|480 003147 aa 6 01006 2521 00 spri2 pr6|518 003150 aa 774715 3520 04 epp2 -1587,ic 000065 = 464000000000 003151 aa 6 01010 2521 00 spri2 pr6|520 003152 aa 774641 3520 04 epp2 -1631,ic 000013 = 524000000070 003153 aa 6 01012 2521 00 spri2 pr6|522 003154 aa 774641 3520 04 epp2 -1631,ic 000015 = 526000000001 003155 aa 6 01014 2521 00 spri2 pr6|524 003156 aa 6 01016 2521 00 spri2 pr6|526 003157 aa 6 01020 2521 00 spri2 pr6|528 003160 aa 774713 3520 04 epp2 -1589,ic 000073 = 514000000001 003161 aa 6 01022 2521 00 spri2 pr6|530 003162 aa 6 00772 6211 00 eax1 pr6|506 003163 aa 030000 4310 07 fld 12288,dl 003164 aa 6 00044 3701 20 epp4 pr6|36,* 003165 la 4 00034 3521 20 epp2 pr4|28,* ioa_$ioa_switch_nnl 003166 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 353 end PRINT_METERS_HEADER; 003167 aa 6 00416 6101 00 rtcd pr6|270 END PROCEDURE PRINT_METERS_HEADER BEGIN PROCEDURE PRINT_METERS ENTRY TO PRINT_METERS STATEMENT 1 ON LINE 361 PRINT_METERS: proc (meters_i); 003170 aa 6 00424 6501 00 spri4 pr6|276 003171 aa 6 00426 2521 00 spri2 pr6|278 STATEMENT 1 ON LINE 363 if meters_i.real_time = 0 & meters_i.vcpu_time = 0 & meters_i.page_faults = 0 then call PRINT_METERS_HEADER (" "); 003172 aa 2 00002 2371 20 ldaq pr2|2,* meters_i.real_time 003173 aa 000013 6010 04 tnz 11,ic 003206 003174 aa 2 00002 3735 20 epp7 pr2|2,* 003175 aa 7 00002 2371 00 ldaq pr7|2 meters_i.vcpu_time 003176 aa 000010 6010 04 tnz 8,ic 003206 003177 aa 7 00004 2361 00 ldq pr7|4 meters_i.page_faults 003200 aa 000006 6010 04 tnz 6,ic 003206 003201 aa 040000 2350 03 lda 16384,du 003202 aa 6 01024 7551 00 sta pr6|532 003203 aa 000167 3520 04 epp2 119,ic 003372 = 000002000000 003204 aa 777670 6700 04 tsp4 -72,ic 003074 003205 aa 000051 7100 04 tra 41,ic 003256 STATEMENT 1 ON LINE 365 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, "^9.3f ^8.3f ^5d", float (meters_i.real_time, 27) * 1e-6, float (meters_i.vcpu_time, 27) * 1e-6, meters_i.page_faults); 003206 aa 774756 2370 04 ldaq -1554,ic 000164 = 136071056063 146040136070 003207 aa 6 01026 7571 00 staq pr6|534 003210 aa 774756 2370 04 ldaq -1554,ic 000166 = 056063146040 136065144000 003211 aa 6 01030 7571 00 staq pr6|536 003212 aa 2 00002 2371 20 ldaq pr2|2,* meters_i.real_time 003213 aa 216000 4110 03 lde 72704,du 003214 aa 400000 4750 03 fad 131072,du 003215 aa 774575 4610 04 fmp -1667,ic 000012 = 732414336750 003216 aa 6 01025 4551 00 fst pr6|533 003217 aa 6 00426 3735 20 epp7 pr6|278,* 003220 aa 7 00002 3715 20 epp5 pr7|2,* 003221 aa 5 00002 2371 00 ldaq pr5|2 meters_i.vcpu_time 003222 aa 216000 4110 03 lde 72704,du 003223 aa 400000 4750 03 fad 131072,du 003224 aa 774566 4610 04 fmp -1674,ic 000012 = 732414336750 003225 aa 6 01024 4551 00 fst pr6|532 003226 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003227 aa 6 01034 2521 00 spri2 pr6|540 003230 aa 6 01026 3521 00 epp2 pr6|534 003231 aa 6 01036 2521 00 spri2 pr6|542 003232 aa 6 01025 3521 00 epp2 pr6|533 003233 aa 6 01040 2521 00 spri2 pr6|544 003234 aa 6 01024 3521 00 epp2 pr6|532 003235 aa 6 01042 2521 00 spri2 pr6|546 003236 aa 5 00004 3521 00 epp2 pr5|4 meters_i.page_faults 003237 aa 6 01044 2521 00 spri2 pr6|548 003240 aa 774625 3520 04 epp2 -1643,ic 000065 = 464000000000 003241 aa 6 01046 2521 00 spri2 pr6|550 003242 aa 774571 3520 04 epp2 -1671,ic 000033 = 524000000017 003243 aa 6 01050 2521 00 spri2 pr6|552 003244 aa 774545 3520 04 epp2 -1691,ic 000011 = 414000000033 003245 aa 6 01052 2521 00 spri2 pr6|554 003246 aa 6 01054 2521 00 spri2 pr6|556 003247 aa 774744 3520 04 epp2 -1564,ic 000213 = 404000000042 003250 aa 6 01056 2521 00 spri2 pr6|558 003251 aa 6 01032 6211 00 eax1 pr6|538 003252 aa 024000 4310 07 fld 10240,dl 003253 aa 6 00044 3701 20 epp4 pr6|36,* 003254 la 4 00034 3521 20 epp2 pr4|28,* ioa_$ioa_switch_nnl 003255 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 369 end PRINT_METERS; 003256 aa 6 00424 6101 00 rtcd pr6|276 END PROCEDURE PRINT_METERS BEGIN PROCEDURE PRINT_STATS ENTRY TO PRINT_STATS STATEMENT 1 ON LINE 374 PRINT_STATS: proc (vcpu_time_i, calls_i); 003257 aa 6 00432 6501 00 spri4 pr6|282 003260 aa 6 00434 2521 00 spri2 pr6|284 STATEMENT 1 ON LINE 376 if vcpu_time_i = 0 | calls_i = 0 then call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^10x ^5x ^7d", calls_i); 003261 aa 2 00002 2371 20 ldaq pr2|2,* vcpu_time_i 003262 aa 000003 6000 04 tze 3,ic 003265 003263 aa 2 00004 2371 20 ldaq pr2|4,* calls_i 003264 aa 000030 6010 04 tnz 24,ic 003314 003265 aa 774673 2370 04 ldaq -1605,ic 000160 = 040136061060 170040136065 003266 aa 6 01060 7571 00 staq pr6|560 003267 aa 774673 2370 04 ldaq -1605,ic 000162 = 170040136067 144000000000 003270 aa 6 01062 7571 00 staq pr6|562 003271 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003272 aa 6 01066 2521 00 spri2 pr6|566 003273 aa 6 01060 3521 00 epp2 pr6|560 003274 aa 6 01070 2521 00 spri2 pr6|568 003275 aa 6 00434 3735 20 epp7 pr6|284,* 003276 aa 7 00004 3521 20 epp2 pr7|4,* calls_i 003277 aa 6 01072 2521 00 spri2 pr6|570 003300 aa 774565 3520 04 epp2 -1675,ic 000065 = 464000000000 003301 aa 6 01074 2521 00 spri2 pr6|572 003302 aa 774506 3520 04 epp2 -1722,ic 000010 = 524000000015 003303 aa 6 01076 2521 00 spri2 pr6|574 003304 aa 774522 3520 04 epp2 -1710,ic 000026 = 410000000065 003305 aa 6 01100 2521 00 spri2 pr6|576 003306 aa 6 01064 6211 00 eax1 pr6|564 003307 aa 014000 4310 07 fld 6144,dl 003310 aa 6 00044 3701 20 epp4 pr6|36,* 003311 la 4 00034 3521 20 epp2 pr4|28,* ioa_$ioa_switch_nnl 003312 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003313 aa 000056 7100 04 tra 46,ic 003371 STATEMENT 1 ON LINE 378 else call ioa_$ioa_switch_nnl (output_file.iocb_ptr, " ^10.6f ^5.1f ^7d", (float (vcpu_time_i, 27) / float (calls_i, 27)) * 1e-6, float (vcpu_time_i, 27) * percentage_coefficient.vcpu_time, calls_i); 003314 aa 774700 2370 04 ldaq -1600,ic 000214 = 040136061060 056066146040 003315 aa 6 01064 7571 00 staq pr6|564 003316 aa 774700 2370 04 ldaq -1600,ic 000216 = 136065056061 146040136067 003317 aa 6 01066 7571 00 staq pr6|566 003320 aa 144000 2350 03 lda 51200,du 003321 aa 6 01070 7551 00 sta pr6|568 003322 aa 2 00004 2371 20 ldaq pr2|4,* calls_i 003323 aa 216000 4110 03 lde 72704,du 003324 aa 400000 4750 03 fad 131072,du 003325 aa 6 01102 4551 00 fst pr6|578 003326 aa 6 00434 3735 20 epp7 pr6|284,* 003327 aa 7 00002 2371 20 ldaq pr7|2,* vcpu_time_i 003330 aa 216000 4110 03 lde 72704,du 003331 aa 400000 4750 03 fad 131072,du 003332 aa 6 01103 4551 00 fst pr6|579 003333 aa 6 01102 5651 00 fdv pr6|578 003334 aa 774456 4610 04 fmp -1746,ic 000012 = 732414336750 003335 aa 6 01102 4551 00 fst pr6|578 003336 aa 6 01103 4311 00 fld pr6|579 003337 aa 6 00246 4611 00 fmp pr6|166 percentage_coefficient.vcpu_time 003340 aa 6 01103 4551 00 fst pr6|579 003341 aa 6 00162 3521 00 epp2 pr6|114 output_file.iocb_ptr 003342 aa 6 01106 2521 00 spri2 pr6|582 003343 aa 6 01064 3521 00 epp2 pr6|564 003344 aa 6 01110 2521 00 spri2 pr6|584 003345 aa 6 01102 3521 00 epp2 pr6|578 003346 aa 6 01112 2521 00 spri2 pr6|586 003347 aa 6 01103 3521 00 epp2 pr6|579 003350 aa 6 01114 2521 00 spri2 pr6|588 003351 aa 7 00004 3521 20 epp2 pr7|4,* calls_i 003352 aa 6 01116 2521 00 spri2 pr6|590 003353 aa 774512 3520 04 epp2 -1718,ic 000065 = 464000000000 003354 aa 6 01120 2521 00 spri2 pr6|592 003355 aa 774447 3520 04 epp2 -1753,ic 000024 = 524000000021 003356 aa 6 01122 2521 00 spri2 pr6|594 003357 aa 774432 3520 04 epp2 -1766,ic 000011 = 414000000033 003360 aa 6 01124 2521 00 spri2 pr6|596 003361 aa 6 01126 2521 00 spri2 pr6|598 003362 aa 774444 3520 04 epp2 -1756,ic 000026 = 410000000065 003363 aa 6 01130 2521 00 spri2 pr6|600 003364 aa 6 01104 6211 00 eax1 pr6|580 003365 aa 024000 4310 07 fld 10240,dl 003366 aa 6 00044 3701 20 epp4 pr6|36,* 003367 la 4 00034 3521 20 epp2 pr4|28,* ioa_$ioa_switch_nnl 003370 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 384 end PRINT_STATS; 003371 aa 6 00432 6101 00 rtcd pr6|282 END PROCEDURE PRINT_STATS END PROCEDURE tmt ----------------------------------------------------------- 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