Facilitating value prediction to support speculative program execution
AssigneeSun Microsystems, Inc.
InventorsShailender Chaudhry, Marc Tremblay
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorsShailender Chaudhry, Marc Tremblay
Estimating the term…
One embodiment of the present invention provides a system that predicts a result produced by a section of code in order to support speculative program execution. The system begins by executing the section of code using a head thread in order to produce a result. Before the head thread produces the result, the system generates a predicted result to be used in place of the result. Next, the system allows a speculative thread to use the predicted result in speculatively executing subsequent code that follows the section of code. After the head thread finishes executing the section of code, the system determines if a difference between the predicted result and the result generated by the head thread has affected execution of the speculative thread. If so, the system executes the subsequent code again using the result generated by the head thread. If not, the system performs a join operation to merge state associated with the speculative thread with state associated with the head thread. In one embodiment of the present invention, executing the subsequent code again involves performing a rollback operation for the speculative thread to undo actions performed by the speculative thread.
A method that predicts a result produced by a section of code in order to support speculative program execution, the section of code including a plurality of program instructions, the method comprising:
3-4. (canceled)
An apparatus that facilitates predicting a result produced by a section of code in order to support speculative program execution, the section of code including a plurality of program instructions, the apparatus comprising:
14-15. (canceled)
A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method that predicts a result produced by a section of code in order to support speculative program execution, the section of code including a plurality of program instructions, the method comprising:
Dependencies are inferred from the claim text.