Search code examples
javajitcompiler-optimization

Hotspot JIT optimizations


In a lecture about JIT in Hotspot I want to give as many examples as possible of the specific optimizations that JIT performs.

I know just about "method inlining", but there should be much more. Give a vote for every example.


Solution

  • Well, you should scan Brian Goetz's articles for examples.

    In brief, HotSpot can and will:

    1. Inline methods
    2. Join adjacent synchronized blocks on the same object
    3. Eliminate locks if monitor is not reachable from other threads
    4. Eliminate dead code (hence most of micro-benchmarks are senseless)
    5. Drop memory write for non-volatile variables
    6. Replace interface calls with direct method calls for methods only implemented once

    et cetera