Patent ID: 8839274

Claim:
A method for handling a virtual method call, comprising: extracting, from a pointer to an object, a class identifier used to identify a class of the object, the pointer to the object being associated with the virtual method call, and the class identifier being embedded within the pointer; obtaining a virtual method table at least in part by using the class identifier extracted from the pointer to the object, wherein obtaining the virtual method table does not require loading the object, wherein the obtaining includes locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the class identifier and comprising the virtual method table or a pointer used to obtain the virtual method table, and wherein the pointer includes an object information pointer that is used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call, and wherein locating the second entry includes searching the virtual method table to find an address associated with a code section of the virtual method call; and jumping to an address associated with the second entry to execute code at the address, wherein the jumping includes loading the address value into a register and performing a register jump operation.