hotspot/src/share/vm/opto/addnode.cpp
changeset 1055 f4fb9fb08038
parent 670 ddf3e9583f2f
child 1068 720698d9c89b
--- a/hotspot/src/share/vm/opto/addnode.cpp	Thu Jul 31 15:47:42 2008 -0700
+++ b/hotspot/src/share/vm/opto/addnode.cpp	Fri Aug 01 10:06:45 2008 -0700
@@ -695,6 +695,8 @@
         guarantee(tptr == NULL, "must be only one pointer operand");
         tptr = et->isa_oopptr();
         guarantee(tptr != NULL, "non-int operand must be pointer");
+        if (tptr->higher_equal(tp->add_offset(tptr->offset())))
+          tp = tptr; // Set more precise type for bailout
         continue;
       }
       if ( eti->_hi != eti->_lo )  goto bottom_out;