equal
deleted
inserted
replaced
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 |