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