A method, implemented at a computer system that includes at least one processor, for handling native and guest function calls within an environment with a guest architecture running within a native architecture system, the method comprising: receiving a call to a hybrid binary, wherein the call is in a format for the guest architecture, and wherein the hybrid binary comprises: a native function compiled into a native architecture binary code using guest architecture source code; an interoperability thunk configured to perform a functionality to bridge between characteristics of the guest code and the native code; and native host remapping metadata that is usable by an emulator which can be invoked by an emulator assist function, wherein the emulator is configured to redirect native host callable targets to the interoperability thunk, the native host remapping metadata including at least one of (i) a first remap entry that redirects a guest invocation to an interoperability pop thunk to pop data off a stack and into registers, and (ii) a second remap entry that points to the emulator assist function within an interoperability push thunk to push data to as stack where the guest invocations can obtain them; and as a result of receiving the call, invoking the interoperability thunk to allow the native function in the hybrid binary to be executed natively on the native architecture system. receiving a call to a hybrid binary, wherein the call is in a format for the guest architecture, and wherein the hybrid binary comprises: a native function compiled into a native architecture binary code using guest architecture source code; an interoperability thunk configured to perform a functionality to bridge between characteristics of the guest code and the native code; and native host remapping metadata that is usable by an emulator which can be invoked by an emulator assist function, wherein the emulator is configured to redirect native host callable targets to the interoperability thunk, the native host remapping metadata including at least one of (i) a first remap entry that redirects a guest invocation to an interoperability pop thunk to pop data off a stack and into registers, and (ii) a second remap entry that points to the emulator assist function within an interoperability push thunk to push data to as stack where the guest invocations can obtain them; and a native function compiled into a native architecture binary code using guest architecture source code; an interoperability thunk configured to perform a functionality to bridge between characteristics of the guest code and the native code; and native host remapping metadata that is usable by an emulator which can be invoked by an emulator assist function, wherein the emulator is configured to redirect native host callable targets to the interoperability thunk, the native host remapping metadata including at least one of (i) a first remap entry that redirects a guest invocation to an interoperability pop thunk to pop data off a stack and into registers, and (ii) a second remap entry that points to the emulator assist function within an interoperability push thunk to push data to as stack where the guest invocations can obtain them; and (i) a first remap entry that redirects a guest invocation to an interoperability pop thunk to pop data off a stack and into registers, and (ii) a second remap entry that points to the emulator assist function within an interoperability push thunk to push data to as stack where the guest invocations can obtain them; and as a result of receiving the call, invoking the interoperability thunk to allow the native function in the hybrid binary to be executed natively on the native architecture system.