6915110: IfNode::up_one_dom moves beyond RootNode bug in src/share/vm/opto/ifnode.cpp

Check RootNode before check Loop in IfNode::up_one_dom().

Reviewed-by: never
This commit is contained in:
Kevin Brown 2010-01-08 09:42:31 -08:00 committed by Vladimir Kozlov
parent e5fb2ad1c4
commit 7548b8eed5

View file

@ -531,6 +531,9 @@ Node* IfNode::up_one_dom(Node *curr, bool linear_only) {
if (linear_only) if (linear_only)
return NULL; return NULL;
if( dom->is_Root() )
return NULL;
// Else hit a Region. Check for a loop header // Else hit a Region. Check for a loop header
if( dom->is_Loop() ) if( dom->is_Loop() )
return dom->in(1); // Skip up thru loops return dom->in(1); // Skip up thru loops