diff src/share/vm/opto/addnode.cpp @ 293:c3e045194476

6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type") Summary: fixed few addP node type and narrow oop type problems. Reviewed-by: rasbold, never
author kvn
date Fri, 01 Aug 2008 10:06:45 -0700
parents d1605aabd0a1
children af945ba2e739
line wrap: on
line diff
--- a/src/share/vm/opto/addnode.cpp	Thu Jul 31 15:47:42 2008 -0700
+++ b/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;