LIBSTACK

Derivation: LIBrary STACK storage

LIBSTACK controls the allocation of the thread's library stack storage. This stack is used by Language Environment routines that require save areas below the 16 M line.

The default value for non-CICS applications is LIBSTACK(4K,4K,FREE).

The default value for CICS® applications is LIBSTACK(32,4080,FREE).

Read syntax diagramSkip visual syntax diagram
Syntax

                                                    .-FREE-.   
>>-LIBStack--(--+-----------+--,--+-----------+--,--+------+---><
                '-init_size-'     '-incr_size-'     '-KEEP-'   

init_size
Determines the minimum size of the initial library stack storage. This value can be specified as n, nK, or nM bytes of storage. Language Environment allocates the storage rounded up to the nearest multiple of 8 bytes.
incr_size
Determines the minimum size of any subsequent increment to the library stack. This value can be specified as n, nK, or nM bytes of storage. The actual amount of allocated storage is the larger of 2 values— incr_size or the requested size—rounded up to the nearest multiple of 8 bytes. If you specify 0 as incr_size, Language Environment gets only the amount of storage that is needed at the time of the request, rounded up to the nearest multiple of 8 bytes.
FREE
Specifies that Language Environment releases storage allocated to LIBSTACK increments when the last of the storage in the library stack is freed. The initial library stack segment is not released until the thread ends.
KEEP
Specifies that Language Environment does not release storage allocated to LIBSTACK increments when the last of the storage is freed.

CICS considerations

The default increment size under CICS is 4080 bytes, rather than 4096 bytes, to accommodate the 16-byte CICS storage check zone. Without this accommodation, an extra page of storage is allocated.

z/OS® UNIX considerations

The LIBSTACK option sets the library stack characteristics on each thread.

Usage notes

Language Environment does not acquire the initial library stack segment until the first program that requires LIBSTACK runs.

Performance considerations

You can improve performance with the LIBSTACK runtime option by specifying values that minimize the number of times the operating system allocates storage. See RPTSTG for information about how to generate a report you can use to determine the optimum values for the LIBSTACK runtime option.

For more information