Lines Matching defs:first

438     // iterate all instructions of the block. skip the first because it is always a label
494 // Compute depth-first and linear scan block orders, and number LIR_Op nodes for linear scan.
599 // iterate all instructions of the block. skip the first because it is always a label
600 assert(visitor.no_operands(instructions->at(0)), "first operation must always be a label");
803 // note: live_in has to be computed only in first iteration or if live_out has changed!
842 // check that the live_in set of the first block is empty
847 tty->print_cr("Error: live_in set of first block must be empty (when this fails, virtual registers are used before they are defined)");
871 assert(false, "live_in set of first block must be empty");
873 bailout("live_in set of first block not empty");
963 Range* r = interval->first();
965 // Update the starting point (when a range is first created for a use, its
1042 // This interval will always get a stack slot first, so return noUse.
1171 // it is split before the first use by the register allocator.
1190 assert(block_of_op_with_id(move->id())->number_of_preds() == 0, "move from stack must be in first block");
1352 // skip the first instruction because it is always a label
1354 assert(visitor.no_operands(instructions->at(0)), "first operation must always be a label");
1489 void LinearScan::add_to_list(Interval** first, Interval** prev, Interval* interval) {
1493 *first = interval;
1845 "no split allowed between exception entry and first instruction");
1886 // insert moves after first instruction
1988 // iterate all instructions of the block. skip the first because it is always a label
1989 assert(visitor.no_operands(ops->at(0)), "first operation must always be a label");
2437 // compute oop_map only for first CodeEmitInfo
2651 ScopeValue* first;
2662 first = new LocationValue(loc1);
2669 first = new LocationValue(loc1);
2676 first = new LocationValue(Location::new_reg_loc(Location::lng, rname_first));
2683 // lo/hi and swapped relative to first and second, so swap them
2689 first = new LocationValue(Location::new_reg_loc(Location::normal, rname_first));
2699 first = new LocationValue(Location::new_reg_loc(Location::dbl, rname_first));
2702 first = new LocationValue(Location::new_reg_loc(Location::normal, rname_first));
2716 // name for the other half. *first and *second must represent the
2746 first = new LocationValue(Location::new_reg_loc(Location::dbl, rname_first));
2749 first = new LocationValue(Location::new_reg_loc(Location::normal, rname_first));
2759 first = NULL;
2763 assert(first != NULL && second != NULL, "must be set");
2765 // holds the first raw word of the native double representation.
2771 scope_values->append(first);
2802 // Solution: use the first op_id of the branch target block instead.
2839 // process recursively to compute outermost scope first
3218 if (i1->first() == Range::end()) {
3223 for (Range* r = i1->first(); r != Range::end(); r = r->next()) {
3435 // setup input registers (method arguments) for first block
3837 assert(_insert_list != NULL && _insert_idx != -1, "must setup insert position first");
3856 assert(_insert_list != NULL && _insert_idx != -1, "must setup insert position first");
4146 // search the first split child that has a register assigned
4258 // Note: use positions are sorted descending -> first use has highest index
4339 assert(first() == Range::end() || to < first()->next()->from(), "not inserting at begin of interval");
4340 assert(from <= first()->to(), "not inserting at begin of interval");
4342 if (first()->from() <= to) {
4344 first()->set_from(MIN2(from, first()->from()));
4345 first()->set_to (MAX2(to, first()->to()));
4348 _first = new Range(from, to, first());
4363 assert(is_split_parent(), "list must be initialized at first split");
4404 assert(prev != NULL, "split before start of first range");
4449 // Currently, only the first range can be split, and the new interval
4454 assert(split_pos > _first->from() && split_pos <= _first->to(), "can only split inside first range");
4734 assert(any == Interval::end() || fixed == Interval::end() || any->from() != fixed->from() || kind == fixedKind, "if fixed and any-Interval start at same position, fixed must be processed first");
5588 // the first use of cur is later than the spilling position -> spill cur
5592 assert(false, "cannot spill interval that is used in first instruction (possible reason: no register found)");
5739 // activating an interval that has a stack slot assigned -> split it at first use position
5741 TRACE_LINEAR_SCAN(4, tty->print_cr(" interval has spill slot assigned (method parameter) -> split it before first use"));
5749 TRACE_LINEAR_SCAN(4, tty->print_cr(" interval must start in stack slot -> split it before first use"));
5803 // ignore the first block in the list (index 0 is not processed)
6075 // the header_block is the last block instead of the first block of the loop
6115 assert(instructions->at(0)->code() == lir_label, "first instruction must always be a label");
6134 assert(instructions->at(0)->code() == lir_label, "first instruction must always be a label");
6269 assert(cur_instructions->at(0)->code() == lir_label, "first instruction must always be a label");
6478 Range* range = cur->first();