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 #include "src/cancelable-task.h" | 8 #include "src/cancelable-task.h" |
9 #include "src/execution.h" | 9 #include "src/execution.h" |
10 #include "src/heap/incremental-marking-job.h" | 10 #include "src/heap/incremental-marking-job.h" |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 | 234 |
235 void SpeedUp(); | 235 void SpeedUp(); |
236 | 236 |
237 void ResetStepCounters(); | 237 void ResetStepCounters(); |
238 | 238 |
239 void StartMarking(); | 239 void StartMarking(); |
240 | 240 |
241 void MarkRoots(); | 241 void MarkRoots(); |
242 void MarkObjectGroups(); | 242 void MarkObjectGroups(); |
243 void ProcessWeakCells(); | 243 void ProcessWeakCells(); |
| 244 // Retain dying maps for <FLAG_retain_maps_for_n_gc> garbage collections to |
| 245 // increase chances of reusing of map transition tree in future. |
| 246 void RetainMaps(); |
244 | 247 |
245 void ActivateIncrementalWriteBarrier(PagedSpace* space); | 248 void ActivateIncrementalWriteBarrier(PagedSpace* space); |
246 static void ActivateIncrementalWriteBarrier(NewSpace* space); | 249 static void ActivateIncrementalWriteBarrier(NewSpace* space); |
247 void ActivateIncrementalWriteBarrier(); | 250 void ActivateIncrementalWriteBarrier(); |
248 | 251 |
249 static void DeactivateIncrementalWriteBarrierForSpace(PagedSpace* space); | 252 static void DeactivateIncrementalWriteBarrierForSpace(PagedSpace* space); |
250 static void DeactivateIncrementalWriteBarrierForSpace(NewSpace* space); | 253 static void DeactivateIncrementalWriteBarrierForSpace(NewSpace* space); |
251 void DeactivateIncrementalWriteBarrier(); | 254 void DeactivateIncrementalWriteBarrier(); |
252 | 255 |
253 static void SetOldSpacePageFlags(MemoryChunk* chunk, bool is_marking, | 256 static void SetOldSpacePageFlags(MemoryChunk* chunk, bool is_marking, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 GCRequestType request_type_; | 297 GCRequestType request_type_; |
295 | 298 |
296 IncrementalMarkingJob incremental_marking_job_; | 299 IncrementalMarkingJob incremental_marking_job_; |
297 | 300 |
298 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 301 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
299 }; | 302 }; |
300 } // namespace internal | 303 } // namespace internal |
301 } // namespace v8 | 304 } // namespace v8 |
302 | 305 |
303 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 306 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |