| 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 |