A method and system of dynamically translating code that uses code annotations to determine whether the dynamic translator must fully materialize machine state. At compilation time, annotations are placed in an application's executable file indicating the number of formal parameters expected by each of the application's entry points. When the application is dynamically translated, the dynamic translation system (DTS) aggressively translates the application. Therefore, the DTS does not generate instructions for materializing the machine state at potential stopping points. When the application makes a system call that arms an exception handler, the DTS looks to the annotations to determine the number of formal parameters expected by the handler. If an exception handler expects two or fewer parameters, then that handler does not use the machine state. Conversely, if a handler expects three or more parameters, then that handler may use the machine state. Therefore, if the handler only has two formal parameters, then the DTS continues to aggressively translate the application program. Otherwise, the DTS discards all of the previously translated code and starts conservatively translating the application.

Un metodo e un sistema dinamicamente di traduzione del codice che usa le annotazioni di codice per determinare se il traduttore dinamico debba completamente attuare la macchina dichiarano. A tempo di compilazione, le annotazioni sono disposte nella lima eseguibile dell'applicazione che indica il numero di parametri convenzionali previsti da ciascuno dei punti di entrata dell'applicazione. Quando l'applicazione è tradotta dinamicamente, il sistema di traduzione dinamico (DTS) traduce aggressivamente l'applicazione. Di conseguenza, il DTS non genera le istruzioni per attuare la macchina dichiara ai punti d'arresto potenziali. Quando l'applicazione fa una chiamata del sistema che l'armi un alimentatore di eccezione, il DTS osserva alle annotazioni per determinare il numero di parametri convenzionali previsti tramite l'alimentatore. Se un alimentatore di eccezione prevede due o pochi parametri, allora quell'alimentatore non utilizza la macchina dichiara. Per contro, se un alimentatore prevede tre o più parametri, quindi quell'alimentatore può utilizzare la macchina dichiarano. Di conseguenza, se l'alimentatore ha soltanto due parametri convenzionali, quindi il DTS continua a tradurre aggressivamente il programma di applicazione. Altrimenti, il DTS scarta tutto il codice precedentemente tradotto e comincia conservativamente tradurre l'applicazione.

 
Web www.patentalert.com

< (none)

< Dietary supplement and method for lowering risk of heart disease

> Method and apparatus for extending security model to native code

> (none)

~ 00006