1. A method comprising: detecting an exception during runtime of execution of a program, the exception triggered by an instruction not supported by a hardware platform of a computing system on which the program is executing, the instruction not having correct semantics to be executed by the hardware platform; executing a user-level exception handler instead of a kernel-level exception handler in response to detecting the exception including accessing an emulator as a subroutine of the user-level exception handler, wherein the user-level exception handler is implemented at an application layer, rather than within an operating system kernel; determining that the exception is supported by the emulator that is part of the user-level handler; identifying the instruction that triggered the exception in response to determining the exception can be supported by the emulator, wherein identifying the instruction that triggered the exception includes incrementing an exception trigger count for the instruction indicating a number of times the instruction has triggered the exception; and if the exception trigger count reaches a threshold number, generating a dynamic binary translation; passing the dynamic binary translation to a runtime of the program to enable the program to execute the dynamic binary translation without executing the instruction emulator of the user-level exception handler; and transferring control from the dynamic binary translation to the program; otherwise, emulating the instruction that triggered the exception from the user-level exception handler with instructions supported by the hardware platform to enable continued execution of the program.