Patent ID: 7703108

Claim:
A method of loading a library for an application program, the application program being run in a process supported by an operating system (OS) in a computer system, the method comprising the following steps, responsive to a library load instruction in the application program: (a) determining whether it is the first library load instruction in the application program, wherein the application program is executed in a virtual machine, and wherein the virtual machine is within the process, (b) if the library load instruction is the first library load instruction, (b1) loading the library in a first memory area, creating a link map to the first memory area, and defining a handle for the library and a link map identifier for the link map to the first memory area, (b2) storing the handle and the link map identifier, wherein the handle and the link map identifier are stored in a memory area dedicated to the application program and accessible only by the virtual machine, (c) if the library load instruction is a further library load instruction, (c1) loading the further library in a further memory area, also associated to said link map identifier, and defining a further handle to the further library, (c2) storing the further handle in the memory area dedicated to the application program, and (d) responsive to a first instruction calling a given function in the library loaded from the process, (d1) calling a symbol table processing function of the OS from the process, with the handle as a parameter, to get a pointer to the given function within the link (d2) storing the pointer in the memory area dedicated to the application program, and (d3) jumping to the location indicated by the pointer to execute the given function.