Interpreting functions utilizing a hybrid of virtual and native machine instructions
Patent 6513156 Issued on January 28, 2003. Estimated Expiration Date: June 30, 2017. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.
717/151, Optimization717/139, Interpreter717/148, Just-in-time compiling or dynamic compiling (e.g., compiling Java bytecode on a virtual machine)717/159, Code restructuring718/1VIRTUAL MACHINE TASK OR PROCESS MANAGEMENT
Systems and methods for increasing the execution speed of virtual machine instructions for a function are provided. A portion of the virtual machine instructions of the function are compiled into native machine instructions so that the function includes both virtual and native machine instructions. Execution of the native machine instructions may be accomplished by overwriting a virtual machine instruction of the function with a virtual machine instruction that specifies execution of the native machine instructions. Additionally, the original virtual machine instruction may be stored so that the original virtual machine instructions can be regenerated.
Other References
Proebsting, Todd A. "Optimizing an ANSI C Interpreter ith Superoperators" p. 322-332, Jan. 1995.
Hsieh, Cheng-Hsueh et al. "Java Bytecode to Native Code Translation The Caffeine Prototype and Preliminary Results". p. 90-97, Dec. 1996.
Lambright, H. Dan. "Java Bytecode Optimizations". p. 206-210, Feb. 1997.
Pittman, Thomas. "Two-Level Hybrid Interpreter/Native Code Execution for Combined Space-Time Program Efficiency" ACM, p. 150-152, Jun. 1987.
Kaufer, Stephen et al. "Saber-C, An Interpreter-based Programming Enviornment for the C Language". USENIX, p. 161-171, Jun. 1988.
Davidson, Jack W. et al. "Cint: A RISC Interpreter for the C Programming Language" ACM, p. 189-198, Jun. 198