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 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 class GCIdleTimeAction; | 441 class GCIdleTimeAction; |
442 class GCIdleTimeHandler; | 442 class GCIdleTimeHandler; |
443 class GCIdleTimeHeapState; | 443 class GCIdleTimeHeapState; |
444 class GCTracer; | 444 class GCTracer; |
445 class HeapObjectsFilter; | 445 class HeapObjectsFilter; |
446 class HeapStats; | 446 class HeapStats; |
447 class HistogramTimer; | 447 class HistogramTimer; |
448 class Isolate; | 448 class Isolate; |
449 class MemoryReducer; | 449 class MemoryReducer; |
450 class ObjectStats; | 450 class ObjectStats; |
| 451 class PostMortem; |
451 class Scavenger; | 452 class Scavenger; |
452 class ScavengeJob; | 453 class ScavengeJob; |
453 class WeakObjectRetainer; | 454 class WeakObjectRetainer; |
454 | 455 |
455 | 456 |
456 // A queue of objects promoted during scavenge. Each object is accompanied | 457 // A queue of objects promoted during scavenge. Each object is accompanied |
457 // by it's size to avoid dereferencing a map pointer for scanning. | 458 // by it's size to avoid dereferencing a map pointer for scanning. |
458 // The last page in to-space is used for the promotion queue. On conflict | 459 // The last page in to-space is used for the promotion queue. On conflict |
459 // during scavenge, the promotion queue is allocated externally and all | 460 // during scavenge, the promotion queue is allocated externally and all |
460 // entries are copied to the external queue. | 461 // entries are copied to the external queue. |
(...skipping 1905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2366 | 2367 |
2367 // The allocator interface. | 2368 // The allocator interface. |
2368 friend class Factory; | 2369 friend class Factory; |
2369 | 2370 |
2370 // The Isolate constructs us. | 2371 // The Isolate constructs us. |
2371 friend class Isolate; | 2372 friend class Isolate; |
2372 | 2373 |
2373 // Used in cctest. | 2374 // Used in cctest. |
2374 friend class HeapTester; | 2375 friend class HeapTester; |
2375 | 2376 |
| 2377 // Used in postmortem. |
| 2378 friend class PostMortem; |
| 2379 |
2376 DISALLOW_COPY_AND_ASSIGN(Heap); | 2380 DISALLOW_COPY_AND_ASSIGN(Heap); |
2377 }; | 2381 }; |
2378 | 2382 |
2379 | 2383 |
2380 class HeapStats { | 2384 class HeapStats { |
2381 public: | 2385 public: |
2382 static const int kStartMarker = 0xDECADE00; | 2386 static const int kStartMarker = 0xDECADE00; |
2383 static const int kEndMarker = 0xDECADE01; | 2387 static const int kEndMarker = 0xDECADE01; |
2384 | 2388 |
2385 int* start_marker; // 0 | 2389 int* start_marker; // 0 |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2720 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2724 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2721 | 2725 |
2722 private: | 2726 private: |
2723 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2727 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2724 }; | 2728 }; |
2725 #endif // DEBUG | 2729 #endif // DEBUG |
2726 } // namespace internal | 2730 } // namespace internal |
2727 } // namespace v8 | 2731 } // namespace v8 |
2728 | 2732 |
2729 #endif // V8_HEAP_HEAP_H_ | 2733 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |