src/share/vm/opto/matcher.cpp

changeset 8771
0e17cbcda516
parent 8770
241128a2c3ce
child 8856
ac27a9c85bea
child 9055
e4e58811ed1b
equal deleted inserted replaced
8770:241128a2c3ce 8771:0e17cbcda516
1018 // Their children, the incoming arguments, match normally. 1018 // Their children, the incoming arguments, match normally.
1019 m = n->is_SafePoint() ? match_sfpt(n->as_SafePoint()):match_tree(n); 1019 m = n->is_SafePoint() ? match_sfpt(n->as_SafePoint()):match_tree(n);
1020 if (C->failing()) return NULL; 1020 if (C->failing()) return NULL;
1021 if (m == NULL) { Matcher::soft_match_failure(); return NULL; } 1021 if (m == NULL) { Matcher::soft_match_failure(); return NULL; }
1022 } else { // Nothing the matcher cares about 1022 } else { // Nothing the matcher cares about
1023 if( n->is_Proj() && n->in(0)->is_Multi()) { // Projections? 1023 if (n->is_Proj() && n->in(0) != NULL && n->in(0)->is_Multi()) { // Projections?
1024 // Convert to machine-dependent projection 1024 // Convert to machine-dependent projection
1025 m = n->in(0)->as_Multi()->match( n->as_Proj(), this ); 1025 m = n->in(0)->as_Multi()->match( n->as_Proj(), this );
1026 #ifdef ASSERT 1026 #ifdef ASSERT
1027 _new2old_map.map(m->_idx, n); 1027 _new2old_map.map(m->_idx, n);
1028 #endif 1028 #endif

mercurial