1. A computer-implemented method, comprising: generating a compiled binary comprising a plurality of non-native instructions; generating a first native instruction based on the compiled binary, the first native instruction being associated with a first instruction set; maintaining, with a processor, a counter indicative of a number of times a software method associated with the first native instruction is invoked, wherein maintaining the counter comprises incrementing the counter during execution of a program in response to the first native instruction being executed; and invoking an optimization to determine whether to use the first instruction set or a second instruction set in generating native instructions for the non-native instructions when the counter indicates a hot spot during the execution of the program, wherein the second instruction set is different from the first instruction set.