MPLR 2023
as the organisers put it
The 20th International Conference on Managed Programming Languages & Runtimes (MPLR’23, formerly ManLang, originally PPPJ) is a premier forum for presenting and discussing novel results in all aspects of managed programming languages and runtime systems, which serve as building blocks for some of the most important computing systems around, ranging from small-scale (embedded and real-time systems) to large-scale (cloud-computing and big-data platforms) and anything in between (mobile, IoT, and wearable applications). Papers accepted by MPLR’23 describe original research results and hav ...
who it's for
language runtime researchers, virtual machine developers, compiler engineers, JVM engineers, systems programmers, performance engineers, tooling and observability engineers
topics
Wasm garbage-collection extension; Kotlin compiler plugins vs agents; GraalVM native-image AOT for FaaS; YJIT lazy basic block versioning; CacheIR inline cache representation; compiler optimization tree diffing; Morello MicroPython capability safety; Java memory and NUMA analysis; GC tracing with eBPF; precision of Java profilers; automatic heap sizing by GC CPU target; points-to vs rapid type analysis in GraalVM
| title | author | length |
|---|---|---|
| Welcome from the Chairs | Rodrigo Bruno, Eliot Moss | 05m |
Welcome and logistics for MPLR 2023 cover schedule, submissions, and decisions: four sessions with a 45‑minute keynote, regular papers allotted 22 minutes with… | ||
| Is Wasm Becoming Garbage? (Keynote) | Andreas Rossberg | 57m |
Wasm now includes a new garbage‑collection extension that preserves a low‑level, language‑neutral design while adding typed reference types, structs, arrays… | ||
| On the Applicability of Annotation-Based Source Code Modification in Kotlin (Work... | Daniel Pfeffer, Markus Weninger | 15m |
Compares four concrete approaches—KAPT (legacy), KSP, custom compiler plugins, and load‑time agents—and provides proof‑of‑concept implementations on GitHub: a… | ||
| CloudJIT: A Just-in-Time FaaS Optimizer (Work in Progress) | Serhii Ivanenko, Rodrigo Bruno, Jovan Stevanovic, Luís Veiga, Vojin Jovanovic | 14m |
Platform prototype automatically detects hot functions and AOT-compiles them with GraalVM native-image, keeping the rest on the JVM; AOT runs in parallel via a… | ||
| Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach | Maxime Chevalier Boisvert, Takashi Kokubun, Noah Gibbs, Si Xing (Alan) Wu, Aaron Patterson, Jemma Issroff | 20m |
YJIT is a CRuby-integrated JIT using Lazy Basic Block Versioning and a simple “compile after N calls” heuristic, with a multiplatform backend (x86_64 and… | ||
| CacheIR: The Benefits of a Structured Representation for Inline Caches | Jan de Mooij, Matthew Gaudet, Iain Ireland, Nathan Henderson, J. Nelson Amaral | 20m |
CacheIR is an IR for inline caches that stores dynamic data in stub fields so native code can be reused across different stubs; the engine generates linear… | ||
| Diagnosing Compiler Performance by Comparing Optimization Decisions | Andrej Pečimúth, David Leopoldseder, Petr Tůma | 21m |
Captures compiler decisions as optimization trees per compilation unit, emits logs by adding hooks into the Graal compiler, and compares runs with tree edit… | ||
| Morello MicroPython: A Python Interpreter for CHERI | Duncan Lowther, Dejice Jacob, Jeremy Singer | 20m |
Port of MicroPython to Arm Morello implements both pure-cap and hybrid ABI builds, changes include replacing inline assembly to save full capability registers… | ||
| A Multifaceted Memory Analysis of Java Benchmarks | Orion Papadakis, Andreas Andronikakis, Nikos Foutris, Michail Papadimitriou, Athanasios Stratikopoulos, Foivos S. Zakkak, Polychronis Xekalakis, Christos Kotselidis | 19m |
Profiles 30 Dacapo and Renaissance apps using NUMAProfiler for object allocations and access sharing and PerfUtil / perf stat for LLC and memory-pressure… | ||
| Improving Garbage Collection Observability with Performance Tracing | Claire Huang, Stephen M. Blackburn, Zixian Cai | 22m |
Tracing hooks compile with 14 lines of Rust and sit inactive with essentially zero runtime cost; activating them via eBPF tracing records every GC event so… | ||
| Don’t Trust Your Profiler: An Empirical Study on the Precision and Accuracy of Ja... | Humphrey Burchell, Octave Larose, Sophie Kaleba, Stefan Marr | 23m |
Six Java samplers (async-profiler, Honest Profiler, Java Flight Recorder, JProfiler, perf, YourKit) run each benchmark for 300 iterations repeated 30 runs on… | ||
| Heap Size Adjustment with CPU Control | Sanaz Tavakolisomeh, Marina Shimchenko, Erik Österlund, Rodrigo Bruno, Paulo Ferreira, Tobias Wrigstad | 18m |
Automatic heap sizing uses a target fraction of CPU time spent in GC to drive heap capacity, implemented in ZGC in OpenJDK and evaluated on a 32-core CB… | ||
| Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image | David Kozak, Vojin Jovanovic, Codrut Stancu, Tomáš Vojnar, Christian Wimmer | 19m |
GraalVM Native Image replaces heavyweight points-to analysis with a prototype parallel, incremental RTA that integrates heap snapshotting and uses serialized… | ||
| Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified M... | Juan Fumero, Florin Blănaru, Athanasios Stratikopoulos, Steve Dohrmann, Sandhya Viswanathan, Christos Kotselidis | 27m |
Prototype allocates the JVM heap in unified memory inside MaxineVM so host and accelerators share pages, implemented for CUDA (discrete NVIDIA) and Intel Level… | ||
| Beyond RSS: Towards Intelligent Dynamic Memory Management (Work in Progress) | Christos Panagiotis Lamprakos, Sotirios Xydis, Peter Kourzanov, Manu Perumkunnil, Francky Catthoor, Dimitrios Soudris | 15m |
This work models allocator–workload interaction as 2D rectangle packing (virtual address vs time), implements a trace-based simulation that records only… | ||
| Towards Safe HPC: Productivity and Performance via Rust Interfaces for a Distribu... | John Parrish, Nicole Wren, Tsz Hang Kiang, Akihiro Hayashi, Jeffrey M. Young, Vivek Sarkar | 15m |
Proof-of-concept Rust interface wraps an existing distributed C++ actors library (HC lib) and the conveyors message layer, exposing a safe selector API that… | ||
| Generating Java Interfaces for Accessing Foreign Objects in GraalVM (Work in Prog... | Julian Garn, Florian Angerer, Hanspeter Mössenböck | 12m |
A tool that analyzes foreign-language code and produces usable Java interfaces for GraalVM interop, using the mypy API type extractor to pull function, field… | ||
| nothing matches | ||