Previous Topic: Configuring Runtime: IMS and CICSNext Topic: CA Gen Requires PDSE


Runtime DLLs and LE

CA Gen z/OS runtime is a multi-language execution environment that includes C, COBOL, and Assembler code.

In AllFusion Gen 7, the C runtime components were converted to IBM C to support dynamic linking of runtime and to use DLLs.

Since AllFusion Gen 7.5, most Assembler and COBOL runtime components are implemented as DLLs. Dynamically loading the runtime components allows multiple processes to share a single copy of the runtime component, significantly decreasing the overall load module size for a CA Gen application. Using DLLs improves serviceability by allowing maintenance updates to runtime components without requiring relinking of generated applications. All applications that use the DLL get the maintenance update.

In AllFusion Gen 7.5, the z/OS runtime was updated to full IBM LE conformance. The runtimes were updated to use the standard LE call interface, reducing the complexity of the runtime code. The runtimes were made fully re-entrant and threadsafe, enhancing runtime and application reliability and performance.

AllFusion Gen runtimes were changed to exploit LE storage management within the assembler routines, eliminating the need to frequently use GETMAIN and FREEMAIN. This reduced CPU usage for runtime modules in certain generated applications, such as batch jobs.

AllFusion Gen's C and COBOL runtimes were changed to use similar functionality.

Migrating AllFusion Gen's Assembler code to LE functionality decreased the number of OS storage calls resulting in a decrease use of CPU when a generated application invokes Assembler runtime functions. The benefit of this change depends on the LE Heap and Stack settings and how each generated application uses these runtimes.

Since CA Gen 8, all runtime DLLs are delivered in PDSE dataset named CEHBPLD0 and CEHBPLD1.