Home | History | Annotate | Download | only in src

Lines Matching refs:End

90            cur->pos().Value() <= End().Value());
310 // end of a lifetime hole). Use at this position should be attributed to
373 ASSERT(start.Value() < first_interval_->end().Value());
379 LifetimePosition end,
384 end.Value());
385 LifetimePosition new_end = end;
387 first_interval_->start().Value() <= end.Value()) {
388 if (first_interval_->end().Value() > end.Value()) {
389 new_end = first_interval_->end();
404 LifetimePosition end,
409 end.Value());
411 UseInterval* interval = new(zone) UseInterval(start, end);
415 if (end.Value() == first_interval_->start().Value()) {
417 } else if (end.Value() < first_interval_->start().Value()) {
418 UseInterval* interval = new(zone) UseInterval(start, end);
425 ASSERT(start.Value() < first_interval_->end().Value());
427 first_interval_->end_ = Max(end, first_interval_->end_);
469 use_pos->pos().Value() <= End().Value());
484 position.Value() < End().Value();
510 if (a->start().Value() > other->End().Value()) break;
511 if (b->start().Value() > End().Value()) break;
518 if (a == NULL || a->start().Value() > other->End().Value()) break;
562 for (HSuccessorIterator it(block->end()); !it.Done(); it.Advance()) {
591 LifetimePosition end = LifetimePosition::FromInstructionIndex(
597 range->AddUseInterval(start, end, zone());
769 int end = block->last_instruction_index();
771 for (int i = start; i <= end; ++i) {
775 if (i < end) instr = InstructionAt(i + 1);
823 // the instruction end.
843 // The live range of writable input registers always goes until the end
1163 ASSERT(pred->end()->SecondSuccessor() == NULL);
1197 pos.IsInstructionStart() ? LGap::START : LGap::END, chunk()->zone());
1224 if (first_range->End().Value() == pos.Value()) {
1334 LifetimePosition end = LifetimePosition::FromInstructionIndex(
1339 range->EnsureInterval(start, end, zone());
1416 int end = 0;
1418 LifetimePosition this_end = cur->End();
1419 if (this_end.InstructionIndex() > end) end = this_end.InstructionIndex();
1448 if (safe_point - 1 > end) break;
1569 if (cur_active->End().Value() <= position.Value()) {
1580 if (cur_inactive->End().Value() <= position.Value()) {
1683 TraceAlloc("Add live range %d to unhandled unsorted at end\n", range->id());
1698 // at the end of the array list. This is convenient for the register allocation
1699 // algorithm because it is efficient to remove elements from the end.
1732 if (reusable_slots_.first()->End().Value() >
1795 ASSERT(cur_inactive->End().Value() > current->Start().Value());
1807 "Found reg hint %s (free until [%d) for live range %d (end %d[).\n",
1811 current->End().Value());
1813 // The desired register is free until the end of the current live range.
1814 if (free_until_pos[register_index].Value() >= current->End().Value()) {
1838 if (pos.Value() < current->End().Value()) {
1840 // the range end. Split current at position where it becomes blocked.
1848 // the range end.
1849 ASSERT(pos.Value() >= current->End().Value());
1886 use_pos[cur_reg] = range->End();
1895 ASSERT(range->End().Value() > current->Start().Value());
1923 if (block_pos[reg].Value() < current->End().Value()) {
1924 // Register becomes blocked before the current range end. Split before that
1934 ASSERT(block_pos[reg].Value() >= current->End().Value());
1999 // current live-range is larger than their end.
2010 ASSERT(range->End().Value() > current->Start().Value());
2042 // We can't properly connect liveranges if split occured at the end
2057 LifetimePosition end) {
2062 end.Value());
2064 LifetimePosition split_pos = FindOptimalSplitPos(start, end);
2071 LifetimePosition end) {
2073 int end_instr = end.InstructionIndex();
2077 if (start_instr == end_instr) return end;
2080 HBasicBlock* end_block = GetBlock(end);
2085 return end;
2097 if (block == end_block && !end_block->IsLoopHeader()) return end;
2113 LifetimePosition end) {
2114 SpillBetweenUntil(range, start, start, end);
2121 LifetimePosition end) {
2122 CHECK(start.Value() < end.Value());
2126 if (second_part->Start().Value() < end.Value()) {
2127 // The split result intersects with [start, end[.
2128 // Split it at position between ]start+1, end[, spill the middle part
2133 end.PrevInstruction().InstructionEnd());
2141 // The split result does not intersect with [start, end[.