Reducing Object Adaptation
summary
Mjolnir implements a runtime technique that exposes dynamic-language objects to Java with zero adaptation overhead by rewriting calls into invokedynamic-like sites and populating them with bootstrap-initialized call sites. It uses StackWalker+bootstrap to pin call-site location, a lazy bytecode rewriter/agent to patch classes at load time, and requires non-capturing lambdas so bootstrap lambdas are constant. It ships as a GDK library, enables zero-cost logging via setTarget, handles modules by opening packages, and works but needs careful module and method-descriptor handling.
AI-written summary · about
chapters (5)
- 0:00Introduction
- 1:49Java and invokedynamic
- 7:39Charlie Nutter's SOS
- 9:11Bytecode transformation
- 9:35Manya implementation








