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_H_ | 5 #ifndef V8_HEAP_H_ |
6 #define V8_HEAP_H_ | 6 #define V8_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 1680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1691 static int GcSafeSizeOfOldObject(HeapObject* object); | 1691 static int GcSafeSizeOfOldObject(HeapObject* object); |
1692 | 1692 |
1693 // Update the GC state. Called from the mark-compact collector. | 1693 // Update the GC state. Called from the mark-compact collector. |
1694 void MarkMapPointersAsEncoded(bool encoded) { | 1694 void MarkMapPointersAsEncoded(bool encoded) { |
1695 ASSERT(!encoded); | 1695 ASSERT(!encoded); |
1696 gc_safe_size_of_old_object_ = &GcSafeSizeOfOldObject; | 1696 gc_safe_size_of_old_object_ = &GcSafeSizeOfOldObject; |
1697 } | 1697 } |
1698 | 1698 |
1699 // Code that should be run before and after each GC. Includes some | 1699 // Code that should be run before and after each GC. Includes some |
1700 // reporting/verification activities when compiled with DEBUG set. | 1700 // reporting/verification activities when compiled with DEBUG set. |
1701 void GarbageCollectionPrologue(); | 1701 void GarbageCollectionPrologue(GarbageCollector collector); |
1702 void GarbageCollectionEpilogue(); | 1702 void GarbageCollectionEpilogue(); |
1703 | 1703 |
1704 // Pretenuring decisions are made based on feedback collected during new | 1704 // Pretenuring decisions are made based on feedback collected during new |
1705 // space evacuation. Note that between feedback collection and calling this | 1705 // space evacuation. Note that between feedback collection and calling this |
1706 // method object in old space must not move. | 1706 // method object in old space must not move. |
1707 // Right now we only process pretenuring feedback in high promotion mode. | 1707 // Right now we only process pretenuring feedback in high promotion mode. |
1708 void ProcessPretenuringFeedback(); | 1708 void ProcessPretenuringFeedback(); |
1709 | 1709 |
1710 // Checks whether a global GC is necessary | 1710 // Checks whether a global GC is necessary |
1711 GarbageCollector SelectGarbageCollector(AllocationSpace space, | 1711 GarbageCollector SelectGarbageCollector(AllocationSpace space, |
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2780 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2780 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2781 | 2781 |
2782 private: | 2782 private: |
2783 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2783 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2784 }; | 2784 }; |
2785 #endif // DEBUG | 2785 #endif // DEBUG |
2786 | 2786 |
2787 } } // namespace v8::internal | 2787 } } // namespace v8::internal |
2788 | 2788 |
2789 #endif // V8_HEAP_H_ | 2789 #endif // V8_HEAP_H_ |
OLD | NEW |