1. A computer-implemented method of compiling a host application code for runtime execution on one or more runtime processors, the method comprising: receiving a host application code; virtualizing, at compile time by a static compiler, in one or more processors, one or more control edges in the host application code, the host application code comprising a plurality of cached executable functions and/or code regions, where the one or more control edges are redirection points for a subset of the plurality of executable functions and/or code regions, the redirection points being configured for (i) redirecting a second, runtime compiler out of the host application code during the runtime execution and into a co-located executable function and/or code regions for execution in place of the corresponding function of the subset of the plurality of cached executable functions and/or code regions, and (ii) redirecting code execution back into the host application code after completion of the executed cached code; embedding, in the one or more processors, metadata into the host application code, wherein the metadata includes at least one of (i) a mapping of the subset of the plurality of executable functions and/or code regions to the one or more control edges or (ii) an intermediate representation of the host application code that encodes source level information and program analysis information; and forming, in the one or more processors, a runtime version of the host application code to include the plurality of executable functions and/or code regions and the metadata.