6915110: IfNode::up_one_dom moves beyond RootNode bug in src/share/vm/opto/ifnode.cpp
Summary: Check RootNode before check Loop in IfNode::up_one_dom().
Reviewed-by: never
Contributed-by: kevin.brown@sun.com
--- a/hotspot/src/share/vm/opto/ifnode.cpp Fri Jan 08 11:09:46 2010 +0100
+++ b/hotspot/src/share/vm/opto/ifnode.cpp Fri Jan 08 09:42:31 2010 -0800
@@ -531,6 +531,9 @@
if (linear_only)
return NULL;
+ if( dom->is_Root() )
+ return NULL;
+
// Else hit a Region. Check for a loop header
if( dom->is_Loop() )
return dom->in(1); // Skip up thru loops