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_MARK_COMPACT_H_ | 5 #ifndef V8_HEAP_MARK_COMPACT_H_ |
6 #define V8_HEAP_MARK_COMPACT_H_ | 6 #define V8_HEAP_MARK_COMPACT_H_ |
7 | 7 |
8 #include "src/base/bits.h" | 8 #include "src/base/bits.h" |
9 #include "src/heap/spaces.h" | 9 #include "src/heap/spaces.h" |
10 | 10 |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 SWEEP_SPACES, | 771 SWEEP_SPACES, |
772 ENCODE_FORWARDING_ADDRESSES, | 772 ENCODE_FORWARDING_ADDRESSES, |
773 UPDATE_POINTERS, | 773 UPDATE_POINTERS, |
774 RELOCATE_OBJECTS | 774 RELOCATE_OBJECTS |
775 }; | 775 }; |
776 | 776 |
777 // The current stage of the collector. | 777 // The current stage of the collector. |
778 CollectorState state_; | 778 CollectorState state_; |
779 #endif | 779 #endif |
780 | 780 |
781 bool reduce_memory_footprint_; | 781 // The following flags are controlled via {SetFlags} by the caller, it has to |
782 | 782 // be called before {Prepare} to take effect. |
783 bool abort_incremental_marking_; | 783 bool reduce_memory_footprint_; // Heap::kReduceMemoryFootprintMask |
784 | 784 bool abort_incremental_marking_; // Heap::kAbortIncrementalMarkingMask |
785 bool finalize_incremental_marking_; | 785 bool finalize_incremental_marking_; // Heap::kFinalizeIncrementalMarkingMask |
786 | 786 |
787 MarkingParity marking_parity_; | 787 MarkingParity marking_parity_; |
788 | 788 |
789 // True if we are collecting slots to perform evacuation from evacuation | 789 // True if we are collecting slots to perform evacuation from evacuation |
790 // candidates. | 790 // candidates. |
791 bool compacting_; | 791 bool compacting_; |
792 | 792 |
793 bool was_marked_incrementally_; | |
794 | |
795 // True if concurrent or parallel sweeping is currently in progress. | 793 // True if concurrent or parallel sweeping is currently in progress. |
796 bool sweeping_in_progress_; | 794 bool sweeping_in_progress_; |
797 | 795 |
798 base::Semaphore pending_sweeper_jobs_semaphore_; | 796 base::Semaphore pending_sweeper_jobs_semaphore_; |
799 | 797 |
800 bool evacuation_; | 798 bool evacuation_; |
801 | 799 |
802 SlotsBufferAllocator slots_buffer_allocator_; | 800 SlotsBufferAllocator slots_buffer_allocator_; |
803 | 801 |
804 SlotsBuffer* migration_slots_buffer_; | 802 SlotsBuffer* migration_slots_buffer_; |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1036 private: | 1034 private: |
1037 MarkCompactCollector* collector_; | 1035 MarkCompactCollector* collector_; |
1038 }; | 1036 }; |
1039 | 1037 |
1040 | 1038 |
1041 const char* AllocationSpaceName(AllocationSpace space); | 1039 const char* AllocationSpaceName(AllocationSpace space); |
1042 } | 1040 } |
1043 } // namespace v8::internal | 1041 } // namespace v8::internal |
1044 | 1042 |
1045 #endif // V8_HEAP_MARK_COMPACT_H_ | 1043 #endif // V8_HEAP_MARK_COMPACT_H_ |
OLD | NEW |