z/OS Language Environment Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


ALL31

z/OS Language Environment Customization
SA38-0685-00

Derivation: ALL AMODE 31

ALL31 specifies whether an application can run entirely in AMODE 31 or whether the application has one or more AMODE 24 routines.

This option does not implicitly alter storage, in particular storage managed by the STACK and HEAP runtime options. However, you must be aware of your application's requirements for stack and heap storage, because such storage can potentially be allocated above the line while running in AMODE 24.

It is recommended that ALL31 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.

In a multithread environment, Language Environment invokes all start routines, which are specified in a Language Environment pthread_create() function call, in AMODE 31. However, for PL/I MTF applications, Language Environment provides AMODE switching. Thus, the first routine of a task can be in AMODE 24.

Non-CICS default:
ALL31=((ON),OVR)
CICS® default
ALL31=((ON),OVR)
Read syntax diagramSkip visual syntax diagram
Syntax

                   .-ON--.        .-OVR----.      
>>-ALL31--=--(--(--+-OFF-+--)--,--+-NONOVR-+--)----------------><

ON
Indicates that no user routines of a Language Environment application are AMODE 24.
With ALL31(ON) specified:
  • 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.
OFF
Indicates that one or more routines of a Language Environment application are AMODE 24.
With ALL31(OFF) specified:
  • 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.
  • In COBOL, EXTERNAL data is allocated in storage below the 16-MB line.

If you use the setting ALL31(OFF), you must also use the setting STACK(,,BELOW,,,). AMODE 24 routines require that stack storage is below the 16-MB line.

If you use the setting ALL31(OFF), Language Environment preallocates BELOWHEAP instead of ANYHEAP storage.

OVR
Specifies that the option can be overridden.
NONOVR
Specifies that the option cannot be overridden.

CICS considerations

With ALL31(ON), Language Environment allocates storage for the common anchor area (CAA) and other control blocks in unrestricted storage.

z/OS® UNIX considerations

The ALL31 option applies to the enclave.

Usage notes

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 will be forced to ON. No AMODE 24 routines are allowed in an enclave that uses XPLINK. No message will be issued to indicate this action. In this case, if a Language Environment runtime options report is generated using the RPTOPTS runtime option, the ALL31 option will be reported as "Override" under the LAST WHERE SET column.

COBOL considerations
You must specify ALL31(OFF) if your applications contain one of the following programs:
  • A VS COBOL II NORES program
  • An OS/VS COBOL program (non-CICS program)
  • An AMODE 24 program
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).

Performance considerations

If your application consists entirely of AMODE 31 routines, it might run faster and use less below-the-line storage with ALL31(ON) than with ALL31(OFF), since mode switching code is not required.

For more information

  • See STACK for information about the STACK runtime option.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014