Skip to content
Book Open access

Proxies All the Way Down: Bootstrapping a Userland Speculative Optimizer for the OpenSmalltalk VM

Oct 2026 · Proceedings of the 2026 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software · 0 citations · 73 references

Abstract

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.

Read PDF

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.