School of Computer Science Intranet
Dynamic binary translation looks to map one computer architecture to another. Java is unusual in that it compiles to a platform independent bytecode that runs on a virtual machine. This paper shows a dynamic translation and compilation environment that can provide a Java virtual machine (JVM). Furthermore, dynamic compilation has the ability to perform run-time optimisations that are unavailable to a conventional static compiler. A technique is shown that translates Java bytecodes in sympathy with dynamic compiler optimisations. This is done with the aim of rivalling and surpassing static optimisation techniques using dynamic ones. This will enable Java to stay true to its goal of being platform independent and yet running at comparable speeds to statically compiled code. Results from the Dynamite JVM, developed as part of this research, are presented.