- Sponsor:
- sigplan
Welcome to the 15th ACM SIGPLAN International Workshop on Virtual Machines and Language Implementations (VMIL 2023). The workshop aims at advancing the state of the art on the design and implementation of programming systems, with virtual machines—broadly defined—as a focus. The workshop was co-located with SPLASH 2023 and was held in Cascais, Portugal, on October 23, 2023.
Proceeding Downloads
CHERI Performance Enhancement for a Bytecode Interpreter
During our port of the MicroPython bytecode interpreter to the CHERI-based Arm Morello platform, we encountered a number of serious performance degradations. This paper explores several of these performance issues in detail, in each case we ...
Revisiting Dynamic Dispatch for Modern Architectures
Since the 1980s, Deutsch-Schiffman dispatch has been the standard method dispatch mechanism for languages like Smalltalk, Ruby, and Python. While it is a huge improvement over the simple, semantic execution model, it has some significant drawbacks ...
Debugging Dynamic Language Features in a Multi-tier Virtual Machine
Multi-tiered virtual-machine (VM) environments with Just-In-Time (JIT) compilers are essential for optimizing dynamic language program performance, but comprehending and debugging them is challenging. In this paper, we introduce Derir; a novel tool ...
Array Bytecode Support in MicroJIT
Eclipse OpenJ9 is a Java virtual machine (JVM), which initially interprets Java programs. OpenJ9 uses Just-in-Time (JIT) compilers—like the default Testarossa JIT (TRJIT)—to translate the bytecodes of the Java program into native code, which executes ...
Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation
Ahead-of-time (AOT) compilation is a well-known approach to statically compile programs to native code before they are executed. In contrast, just-in-time (JIT) compilation typically starts with executing a slower, less optimized version of the code ...
Collecting Garbage on the Blockchain
We present a garbage collector that is specifically designed for a WebAssembly-based blockchain, such as the Internet Computer. Applications on the blockchain implement smart contracts that may have indefinitely long lifetime and may hold substantial ...
Beehive SPIR-V Toolkit: A Composable and Functional API for Runtime SPIR-V Code Generation
The Standard Portable Intermediate Representation (SPIR-V) is a low-level binary format designed for representing shaders and compute kernels that can be consumed by OpenCL for computing kernels, and Vulkan for graphics rendering. As a binary ...
Gigue: A JIT Code Binary Generator for Hardware Testing
Just-in-time compilers are the main virtual machine components responsible for performance. They recompile frequently used source code to machine code directly, avoiding the slower interpretation path. Hardware acceleration and performant security ...
Approximating Type Stability in the Julia JIT (Work in Progress)
Julia is a dynamic language for scientific computing. For a dynamic language, Julia is surprisingly typeful. Types are used not only to structure data but also to guide dynamic dispatch – the main design tool in the language. No matter the dynamism,...
Transpiling Slang Methods to C Functions: An Example of Static Polymorphism for Smalltalk VM Objects
The OpenSmalltalk-VM is written in a subset of Smalltalk which gets transpiled to C. Developing the VM in Smalltalk allows to use the Smalltalk developer tooling and brings a fast feedback cycle. However, transpiling to C requires mapping ...
Extraction of Virtual Machine Execution Traces
Debugging virtual machines can be challenging. Advanced debugging techniques using execution trace analysis can simplify debugging, but they often show only the execution of the virtual machine (in terms of machine instructions) and not the execution ...
Index Terms
- Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
VMIL '13 | 4 | 4 | 100% |
Overall | 4 | 4 | 100% |