| Index: src/compiler/register-allocator.cc
|
| diff --git a/src/compiler/register-allocator.cc b/src/compiler/register-allocator.cc
|
| index 6c67ff40d400e1e687764516f379b4b24aad0e64..88732f92ad511e54ea78a100cca7b68de2ab8e3f 100644
|
| --- a/src/compiler/register-allocator.cc
|
| +++ b/src/compiler/register-allocator.cc
|
| @@ -567,9 +567,7 @@ RegisterAllocator::RegisterAllocator(const RegisterConfiguration* config,
|
|
|
| void RegisterAllocator::InitializeLivenessAnalysis() {
|
| // Initialize the live_in sets for each block to NULL.
|
| - int block_count = code()->InstructionBlockCount();
|
| - live_in_sets_.Initialize(block_count, local_zone());
|
| - live_in_sets_.AddBlock(NULL, block_count, local_zone());
|
| + std::fill(live_in_sets_.begin(), live_in_sets_.end(), nullptr);
|
| }
|
|
|
|
|
| @@ -583,7 +581,7 @@ BitVector* RegisterAllocator::ComputeLiveOut(const InstructionBlock* block) {
|
| for (auto succ : block->successors()) {
|
| // Add values live on entry to the successor. Note the successor's
|
| // live_in will not be computed yet for backwards edges.
|
| - BitVector* live_in = live_in_sets_[static_cast<int>(succ.ToSize())];
|
| + BitVector* live_in = live_in_sets_[succ.ToSize()];
|
| if (live_in != NULL) live_out->Union(*live_in);
|
|
|
| // All phi input operands corresponding to this successor edge are live
|
| @@ -683,9 +681,8 @@ LiveRange* RegisterAllocator::FixedDoubleLiveRangeFor(int index) {
|
|
|
|
|
| LiveRange* RegisterAllocator::LiveRangeFor(int index) {
|
| - if (index >= live_ranges_.length()) {
|
| - live_ranges_.AddBlock(NULL, index - live_ranges_.length() + 1,
|
| - local_zone());
|
| + if (index >= static_cast<int>(live_ranges_.size())) {
|
| + live_ranges_.resize(index + 1, NULL);
|
| }
|
| LiveRange* result = live_ranges_[index];
|
| if (result == NULL) {
|
| @@ -1328,7 +1325,7 @@ const InstructionBlock* RegisterAllocator::GetInstructionBlock(
|
|
|
|
|
| void RegisterAllocator::ConnectRanges() {
|
| - for (int i = 0; i < live_ranges().length(); ++i) {
|
| + for (size_t i = 0; i < live_ranges().size(); ++i) {
|
| LiveRange* first_range = live_ranges().at(i);
|
| if (first_range == NULL || first_range->parent() != NULL) continue;
|
|
|
| @@ -1474,7 +1471,7 @@ class LiveRangeFinder {
|
| public:
|
| explicit LiveRangeFinder(const RegisterAllocator& allocator)
|
| : allocator_(allocator),
|
| - bounds_length_(allocator.live_ranges().length()),
|
| + bounds_length_(static_cast<int>(allocator.live_ranges().size())),
|
| bounds_(allocator.local_zone()->NewArray<LiveRangeBoundArray>(
|
| bounds_length_)) {
|
| for (int i = 0; i < bounds_length_; ++i) {
|
| @@ -1645,7 +1642,7 @@ void RegisterAllocator::BuildLiveRanges() {
|
| }
|
| }
|
|
|
| - for (int i = 0; i < live_ranges_.length(); ++i) {
|
| + for (size_t i = 0; i < live_ranges_.size(); ++i) {
|
| if (live_ranges_[i] != NULL) {
|
| live_ranges_[i]->kind_ = RequiredRegisterKind(live_ranges_[i]->id());
|
|
|
| @@ -1715,7 +1712,7 @@ void RegisterAllocator::PopulatePointerMaps() {
|
| int last_range_start = 0;
|
| const PointerMapDeque* pointer_maps = code()->pointer_maps();
|
| PointerMapDeque::const_iterator first_it = pointer_maps->begin();
|
| - for (int range_idx = 0; range_idx < live_ranges().length(); ++range_idx) {
|
| + for (size_t range_idx = 0; range_idx < live_ranges().size(); ++range_idx) {
|
| LiveRange* range = live_ranges().at(range_idx);
|
| if (range == NULL) continue;
|
| // Iterate over the first parts of multi-part live ranges.
|
| @@ -1806,7 +1803,7 @@ void RegisterAllocator::AllocateDoubleRegisters() {
|
| void RegisterAllocator::AllocateRegisters() {
|
| DCHECK(unhandled_live_ranges_.is_empty());
|
|
|
| - for (int i = 0; i < live_ranges_.length(); ++i) {
|
| + for (size_t i = 0; i < live_ranges_.size(); ++i) {
|
| if (live_ranges_[i] != NULL) {
|
| if (live_ranges_[i]->Kind() == mode_) {
|
| AddToUnhandledUnsorted(live_ranges_[i]);
|
|
|