Patent ID: 8595744

Claim:
A method for using threads in executable code, the method comprising: analyzing program code comprising a plurality of instructions; identifying a candidate function within said program code; determining a place within said program code to insert a launch point corresponding to said candidate function, said launch point corresponding to an execution point within the program code that precedes the candidate function; inserting said launch point into the program code; executing a first thread, said first thread comprising instructions of the program code; the first thread providing an indication to a second thread that the second thread may begin execution of the function, responsive to the first thread detecting a said launch point during execution of the program code; the second thread initiating execution of the function in response to the indication, the function including one or more inputs and the second thread using anticipated values for each of the one or more inputs; and the first thread using a results of said execution, in response to determining the anticipated values used by the second thread are correct; wherein determining said place to insert said launch point comprises identifying an earliest point in an execution sequence of the program code when a value of the input variable can be known with a desired level of certainty.