Jaguar: Two Major Concepts 1. Code Mappings Bytecode --> Machine code transformations e.g., "invokevirtual SomeClass.someMethod" transform to inlined machine code Can be applied to virtually any bytecode sequence Some easier to recognize than others Method calls, field accesses are easy Must have enough information at compile time Avoid run-time checks from inlined code 2. External Objects Explicitly-managed memory regions "External heap" for Java objects, arrays, etc. Direct access through Jaguar code mappings