System and method for jump-evaluated trace designation
AssigneeHewlett-Packard Company
InventorsLacky V. Shah, James S. Mattson, Jr., William B. Buzbee
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Company
InventorsLacky V. Shah, James S. Mattson, Jr., William B. Buzbee
Estimating the term…
A computer-implemented system and method are provided to designate traces of original instructions of an executable file at run time based on evaluations of control flow through jump instructions. Such designation typically increases the opportunities for dynamic optimization based on loop unrolling and other modifications of the control-flow structure of the executable file. The target of a jump instruction is designated as the start of a trace if the number of times that control has passed to it through any one or more jump instructions of a predetermined type of jump instruction reaches a predetermined start-trace threshold. The trace is ended if the number of times that control has passed through jump instructions of one of a variety of particular types of jump instructions reaches an end-trace threshold that is predetermined for each such type of jump instruction. The invention includes an instruction emulator, a start-end designator, a trace translator and optimizer, and a backpatch manager. The instruction emulator emulates original instructions that have not been translated. The start-end designator designates the start and end of traces. The trace translator and optimizer translates and optimizes traces designated by the start-end designator. The backpatch manager backpatches jump instructions in translated instructions so that they jump to target instructions that have been translated, when present.
A computer system having at least one central processing unit (CPU) and at least one memory unit having stored therein a plurality of original instructions of an executable file, the plurality of original instructions comprising a plurality of target instructions and a plurality of jump instructions, the at least one memory unit also having a set of jump-evaluating-trace-designator instructions for execution by the at least one CPU, the jump-evaluating-trace-designator instructions designating, when so executed, at least one trace in the original instructions, the at least one trace having a start instruction and an end instruction, the set of jump-evaluating-trace-designator instructions comprising
A computer system having at least one central processing unit (CPU) and at least one memory unit having stored therein a plurality of original instructions of an executable file, the plurality of original instructions comprising a plurality of target instructions and a plurality of jump instructions, and a jump-evaluating trace designator configured to cooperate with the at least one CPU to designate at least one trace having a start instruction and an end instruction, the jump-evaluating trace designator comprising
A computer-implemented method for designating from a plurality of original instructions of an executable file at least one trace having a start instruction and an end instruction, the plurality of original instructions comprising a plurality of target instructions and a plurality of jump instructions, the method comprising the steps of:
Storage media that contains software that, when executed on an appropriate computing system having at least one central processing unit (CPU) and at least one memory unit having stored therein a plurality of original instructions of an executable file, the plurality of original instructions comprising a plurality of target instructions and a plurality of jump instructions, performs a method comprising the steps of:
A computer program product for use with an appropriate computing system having at least one central processing unit (CPU) and at least one memory unit having stored therein a plurality of original instructions of an executable file, the plurality of original instructions comprising a plurality of target instructions and a plurality of jump instructions, the computer program product comprising:
Dependencies are inferred from the claim text.