摘要 |
<p>Embodiments of the invention implement a single-compiler architecture configured to use one more compiler(s) to compile a kernel of a virtual machine (VM) that can be used to execute the compiler(s) as well as other program code that executes within the VM. According to one or more embodiments of the invention, in the single-compiler architecture, each compiler that is used supports similar operating conventions and/or a common run-time environment or architecture. In an embodiment of the invention, the VM initially comprises an executable interpreter and those portions of the VM needed to interpret program code (i.e., the VM kernel). The executable interpreter is generated using one or more compiler(s) executing in a VM. In an embodiment of the invention, the interpreter, the compiler(s), VM, and application programs that execute within the VM are written using the same programming language (e.g., the Java programming language). In embodiments of the invention, the interpreter determines when program code is needed for execution and whether the program code is to be interpreted or compiled. The executable interpreter is configured to add the compiler(s) and a memory system to the VM kernel as needed for program execution.</p> |