RFR (XS): Crash when running with -XX:+PrintInlining

Schoesser, Andreas andreas.schoesser at sap.com
Thu Jun 27 07:57:03 PDT 2013


Hi,

I'd like to propose a fix for a JIT crash when running the VM with -XX:+PrintInlining:

Bug: 
In Compile::dump_inlining(), the late inlining list is traversed and the corresponding callGenerator is searched in the _print_linlining_list. The VM then crashes with a "ShouldNotReachHere()" in Compile::print_inlining_insert() because the callGenerator is not found in the _print_inlining_list.

Reason:
- In Compile::print_inlining_skip(), the CallGenerator is not annotated at the actual _print_inlining_list array entry (type "PrintInliningBuffer") but at a copy of the entry which gets discarded.
- Thus, Compile::print_inlining_insert() would not find the annotated CallGenerator ptr any more and run into the ShouldNotReachHere() case.
- Fix: Get the print_inlining_buffer entry by reference instead of by value in order to avoid copying the entry

Here's a webrev containing the fix:
http://cr.openjdk.java.net/~goetz/webrevs/fix_inline_trace/

Best regards,
Andreas


More information about the hotspot-compiler-dev mailing list