发明名称 Method and system for improving the locality of memory references during execution of a computer program
摘要 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.
申请公布号 US6292934(B1) 申请公布日期 2001.09.18
申请号 US19970846893 申请日期 1997.05.01
申请人 MICROSOFT CORPORATION 发明人 DAVIDSON ROBERT I.;MYHRVOLD NATHAN;VOGEL KEITH RANDEL;YUVAL GIDEON ANDREAS;SHUPAK RICHARD;APPERSON NORMAN EUGENE
分类号 G06F9/45;(IPC1-7):G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项
地址