A computer system for executing a binary image conversion system which
converts instructions from a instruction set of a first, non native
computer system to a second, different, native computer system, includes
an run-time system which in response to a non-native image of an
application program written for a non-native instruction set provides an
native instruction or a native instruction routine. The run-time system
collects profile data in response to execution of the native instructions
to determine execution characteristics of the non-native instruction.
Thereafter, the non-native instructions and the profile statistics are fed
to a binary translator operating in a background mode and which is
responsive to the profile data generated by the run-time system to form a
translated native image. The run-time system and the binary translator are
under the control of a server process. The non-native image is executed in
two different enviroments with first portion executed as an interpreted
image and remaining portions as a translated image. The run-time system
includes an interpreter which is capable of handling condition codes
corresponding to the non-native architecute. A technique is also provided
to jacket calls between the two execution enviroments and to support
object based services. Preferred techniques are also provide to determine
interprocedural translation units. Further, intermixed
translation/optimization techniques are discussed.
Un sistema di elaborazione per l'esecuzione del sistema di conversione di immagine binaria che converte le istruzioni da un insieme delle istruzioni di un primo, il sistema di elaborazione non natale ad un secondo, sistema di elaborazione differente e natale, include un sistema run-time che in risposta ad un'immagine non-native di un programma di applicazione scritto per un insieme delle istruzioni non-native fornisce un'istruzione natale o una procedura natale di istruzione. Il sistema run-time raccoglie i dati di profilo in risposta all'esecuzione delle istruzioni natali per determinare le caratteristiche di esecuzione dell'istruzione non-native. Da allora in poi, le istruzioni non-native e le statistiche di profilo sono alimentate ad un traduttore binario che funziona in un modo della priorità bassa e che è sensible a reagire ai dati di profilo generati dal sistema run-time per formare un'immagine natale tradotta. Il sistema run-time ed il traduttore binario sono sotto il controllo di un processo dell'assistente. L'immagine non-native è eseguita in due enviroments differenti con la prima parte eseguita come un'immagine interpretata e parti restanti come immagine tradotta. Il sistema run-time include un interpretatore che è capace di maneggiamento dei codici di circostanza che corrispondono al architecute non-native. Una tecnica inoltre è fornita alle chiamate del rivestimento fra i due enviroments di esecuzione ed ai servizi basati oggetto di sostegno. Le tecniche preferite sono inoltre forniscono per determinare le unità interprocedural di traduzione. Più ulteriormente, le tecniche mescolate di translation/optimization sono discusse.