Hop, skip, & jump practical on-stack replacement for a cross-platform language-neutral VM

Kunshan Wang, Stephen M. Blackburn, Antony L. Hosking, Michael Norrish

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    2 Citations (Scopus)

    Abstract

    On-stack replacement (OSR) is a performance-critical technology for many languages, especially dynamic languages. Conventional wisdom, apparent in JavaScript engines such as V8 and SpiderMonkey, is that OSR must be implemented in a low-level (i.e., in assembly) and language-specific way. This paper presents an OSR abstraction based on Swapstack, materialized as the API for a low-level virtual machine, and shows how the abstraction of resumption protocols facilitates an elegant implementation of this API on real hardware. Using an experimental JavaScript implementation, we demonstrate that this API enables the language implementation to perform OSR without the need to deal with machine-level details. We also show that the API itself is implementable on concrete hardware. This work helps crystallize OSR abstractions and, by providing a reusable implementation, brings OSR within reach for more language implementers.

    Original languageEnglish
    Title of host publicationVEE 2018 - Proceedings of the 2018 International Conference on Virtual Execution Environments
    PublisherAssociation for Computing Machinery, Inc
    Pages1-16
    Number of pages16
    ISBN (Electronic)9781450355797
    DOIs
    Publication statusPublished - 25 Mar 2018
    Event14th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2018 - Williamsburg, United States
    Duration: 25 Mar 201825 Mar 2018

    Publication series

    NameVEE 2018 - Proceedings of the 2018 International Conference on Virtual Execution Environments

    Conference

    Conference14th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2018
    Country/TerritoryUnited States
    CityWilliamsburg
    Period25/03/1825/03/18

    Fingerprint

    Dive into the research topics of 'Hop, skip, & jump practical on-stack replacement for a cross-platform language-neutral VM'. Together they form a unique fingerprint.

    Cite this