发明名称 System, method, and product for memory management in a dynamic translator
摘要 The present invention is a system, method, and product for improving the speed of dynamic translation systems by efficiently positioning translated instructions in a computer memory unit. More specifically, the speed of execution of translated instructions, which is a factor of particular relevance to dynamic optimization systems, may be adversely affected by inefficient jumping between traces of translated instructions. The present invention efficiently positions the traces with respect to each other and with respect to "trampoline" instructions that redirect control flow from the traces. For example, trampoline instructions may redirect control flow to an instruction emulator if the target instruction has not been translated, or to the translation of a target instruction that has been translated. When a target instruction has been translated, a backpatcher of the invention may directly backpatch the jump to the target so that the trampoline instructions are no longer needed. A method of the present invention includes: (1) designating "chunks" of memory locations, and (2) positioning a translated trace and its corresponding trampoline instructions in the same chunk. The size of the chunk generally is based on a "machine-specific shortest jump distance" that is the shortest maximum distance that a jump instruction may specify. In particular, the chunk length may be determined so that, for every translated trace and trampoline instruction positioned in the same chunk, the greatest distance between a translated jump instruction and its target trampoline instruction is not greater than the machine-specific shortest jump distance for that type of jump instruction.
申请公布号 US6223339(B1) 申请公布日期 2001.04.24
申请号 US19980149853 申请日期 1998.09.08
申请人 HEWLETT-PACKARD COMPANY 发明人 SHAH LACKY V.;MATTSON, JR. JAMES S.;BUZBEE WILLIAM B.
分类号 G06F9/445;G06F9/45;G06F9/455;(IPC1-7):G06F1/00 主分类号 G06F9/445
代理机构 代理人
主权项
地址