Systems and methods for integrating emulated and native code
First Claim
1. A method for emulating code from an original computer system on a host computer system, the method comprising the steps of:
- fetching a program instruction associated with program code to be emulated on a host computer system;
determining whether the program instruction is to be executed natively on the host computer system or is to be emulated on the host computer system; and
if the program instruction is to be executed natively on the host computer system, emitting a native code fragment associated with the program instruction into a dynamic execution layer interface to be executed.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for integrating emulated and native code are provided. One embodiment comprises a method for emulating code from an original computer system on a host computer system. Briefly described, one such embodiment comprises the steps of: fetching a program instruction associated with program code to be emulated on a host computer system; determining whether the program instruction is to be executed natively on the host computer system or is to be emulated on the host computer system; and if the program instruction is to be executed natively on the host computer system, emitting a native code fragment associated with the program instruction into a dynamic execution layer interface to be executed.
-
Citations
23 Claims
-
1. A method for emulating code from an original computer system on a host computer system, the method comprising the steps of:
-
fetching a program instruction associated with program code to be emulated on a host computer system;
determining whether the program instruction is to be executed natively on the host computer system or is to be emulated on the host computer system; and
if the program instruction is to be executed natively on the host computer system, emitting a native code fragment associated with the program instruction into a dynamic execution layer interface to be executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for emulating code from an original computer system on a host computer system, the system comprising:
-
means for fetching a program instruction associated with program code to be emulated on a host computer system;
means for determining whether the program instruction is to be executed natively on the host computer system or is to be emulated on the host computer system; and
means for emitting a native code fragment associated with the program instruction into a dynamic execution layer interface to be executed in the event that the program instruction is to be executed natively on the host computer system. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An emulation program configured to emulate an original computer system for which a program was written, the emulation program stored on a computer-readable medium and comprising:
-
logic configured to fetch a program instruction associated with program code to be emulated on a host computer system;
logic configured to determine whether the program instruction is to be executed natively on the host computer system or is to be emulated on the host computer system; and
logic configured to emit a native code fragment associated with the program instruction into a dynamic execution layer interface to be executed in the event the program instruction is to be executed natively on the host computer system. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system for emulating code from an original computer system on a host computer system, the system comprising:
-
an emulator configured to fetch instructions associated with a program written to be executed on an original computer system, the emulator comprising an emulation module configured to execute instructions by emulating the original computer system and a native code interceptor module configured to detect instructions that are to be executed natively instead of emulated;
a dynamic execution layer interface including a core having at least one code cache in which code fragments can be cached and executed; and
an application programming interface that links the emulator to the dynamic execution layer interface. - View Dependent Claims (21, 22, 23)
-
Specification