Two Decades of Smalltalk VM Development: Live VM development through Simulation Tools

Eliot Miranda, Clement Bera, Elisa Gonzalez Boix, Daniel Ingalls

Research output: Chapter in Book/Report/Conference proceedingOther chapter contribution

13 Citations (Scopus)

Abstract

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 an executable through a C compiler. In this paper, we detail the VM simulation infrastructure and we report our experience developing and debugging the garbage collector and the just-in-time compiler (JIT) within it. 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.
Original languageEnglish
Title of host publicationVMIL 2018: Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages
PublisherAssociation for Computing Machinery (ACM)
Pages57-66
ISBN (Print)978-1-4503-6071-5
DOIs
Publication statusPublished - 4 Nov 2018
EventSystems, Programming, Languages and Applications: Software for Humanity - Boston, United States
Duration: 4 Nov 20189 Nov 2018
https://2018.splashcon.org/

Conference

ConferenceSystems, Programming, Languages and Applications: Software for Humanity
Abbreviated titleSPLASH 2018
Country/TerritoryUnited States
CityBoston
Period4/11/189/11/18
Internet address

Fingerprint

Dive into the research topics of 'Two Decades of Smalltalk VM Development: Live VM development through Simulation Tools'. Together they form a unique fingerprint.

Cite this