A method of executing a single instance of an operating system on multiple processors in a system comprising a plurality of processors, each processor having a different instruction set architecture associated therewith, comprising: executing first code on a first processor, the first processor associated with a first instruction set architecture and configured to access, based on a virtual address, a first table entry in a shared data structure having a common virtual address space, the first table entry being mapped to the virtual address; while executing the first code, executing an operating system event; upon executing the operating system event, halting execution of the first code and initiating execution of second code on a second processor, the second processor associated with a second, different instruction set architecture and configured to access, based on the virtual address, a second table entry in the shared data structure, the second code to handle the operating system event, the second table entry being mapped to the virtual address; and upon completion of execution of the second code handling the operating system event, halting the second code and resuming execution of the first code on the first processor the first table entry and the second table entry corresponding respectively to a first location identifier and a second location identifier in the shared data structure; and wherein the first location identifier and the second location identifier are different, wherein the common virtual address space of the shared data structure comprises: a first function table comprising the first table entry and corresponding to a first version of a function compiled to execute on the first processor, the first version of the function represented using the first code, and a second function table comprising the second table entry and corresponding to a second version of the function compiled to execute on the second processor, the second version of the function represented using the second code. executing first code on a first processor, the first processor associated with a first instruction set architecture and configured to access, based on a virtual address, a first table entry in a shared data structure having a common virtual address space, the first table entry being mapped to the virtual address; while executing the first code, executing an operating system event; upon executing the operating system event, halting execution of the first code and initiating execution of second code on a second processor, the second processor associated with a second, different instruction set architecture and configured to access, based on the virtual address, a second table entry in the shared data structure, the second code to handle the operating system event, the second table entry being mapped to the virtual address; and upon completion of execution of the second code handling the operating system event, halting the second code and resuming execution of the first code on the first processor the first table entry and the second table entry corresponding respectively to a first location identifier and a second location identifier in the shared data structure; and wherein the first location identifier and the second location identifier are different, wherein the common virtual address space of the shared data structure comprises: a first function table comprising the first table entry and corresponding to a first version of a function compiled to execute on the first processor, the first version of the function represented using the first code, and a second function table comprising the second table entry and corresponding to a second version of the function compiled to execute on the second processor, the second version of the function represented using the second code. a first function table comprising the first table entry and corresponding to a first version of a function compiled to execute on the first processor, the first version of the function represented using the first code, and a second function table comprising the second table entry and corresponding to a second version of the function compiled to execute on the second processor, the second version of the function represented using the second code.