hotspot/src/share/vm/opto/matcher.cpp
changeset 46630 75aa3e39d02c
parent 46625 edefffab74e2
equal deleted inserted replaced
46629:8eeacdc76bf2 46630:75aa3e39d02c
  1678         m = _mem_node;
  1678         m = _mem_node;
  1679         assert(m != NULL && m->is_Mem(), "expecting memory node");
  1679         assert(m != NULL && m->is_Mem(), "expecting memory node");
  1680       }
  1680       }
  1681       const Type* mach_at = mach->adr_type();
  1681       const Type* mach_at = mach->adr_type();
  1682       // DecodeN node consumed by an address may have different type
  1682       // DecodeN node consumed by an address may have different type
  1683       // then its input. Don't compare types for such case.
  1683       // than its input. Don't compare types for such case.
  1684       if (m->adr_type() != mach_at &&
  1684       if (m->adr_type() != mach_at &&
  1685           (m->in(MemNode::Address)->is_DecodeNarrowPtr() ||
  1685           (m->in(MemNode::Address)->is_DecodeNarrowPtr() ||
  1686            m->in(MemNode::Address)->is_AddP() &&
  1686            (m->in(MemNode::Address)->is_AddP() &&
  1687            m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr() ||
  1687             m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()) ||
  1688            m->in(MemNode::Address)->is_AddP() &&
  1688            (m->in(MemNode::Address)->is_AddP() &&
  1689            m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() &&
  1689             m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() &&
  1690            m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr())) {
  1690             m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()))) {
  1691         mach_at = m->adr_type();
  1691         mach_at = m->adr_type();
  1692       }
  1692       }
  1693       if (m->adr_type() != mach_at) {
  1693       if (m->adr_type() != mach_at) {
  1694         m->dump();
  1694         m->dump();
  1695         tty->print_cr("mach:");
  1695         tty->print_cr("mach:");