review(XS): 6591247: C2 cleans up the merge point too early during SplitIf.
Igor Veresov
igor.veresov at oracle.com
Thu Aug 25 17:10:28 PDT 2011
The problem here is that during split-if we remove the region's self reference too early while processing its users, which can make get_ctrl_no_update() return the wrong answer.
I wasn't able to reproduce the problem, but it seems to be possible for it to occur if the region points to something else but phi and the self reference is deleted too early.
The solution is to remove the self reference last.
Webrev: http://cr.openjdk.java.net/~iveresov/6591247/webrev.00/
Testing: specjvm98, CTW
Thanks,
igor
More information about the hotspot-compiler-dev
mailing list