Derivation: ALL AMODE 31
ALL31
specifies if an application can run entirely in AMODE 31 or if the
application has one or more AMODE 24 routines.
Guideline: ALL31
should have the same setting for all enclaves in a process. Language Environment does
not support the invocation of a nested enclave requiring ALL31(OFF)
from an enclave running with ALL31(ON) in non-CICS environments.
The
default value for non-CICS applications is ALL31(ON).
The default
value for CICS® applications
is ALL31(ON).
Syntax
.-ON--.
>>-ALl31--(--+-----+--)----------------------------------------><
'-OFF-'
- ON
- If the initial routine of the Language Environment application
is AMODE 31, this setting indicates that no other routines in the
application will be AMODE 24.
If the initial routine of the Language Environment application
is AMODE 24, ALL31 is dynamically switched to OFF. No message will
be issued to indicate this action. However, if you generate a Language Environment runtime
options report using the RPTOPTS runtime option, the ALL31 option
will be reported as "Override" under the LAST
WHERE SET column.
When ALL31(ON) remains in effect:
- AMODE switching across calls to Language Environment common
runtime routines is minimized. For example, no AMODE switching is
performed on calls to Language Environment callable
services.
- Language Environment allocates
storage for the common anchor area (CAA) and other control blocks
in unrestricted storage.
- COBOL EXTERNAL data is allocated in unrestricted storage.
- OFF
- Indicates that one or more routines of a Language Environment application
are AMODE 24. When ALL31(OFF) is in effect:
- Language Environment uses
more storage below the 16M line.
- AMODE switching across calls to Language Environment common
runtime routines is performed. For example, AMODE switching is performed
on calls to Language Environment callable
services.
- Language Environment allocates
storage for the common anchor area (CAA) and other control blocks
in storage below the 16M line.
- COBOL EXTERNAL data is allocated in storage below the 16M line.
Restriction: If you use the setting ALL31(OFF), you
must also use the setting STACK(,,BELOW,,,). AMODE 24 routines require
stack storage below the 16M line.
z/OS® UNIX considerations
- In a multithreaded environment, the ALL31 option applies to all
threads in a process.
- In a multithreaded environment, the thread start routine specified
in the C pthread_create()
function call is invoked in AMODE 31.
Usage notes
- Restrictions: You
must specify ALL31(OFF) if your COBOL applications contain one of
the following programs:
- VS COBOL II NORES
- OS/VS COBOL (non-CICS)
- If the Language Environment environment
was initialized using ILBOSTP0
- PL/I considerations: For PL/I MTF applications, Language Environment provides
AMODE switching. Therefore, the first routine of a task can be in
AMODE 24.
- Fortran considerations: Use ALL31(ON) if all of the compile units
in the enclave have been compiled with VS FORTRAN Version
1 or Version 2 and there are no requirements for 24-bit addressing
mode. Otherwise, use ALL31(OFF).
- XPLINK considerations:
When an application is running in an XPLINK environment
(that is, either the XPLINK(ON) runtime option was specified, or the
initial program contained at least one XPLINK compiled
part), the ALL31 runtime option is forced to ON. No AMODE 24 routines
are allowed in an enclave that uses XPLINK. No message
is issued to indicate this action. If a Language Environment runtime
options report is generated using the RPTOPTS runtime option, the
ALL31 option is reported as "Override" under the LAST WHERE SET column.
- Guideline: ALL31 should have the same setting for all enclaves
in a process. Language Environment does
not support the invocation of a nested enclave requiring ALL31(OFF)
from an enclave running with ALL31(ON) in non-CICS environments.
Performance consideration
If your application
consists entirely of AMODE 31 routines, it will run faster and use
less below-the-line storage with ALL31(ON) than with ALL31(OFF).
For more information
- See STACK for information
about the STACK runtime option.
- See XPLINK for information about
the XPLINK runtime option.