A process and system for dynamically compiling a partially interpreted
method is provided. A set of bytecodes for a method is interpreted within
a virtual machine. During the interpretation of the method, it is
determined, according to the satisfaction of predetermined criteria, that
the method contains an execution hot spot and should be just-in-time
compiled (JITed) in order to increase the processing speed of the method.
The interpretation of the method is halted with a halted execution state
and at a halted execution location. Another method is constructed using
information from the partially interpreted method and its execution state.
The newly constructed method is just-in-time compiled and invoked in such
a manner that the newly constructed method recreates the execution state
of the partially interpreted method. Once the newly constructed method
recreates the execution state of the partially interpreted method, the
execution flow follows the bytecode sequence of the partially interpreted
method.
Un processo e un sistema per dinamicamente la compilazione del metodo parzialmente interpretato è fornito. Un insieme dei bytecodes per un metodo è interpretato all'interno di una macchina virtuale. Durante l'interpretazione del metodo, è determinato, secondo la soddisfazione dei test di verifica predeterminati, che il metodo contenga un punto caldo di esecuzione e dovrebbe essere just-in-time compilato (JITed) per aumentare la velocità d'elaborazione del metodo. L'interpretazione del metodo è fermata con un'esecuzione fermata dichiara e ad una posizione fermata di esecuzione. Un altro metodo è costruito usando le informazioni dal metodo parzialmente interpretato e la relativa esecuzione dichiara. Il metodo recentemente costruito è compilata just-in-time ed invocato in maniera tale che il metodo recentemente costruito ricrei l'esecuzione dichiari del metodo parzialmente interpretato. Una volta che il metodo recentemente costruito ricrea l'esecuzione dichiari del metodo parzialmente interpretato, il flusso di esecuzione segue la sequenza del bytecode del metodo parzialmente interpretato.