OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_HEAP_INCREMENTAL_MARKING_H_ | 5 #ifndef V8_HEAP_INCREMENTAL_MARKING_H_ |
6 #define V8_HEAP_INCREMENTAL_MARKING_H_ | 6 #define V8_HEAP_INCREMENTAL_MARKING_H_ |
7 | 7 |
8 | 8 |
9 #include "src/execution.h" | 9 #include "src/execution.h" |
10 #include "src/heap/mark-compact.h" | 10 #include "src/heap/mark-compact.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 inline void SetOldSpacePageFlags(MemoryChunk* chunk) { | 139 inline void SetOldSpacePageFlags(MemoryChunk* chunk) { |
140 SetOldSpacePageFlags(chunk, IsMarking(), IsCompacting()); | 140 SetOldSpacePageFlags(chunk, IsMarking(), IsCompacting()); |
141 } | 141 } |
142 | 142 |
143 inline void SetNewSpacePageFlags(NewSpacePage* chunk) { | 143 inline void SetNewSpacePageFlags(NewSpacePage* chunk) { |
144 SetNewSpacePageFlags(chunk, IsMarking()); | 144 SetNewSpacePageFlags(chunk, IsMarking()); |
145 } | 145 } |
146 | 146 |
147 MarkingDeque* marking_deque() { return &marking_deque_; } | 147 MarkingDeque* marking_deque() { return &marking_deque_; } |
148 | 148 |
| 149 bool IsMarkingDequeEmpty() { return marking_deque_.IsEmpty(); } |
| 150 |
149 bool IsCompacting() { return IsMarking() && is_compacting_; } | 151 bool IsCompacting() { return IsMarking() && is_compacting_; } |
150 | 152 |
151 void ActivateGeneratedStub(Code* stub); | 153 void ActivateGeneratedStub(Code* stub); |
152 | 154 |
153 void NotifyOfHighPromotionRate() { | 155 void NotifyOfHighPromotionRate() { |
154 if (IsMarking()) { | 156 if (IsMarking()) { |
155 if (marking_speed_ < kFastMarking) { | 157 if (marking_speed_ < kFastMarking) { |
156 if (FLAG_trace_gc) { | 158 if (FLAG_trace_gc) { |
157 PrintPID( | 159 PrintPID( |
158 "Increasing marking speed to %d " | 160 "Increasing marking speed to %d " |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 int no_marking_scope_depth_; | 235 int no_marking_scope_depth_; |
234 | 236 |
235 int unscanned_bytes_of_large_object_; | 237 int unscanned_bytes_of_large_object_; |
236 | 238 |
237 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 239 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
238 }; | 240 }; |
239 } | 241 } |
240 } // namespace v8::internal | 242 } // namespace v8::internal |
241 | 243 |
242 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 244 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |