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