C1: fix "assert(has_printable_bci()) failed: _printable_bci should have been set" when using -XX:+PrintCanonicalization
rednaxelafx at gmail.com
Thu May 31 08:06:58 PDT 2012
On Thu, May 31, 2012 at 9:54 PM, Roland Westrelin <
roland.westrelin at oracle.com> wrote:
> Thanks for the tip! I didn't notice what the old behavior was
>> before 6986046.
> As I understand it before 6986046, the code would always print bcis with
> -XX:+PrintCanonicalization except the bcis would sometimes be -99 (when the
> instruction was not yet linked).
> That sounds like a fair behavior. Yes, you're right that in
Canonicalizer::set_canonical(x), it's better to just print bci() when x is
not linked, since printable_bci is set when linking the instruction.
But Local and Phi instructions are exceptions. They're never "linked" into
the instruction list (they're just filled into a ValueStack), but they
deserve something better than -99. They're more likely to cause trouble in
Canonicalizer::set_canonical(x) by this call:
Which is why I did the change in the constructors of Local and Phi.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev