src/hotspot/share/opto/matcher.cpp
changeset 51566 904cf5407ac7
parent 51333 f6641fcf7b7e
child 52494 710e5a66a64e
equal deleted inserted replaced
51565:7e5f08c619e3 51566:904cf5407ac7
  1000             // Calls match special.  They match alone with no children.
  1000             // Calls match special.  They match alone with no children.
  1001             // Their children, the incoming arguments, match normally.
  1001             // Their children, the incoming arguments, match normally.
  1002             m = n->is_SafePoint() ? match_sfpt(n->as_SafePoint()):match_tree(n);
  1002             m = n->is_SafePoint() ? match_sfpt(n->as_SafePoint()):match_tree(n);
  1003             if (C->failing())  return NULL;
  1003             if (C->failing())  return NULL;
  1004             if (m == NULL) { Matcher::soft_match_failure(); return NULL; }
  1004             if (m == NULL) { Matcher::soft_match_failure(); return NULL; }
       
  1005             if (n->is_MemBar()) {
       
  1006               m->as_MachMemBar()->set_adr_type(n->adr_type());
       
  1007             }
  1005           } else {                  // Nothing the matcher cares about
  1008           } else {                  // Nothing the matcher cares about
  1006             if (n->is_Proj() && n->in(0) != NULL && n->in(0)->is_Multi()) {       // Projections?
  1009             if (n->is_Proj() && n->in(0) != NULL && n->in(0)->is_Multi()) {       // Projections?
  1007               // Convert to machine-dependent projection
  1010               // Convert to machine-dependent projection
  1008               m = n->in(0)->as_Multi()->match( n->as_Proj(), this );
  1011               m = n->in(0)->as_Multi()->match( n->as_Proj(), this );
  1009 #ifdef ASSERT
  1012 #ifdef ASSERT