Table of Contents
The JavaTM HotSpotTM Performance Engine - A Technical Tour
The Java Programming Language
Example: javac
Talk Overview
VM Overview
Dynamic Code Generation
Just-In-Time Compilers
The Trouble with JITs
A Lazy Approach
HotSpot Compilation Architecture
Advantages Over Standard JIT
Why Have an Interpreter?
More Opportunities for Dynamic Code Generation
Class Hierarchy Analysis
Inline Caches: Caller
Inline Caches: Callee
Inline Caches: First Time
Fast Allocation
Heap: The Big Picture
Heap: (Almost) the Real Story
Fast Locking
Fast Locking
Backpatching
Backpatching in the Interpreter
Deoptimization
Deoptimization of a Stack Frame
Observations
Conclusions
References
|