Lines Matching defs:free_until
709 static void FreeIfNotCoverAt(LiveInterval* interval, size_t position, size_t* free_until) {
712 // so `free_until` may have changed already.
717 free_until[interval->GetRegister()] = kMaxLifetimePosition;
720 free_until[interval->GetHighInterval()->GetRegister()] = kMaxLifetimePosition;
725 free_until[interval->GetRegister()] = interval->FirstUseAfter(position);
728 free_until[interval->GetHighInterval()->GetRegister()] = free_until[interval->GetRegister()];
736 size_t* free_until = registers_array_;
740 free_until[i] = kMaxLifetimePosition;
746 free_until[interval->GetRegister()] = 0;
771 FreeIfNotCoverAt(interval, position, free_until);
792 if (free_until[inactive->GetRegister()] == 0) {
798 free_until[inactive->GetRegister()] =
799 std::min(free_until[inactive->GetRegister()], next_intersection);
807 if (free_until[reg] == 0) {
814 int hint = current->FindFirstRegisterHint(free_until, liveness_);
822 reg = FindAvailableRegisterPair(free_until, current->GetStart());
824 reg = FindAvailableRegister(free_until, current);
830 if (free_until[reg] == 0) {
840 if (free_until[high_reg] == 0) {
846 if (!current->IsDeadAt(free_until[reg])) {
850 LiveInterval* split = SplitBetween(current, current->GetStart(), free_until[reg]);