Patent ID: 6247172
Filing Date: 2001-06-12
Classification: G06F

Abstract:
A computer implemented method for translating a user application program to a target program operable on a target platform, the target program having an exception handling routine, the target platform having a target machine state, the method comprising the steps of:translating the user application program into the target program, including re-ordering an instruction sequence in the target program for optimization;executing the target program on the target platform, thereby causing an exception;intercepting the exception caused in the execution step;selecting a recovery block based on the exception, that when executed modifies the target machine state, so as to match the target machine state had the target program not been re-ordered in the translating step, the selected recovery block designed to match the target machine state had the target program not been re-ordered in the translating step without undoing the execution of the target program;executing the selected recovery block to modify the target machine state without in doing the execution of the target program, thereby placing the target machine state as it would have been had the translating step not re-ordered the instruction sequence in the target program;transferring control to the exception handling routine of the target program so as to enable the exception handling routine to process the exception as it would have had the translating step not re-ordered the instruction sequence in the target program.