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_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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 PRIVATE_SYMBOL_LIST(V) | 423 PRIVATE_SYMBOL_LIST(V) |
424 | 424 |
425 // Forward declarations. | 425 // Forward declarations. |
426 class ArrayBufferTracker; | 426 class ArrayBufferTracker; |
427 class GCIdleTimeAction; | 427 class GCIdleTimeAction; |
428 class GCIdleTimeHandler; | 428 class GCIdleTimeHandler; |
429 class GCIdleTimeHeapState; | 429 class GCIdleTimeHeapState; |
430 class GCTracer; | 430 class GCTracer; |
431 class HeapObjectsFilter; | 431 class HeapObjectsFilter; |
432 class HeapStats; | 432 class HeapStats; |
| 433 class HistogramTimer; |
433 class Isolate; | 434 class Isolate; |
434 class MemoryReducer; | 435 class MemoryReducer; |
435 class ObjectStats; | 436 class ObjectStats; |
436 class Scavenger; | 437 class Scavenger; |
437 class ScavengeJob; | 438 class ScavengeJob; |
438 class WeakObjectRetainer; | 439 class WeakObjectRetainer; |
439 | 440 |
440 | 441 |
441 // A queue of objects promoted during scavenge. Each object is accompanied | 442 // A queue of objects promoted during scavenge. Each object is accompanied |
442 // by it's size to avoid dereferencing a map pointer for scanning. | 443 // by it's size to avoid dereferencing a map pointer for scanning. |
(...skipping 1357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1800 | 1801 |
1801 void AddToRingBuffer(const char* string); | 1802 void AddToRingBuffer(const char* string); |
1802 void GetFromRingBuffer(char* buffer); | 1803 void GetFromRingBuffer(char* buffer); |
1803 | 1804 |
1804 // Attempt to over-approximate the weak closure by marking object groups and | 1805 // Attempt to over-approximate the weak closure by marking object groups and |
1805 // implicit references from global handles, but don't atomically complete | 1806 // implicit references from global handles, but don't atomically complete |
1806 // marking. If we continue to mark incrementally, we might have marked | 1807 // marking. If we continue to mark incrementally, we might have marked |
1807 // objects that die later. | 1808 // objects that die later. |
1808 void OverApproximateWeakClosure(const char* gc_reason); | 1809 void OverApproximateWeakClosure(const char* gc_reason); |
1809 | 1810 |
| 1811 // Returns the timer used for a given GC type. |
| 1812 // - GCScavenger: young generation GC |
| 1813 // - GCCompactor: full GC |
| 1814 // - GCFinalzeMC: finalization of incremental full GC |
| 1815 // - GCFinalizeMCReduceMemory: finalization of incremental full GC with |
| 1816 // memory reduction |
| 1817 HistogramTimer* GCTypeTimer(GarbageCollector collector); |
| 1818 |
1810 // =========================================================================== | 1819 // =========================================================================== |
1811 // Actual GC. ================================================================ | 1820 // Actual GC. ================================================================ |
1812 // =========================================================================== | 1821 // =========================================================================== |
1813 | 1822 |
1814 // Code that should be run before and after each GC. Includes some | 1823 // Code that should be run before and after each GC. Includes some |
1815 // reporting/verification activities when compiled with DEBUG set. | 1824 // reporting/verification activities when compiled with DEBUG set. |
1816 void GarbageCollectionPrologue(); | 1825 void GarbageCollectionPrologue(); |
1817 void GarbageCollectionEpilogue(); | 1826 void GarbageCollectionEpilogue(); |
1818 | 1827 |
1819 // Performs a major collection in the whole heap. | 1828 // Performs a major collection in the whole heap. |
(...skipping 891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2711 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2720 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2712 | 2721 |
2713 private: | 2722 private: |
2714 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2723 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2715 }; | 2724 }; |
2716 #endif // DEBUG | 2725 #endif // DEBUG |
2717 } // namespace internal | 2726 } // namespace internal |
2718 } // namespace v8 | 2727 } // namespace v8 |
2719 | 2728 |
2720 #endif // V8_HEAP_HEAP_H_ | 2729 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |