Patent ID: 7406687

Claim:
A computer executed process using memory and at least one processor for making a bytecode of a method, the bytecode of the method being stored on said memory, and said bytecode of the method made sharable by a first class loader and a second class loader, the first class loader and the second class loader being capable of dynamically loading a class having a class file, the first class loader being capable of translating the class file into a first class type and the second class loader being capable of translating the class file into a second class type, the process comprising: dividing a runtime representation of the first class type into a first loader independent part and a first loader dependent part, determining whether a runtime representation of the second class type can use the first loader independent part of the runtime representation of the first class type; and if the first loader independent part of the runtime representation of the first class type can be used by the runtime representation of the second class type, generating a second loader dependent part of the runtime representation of the second class type using the first loader independent part of the runtime representation of the first class type; and performing a loader re-entrant interpretation of a bytecode of the method if the method is invoked, and prefixing an implementation of the bytecode of the method with a class initialization barrier upon a first use of the class, prefixing an implementation of the bytecode of the method with a link resolution barrier upon the first use of a symbolic link, and accessing one of a first loader dependent data and a second loader dependent data of the method of one of the first loader independent runtime representation and the second loader independent runtime representation being executed.