An airhacks.fm conversation with Christian Humer (@grashalm_) about:
bachelor thesis on a Java bytecode interpreter written in Java,
exploration of whether Java could be used as a systems language,
benefits of implementing an ecosystem in itself as validation,
C1X compiler based on C1 but reimplemented from scratch,
concept of sea of nodes for mixing control and data flow,
goal to rewrite the entire VM in Java,
benefits of using one compiler throughout the stack for compatibility and maintainability,
discussion of de-optimization process in JIT compilation,
explanation of guards and assumptions in optimized code,
three versions of Espresso (Java bytecode interpreter),
first version as proof of concept,
second version using Truffle with serialized ASTs,
third version based on bytecodes with unrolling bytecode loops,
explanation of bytecode quickening technique,
sandboxing capabilities in GraalVM as replacement for deprecated security manager,
isolating untrusted code in separate heaps for security,
protection against speculative execution attacks,
use case for running AI-generated Java code safely in isolated environments,
GraalOS as a minimal operating system for running Java isolates,
TRegex as GraalVM's optimized regular expression engine that compiles regex to machine code,
bytecode interpreter DSL for generating efficient bytecode interpreters for different languages,
memory improvements from using bytecode arrays instead of AST objects,
potential future integration of TRegex as a Java API
Christian Humer on twitter: @grashalm_