LIBVEC initialization

The Language Environment LIBVEC is initialized as part of Language Environment initialization. Prior to first use, the LIBVECs of other library owners should be initialized as part of the owning member's initialization. A member's LIBVEC is initialized by calling the LIBVEC initialization routine CEEPLVI. It is passed the name or address of an LVD. If the name of the LVD is passed, it must exist as a load module in the LIBVEC owner's library.

During LIBVEC initialization, each INIT LIBPACK structured with the address constant table equal to the LIBVEC entries is ORed directly into the LIBVEC's SLOT section. This eliminates the individual handling of each LIBVEC SLOT and its associated overhead. The LIBVEC initialization routine (CEEPLVI) performs the following functions.
  • Load the LVD if the address of the LVD module name was passed.
  • Load any INIT LIBPACKs that are not a part of the LVD contained load module.
  • Get heap storage for the LIBVEC.
  • Insure that all LIBVEC entries are initialized properly.
  • Return the address of the LIBVEC.