发明名称 METHOD AND APPARATUS OF TRANSLATING AND EXECUTING NATIVE CODE IN A VIRTUAL MACHINE ENVIRONMENT
摘要 A method and apparatus of translating and executing native code in a virtual machine environment. Debugging of a virtual machine implementation is made easier through binary translation of native code, which permits greater platform independence and greater control over thread management and scheduling, and provides for identification of memory access errors in the native code. When native code is to be executed within a virtual machine environment, the native code is translated into an intermediate from. This intermediate form is processed to determine where memory access and blocking system calls occur. Validity checks are inserted into memory accessed calls to determine whether the portion of memory to be accessed by each call is within a permitted range. Wild pointers and other sources of memory access errors associated with the native code may thus be identified. Blocking system calls are replaced with non-blocking variants, and "yield" operations may be inserted into system calls and loops. The revised native code incorporating memory access validity checks and non-blocking system calls is compiled or interpreted by the virtual machine to execute the routines defined by the native code. Because the revised native code does not block other threads, threads scheduling may be managed by the virtual machine rather than the underlying operating system, and cooperative scheduling may be performed.
申请公布号 WO0010081(A2) 申请公布日期 2000.02.24
申请号 WO1999US18158 申请日期 1999.08.10
申请人 SUN MICROSYSTEMS, INC. 发明人 UNGAR, DAVID
分类号 G06F9/45;G06F9/455;G06F9/46;G06F9/48;(IPC1-7):G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项
地址