OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/linkage.h" | 5 #include "src/compiler/linkage.h" |
6 #include "src/compiler/register-allocator.h" | 6 #include "src/compiler/register-allocator.h" |
7 #include "src/string-stream.h" | 7 #include "src/string-stream.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 1496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1507 | 1507 |
1508 class LiveRangeBoundArray { | 1508 class LiveRangeBoundArray { |
1509 public: | 1509 public: |
1510 LiveRangeBoundArray() : length_(0), start_(nullptr) {} | 1510 LiveRangeBoundArray() : length_(0), start_(nullptr) {} |
1511 | 1511 |
1512 bool ShouldInitialize() { return start_ == nullptr; } | 1512 bool ShouldInitialize() { return start_ == nullptr; } |
1513 | 1513 |
1514 void Initialize(Zone* zone, const LiveRange* const range) { | 1514 void Initialize(Zone* zone, const LiveRange* const range) { |
1515 size_t length = 0; | 1515 size_t length = 0; |
1516 for (auto i = range; i != nullptr; i = i->next()) length++; | 1516 for (auto i = range; i != nullptr; i = i->next()) length++; |
1517 start_ = zone->NewArray<LiveRangeBound>(static_cast<int>(length)); | 1517 start_ = zone->NewArray<LiveRangeBound>(length); |
1518 length_ = length; | 1518 length_ = length; |
1519 auto curr = start_; | 1519 auto curr = start_; |
1520 for (auto i = range; i != nullptr; i = i->next(), ++curr) { | 1520 for (auto i = range; i != nullptr; i = i->next(), ++curr) { |
1521 new (curr) LiveRangeBound(i); | 1521 new (curr) LiveRangeBound(i); |
1522 } | 1522 } |
1523 } | 1523 } |
1524 | 1524 |
1525 LiveRangeBound* Find(const LifetimePosition position) const { | 1525 LiveRangeBound* Find(const LifetimePosition position) const { |
1526 size_t left_index = 0; | 1526 size_t left_index = 0; |
1527 size_t right_index = length_; | 1527 size_t right_index = length_; |
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2504 } else { | 2504 } else { |
2505 DCHECK(range->Kind() == GENERAL_REGISTERS); | 2505 DCHECK(range->Kind() == GENERAL_REGISTERS); |
2506 assigned_registers_->Add(reg); | 2506 assigned_registers_->Add(reg); |
2507 } | 2507 } |
2508 range->set_assigned_register(reg, operand_cache()); | 2508 range->set_assigned_register(reg, operand_cache()); |
2509 } | 2509 } |
2510 | 2510 |
2511 } // namespace compiler | 2511 } // namespace compiler |
2512 } // namespace internal | 2512 } // namespace internal |
2513 } // namespace v8 | 2513 } // namespace v8 |
OLD | NEW |