1. A computer implemented method to provide speculative assistance to a thread in a heterogeneous processing environment, the method comprising: identifying a first set of instructions included in a source code representation that is suitable for speculative execution; analyzing processing requirements for the identified first set of instructions; determining a processor type to execute the identified first set of instructions based on the analysis, wherein the processor type is selected from a plurality of processor types included in the heterogeneous processing environment, the heterogeneous processing environment including a plurality of heterogeneous processing cores in a single silicon substrate, and wherein a first type of processing core included in the heterogeneous processing cores uses a first instruction set and wherein a second type of processing core included in the heterogeneous processing cores uses a second instruction set; and generating a first object code representation for the identified first set of instructions, wherein the object code representation is adapted to execute on the determined processor type.