6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")

Fixed few addP node type and narrow oop type problems.

Reviewed-by: rasbold, never
This commit is contained in:
Vladimir Kozlov 2008-08-01 10:06:45 -07:00
parent 5e94e3bf69
commit 897278fce0
11 changed files with 87 additions and 22 deletions

View file

@ -695,6 +695,8 @@ const Type *AddPNode::mach_bottom_type( const MachNode* n) {
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;