METHOD AND SYSTEM FOR IMPROVING THE LOCALITY OF MEMORY REFERENCES DURING EXECUTION OF A COMPUTER PROGRAM
Patent №
US 5,664,191
Granted
1997-09-02
Filed 1994
Owner
MICROSOFT CORPORATION
Lab
AI components
1
hardware
Assignment
Recorded
Dataset
AIPD
2023_r1 edition
Application
08268277
The present invention provides a method and system for determining an optimal placement order for basic blocks within a computer program to improve locality of reference and reduce the working set of the computer program. By reducing the working set, the computer program requires less memory than it normally would require to execute on a computer system. The optimal placement order for basic blocks within a computer program reflects the concurrency of usage for basic blocks during execution of the computer program. The method for determining an optimal placement order includes analyzing the computer program to identify all of the basic blocks, determining how many times each basic block is executed, assigning a placement order to each basic block depending upon how many times each basic block was executed, and reordering the basic blocks according to their assigned placement orders to produce an optimized computer program. The method used to identify all of the basic blocks includes disassembling known instruction addresses to identify the beginning and end of basic blocks and processing jump tables to identify more instruction addresses. Processing jump tables includes processing the first entry of every jump table before processing the second entry of any jump table. The present invention further optimizes a computer program by replacing rarely executed instructions with other instructions that require a smaller amount of storage space.
AI classification
Ownership
MICROSOFT CORPORATION
assignment · 70650310
Assignors
DAVIDSON, ROBERT I., MYHRVOLD, NATHAN, VOGEL, KEITH RANDEL, YUVAL, GIDEON ANDREAS, SHUPAK, RICHARD, APPERSON, NORMAN EUGENE
On an employer assignment, the assignors are typically the inventors.