Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1051)

Side by Side Diff: src/heap/incremental-marking.h

Issue 1404523002: [heap] inline allocation steps refactor (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Use virtual functions instead of callbacks Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698