1.1 --- a/src/share/vm/opto/addnode.cpp Thu Jul 31 15:47:42 2008 -0700 1.2 +++ b/src/share/vm/opto/addnode.cpp Fri Aug 01 10:06:45 2008 -0700 1.3 @@ -695,6 +695,8 @@ 1.4 guarantee(tptr == NULL, "must be only one pointer operand"); 1.5 tptr = et->isa_oopptr(); 1.6 guarantee(tptr != NULL, "non-int operand must be pointer"); 1.7 + if (tptr->higher_equal(tp->add_offset(tptr->offset()))) 1.8 + tp = tptr; // Set more precise type for bailout 1.9 continue; 1.10 } 1.11 if ( eti->_hi != eti->_lo ) goto bottom_out;