1. A computer-implemented method of optimizing a program call between Instruction Set Architectures (ISA) in a system virtual machine, the method comprising: identifying a program call from a source process under a first ISA to a destination process under a second ISA different from the first ISA, wherein the source process executes in a first protection domain and the destination process executes in a second protection domain different from the first protection domain, wherein each protection domain comprises a combination of a privilege level and an assigned memory address space; augmenting a first region node of an intermediate representation of code comprising the source process of the program call with information configured to identify the first ISA, wherein augmenting the first region node comprises augmenting the first region node with information regarding a first protection domain at which the source process of the program call executes; augmenting a second region node of an intermediate representation of code comprising the destination process of the program call with information configured to identify the second ISA; inlining the first region node and the second region node to optimize the program call; and emitting instructions for executing the optimized program call.