Request for review (XS): 6901572 JVM 1.6.16 crash on loops: assert(has_node(i),"")

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Wed Dec 2 11:38:34 PST 2009


Looks good.

tom

On Dec 2, 2009, at 10:51 AM, Changpeng Fang wrote:

> 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