DynSem is a domain-specific language for concise specification of the dynamic semantics of programming languages, aimed at rapid experimentation and evolution of language designs. To maintain a short definition-to-execution cycle, DynSem specifications are meta-interpreted. Meta-interpretation introduces runtime overhead that is difficult to remove by using interpreter optimization frameworks such as the Truffle/Graal Java tools; previous work has shown order-of-magnitude improvements from applying Truffle/Graal to a meta-interpreter, but this is still far slower than what can be achieved with a language-specific interpreter. In this paper, we show how specifying the meta-interpreter using scope graphs, which encapsulate static name binding and resolution information, produces much better optimization results from Truffle/Graal. Furthermore, we identify that JIT compilation is hindered by large numbers of calls between small polymorphic rules and we introduce rule cloning to derive larger monomorphic rules at run time as a countermeasure. Our contributions improve the performance of DynSem-derived interpreters to within a factor of 1.5-4.5 (in most cases) of a handwritten language-specific interpreter, and to within an order of magnitude of native code.
Wed 17 JulDisplayed time zone: Belfast change
10:30 - 12:10 | Language Design and ImplementationResearch Papers at Mancy Chair(s): John Wickerson Imperial College London | ||
10:30 20mResearch paper | Lifestate: Event-Driven Protocols and Callback Control Flow Research Papers Shawn Meier University of Colorado, Boulder, Sergio Mover Ecole Polytechnique, Bor-Yuh Evan Chang University of Colorado Boulder DOI Media Attached | ||
10:50 20mResearch paper | Godot: All the Benefits of Implicit and Explicit Futures Research Papers Kiko Fernandez-Reyes Uppsala University, Einar Broch Johnsen University of Oslo, Dave Clarke Uppsala Univ. Sweden and KU Leuvern, Ludovic Henrio CNRS, Tobias Wrigstad Uppsala University DOI Media Attached | ||
11:10 20mResearch paper | Towards Language-Parametric Semantic Editor Services based on Declarative Type System Specifications Research Papers Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Hendrik van Antwerpen TU Delft, Eelco Visser Delft University of Technology DOI Media Attached | ||
11:30 20mResearch paper | Multitier Modules Research Papers DOI Media Attached | ||
11:50 20mResearch paper | Scopes and Frames Improve Meta-Interpreter Specialization Research Papers Vlad Vergu TU Delft, Eelco Visser Delft University of Technology, Andrew Tolmach Portland State University DOI Media Attached |