Binary Translation is a migration technique that allows software to run on other machines achieving near native code performance.The paper proposed an Abstract machine based dynamic translation technique in Java processors.The technique employs the "mock execution" of the hardware Abstract machine (HAM) to identify and analyze the dependency among Java programs
dynamically translate Java bytecode into tag-based RISC-like instructions.After that
stack folding is combined with the technique to further optimize translated instructions.With the technique
we design a Java ILP processor and extend the processor to support Java multithreading.