PL/I storage considerations

PL/I automatic storage is provided by the Language Environment user stack. Automatic storage above the 16 MB line is supported under control of the Language Environment STACK and THREADSTACK runtime options. When the Language Environment user stack is above 16 MB, PL/I temporaries (dummy arguments) and parameter lists (for reentrant/recursive blocks) also reside above 16 MB. As long as an OS PL/I application does not contain edited stream I/O (for example, the EDIT option is not used in a PUT statement) and is running with AMODE(31), you can relink it with Language Environment to allow for STACK(,,ANY) to be used. For Enterprise PL/I for z/OS and PL/I for MVS & VM, as long as the application is AMODE(31), STACK(,,ANY) is supported. The stack frame size for an individual block is constrained to 16 MB, which means the size of an automatic aggregate, temporary variable, or dummy argument cannot exceed 16 MB.