8326438: C2: assert(ld->in(1)->Opcode() == Op_LoadN) failed: Assumption invalid: input to DecodeN is not LoadN
Reviewed-by: kvn, rcastanedalo, thartmann
This commit is contained in:
parent
29ba4b7d1e
commit
0c1b254be9
@ -1563,8 +1563,10 @@ Node* GraphKit::make_load(Node* ctl, Node* adr, const Type* t, BasicType bt,
|
||||
// Improve graph before escape analysis and boxing elimination.
|
||||
record_for_igvn(ld);
|
||||
if (ld->is_DecodeN()) {
|
||||
// Also record the actual load (LoadN) in case ld is DecodeN
|
||||
assert(ld->in(1)->Opcode() == Op_LoadN, "Assumption invalid: input to DecodeN is not LoadN");
|
||||
// Also record the actual load (LoadN) in case ld is DecodeN. In some
|
||||
// rare corner cases, ld->in(1) can be something other than LoadN (e.g.,
|
||||
// a Phi). Recording such cases is still perfectly sound, but may be
|
||||
// unnecessary and result in some minor IGVN overhead.
|
||||
record_for_igvn(ld->in(1));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user