hotspot/src/share/vm/opto/lcm.cpp
changeset 19330 49d6711171e6
parent 19279 4be3c2e6663c
child 19717 7819ffdaf0ff
child 22828 17ecb098bc1e
equal deleted inserted replaced
19329:eccb1e520c66 19330:49d6711171e6
   499     // MachTemps should be scheduled last so they are near their uses
   499     // MachTemps should be scheduled last so they are near their uses
   500     if (n->is_MachTemp()) {
   500     if (n->is_MachTemp()) {
   501       n_choice = 1;
   501       n_choice = 1;
   502     }
   502     }
   503 
   503 
   504     uint n_latency = cfg->_node_latency->at_grow(n->_idx);
   504     uint n_latency = cfg->get_latency_for_node(n);
   505     uint n_score   = n->req();   // Many inputs get high score to break ties
   505     uint n_score   = n->req();   // Many inputs get high score to break ties
   506 
   506 
   507     // Keep best latency found
   507     // Keep best latency found
   508     cand_cnt++;
   508     cand_cnt++;
   509     if (choice < n_choice ||
   509     if (choice < n_choice ||
   795     if (cfg->trace_opto_pipelining()) {
   795     if (cfg->trace_opto_pipelining()) {
   796       for (uint j=0; j<_nodes.size(); j++) {
   796       for (uint j=0; j<_nodes.size(); j++) {
   797         Node     *n = _nodes[j];
   797         Node     *n = _nodes[j];
   798         int     idx = n->_idx;
   798         int     idx = n->_idx;
   799         tty->print("#   ready cnt:%3d  ", ready_cnt.at(idx));
   799         tty->print("#   ready cnt:%3d  ", ready_cnt.at(idx));
   800         tty->print("latency:%3d  ", cfg->_node_latency->at_grow(idx));
   800         tty->print("latency:%3d  ", cfg->get_latency_for_node(n));
   801         tty->print("%4d: %s\n", idx, n->Name());
   801         tty->print("%4d: %s\n", idx, n->Name());
   802       }
   802       }
   803     }
   803     }
   804 #endif
   804 #endif
   805 
   805 
   823     _nodes.map(phi_cnt++,n);    // Schedule him next
   823     _nodes.map(phi_cnt++,n);    // Schedule him next
   824 
   824 
   825 #ifndef PRODUCT
   825 #ifndef PRODUCT
   826     if (cfg->trace_opto_pipelining()) {
   826     if (cfg->trace_opto_pipelining()) {
   827       tty->print("#    select %d: %s", n->_idx, n->Name());
   827       tty->print("#    select %d: %s", n->_idx, n->Name());
   828       tty->print(", latency:%d", cfg->_node_latency->at_grow(n->_idx));
   828       tty->print(", latency:%d", cfg->get_latency_for_node(n));
   829       n->dump();
   829       n->dump();
   830       if (Verbose) {
   830       if (Verbose) {
   831         tty->print("#   ready list:");
   831         tty->print("#   ready list:");
   832         for( uint i=0; i<worklist.size(); i++ ) { // Inspect entire worklist
   832         for( uint i=0; i<worklist.size(); i++ ) { // Inspect entire worklist
   833           Node *n = worklist[i];      // Get Node on worklist
   833           Node *n = worklist[i];      // Get Node on worklist