Runtime Specialization
How Jot execution adapts to observed program behavior on top of GraalVM Truffle.
Jot runs on GraalVM Truffle, where runtime nodes can adapt based on real execution patterns.
High-level flow
- Parse source into an executable tree.
- Gather runtime profiling data while code executes.
- Specialize hot paths for observed value shapes and call patterns.
- Fall back safely when assumptions no longer hold.
Why this matters
- Cold paths stay flexible during early execution.
- Hot paths become more direct as stable patterns emerge.
- You get room for performance work without rewriting the language surface.
What to expect as a user
- Semantics stay the same before and after specialization.
- Performance characteristics improve with repeated, stable workloads.
- Tooling and profiling remain important for understanding real bottlenecks.