Language Environment library routine retention is a
function that provides a performance improvement for those applications
or subsystems with the following attributes:
- The application or subsystem invokes programs that require Language Environment.
- The application or subsystem is not Language Environment-conforming.
That is, Language Environment is
not already initialized when the application or subsystem invokes
programs that require Language Environment.
- The application or subsystem, while running under the same task,
repeatedly invokes programs that require Language Environment.
- The application or subsystem is not using Language Environment preinitialization
services.
Restriction: Language Environment library routine retention is not
supported to run on CICS®.
The use of library routine retention does
not affect the behavior of applications other than improving their
performance.
Language Environment provides
a macro called CEELRR, which is used in an assembler program to initialize library routine retention and to
terminate library routine retention.
See CEELRR macro — Initialize or terminate Language Environment library routine retention for details about the
CEELRR macro.
In addition,
Language Environment provides
three sample programs that use the CEELRR macro:
- CEELRRIN
- This routine uses the CEELRR macro to initialize a library routine retention environment
that does not permit XPLINK applications. The source for this routine
can be found in member CEELRRIN in SCEESAMP. The load module associated
with this routine can be found in SCEERUN with member name CEELRRIN.
- CEELRRXP
- This routine uses the CEELRR macro to initialize a library routine
retention environment that permits XPLINK applications. The source
for this routine can be found in member CEELRRXP in SCEESAMP. The
load module associated with this routine can be found in SCEERUN with
member name CEELRRXP.
- CEELRRTR
- This routine uses the CEELRR macro to terminate library routine retention. The
source for this routine can be found in member CEELRRTR in SCEESAMP.
The load module associated with this routine can be found in SCEERUN
with member name CEELRRTR.
When library routine retention has
been initialized, Language Environment keeps
a subset of its resources in memory after the environment terminates.
As a result, subsequent invocations of programs in the same task that
caused Language Environment to
be initialized are much faster because the resources can be reused
without having to be reacquired and reinitialized.
When
library routine retention has
been initialized, the resources that
Language Environment keeps
in memory when it terminates include the following:
- Language Environment runtime
load modules
- Language Environment storage
associated with the management of the runtime load modules
- Language Environment storage
for startup control blocks
When library routine retention is
terminated, the resources that Language Environment kept
in memory are freed. (Library routines are deleted and storage is
freed.)
Note: - If library routine retention is
initialized, and the task in which it is being used is terminated,
the operating system frees the Language Environment resources
as part of task termination.
- 31-bit XPLINK applications are supported under the LRR environment.