Lines Matching refs:mid
549 SwitchRange* mid = lo + nr/2;
551 if (nr > 3 && !mid->is_singleton() && (mid-1)->is_singleton()) mid--;
553 assert(lo < mid && mid <= hi, "good pivot choice");
554 assert(nr != 2 || mid == hi, "should pick higher of 2");
555 assert(nr != 3 || mid == hi-1, "should pick middle of 3");
557 Node *test_val = _gvn.intcon(mid->lo());
559 if (mid->is_singleton()) {
561 jump_if_false_fork(iff_ne, mid->dest(), mid->table_index());
568 assert(mid == hi-1, "");
572 if (mid < hi && !eq_test_only) {
580 jump_switch_ranges(key_val, mid+1, hi, switch_depth+1);
586 // mid is a range, not a singleton, so treat mid..hi as a unit
590 if (mid == hi) {
591 jump_if_true_fork(iff_ge, mid->dest(), mid->table_index());
597 jump_switch_ranges(key_val, mid, hi, switch_depth+1);
604 jump_switch_ranges(key_val, lo, mid-1, switch_depth+1);