Request for review (S): 7022998: JSR 292 recursive method handle calls inline themselves infinitely

Christian Thalinger christian.thalinger at oracle.com
Tue Mar 15 06:35:47 PDT 2011


http://cr.openjdk.java.net/~twisti/7022998/

7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by:

Methods doing recursive method handle calls, like in JRuby's
bench_fib_resursive.rb or bench_tak.rb, inline themselves infinitely.
This results in a huge method which hits compile thresholds and aborts
inlining resulting in poor performance.

The inlining logic needs to know about method handle call sites and
search the call stack for recursive calls.

This change also cleans up the PrintCompilation, PrintInlining and
TraceTypeProfile output to be aligned since the tiered compilation
changes added some additional output.

src/share/vm/c1/c1_GraphBuilder.cpp
src/share/vm/opto/bytecodeInfo.cpp
src/share/vm/opto/doCall.cpp
src/share/vm/runtime/sharedRuntime.cpp



More information about the hotspot-compiler-dev mailing list