Accelerator Manual (G06.24+, H06.03+)

Accelerator Performance Issues
Accelerator Manual527303-002
6-7
Internal Procedure Calls
Detection Guideline
The Accelerator emits Note 1 for external procedures that might cause transitions
into TNS code.
Note 1: The Accelerator was not able to determine return
value size of the following external procedures:
<proc name>; Guessed return size <value>, <number> times;
Suggested Changes
If the program has an accelerated user library, specify it with the UserLib option.
If the program does not have an accelerated user library, look at the source code
for the user library and specify the correct return value size with the ReturnValSize
option in an obey file. You must use the ?UL_SCOPE directive to specify that the
procedure is a part of a user library. For example:
-- obey file
?UL_SCOPE
ReturnValSize Libproc 0
Internal Procedure Calls
The Accelerator looks in the Binder region for the return value size information for each
internal procedure call. If that region has been stripped, the Accelerator predicts the
return value sizes from its control flow analysis. The Accelerator correctly predicts the
return value sizes of most internal procedure calls and verifies these predictions at run
time. Transitions into TNS code occur when the Accelerator incorrectly predicts the
return value size of an internal procedure.
Detection Guideline
The Accelerator emits Note 2 for internal procedures that might cause transitions
into TNS code.
Note 2: The Accelerator was not able to determine the
return value size of the following procedure(s) in your
program: <proc name>
Suggested Changes
Always try to accelerate programs with the Binder region present.
Specify the return value sizes with the ReturnValSize option for procedures that the
Accelerator must predict.