Method and apparatus for direct conversion of programs in object code from between different hardware architecture computer systems
First Claim
1. A method for translating off-line a first non-source code version of a computer program expressed in terms of a first instruction set, the first version of the computer program being executable on a source computer, to a second non-source code version of the computer program expressed in terms of a second instruction set different from the first instruction set, the second version being executable on a target computer different from the source computer, at least one instruction in the first version of the computer program having primary and side effects, the method comprising the computer implemented steps of:
- producing a complete intermediate language representation of the entire first non-source code version of the computer program by expanding instructions of the first non-source code version into a plurality of intermediate language instructions which explicitly replicate primary and side effects of all the instructions of the first version;
processing the entire intermediate language representation to eliminate individual instructions whose elimination does not affect any substantial functionality of the program; and
creating from the intermediate language representation a second non-source code version of the entire program having a functionality substantially the same as the first version, the second non-source code version being executable on the target computer without further translation.
3 Assignments
0 Petitions
Accused Products
Abstract
Application programs compiled for a first, "source", computer are translated, from their object form, for execution on a section, "target", computer. The translated application programs are linked or otherwise bound with a translation of the source computer system software. The translated system software operates on the image of the source computer address space in the target computer exactly as it did in the source computer. The semantics of the source computer system softwae are thus preserved identically. In addition, a virtual hardware environment is provided in the target computer to manage events and to deal with differences in the address space layouts between the source and target computers.
-
Citations
10 Claims
-
1. A method for translating off-line a first non-source code version of a computer program expressed in terms of a first instruction set, the first version of the computer program being executable on a source computer, to a second non-source code version of the computer program expressed in terms of a second instruction set different from the first instruction set, the second version being executable on a target computer different from the source computer, at least one instruction in the first version of the computer program having primary and side effects, the method comprising the computer implemented steps of:
-
producing a complete intermediate language representation of the entire first non-source code version of the computer program by expanding instructions of the first non-source code version into a plurality of intermediate language instructions which explicitly replicate primary and side effects of all the instructions of the first version; processing the entire intermediate language representation to eliminate individual instructions whose elimination does not affect any substantial functionality of the program; and creating from the intermediate language representation a second non-source code version of the entire program having a functionality substantially the same as the first version, the second non-source code version being executable on the target computer without further translation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification