1. A method for enabling optimistic program execution, comprising: encountering a bounded-execution block while executing a program, wherein the bounded-execution block includes a primary path and a secondary path; executing the bounded-execution block; after executing the bounded-execution block, determining whether executing instructions on the primary path is preferable to executing instructions on the secondary path based on information gathered while executing the bounded-execution block; and if not, dynamically modifying the instructions of the bounded-execution block so that during subsequent passes through the bounded-execution block, the instructions on the secondary path are executed instead of the instructions on the primary path.