Accelerator Manual (G06.27+, H06.04+, J06.03+)
Using the Accelerator
Accelerator Manual—527303-003
4-14
Controlling Accelerator Messages
One use of scoping directives is to distinguish between procedures in different code
spaces that have the same name. For example, suppose the following appeared in an
obey file:
-- normal options for this acceleration
UC
StmtDebug
InheritsCC_On
UserLib FRED
?UL_Scope -- following options apply to user library routines
InheritsCC_Off -- default for user library routines
ReturnValSize BETTY 2
ReturnValSize WILMA 1
Obey MOREOPTS
ReturnValSize BARNEY 3
For the user-code scope of this acceleration, the Accelerator:
•
Turns statement-level debugging on (StmtDebug)
•
Maintains the condition codes set by calling procedures (InheritsCC_Off)
For the user-library scope of this acceleration, the Accelerator:
•
Generates code for calls to user library routines that assumes that user library
routines do not use condition codes set by calling procedures (InheritsCC_Off)
•
Generates code for calls to the user-library procedure BETTY that expects the
procedure BETTY to return two 16-bit words
•
Generates code for calls to the user-library procedure WILMA that expects the
procedure WILMA to return one 16-bit word
The Accelerator does not generate code that performs the return from the user library
routines BETTY and WILMA at this time; it generates code that expects these routines
to return the given values. The Accelerator generates the code that performs the return
from the user library routines when the user library is accelerated.
This obey file also directs the Accelerator to read more options from the obey file
MOREOPTS. The user library scope does not apply to the obey file MOREOPTS. If the
MOREOPTS file does not contain a scoping directive, the file has the default scope,
user code.
Scoping directives in the MOREOPTS file do not change the scope in the obey file
from which MOREOPTS is called. Thus, the ReturnValSize BARNEY option has a
scope of user library.
Controlling Accelerator Messages
The Accelerator issues three classes of messages: errors, warnings, and notes. Error
messages identify code constructs that the Accelerator cannot process and input
options or input file formats that it cannot understand. Warning messages identify code
constructs for which it might have produced incorrect code. Note messages identify