Two Decades of Smalltalk VM Development
OpenSmalltalk-VM is a virtual machine (VM) for languages in the Smalltalk family (e.g. Squeak, Pharo) which is itself written in a subset of Smalltalk that can easily be translated to C. Development is done in Smalltalk, an activity we call “Simulation”. The production VM is derived by translating the core VM code to C. As a result, two execution models coexist: simulation, where the Smalltalk code is executed on top of a Smalltalk VM, and production, where the same code is compiled to executable code through the C compiler. In this paper, we detail the VM simulation infrastructure and we report our experience developing and debugging the VM within it. We mention some of the limitations and how we worked around them. We discuss specifically how we use the VM simulator to develop and debug two core VM com- ponents, the garbage collector and the just-in-time compiler. Then, we discuss how we use the simulation infrastructure to perform analysis on the runtime, directing some design decisions we have made to tune VM performance.
Sun 4 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:05 | |||
15:30 25mResearch paper | Building JIT Compilers For Dynamic Languages With Low Development Effort VMIL DOI | ||
15:55 20mTalk | Twopy: A Just-In-Time Compiler For Python Based On Code Specialization VMIL | ||
16:15 25mResearch paper | Towards Compilation of an Imperative Language for FPGAs VMIL Baptiste Pauget École Normale Supérieure, David J. Pearce Victoria University of Wellington, Alex Potanin Victoria University of Wellington DOI Pre-print File Attached | ||
16:40 25mResearch paper | Two Decades of Smalltalk VM Development VMIL Eliot Miranda Cadence Design Systems, Clément Béra Sofware Languages Lab, Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Dan Ingalls DOI |