| 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_MARK_COMPACT_H_ | 5 #ifndef V8_MARK_COMPACT_H_ |
| 6 #define V8_MARK_COMPACT_H_ | 6 #define V8_MARK_COMPACT_H_ |
| 7 | 7 |
| 8 #include "compiler-intrinsics.h" | 8 #include "compiler-intrinsics.h" |
| 9 #include "spaces.h" | 9 #include "spaces.h" |
| 10 | 10 |
| (...skipping 884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 895 void MoveEvacuationCandidatesToEndOfPagesList(); | 895 void MoveEvacuationCandidatesToEndOfPagesList(); |
| 896 | 896 |
| 897 void SweepSpace(PagedSpace* space, SweeperType sweeper); | 897 void SweepSpace(PagedSpace* space, SweeperType sweeper); |
| 898 | 898 |
| 899 // Finalizes the parallel sweeping phase. Marks all the pages that were | 899 // Finalizes the parallel sweeping phase. Marks all the pages that were |
| 900 // swept in parallel. | 900 // swept in parallel. |
| 901 void ParallelSweepSpacesComplete(); | 901 void ParallelSweepSpacesComplete(); |
| 902 | 902 |
| 903 void ParallelSweepSpaceComplete(PagedSpace* space); | 903 void ParallelSweepSpaceComplete(PagedSpace* space); |
| 904 | 904 |
| 905 // Updates store buffer and slot buffer for a pointer in a migrating object. |
| 906 void RecordMigratedSlot(Object* value, Address slot); |
| 907 |
| 905 #ifdef DEBUG | 908 #ifdef DEBUG |
| 906 friend class MarkObjectVisitor; | 909 friend class MarkObjectVisitor; |
| 907 static void VisitObject(HeapObject* obj); | 910 static void VisitObject(HeapObject* obj); |
| 908 | 911 |
| 909 friend class UnmarkObjectVisitor; | 912 friend class UnmarkObjectVisitor; |
| 910 static void UnmarkObject(HeapObject* obj); | 913 static void UnmarkObject(HeapObject* obj); |
| 911 #endif | 914 #endif |
| 912 | 915 |
| 913 Heap* heap_; | 916 Heap* heap_; |
| 914 MarkingDeque marking_deque_; | 917 MarkingDeque marking_deque_; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 private: | 987 private: |
| 985 MarkCompactCollector* collector_; | 988 MarkCompactCollector* collector_; |
| 986 }; | 989 }; |
| 987 | 990 |
| 988 | 991 |
| 989 const char* AllocationSpaceName(AllocationSpace space); | 992 const char* AllocationSpaceName(AllocationSpace space); |
| 990 | 993 |
| 991 } } // namespace v8::internal | 994 } } // namespace v8::internal |
| 992 | 995 |
| 993 #endif // V8_MARK_COMPACT_H_ | 996 #endif // V8_MARK_COMPACT_H_ |
| OLD | NEW |