Methods and apparatus to support mixed-mode execution within a single instruction set architecture process of a virtual machine
AssigneeIntel Corporation
InventorsMiaobo Chen, Qi Zhang, Eric Lin, Jianhui Li, Yun Wang
Life of this patent
Estimating the term…
Abstract
Methods and apparatus to support the execution of a managed application that is linked to a native library or application are disclosed. The disclosed methods and apparatus support a virtual machine that is associated with the same ISA as the executing platform, while the ISA of the native library or application is of a different ISA. The disclosed methods and apparatus also support the execution of a managed application that is linked with several native libraries or applications that are associated with several different ISAs respectively.
Claims20
A method for executing a managed application that calls a procedure in a native library comprising:
- mapping instructions of a managed application using a non-host instruction set architecture (ISA) executing in a virtual machine on a host platform using a host instruction set architecture (ISA), to the host ISA, the virtual machine compatible with the host ISA, wherein the host ISA and non-host ISA are different ISAs;
- executing a procedure in the native library, based on the mapping, the procedure associated with instructions executing in the managed application;
- and
- when data is called for by the procedure in the native library, retrieving a reference associated with the data when the data is called for by the procedure in the native library, the reference defined by the mapping and wherein mapping information is passed to the procedure in the native library.
A machine readable storage medium having instructions stored thereon that, when executed on a machine, cause the machine to:
- map instructions of a managed application using a non-host instruction set architecture (ISA) executing in a virtual machine on a host platform using a host instruction set architecture (ISA), to the host ISA, the virtual machine compatible with the host ISA, wherein the host ISA and non-host ISA are different ISAs;
- execute a procedure in the native library, based on the mapping, the procedure associated with instructions executing in the managed application;
- and
- when data is called for by the procedure in the native library, retrieve a reference associated with the data when the data is called for by the procedure in the native library, the reference defined by the mapping and wherein mapping information is passed to the procedure in the native library.
An apparatus to execute a managed application that calls a procedure in a native library comprising:
- an interface implemented by at least one of hardware or a computer processor, the interface configured to store a reference associated with some data that is to be passed from the managed application using a non-host instruction set architecture (ISA) executing in a virtual machine on a host platform using a host instruction set architecture (ISA), to the procedure in the native library, the reference to be generated and stored by mapping logic, the mapping logic configured to map instructions of the managed application to the host instruction set architecture, the interface further configured to retrieve the reference associated with the data when the data is called for by the procedure in the native library, wherein the host ISA and non-host ISA are different ISAs;
- and
- a translator capable of executing the procedure in the native library.
Dependencies are inferred from the claim text.