An optimizing object code translation system and method perform dynamic compilation and translation of a target object code on a source operating system while performing optimization. Compilation and optimization of the target code is dynamically executed in real time. A compiler performs analysis and optimizations that improve emulation relative to template-based translation and interpretation such that a host processor which processes larger order instructions, such as 32-bit instructions, may emulate a target processor which processes smaller order instructions, such as 16-bit and 8-bit instructions. The optimizing object code translator does not require knowledge of a static program flow graph or memory locations of target instructions prior to run time. In addition, the optimizing object code translator does not require knowledge of the location of all join points into the target object code prior to execution. During program execution, a translator records branch operations. The logging of information identifies instructions and instruction join points. When a number of times a branch operation is executed exceeds a threshold, the destination of the branch becomes a seed for compilation and code portions between seeds are defined as segments. A segment may be incomplete allowing for modification or replacement to account for a new flow of program control during real time program execution.

Een optimaliserende objecten code vertaalsysteem en een methode voeren dynamische compilatie en vertaling van een doelobjecten code inzake een bron werkend systeem uit terwijl het uitvoeren van optimalisering. De compilatie en de optimalisering van de doelcode worden dynamisch uitgevoerd in real time. Een compiler voert analyse en optimalisering uit die wedijver met betrekking tot op malplaatje-gebaseerde vertaling en interpretatie verbeteren dusdanig dat een gastheerbewerker die grotere ordeinstructies, zoals instructies verwerkt met 32 bits, een doelbewerker die kleinere ordeinstructies verwerkt, zoals instructies met 16 bits en met 8 bits kan nastreven. De optimaliserende objecten codevertaler vereist geen kennis van een statische grafiek of het geheugenplaatsen van de programmastroom van doelinstructies voorafgaand aan looppastijd. Bovendien vereist de optimaliserende objecten codevertaler niet de kennis van de plaats van allen zich bij punten in de doelobjecten code voorafgaand aan uitvoering aansluit. Tijdens programmauitvoering, registreert een vertaler takverrichtingen. Het registreren van informatie identificeert instructies en de instructie sluit zich aan bij punten. Wanneer een paar keer een takverrichting overschrijdt een drempel wordt uitgevoerd, wordt de bestemming van de tak een zaad voor compilatie en de codegedeelten tussen zaden worden gedefinieerd als segmenten. Een segment kan zijn het onvolledige toestaan voor wijziging of vervanging om van een nieuwe stroom rekenschap te geven van programmacontrole tijdens programmauitvoering in real time.

 
Web www.patentalert.com

< (none)

< Spacecraft methods and systems for autonomous correction of star tracker charge-transfer-efficiency errors

> Service navigation systems and methods

> (none)

~ 00046