RFR (XS): Crash when running with -XX:+PrintInlining
Schoesser, Andreas
andreas.schoesser at sap.com
Tue Jul 2 09:11:13 PDT 2013
Hi Roland,
I fixed this in an older version of OpenJDK which used this declaration of GrowableArray::at()
E at(int i) const { ...
which returns a copy and didn't realize that the declaration changed in the current OpenJDK version:
E& at(int i) const { ... :-(
which does not return a copy.
So, you're right, in the current OpenJDK version, this issue is already fixed (using a more general solution :) and my patch is not necessary any more...
Sorry for the confusion!
Best regards,
Andreas
-----Original Message-----
From: Roland Westrelin [mailto:roland.westrelin at oracle.com]
Sent: Dienstag, 2. Juli 2013 17:33
To: Schoesser, Andreas
Cc: hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR (XS): Crash when running with -XX:+PrintInlining
Hi Andreas,
Thank you for the bug report and suggested fix.
> - 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.
This:
_print_inlining_list->at(_print_inlining).set_cg(cg);
only modifies a copy?
It's strange because at() is declared as:
E& at(int i) {
so at() returns a reference and the element of the list should be modified in place, right?
There's a second at() definition:
E const& at(int i) const {
which as I understand shouldn't be used here. What compiler are you seeing this with?
Roland.
More information about the hotspot-compiler-dev
mailing list