OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef V8_LIVE_RANGE_SEPARATOR_H_ | 5 #ifndef V8_LIVE_RANGE_SEPARATOR_H_ |
6 #define V8_LIVE_RANGE_SEPARATOR_H_ | 6 #define V8_LIVE_RANGE_SEPARATOR_H_ |
7 | 7 |
8 | 8 |
9 #include <src/zone.h> | 9 #include <src/zone.h> |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 29 matching lines...) Expand all Loading... |
40 public: | 40 public: |
41 LiveRangeMerger(RegisterAllocationData* data, Zone* zone) | 41 LiveRangeMerger(RegisterAllocationData* data, Zone* zone) |
42 : data_(data), zone_(zone) {} | 42 : data_(data), zone_(zone) {} |
43 | 43 |
44 void Merge(); | 44 void Merge(); |
45 | 45 |
46 private: | 46 private: |
47 RegisterAllocationData* data() const { return data_; } | 47 RegisterAllocationData* data() const { return data_; } |
48 Zone* zone() const { return zone_; } | 48 Zone* zone() const { return zone_; } |
49 | 49 |
| 50 // Mark ranges spilled in deferred blocks, that also cover non-deferred code. |
| 51 // We do nothing special for ranges fully contained in deferred blocks, |
| 52 // because they would "spill in deferred blocks" anyway. |
| 53 void MarkRangesSpilledInDeferredBlocks(); |
| 54 |
50 RegisterAllocationData* const data_; | 55 RegisterAllocationData* const data_; |
51 Zone* const zone_; | 56 Zone* const zone_; |
52 | 57 |
53 DISALLOW_COPY_AND_ASSIGN(LiveRangeMerger); | 58 DISALLOW_COPY_AND_ASSIGN(LiveRangeMerger); |
54 }; | 59 }; |
55 | 60 |
56 | 61 |
57 } // namespace compiler | 62 } // namespace compiler |
58 } // namespace internal | 63 } // namespace internal |
59 } // namespace v8 | 64 } // namespace v8 |
60 #endif // V8_LIVE_RANGE_SEPARATOR_H_ | 65 #endif // V8_LIVE_RANGE_SEPARATOR_H_ |
OLD | NEW |