MURAL - Maynooth University Research Archive Library

    The case for virtual register machines

    Gregg, David and Beatty, Andrew and Casey, Kevin and Davis, Brian and Nisbet, Andy (2005) The case for virtual register machines. Science of Computer Programming, 57 (3). pp. 319-338. ISSN 0167-6423

    Download (917kB) | Preview

    Share your research

    Twitter Facebook LinkedIn GooglePlus Email more...

    Add this article to your Mendeley library


    Virtual machines (VMs) are a popular target for language implementers. A long-running question in the design of virtual machines has been whether stack or register architectures can be implemented more efficiently with an interpreter. Many designers favour stack architectures since the location of operands is implicit in the stack pointer. In contrast, the operands of register machine instructions must be specified explicitly. In this paper, we present a working system for translating stack-based Java virtual machine (JVM) code to a simple register code. We describe the translation process, the complicated parts of the JVM which make translation more difficult, and the optimisations needed to eliminate copy instructions. Experimental results show that a register format reduced the number of executed instructions by 34.88%, while increasing the number of bytecode loads by an average of 44.81%. Overall, this corresponds to an increase of 2.32 loads for each dispatch removed. We believe that the high cost of dispatches makes register machines attractive even at the cost of increased loads.

    Item Type: Article
    Keywords: Interpreter; Virtual machine; Register architecture; Stack architecture;
    Academic Unit: Faculty of Science and Engineering > Research Institutes > Hamilton Institute
    Item ID: 10190
    Identification Number:
    Depositing User: Hamilton Editor
    Date Deposited: 08 Nov 2018 15:06
    Journal or Publication Title: Science of Computer Programming
    Publisher: Elsevier
    Refereed: Yes
    Funders: Enterprise Ireland (EI)
    Use Licence: This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here

    Repository Staff Only(login required)

    View Item Item control page


    Downloads per month over past year

    Origin of downloads