Method and apparatus for creating alternative versions of code segments and
dynamically substituting execution of the alternative code versions.
Checkpoints in program code are identified by a compiler, and the
checkpoints are used to delineate segments of object code. Two sets of
segments of object code are generated, where the first and second sets of
object code segments are optimized at different levels. In one embodiment,
the first set of segments are optimized at a greater level than the second
set of segments. Upon detecting a program error in executing the first set
of segments, state information of the program is recovered from a
checkpoint, and an object code module is selected from either the first
set or second set for execution.
Método y aparato para crear versiones alternativas de los segmentos de código y dinámicamente substituir la ejecución de las versiones alternativas del código. Los puntos de comprobación en código del programa son identificados por un recopilador, y los puntos de comprobación se utilizan para delinear segmentos del código de objeto. Dos sistemas de segmentos del código de objeto se generan, donde los primeros y segundos sistemas de segmentos de código de objeto se optimizan en diversos niveles. En una encarnación, el primer sistema de segmentos se optimiza en un mayor nivel que el segundo sistema de segmentos. Sobre la detección de un error del programa en ejecutar el primer sistema de segmentos, la información del estado del programa se recupera de un punto de comprobación, y un módulo del código de objeto se selecciona del primer sistema o se fija en segundo lugar para la ejecución.