Waterfall: Primitives Generation on the Fly
Guido Chari (LAFHIS), Diego Garbervetsky (LAFHIS), Camillo Bruni, (INRIA Lille - Nord Europe), Marcus Denker (INRIA Lille - Nord Europe),, St\'ephane Ducasse (INRIA Lille - Nord Europe)

TL;DR
Waterfall is a dynamic translator that generates and executes primitives on demand, enabling runtime modification and customization of VM components in managed runtimes.
Contribution
We introduce Waterfall, a reflective translator that allows dynamic primitive generation and VM customization, overcoming static design limitations of traditional VMs.
Findings
Enables runtime modification of primitives.
Supports dynamic VM plug-in customization.
Demonstrates practical implementation with Slang to native code.
Abstract
Modern languages are typically supported by managed runtimes (Virtual Machines). Since VMs have to deal with many concepts such as memory management, abstract execution model and scheduling, they tend to be very complex. Additionally, VMs have to meet strong performance requirements. This demand of performance is one of the main reasons why many VMs are built statically. Thus, design decisions are frozen at compile time preventing changes at runtime. One clear example is the impossibility to dynamically adapt or change primitives of the VM once it has been compiled. In this work we present a toolchain that allows for altering and configuring components such as primitives and plug-ins at runtime. The main contribution is Waterfall, a dynamic and reflective translator from Slang, a restricted subset of Smalltalk, to native code. Waterfall generates primitives on demand and executes them…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Malware Detection Techniques · Formal Methods in Verification
