A method for use by a host microprocessor which translates sequences of instructions
from a target instruction set for a target processor to sequences of instructions
for the host microprocessor including the steps of beginning execution of a speculative
sequence of target instructions by committing state of the target processor and
storing memory stores previously generated by execution at a point in the execution
of instructions at which state of the target processor is known, executing the
speculative sequence of host instructions until another point in the execution
of target instructions at which state of the target processor is known, rolling
back to last committed state of the target processor and discarding the memory
stores generated by the speculative sequence of host instructions if execution
fails, and beginning execution of a next sequence of target instructions if execution succeeds.