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 |