From 5c265cf7676c80ffd4df8dc15ac67fd7c752b54e Mon Sep 17 00:00:00 2001 From: kvn Date: Fri, 5 Sep 2008 13:33:55 -0700 Subject: [PATCH] 6676462: JVM sometimes would suddenly consume significant amount of memory Summary: Add asserts with dead loop checks in AddNode::Ideal(). Reviewed-by: never --- src/share/vm/opto/addnode.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/share/vm/opto/addnode.cpp b/src/share/vm/opto/addnode.cpp index 066ec6d71..e207e65ea 100644 --- a/src/share/vm/opto/addnode.cpp +++ b/src/share/vm/opto/addnode.cpp @@ -157,6 +157,7 @@ Node *AddNode::Ideal(PhaseGVN *phase, bool can_reshape) { Node *a12 = add1->in(2); const Type *t12 = phase->type( a12 ); if( t12->singleton() && t12 != Type::TOP && (add1 != add1->in(1)) ) { + assert(add1->in(1) != this, "dead loop in AddNode::Ideal"); add2 = add1->clone(); add2->set_req(2, in(2)); add2 = phase->transform(add2); @@ -173,6 +174,7 @@ Node *AddNode::Ideal(PhaseGVN *phase, bool can_reshape) { Node *a22 = add2->in(2); const Type *t22 = phase->type( a22 ); if( t22->singleton() && t22 != Type::TOP && (add2 != add2->in(1)) ) { + assert(add2->in(1) != this, "dead loop in AddNode::Ideal"); Node *addx = add2->clone(); addx->set_req(1, in(1)); addx->set_req(2, add2->in(1)); -- GitLab