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 environments 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 architecture. A technique is also provided
to jacket calls between the two execution environments and to support
object based services. Preferred techniques are also provided to determine
interprocedural translation units. Further, intermixed
translation/optimization techniques are discussed.
Un sistema informático para ejecutar un sistema de conversión de la imagen binaria que convierta instrucciones de un sistema de instrucción de un primer, sistema informático no nativo a un segundo, sistema informático diverso, nativo, incluye un sistema run-time que en respuesta a una imagen extranjera de un programa de uso escrito para un sistema de instrucción extranjero proporcione una instrucción nativa o una rutina nativa de la instrucción. El sistema run-time recoge datos del perfil en respuesta a la ejecución de las instrucciones nativas de determinar características de la ejecución de la instrucción extranjera. Después de eso, las instrucciones extranjeras y la estadística del perfil se alimentan a un traductor binario que funciona en un modo del fondo y que es responsivo a los datos del perfil generados por el sistema run-time para formar una imagen nativa traducida. El sistema run-time y el traductor binario están bajo control de un proceso del servidor. La imagen extranjera se ejecuta en dos diversos ambientes con la primera porción ejecutada como una imagen interpretada y porciones restantes como imagen traducida. El sistema run-time incluye a intérprete que es capaz de manejar los códigos de condición que corresponden a la arquitectura extranjera. Una técnica también se proporciona a las llamadas de la chaqueta entre los dos ambientes de la ejecución y a los servicios basados objeto de la ayuda. Las técnicas preferidas también se proporcionan para determinar unidades interprocedural de la traducción. Además, se discuten las técnicas entremezcladas de translation/optimization.