Request for review (XS): 6901572 JVM 1.6.16 crash on loops: assert(has_node(i),"")
Changpeng Fang
Changpeng.Fang at Sun.COM
Wed Dec 2 10:51:59 PST 2009
http://cr.openjdk.java.net/~cfang/6901572/webrev.01/
Fixes 6901572 JVM 1.6.16 crash on loops: assert(has_node(i),"")
Problem:
When the loop optimizer handles secondary induction variables in
IdealLoopTree::counted_loop,
it hits a dead phi and results in "assert(has_node(i),"")" at the time
of "get_ctrl" for the dead node.
The phi is dead because "final int x" in the attached test case is
useless and becomes dead after the
safepoint is removed for the counted loop.
Solution:
Skip the secondary induction variable handling if it is dead. The dead
phi will be put into the deadlist
late in PhaseIdealLoop::build_loop_late and removed.
Test:
test case in the bug report.
Thanks,
Changpeng
More information about the hotspot-compiler-dev
mailing list