Jaguar to the Rescue JNI is a bad match for implementing Java VIA Too slow: Extra data copy on send/recv Wrong model: VIA is about fast access to NIC resources My solution: Jaguar "Java Access to Generic Underlying Architectural Resources" Close gap between Java and low-level machine operations Idea: map Java bytecode to inlined machine code Maintain type- and reference-safety Fast, protected access to system resources Extensible Just-in-Time Compiler "Pluggable" bytecode -> machine code transformations Sidecar to JVM No need to reengineer JVM itself