Proxies All the Way Down: Bootstrapping a Userland Speculative Optimizer for the OpenSmalltalk VM
This program is tentative and subject to change.
Self-supporting dynamic-language systems aim to lift core components otherwise implemented in the virtual machine up into userland to enable the expression and development of those core components at the same level and with the same tools as applications. Yet, bootstrapping components that are critical for userland stability poses a chicken-and-egg problem: bugs in such core components can destroy the running system. The OpenSmalltalk VM is implemented in Smalltalk as a nested simulation, and transpiled to C. The new speculative optimizer Scorch increases performance and is architected as a userland component to ease development.
However, debugging Scorch into existence has proven impractical as faulty optimizations crash the system and make iterative development very challenging. We present OOPsie: an approach that allows components such as Scorch to live in userland during both development and production without alteration. It is a meta-architecture that decouples development from execution, meaning that only a simulation might be damaged. We employ proxies for critical paths, replacing inter-userland interfaces with proxy-based host-to-simulation interfaces. Using OOPsie, we revived the development of Scorch, identifying and fixing multiple defects, and extended the OpenSmalltalk simulator with improved debugging capabilities by reusing existing userland tools across system boundaries. Our experience demonstrates that the OOPsie architecture is effective in bootstrapping userland system capabilities by isolating bug effects to the simulation, supporting uninterrupted live-programming workflows even before a new component can sustain itself.
This program is tentative and subject to change.
Tue 6 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | |||
13:30 30mTalk | Proxies All the Way Down: Bootstrapping a Userland Speculative Optimizer for the OpenSmalltalk VM Onward! Papers Christoph Thiede Hasso Plattner Institute, University of Potsdam, Marius Dörbandt Hasso Plattner Institute, University of Potsdam, Eliot Miranda Cadence Design Systems, Marcel Taeumel University of Potsdam; Hasso Plattner Institute, Robert Hirschfeld Hasso Plattner Institute; University of Potsdam Media Attached | ||
14:00 30mTalk | Escaping the DAG Dogma: Toward Modular Reactive Architectures Onward! Papers | ||
14:30 30mTalk | Glassbox Debugging: Code as Interface for No-Code Onward! Papers | ||