A data processing system has a processor core, memory and a virtual
machine interpreter. The virtual machine interpreter receives virtual
machine instructions selected dependent on program flow during execution
of a virtual machine program. The virtual machine interpreter generates
native machine instructions that implement the virtual machine
instructions for execution by the processor core. The virtual machine
interpreter identifies an initial virtual machine instruction from a body
of virtual machine instructions, where the body is expected to be
executed repeatedly. The virtual machine interpreter records a
correspondence between the initial virtual machine instruction in the
body and a memory location in the memory and writes native instructions
for the body into the memory from said memory location. The processor
core executes the native instructions for the body and repeats execution
of the native instructions for the body by executing the written native
machine instructions for the body from memory starting from said memory
location.