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

Side by Side Diff: src/heap/heap.h

Issue 2728363002: [heap] Implement concurrent marking boilerplate. (Closed)
Patch Set: Add missing test file Created 3 years, 9 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_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 #include <map> 9 #include <map>
10 10
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 V(InfinityValue) \ 311 V(InfinityValue) \
312 V(MinusZeroValue) \ 312 V(MinusZeroValue) \
313 V(MinusInfinityValue) \ 313 V(MinusInfinityValue) \
314 V(EmptyWeakCell) \ 314 V(EmptyWeakCell) \
315 V(empty_string) \ 315 V(empty_string) \
316 PRIVATE_SYMBOL_LIST(V) 316 PRIVATE_SYMBOL_LIST(V)
317 317
318 // Forward declarations. 318 // Forward declarations.
319 class AllocationObserver; 319 class AllocationObserver;
320 class ArrayBufferTracker; 320 class ArrayBufferTracker;
321 class ConcurrentMarking;
321 class GCIdleTimeAction; 322 class GCIdleTimeAction;
322 class GCIdleTimeHandler; 323 class GCIdleTimeHandler;
323 class GCIdleTimeHeapState; 324 class GCIdleTimeHeapState;
324 class GCTracer; 325 class GCTracer;
325 class HeapObjectsFilter; 326 class HeapObjectsFilter;
326 class HeapStats; 327 class HeapStats;
327 class HistogramTimer; 328 class HistogramTimer;
328 class Isolate; 329 class Isolate;
329 class LocalEmbedderHeapTracer; 330 class LocalEmbedderHeapTracer;
330 class MemoryAllocator; 331 class MemoryAllocator;
(...skipping 1952 matching lines...) Expand 10 before | Expand all | Expand 10 after
2283 2284
2284 Scavenger* scavenge_collector_; 2285 Scavenger* scavenge_collector_;
2285 2286
2286 MarkCompactCollector* mark_compact_collector_; 2287 MarkCompactCollector* mark_compact_collector_;
2287 2288
2288 MemoryAllocator* memory_allocator_; 2289 MemoryAllocator* memory_allocator_;
2289 2290
2290 StoreBuffer* store_buffer_; 2291 StoreBuffer* store_buffer_;
2291 2292
2292 IncrementalMarking* incremental_marking_; 2293 IncrementalMarking* incremental_marking_;
2294 ConcurrentMarking* concurrent_marking_;
2293 2295
2294 GCIdleTimeHandler* gc_idle_time_handler_; 2296 GCIdleTimeHandler* gc_idle_time_handler_;
2295 2297
2296 MemoryReducer* memory_reducer_; 2298 MemoryReducer* memory_reducer_;
2297 2299
2298 ObjectStats* live_object_stats_; 2300 ObjectStats* live_object_stats_;
2299 ObjectStats* dead_object_stats_; 2301 ObjectStats* dead_object_stats_;
2300 2302
2301 ScavengeJob* scavenge_job_; 2303 ScavengeJob* scavenge_job_;
2302 2304
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2366 bool fast_promotion_mode_; 2368 bool fast_promotion_mode_;
2367 2369
2368 // Used for testing purposes. 2370 // Used for testing purposes.
2369 bool force_oom_; 2371 bool force_oom_;
2370 bool delay_sweeper_tasks_for_testing_; 2372 bool delay_sweeper_tasks_for_testing_;
2371 2373
2372 HeapObject* pending_layout_change_object_; 2374 HeapObject* pending_layout_change_object_;
2373 2375
2374 // Classes in "heap" can be friends. 2376 // Classes in "heap" can be friends.
2375 friend class AlwaysAllocateScope; 2377 friend class AlwaysAllocateScope;
2378 friend class ConcurrentMarking;
2376 friend class GCCallbacksScope; 2379 friend class GCCallbacksScope;
2377 friend class GCTracer; 2380 friend class GCTracer;
2378 friend class HeapIterator; 2381 friend class HeapIterator;
2379 friend class IdleScavengeObserver; 2382 friend class IdleScavengeObserver;
2380 friend class IncrementalMarking; 2383 friend class IncrementalMarking;
2381 friend class IncrementalMarkingJob; 2384 friend class IncrementalMarkingJob;
2382 friend class LargeObjectSpace; 2385 friend class LargeObjectSpace;
2383 friend class MarkCompactCollector; 2386 friend class MarkCompactCollector;
2384 friend class MarkCompactMarkingVisitor; 2387 friend class MarkCompactMarkingVisitor;
2385 friend class NewSpace; 2388 friend class NewSpace;
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
2616 friend class LargeObjectSpace; 2619 friend class LargeObjectSpace;
2617 friend class NewSpace; 2620 friend class NewSpace;
2618 friend class PagedSpace; 2621 friend class PagedSpace;
2619 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); 2622 DISALLOW_COPY_AND_ASSIGN(AllocationObserver);
2620 }; 2623 };
2621 2624
2622 } // namespace internal 2625 } // namespace internal
2623 } // namespace v8 2626 } // namespace v8
2624 2627
2625 #endif // V8_HEAP_HEAP_H_ 2628 #endif // V8_HEAP_HEAP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698