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" |
11 #include "src/objects.h" | 11 #include "src/objects.h" |
12 | 12 |
13 namespace v8 { | 13 namespace v8 { |
14 namespace internal { | 14 namespace internal { |
15 | 15 |
16 // Forward declarations. | 16 // Forward declarations. |
17 class MarkBit; | 17 class MarkBit; |
18 class PagedSpace; | 18 class PagedSpace; |
19 class IncrementalMarking; | |
20 class InlineAllocationObserver; | |
Hannes Payer (out of office)
2015/10/22 09:14:14
alphabetic order
ofrobots
2015/10/26 21:55:01
Done.
| |
19 | 21 |
20 class IncrementalMarking { | 22 class IncrementalMarking { |
21 public: | 23 public: |
22 enum State { STOPPED, SWEEPING, MARKING, COMPLETE }; | 24 enum State { STOPPED, SWEEPING, MARKING, COMPLETE }; |
23 | 25 |
24 enum CompletionAction { GC_VIA_STACK_GUARD, NO_GC_VIA_STACK_GUARD }; | 26 enum CompletionAction { GC_VIA_STACK_GUARD, NO_GC_VIA_STACK_GUARD }; |
25 | 27 |
26 enum ForceMarkingAction { FORCE_MARKING, DO_NOT_FORCE_MARKING }; | 28 enum ForceMarkingAction { FORCE_MARKING, DO_NOT_FORCE_MARKING }; |
27 | 29 |
28 enum ForceCompletionAction { FORCE_COMPLETION, DO_NOT_FORCE_COMPLETION }; | 30 enum ForceCompletionAction { FORCE_COMPLETION, DO_NOT_FORCE_COMPLETION }; |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
239 INLINE(void ProcessMarkingDeque()); | 241 INLINE(void ProcessMarkingDeque()); |
240 | 242 |
241 INLINE(intptr_t ProcessMarkingDeque(intptr_t bytes_to_process)); | 243 INLINE(intptr_t ProcessMarkingDeque(intptr_t bytes_to_process)); |
242 | 244 |
243 INLINE(void VisitObject(Map* map, HeapObject* obj, int size)); | 245 INLINE(void VisitObject(Map* map, HeapObject* obj, int size)); |
244 | 246 |
245 void IncrementIdleMarkingDelayCounter(); | 247 void IncrementIdleMarkingDelayCounter(); |
246 | 248 |
247 Heap* heap_; | 249 Heap* heap_; |
248 | 250 |
251 InlineAllocationObserver* observer_; | |
252 | |
249 State state_; | 253 State state_; |
250 bool is_compacting_; | 254 bool is_compacting_; |
251 | 255 |
252 int steps_count_; | 256 int steps_count_; |
253 int64_t old_generation_space_available_at_start_of_incremental_; | 257 int64_t old_generation_space_available_at_start_of_incremental_; |
254 int64_t old_generation_space_used_at_start_of_incremental_; | 258 int64_t old_generation_space_used_at_start_of_incremental_; |
255 int64_t bytes_rescanned_; | 259 int64_t bytes_rescanned_; |
256 bool should_hurry_; | 260 bool should_hurry_; |
257 int marking_speed_; | 261 int marking_speed_; |
258 intptr_t bytes_scanned_; | 262 intptr_t bytes_scanned_; |
(...skipping 14 matching lines...) Expand all Loading... | |
273 GCRequestType request_type_; | 277 GCRequestType request_type_; |
274 | 278 |
275 IncrementalMarkingJob incremental_marking_job_; | 279 IncrementalMarkingJob incremental_marking_job_; |
276 | 280 |
277 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 281 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
278 }; | 282 }; |
279 } // namespace internal | 283 } // namespace internal |
280 } // namespace v8 | 284 } // namespace v8 |
281 | 285 |
282 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 286 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |