Accelerator Manual (G06.27+, H06.04+, J06.03+)
Accelerator Performance Issues
Accelerator Manual—527303-003
6-13
SETP State Machines
While SETP instructions do not necessarily force a transition into TNS code, the table
lookup makes SETP slower than other types of branching. Do not use a SETP
instruction as a performance substitute for a CASE statement.
Detection Guidelines
•
The Accelerator issues Note 6 for each SETP instruction. Unless your program is
written in TAL, you probably will not gain much performance if you recode to
eliminate these SETP instructions.
Note 6: SETP instructions appear in the following
procedure(s): '<proc name>' at offset(s): <address>
FORTRAN assigned GO TO statements, FORTRAN functions with multiple entry or
return points, and COBOL ALTER statements also produce SETP instructions. To
eliminate these SETP instructions, you must recode to remove these constructs.
•
The Accelerator issues Note 20 when SETP instructions appear in programs
without an Inspect symbols region. In these cases, it is likely that very large areas
of code make transitions into TNS code.
Note 20: SETP instructions appear in the following
procedure(s) that have no symbols:
'<proc name>' at offset(s): <address>
•
The Accelerator issues Note 13 when it finds SETP instructions that leave the
register pointer not equal to 7. These transitions can be removed only by
substantially recoding your program.
Note 13: The following SETP instructions leave values on
the register stack. The program will make a transition
into TNS code. '<proc name>': SETP at offset <address>
Suggested Changes
•
Make sure that the program or module was compiled with the SYMBOLS directive,
and that all bind steps have preserved the Inspect symbols region.
•
For TAL programs with CODE (SETP) statements, make sure that possible target
locations are denoted by user-defined labels and that the Accelerator input file
contains an Inspect symbols region. While these steps do not eliminate Note 6,
they ensure that execution stays in accelerated code. Note that CODE statements
using SETP and storing 16-bit P values in data structures are not compatible with
future software releases.
Examples
•
The following TAL code fragments illustrate a state machine that uses CODE
statements to compute the address of the action routine from the P-relative state