RFR(S): 8210390: C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node"
Roland Westrelin
rwestrel at redhat.com
Fri Sep 14 07:49:16 UTC 2018
http://cr.openjdk.java.net/~roland/8210390/webrev.00/
PhaseIdealLoop::reorg_offsets() creates some data nodes on the exit path
of a counted loop so they are in the outer strip mined loop. Data nodes
in the outer strip mined loop are expected to be referenced from the
safepoint node. But that's not the case for these new nodes which have
all uses outside the outer strip mined loop. This inconsistency causes a
later attempt at cloning the loop in the same loop opts pass to break.
The fix is to assign control to the new data nodes that's on the outer
strip mined loop exit path.
Roland.
More information about the hotspot-compiler-dev
mailing list