1. A computer-implemented method for binary translation from a source instruction set architecture (ISA) to a target ISA distinct from the source ISA, the method comprising: a) selecting a set of peephole translation rules stored on a computer readable medium, wherein each rule in the set maps a source binary instruction sequence executable on the source ISA to corresponding equivalent binary instruction sequence executable on the target ISA; and b) using the set of peephole translation rules to directly translate a source binary executable on the first ISA to a target binary executable on the second ISA; further comprising: using superoptimization to automatically generate the set of peephole translation rules, and storing the set of peephole translation rules in the computer readable medium.
1. A computer-implemented method for binary translation from a source instruction set architecture (ISA) to a target ISA distinct from the source ISA, the method comprising: a) selecting a set of peephole translation rules stored on a computer readable medium, wherein each rule in the set maps a source binary instruction sequence executable on the source ISA to corresponding equivalent binary instruction sequence executable on the target ISA; and b) using the set of peephole translation rules to directly translate a source binary executable on the first ISA to a target binary executable on the second ISA; further comprising: using superoptimization to automatically generate the set of peephole translation rules, and storing the set of peephole translation rules in the computer readable medium. 7. The method of claim 1 wherein selecting the set of peephole translation rules comprises selecting a peephole table previously generated for the source ISA and target ISA.