A computer-implemented system, method, and product are provided for multi-branch backpatching in a dynamic translator. Such backpatching typically increases the speed of execution of translated instructions by providing a direct control path from translated multi-branch-jump instructions to their translated target instructions. In one embodiment, the multi-branch backpatching dynamic translator undertakes backpatching on an "as-needed" basis at run time. That is, backpatching is done for those branch targets that are executed rather than for all branch targets, or rather than for those branch targets that are estimated or assumed will be executed. Such backpatching is accomplished in one embodiment by generating dynamic backpatching code specific to each translated multi-branch-jump instruction. A multi-branch jump, or switch, table of each multi-branch-jump instruction is initialized so that all entries direct control to the dynamic backpatching code for that instruction. As branches of the multi-branch-jump instruction are executed, the dynamic backpatching code enables a backpatcher that replaces the corresponding entry in the translated multi-branch-jump table with pointers to the address of the translated target address, if present.

Un sistema, un método, y un producto computadora-puestos en ejecucio'n se proporcionan para el multi-rama backpatching en un traductor dinámico. El tal backpatching típicamente aumenta la velocidad de la ejecución de instrucciones traducidas proporcionando una trayectoria directa del control de traducido multi-rama-salta instrucciones a sus instrucciones traducidas de la blanco. En una encarnación, el multi-rama backpatching el traductor dinámico emprende backpatching sobre una base "como-necesaria" en el tiempo de pasada. Es decir, el backpatching se hace para esas blancos del rama que se ejecuten más bien que para todas las blancos del rama, o más bien que para esas blancos del rama se estimen o se asuman que será ejecutado. El tal backpatching es logrado en una encarnación generando el específico backpatching dinámico del código a cada traducido multi-rama-salta la instrucción. Se inicializa un salto del multi-rama, o el interruptor, tabla de cada multi-rama-salta la instrucción de modo que todas las entradas dirijan control al código backpatching dinámico para esa instrucción. Mientras que los ramas del multi-rama-saltan la instrucción se ejecutan, el código backpatching dinámico permiten un backpatcher que substituya la entrada correspondiente en traducida multi-rama-saltan la tabla con los indicadores a la dirección de la dirección traducida de la blanco, si presente.

 
Web www.patentalert.com

< (none)

< Method for manufacturing semiconductor storage element

> Method for routing conductive paths in an integrated circuit

> (none)

~ 00022