< prev index next >

src/hotspot/share/opto/matcher.cpp

Print this page




2328       case Op_StrCompressedCopy:
2329       case Op_StrInflatedCopy:
2330       case Op_EncodeISOArray: {
2331         // Restructure into a binary tree for Matching.
2332         Node* pair = new BinaryNode(n->in(3), n->in(4));
2333         n->set_req(3, pair);
2334         n->del_req(4);
2335         break;
2336       }
2337       case Op_FmaD:
2338       case Op_FmaF:
2339       case Op_FmaVD:
2340       case Op_FmaVF: {
2341         // Restructure into a binary tree for Matching.
2342         Node* pair = new BinaryNode(n->in(1), n->in(2));
2343         n->set_req(2, pair);
2344         n->set_req(1, n->in(3));
2345         n->del_req(3);
2346         break;
2347       }









2348       default:
2349         break;
2350       }
2351     }
2352     else {
2353       ShouldNotReachHere();
2354     }
2355   } // end of while (mstack.is_nonempty())
2356 }
2357 
2358 #ifdef ASSERT
2359 // machine-independent root to machine-dependent root
2360 void Matcher::dump_old2new_map() {
2361   _old2new_map.dump();
2362 }
2363 #endif
2364 
2365 //---------------------------collect_null_checks-------------------------------
2366 // Find null checks in the ideal graph; write a machine-specific node for
2367 // it.  Used by later implicit-null-check handling.  Actually collects




2328       case Op_StrCompressedCopy:
2329       case Op_StrInflatedCopy:
2330       case Op_EncodeISOArray: {
2331         // Restructure into a binary tree for Matching.
2332         Node* pair = new BinaryNode(n->in(3), n->in(4));
2333         n->set_req(3, pair);
2334         n->del_req(4);
2335         break;
2336       }
2337       case Op_FmaD:
2338       case Op_FmaF:
2339       case Op_FmaVD:
2340       case Op_FmaVF: {
2341         // Restructure into a binary tree for Matching.
2342         Node* pair = new BinaryNode(n->in(1), n->in(2));
2343         n->set_req(2, pair);
2344         n->set_req(1, n->in(3));
2345         n->del_req(3);
2346         break;
2347       }
2348       case Op_MulAddS2I: {
2349         Node* pair1 = new BinaryNode(n->in(1), n->in(2));
2350         Node* pair2 = new BinaryNode(n->in(3), n->in(4));
2351         n->set_req(1, pair1);
2352         n->set_req(2, pair2);
2353         n->del_req(4);
2354         n->del_req(3);
2355         break;
2356       }
2357       default:
2358         break;
2359       }
2360     }
2361     else {
2362       ShouldNotReachHere();
2363     }
2364   } // end of while (mstack.is_nonempty())
2365 }
2366 
2367 #ifdef ASSERT
2368 // machine-independent root to machine-dependent root
2369 void Matcher::dump_old2new_map() {
2370   _old2new_map.dump();
2371 }
2372 #endif
2373 
2374 //---------------------------collect_null_checks-------------------------------
2375 // Find null checks in the ideal graph; write a machine-specific node for
2376 // it.  Used by later implicit-null-check handling.  Actually collects


< prev index next >