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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 void LeaveNoMarkingScope() { no_marking_scope_depth_--; } | 182 void LeaveNoMarkingScope() { no_marking_scope_depth_--; } |
183 | 183 |
184 void NotifyIncompleteScanOfObject(int unscanned_bytes) { | 184 void NotifyIncompleteScanOfObject(int unscanned_bytes) { |
185 unscanned_bytes_of_large_object_ = unscanned_bytes; | 185 unscanned_bytes_of_large_object_ = unscanned_bytes; |
186 } | 186 } |
187 | 187 |
188 void ClearIdleMarkingDelayCounter(); | 188 void ClearIdleMarkingDelayCounter(); |
189 | 189 |
190 bool IsIdleMarkingDelayCounterLimitReached(); | 190 bool IsIdleMarkingDelayCounterLimitReached(); |
191 | 191 |
| 192 // Creates a visitor for marking roots using this incremental marking |
| 193 // instance. Caller takes ownership. |
| 194 ObjectVisitor* CreateRootMarkingVisitor(); |
| 195 |
192 private: | 196 private: |
193 int64_t SpaceLeftInOldSpace(); | 197 int64_t SpaceLeftInOldSpace(); |
194 | 198 |
195 void SpeedUp(); | 199 void SpeedUp(); |
196 | 200 |
197 void ResetStepCounters(); | 201 void ResetStepCounters(); |
198 | 202 |
199 void StartMarking(CompactionFlag flag); | 203 void StartMarking(CompactionFlag flag); |
200 | 204 |
201 void ActivateIncrementalWriteBarrier(PagedSpace* space); | 205 void ActivateIncrementalWriteBarrier(PagedSpace* space); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 bool weak_closure_was_overapproximated_; | 248 bool weak_closure_was_overapproximated_; |
245 | 249 |
246 GCRequestType request_type_; | 250 GCRequestType request_type_; |
247 | 251 |
248 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 252 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
249 }; | 253 }; |
250 } | 254 } |
251 } // namespace v8::internal | 255 } // namespace v8::internal |
252 | 256 |
253 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 257 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |