VMIL 2023
as the organisers put it
The concept of Virtual Machines is pervasive in the design and implementation of programming systems. Virtual Machines and the languages they implement are crucial in the specification, implementation and/or user-facing deployment of most programming technologies. The VMIL workshop is a forum for researchers and cutting-edge practitioners in language virtual machines, the intermediate languages they use, and related issues.
who it's for
language implementers, virtual machine researchers, runtime engineers, just-in-time developers, garbage collection engineers, compiler engineers, systems tooling developers
topics
CHERI for bytecode interpreters; flat dispatch per-class hash; virtual machine execution trace extraction; Slang to C static polymorphism; foreign function interface bridges; debugging dynamic language features; array bytecode support in MicroJIT; hybrid AOT and JIT execution; approximating Julia type stability; incremental GC for WebAssembly blockchains; SPIR-V Java API and TornadoVM integration; JIT binary generator for hardware testing
| title | author | length |
|---|---|---|
| Opening Remarks | Andrea Rosà | 03m |
Fifteenth edition of the workshop traces back to 2007 in Vancouver and this year accepts 11 papers: 8 full research papers and 3 short papers, four… | ||
| CHERI Performance Enhancement for a Bytecode Interpreter | Duncan Lowther, Dejice Jacob, Jeremy Singer | 30m |
Porting MicroPython to CHERI/Morello shows actual fixes, not promises: PMCstat sampling finds 99% allocator samples on bad cases, then changing the default… | ||
| Revisiting Dynamic Dispatch for Modern Architectures | Dave Mason | 22m |
Proposes a flat dispatch hash table per class that stores compiled code pointers for every selector actually sent to that class, compiling a found method for… | ||
| Extraction of Virtual Machine Execution Traces | Daniel Pekarek, Hanspeter Mössenböck | 14m |
An open source tool consumes a VM execution trace and applies small, explicit transformation rules to emit a linked guest-program trace so navigation in the VM… | ||
| Transpiling Slang Methods to C Functions: An Example of Static Polymorphism for S... | Tom Braun, Marcel Taeumel, Eliot Miranda, Robert Hirschfeld | 16m |
The paper describes an extension to the Slang→C transpiler that generates distinct C variants for Smalltalk VM methods so polymorphism is resolved at compile… | ||
| Polyglot Programming through Foreign Function Interfaces | Shigeru Chiba | 01h 02m |
Argues that raw FFIs cause subtle semantic bugs (Ruby callers copy Python examples and mis-evaluate keyword args or dict syntax) and proposes code migration… | ||
| Debugging Dynamic Language Features in a Multi-Tier Virtual Machine | Anmolpreet Singh, Aayush Sharma, Meetesh Kalpesh Mehta, Manas Thakur | 24m |
Derir is a debugging and visualization tool for Ř (a JIT R runtime) that connects to the VM, shows bytecode, closures, stack, call graph and inspect and mutate… | ||
| Array Bytecode Support in MicroJIT | Kenneth B. Kent, Shubham Verma, Harpreet Kaur, Marius Pirvu | 22m |
Implements MicroJIT support for array bytecodes newarray, aaload, aastore using NASM templates and a helper call for large allocations that build OpenJ9… | ||
| Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation | Christoph Pichler, Paley Li, Roland Schatz, Hanspeter Mössenböck | 25m |
Implements a per-function hybrid execution that combines GraalVM+Sulong AOT LLVM binaries with Graal JIT-managed AST execution, using a static config file to… | ||
| Approximating Type Stability in the Julia JIT | Artem Pelenitsyn | 17m |
Presents a first algorithm to approximate type stability for Julia by enumerating concrete subtypes of a method signature and running Julia’s own type… | ||
| Collecting Garbage on the Blockchain | Luc Bläser, Claudio Russo, Ulan Degenbaev, Ömer S. Ağacan, Gabor Greif, Jason Ibrahim | 20m |
An incremental garbage collector for a WebAssembly blockchain (Internet Computer) that bounds GC work to fit transaction instruction limits and avoid unbounded… | ||
| Beehive SPIR-V Toolkit: A Composable and Functional API for Runtime SPIR-V Code G... | Juan Fumero, György Rethy, Athanasios Stratikopoulos, Nikos Foutris, Christos Kotselidis | 28m |
A toolkit generates a Java API from the SPIR‑V JSON grammar and emits/reads binary modules via an assembler/disassembler; it integrates into TornadoVM to… | ||
| Gigue: A JIT Code Binary Generator for Hardware Testing | Quentin Ducasse, Pascal Cotret, Loïc Lagadec | 22m |
Gigue generates bare-metal JIT snapshots — self-contained RISC‑V binaries that mimic JIT code regions and exercise custom ISA extensions. It builds random… | ||
| Closing Remarks | Andrea Rosà | 01m |
Brief recap states the workshop criterion: submissions must stimulate good discussion and the program committee explicitly weighs that when accepting papers… | ||
| nothing matches | ||