This paper describes the DELFT-JAVA processor and the mechanisms required to dynamically translate JVM in-structions into DELFT-JAVA instructions. Using a form of hardware register allocation, we transform stack bottle-necks into pipeline dependencies which are later removed using register renaming and interlock collapsing arithmetic units. When combined with superscalar techniques and multiple instruction issue, we remove up to 60 % of trans-lated dependencies. When compared with a realizable stack-based implementation, our approach accelerates a Vector Multiply execution by 3.2x for out-of-order execu-tion with register reanaming and 2.7x when hardware con-straints were considered. In addition, for translated instruc-tion streams, we real...
A dynamic binary translation system for a co-designed virtual machine is described and evaluated. Th...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...
The Java Virtual Machine (JVM) is usually implemented by an interpreter or just-in-time (JIT) compil...
In this dissertation, we describe the DELFT-JAVA engine - a 32-bit RISC-based architecture that prov...
Dynamic binary translation looks to map one computer architecture to another. Java is unusual in tha...
In this paper we present the impact of dynamically translating any sequence of instructions into com...
Binary recompilation and translation play an important role in computer systems today. It is used by...
Virtual machines (VMs) are a popular target for language implementers. Conventional wisdom tells us ...
Virtual machines (VMs) are a popular target for language implementers. Conventional wisdom tells us ...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
Java is a modern object oriented programming language, which has become popular in a wide range of s...
AbstractVirtual machines (VMs) are a popular target for language implementers. A long-running questi...
Dynamic binary translation is the process of translating and optimizing executable code for one mach...
Dynamic binary translation is the process of translating and optimizing executable code for one mach...
Java has become one of the most popular languages for network applications. The main drawback of Jav...
A dynamic binary translation system for a co-designed virtual machine is described and evaluated. Th...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...
The Java Virtual Machine (JVM) is usually implemented by an interpreter or just-in-time (JIT) compil...
In this dissertation, we describe the DELFT-JAVA engine - a 32-bit RISC-based architecture that prov...
Dynamic binary translation looks to map one computer architecture to another. Java is unusual in tha...
In this paper we present the impact of dynamically translating any sequence of instructions into com...
Binary recompilation and translation play an important role in computer systems today. It is used by...
Virtual machines (VMs) are a popular target for language implementers. Conventional wisdom tells us ...
Virtual machines (VMs) are a popular target for language implementers. Conventional wisdom tells us ...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
Java is a modern object oriented programming language, which has become popular in a wide range of s...
AbstractVirtual machines (VMs) are a popular target for language implementers. A long-running questi...
Dynamic binary translation is the process of translating and optimizing executable code for one mach...
Dynamic binary translation is the process of translating and optimizing executable code for one mach...
Java has become one of the most popular languages for network applications. The main drawback of Jav...
A dynamic binary translation system for a co-designed virtual machine is described and evaluated. Th...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...
The Java Virtual Machine (JVM) is usually implemented by an interpreter or just-in-time (JIT) compil...