Linking a virtual method comprises receiving a program comprising multiple
program units, enumerating classes of the program, determining whether a
virtual method of the program has been overridden at least once, creating
a virtual method jump table indexed by a type indicator if the virtual
method has been overridden and rewriting at least one call instruction
that calls the virtual method. The at least one call instruction is
rewritten to include the type indicator of a called object. The table
comprises at least one entry including an address of a virtual method.