ALL31
- Default
- ON
- Recommended
- ON, unless there are AMODE(24) routines in the application
- Considerations
- The ALL31 option allows LE to take advantage of the knowledge
that there are no AMODE(24) routines in the application.
ALL31(ON) specifies that the entire application will run in AMODE(31). This can help to improve the performance for an all AMODE(31) application because LE can minimize the amount of mode switching across calls to common runtime library routines. Additionally, using ALL31(ON) will help to relieve some below the line virtual storage constraint problems, since less below the line storage is used.
When using ALL31(ON), all EXTERNAL WORKING-STORAGE and EXTERNAL FD records areas can be allocated above the 16MB line if you also use the HEAP(,,ANYWHERE) runtime option and compile the program with either the DATA(31) and RENT compiler options or with the RMODE(ANY) and NORENT compiler options. Note that when using ALL31(OFF), you must also use STACK(,,BELOW).
Notes:- Beginning with LE for z/OS® Release 1.2, the runtime defaults have changed to ALL31(ON),STACK(,,ANY). LE for OS/390® Release 2.10 and earlier runtime defaults were ALL31(OFF),STACK(,,BELOW).
- ALL31(OFF) is required for all OS/VS COBOL programs that are not running under CICS®, all VS COBOL II NORES programs, and all other AMODE(24) programs.
As a performance example (measuring CALL overhead only), a test program using ALL31(ON) was equivalent to ALL31(OFF).Note: This test measured only the overhead of the CALL for a RENT program (i.e., the subprogram did only a GOBACK); thus, a full application that does more work in the subprograms will have different results, depending on the number of calls that are made to LE common runtime routines.
ALL31 (z/OS Language Environment Programming Reference)
ALL31 (z/OS Language Environment Customization)