hotspot/src/share/vm/opto/loopUnswitch.cpp
changeset 31772 718fc367468d
parent 27707 f7d26e5b8b5d
child 33166 81352250770f
equal deleted inserted replaced
31771:c9f593020799 31772:718fc367468d
    59     return false;
    59     return false;
    60   }
    60   }
    61   if (!_head->is_Loop()) {
    61   if (!_head->is_Loop()) {
    62     return false;
    62     return false;
    63   }
    63   }
       
    64 
       
    65   // check for vectorized loops, any unswitching was already applied
       
    66   if (_head->is_CountedLoop() && _head->as_CountedLoop()->do_unroll_only()) {
       
    67     return false;
       
    68   }
       
    69 
    64   int nodes_left = phase->C->max_node_limit() - phase->C->live_nodes();
    70   int nodes_left = phase->C->max_node_limit() - phase->C->live_nodes();
    65   if ((int)(2 * _body.size()) > nodes_left) {
    71   if ((int)(2 * _body.size()) > nodes_left) {
    66     return false; // Too speculative if running low on nodes.
    72     return false; // Too speculative if running low on nodes.
    67   }
    73   }
    68   LoopNode* head = _head->as_Loop();
    74   LoopNode* head = _head->as_Loop();