Patent ID: 8010956

Claim:
A machine-executable code stored on a machine-readable medium, the machine executable code configured to: structure at least a portion of a control transfer table in accordance with reducing the number of clashes of the entries of the control transfer table with other parts of a program by: setting a threshold level of executions of an entry of the control transfer table by the program; identifying those entries of the control transfer table that exceed the threshold level of executions; identifying units of the program that access the same memory locations as the entries of the control transfer table; and reordering the entries of the control transfer table that exceed the threshold level of executions based on the memory locations accessed by the units of the program; wherein the reordering allows at least some of the most frequently fetched entries to reside in memory contemporaneously, and wherein the machine executable code stored on the machine-readable medium further is configured to: receive an access request from a program including non-modifiable code, wherein the non-modifiable code can not be updated to use the reordered control transfer table to prevent optimizations that may incur undesirable side effects; and generate a separate compatibility preservation redirection table, wherein each of the entries of the compatibility preservation redirection table references a corresponding entry in the reordered control transfer table such that, when the compatibility preservation redirection table is accessed by the non-modifiable code, control is transferred to the control transfer table to preserve compatibility of code that is not updated to reference the reordered control transfer table.