< prev index next >

src/share/vm/opto/matcher.cpp

Print this page

        

*** 1677,1694 **** m = _mem_node; assert(m != NULL && m->is_Mem(), "expecting memory node"); } const Type* mach_at = mach->adr_type(); // DecodeN node consumed by an address may have different type ! // then its input. Don't compare types for such case. if (m->adr_type() != mach_at && (m->in(MemNode::Address)->is_DecodeNarrowPtr() || ! m->in(MemNode::Address)->is_AddP() && ! m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr() || ! m->in(MemNode::Address)->is_AddP() && m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() && ! m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr())) { mach_at = m->adr_type(); } if (m->adr_type() != mach_at) { m->dump(); tty->print_cr("mach:"); --- 1677,1694 ---- m = _mem_node; assert(m != NULL && m->is_Mem(), "expecting memory node"); } const Type* mach_at = mach->adr_type(); // DecodeN node consumed by an address may have different type ! // than its input. Don't compare types for such case. if (m->adr_type() != mach_at && (m->in(MemNode::Address)->is_DecodeNarrowPtr() || ! (m->in(MemNode::Address)->is_AddP() && ! m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()) || ! (m->in(MemNode::Address)->is_AddP() && m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() && ! m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()))) { mach_at = m->adr_type(); } if (m->adr_type() != mach_at) { m->dump(); tty->print_cr("mach:");
< prev index next >