Method, apparatus and computer program for executing a program by incorporating threads
First Claim
1. A computer-implemented method for executing a program comprising a function call and one or more subsequent instructions, the method comprising steps of:
- processing, on a first thread, a function defined by the function call, the function having at least two programmer predefined typical return values;
for each predefined return value, pre-processing on an additional thread, the one or more subsequent instructions which are associated with a given predefined return value, wherein said pre-processing is performed concurrent with the processing of the first thread; and
responsive to completion of the processing of said function on said first thread, wherein said function returns an actual return value upon said completion, continuing processing of the additional thread associated with the actual return value while terminating at least one other additional thread that is not associated with the actual return value, such that the one or more subsequent instructions associated with the actual return value are speculatively executed prior to (i) the completion of the processing of said function and (ii) the return of the actual return value by said function.
3 Assignments
0 Petitions
Accused Products
Abstract
There is provided a method for executing a program comprising a function call and one or more subsequent instructions. The method comprises processing, on a first thread, a function defined by the function call, the function having one or more programmer predefined typical return values. For each predefined return value, the one or more subsequent instructions are pre-processed on an additional thread assuming that the function returned that pre-defined return value. In this way the processor, on completion of processing said function is able to make use of the pre-processing completed by the additional thread which used the actual return value.
29 Citations
3 Claims
-
1. A computer-implemented method for executing a program comprising a function call and one or more subsequent instructions, the method comprising steps of:
-
processing, on a first thread, a function defined by the function call, the function having at least two programmer predefined typical return values; for each predefined return value, pre-processing on an additional thread, the one or more subsequent instructions which are associated with a given predefined return value, wherein said pre-processing is performed concurrent with the processing of the first thread; and responsive to completion of the processing of said function on said first thread, wherein said function returns an actual return value upon said completion, continuing processing of the additional thread associated with the actual return value while terminating at least one other additional thread that is not associated with the actual return value, such that the one or more subsequent instructions associated with the actual return value are speculatively executed prior to (i) the completion of the processing of said function and (ii) the return of the actual return value by said function. - View Dependent Claims (2, 3)
-
Specification