RFR(S): 8219335: "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses
Roland Westrelin
rwestrel at redhat.com
Tue Feb 19 09:51:53 UTC 2019
http://cr.openjdk.java.net/~roland/8219335/webrev.00/
This is triggered by forcing incremental inlining and using -Xcomp so
the compiler has no profile data. In the test case, the unsafe access is
compiled before inlining of other calls happens. The compiler can't tell
whether the unsafe access is on heap or not and casts the address to raw
memory with CheckCastPP. After incremental inlining, the CheckCastPP
input is the CheckCastPP of a newly allocated object. The assert fires
because the CheckCastPP to raw memory is not expected by EA. I proposed
simply detecting this rare case and making the allocation not scalar
replaceable.
Roland.
More information about the hotspot-compiler-dev
mailing list