5. A computer-implemented method for modifying execution of a computer program function having a plurality of instructions, comprising: a) in response to detecting an invocation of the computer program function, generating a directed graph representing the computer program function, the directed graph including a plurality of instruction nodes, each instruction node representing a corresponding instruction of the plurality of instructions; b) inserting, into the directed graph, a type meta-node corresponding to a type of instruction, the type meta-node pointing to a plurality of associated instruction nodes of the directed graph, each associated instruction node representing a corresponding instruction of the type corresponding to the type meta-node; c) employing the type meta-node to perform at least one of adding or removing at least one other instruction node to the directed graph; and d) translating the directed graph to an intermediate language representation of the computer program function; wherein the type corresponding to the type meta-node is at least one of a branch instruction, an exception block beginning, an exception block ending, an exception handler beginning, or an object allocation instruction.
5. A computer-implemented method for modifying execution of a computer program function having a plurality of instructions, comprising: a) in response to detecting an invocation of the computer program function, generating a directed graph representing the computer program function, the directed graph including a plurality of instruction nodes, each instruction node representing a corresponding instruction of the plurality of instructions; b) inserting, into the directed graph, a type meta-node corresponding to a type of instruction, the type meta-node pointing to a plurality of associated instruction nodes of the directed graph, each associated instruction node representing a corresponding instruction of the type corresponding to the type meta-node; c) employing the type meta-node to perform at least one of adding or removing at least one other instruction node to the directed graph; and d) translating the directed graph to an intermediate language representation of the computer program function; wherein the type corresponding to the type meta-node is at least one of a branch instruction, an exception block beginning, an exception block ending, an exception handler beginning, or an object allocation instruction. 6. The method of claim 5 , further comprising scanning an intermediate language representation of the computer program function in one pass, and generating the directed graph, inserting the one or more back edges, and inserting the one or more meta-nodes during the scan of the intermediate language.