发明名称 Dynamic cross-compilation system and method
摘要 In a computer system, a cross-compiler converts non-native code into native code immediately prior to execution of that code. The system also includes a code cache for storing cross-compiled code and a hash table for locating code blocks in the code cache. In a preferred embodiment, the system also includes an interpreter for emulating certain non-native instructions that are not converted into native code by the cross-compiler. While executing any non-native application, if the next instruction is not one of the predefined set of non-native instructions to be handled by interpretation or a special purpose procedure, then the next instruction is considered to be an "entry point" instruction, and the cross-compiler looks up the address of the entry point instruction in the hash table to see if a corresponding native code block is already stored in the code cache. If so, the native code block in the code cache is executed until an exit instruction in the native code block is encountered. Otherwise, the cross-compiler cross-compiles all code that is reachable from the entry point instruction during execution of the program without going outside the compilation window. During compilation the cross-compiler determines the non-native condition codes generated by a non-native instruction that will not be used by any successors of the non-native instruction. The native code instructions generated by the cross-compiler do not include instructions for processing non-native condition codes generated by the non-native instruction that will not be used by any successors of the qualifying non-native instruction.
申请公布号 US5768593(A) 申请公布日期 1998.06.16
申请号 US19960620387 申请日期 1996.03.22
申请人 CONNECTIX CORPORATION 发明人 WALTERS, CHAD PERRY;BROWN, JORG ANTHONY
分类号 G06F9/318;G06F9/38;G06F9/45;G06F9/455;(IPC1-7):G06F9/30;G06F9/44 主分类号 G06F9/318
代理机构 代理人
主权项
地址