diff -r ee5cc9e78493 -r d6f45b55c972 src/share/vm/opto/addnode.cpp --- a/src/share/vm/opto/addnode.cpp Fri Aug 20 09:55:50 2010 -0700 +++ b/src/share/vm/opto/addnode.cpp Fri Aug 27 17:33:49 2010 -0700 @@ -705,6 +705,9 @@ } addr = addr->in(AddPNode::Address); } + if (addr != base) { + return -1; + } return count; }