aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/ifnode.cpp
diff options
context:
space:
mode:
authorkvn <none@none>2010-01-08 09:42:31 -0800
committerkvn <none@none>2010-01-08 09:42:31 -0800
commit140e535829cd5254e264674b17ed1c90ac83d0bc (patch)
tree1bcd97429dbdb9d5a10e0e54838413b57c0fd015 /src/share/vm/opto/ifnode.cpp
parented67f31af60e3cabb9206c9579c3314154861990 (diff)
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
Diffstat (limited to 'src/share/vm/opto/ifnode.cpp')
-rw-r--r--src/share/vm/opto/ifnode.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/share/vm/opto/ifnode.cpp b/src/share/vm/opto/ifnode.cpp
index 51ca8fe28..a026fceef 100644
--- a/src/share/vm/opto/ifnode.cpp
+++ b/src/share/vm/opto/ifnode.cpp
@@ -531,6 +531,9 @@ Node* IfNode::up_one_dom(Node *curr, bool linear_only) {
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