A method for processing software instructions in an emulated computing environment
is provided in which instruction blocks from the application programs of a guest
computer system are parsed to determine whether the instruction blocks include
instructions executable at user level or supervisor level. Those instruction blocks
that are executable at user level are passed directly to the processor of the host
computer system, and those instruction blocks that are executable at supervisor
level, are translated before being passed to the processor for execution. In the
case of instruction blocks that include instruction blocks executable at supervisor
level, prior to translation, a cache is queried to determine whether a translation
for the instruction block is in the case. If a translation is in the cache, the
translated version in the cache is provided to the processor for execution. If
a translation is not in the cache, translation occurs, and the translated instruction
block is saved to the cache.