1. A method for interleaving execution of a head thread and a speculative thread within a single processor pipeline, the method comprising: executing program instructions using the head thread; and speculatively executing program instructions in advance of the head thread using the speculative thread; wherein the head thread and the speculative thread execute concurrently through time-multiplexed interleaving in the single processor pipeline.