Jordan, A. (2007). Porting the CACAO virtual machine to SPARC [Master Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/184132
CACAO ist eine Open Source virtuelle Maschine für Java, die an der Technischen Universität Wien entwickelt wird. Sie zeichnet sich durch die effiziente Ausführung von Bytecode mittels just-in-time Übersetzung aus. In dieser Arbeit wird die Portierung der virtuellen Maschine für die bis jetzt nicht unterstützte SPARC Architektur beschrieben.<br />Ein Generator, der SPARC Maschineninstruktion erzeugt, wurde implementiert und der Übersetzer so verändert, dass die Register Fenster, mehrfach genutzten Gleitkommaregister und die im Vergleich zu gewöhnlichen RISC Architekturen untypischen Konventionen der Binärschnittstelle der Zielarchitektur unterstützt werden. In einem zweiten Schritt wurden architekturspezifische Optimierungen am Übersetzer und der Laufzeit Umgebung vorgenommen, um die Effienz des unter SPARC erzeugten Codes zu verbessern.<br />Abschließend sind empirische Messungen mit einigen Testprogrammen durchgeführt worden, um die Ergebnisse der zuvor erwähnten Optimierungen einzuschätzen und um die Leistungsmerkmale der neuen Portierung mit bestehenden Java virtuellen Maschinen zu vergleichen.<br />
de
CACAO is a virtual machine for Java developed under an open-source license at the Vienna University of Technology. It efficiently executes bytecode by performing just-in-time compilation. In this work, porting of the virtual machine to the so far unsupported SPARC architecture is described.<br />A code generator for the SPARC instruction set has been implemented and the compiler adapted to allow for register windows, shared floating point register file and -compared to non-windowed RISC architectures- unusual calling conventions of the new target. In a second step, architecture specific optimizations were applied to the compiler and runtime system in order to increase the efficiency of generated code on SPARC.<br />In the end, empirical data collected with benchmark programs was used to evaluate the above-mentioned optimizations and to compare performance of the new port to other Java virtual machine implementations.