Just-in-time compilers for dynamic languages routinely generate code under assumptions that may be invalidated at run-time, this allows specialization of program to the common case in order avoid unnecessary overheads due uncommon cases. This form software speculation requires support deoptimization when some fail hold. paper presents a model just-in-time compiler with an intermediate represent...