[10] RFR(M): 8176506: C2: loop unswitching and unsafe accesses cause crash

Roland Westrelin rwestrel at redhat.com
Tue Mar 28 18:38:00 UTC 2017


> Thanks. It goes away only after macro node expansion (since the test is 
> hidden behind Opaque4), so my concern was that it can hinder some 
> optimizations.

Opaque4 doesn't block constants:

const Type* Opaque4Node::Value(PhaseGVN* phase) const {
  return phase->type(in(1));
}

So as soon as in(1) is constant, the opaque node goes away.

Roland.


More information about the hotspot-compiler-dev mailing list