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 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
787 // True if parallel compaction is currently in progress. | 787 // True if parallel compaction is currently in progress. |
788 bool compaction_in_progress_; | 788 bool compaction_in_progress_; |
789 | 789 |
790 // Semaphore used to synchronize sweeper tasks. | 790 // Semaphore used to synchronize sweeper tasks. |
791 base::Semaphore pending_sweeper_tasks_semaphore_; | 791 base::Semaphore pending_sweeper_tasks_semaphore_; |
792 | 792 |
793 // Semaphore used to synchronize compaction tasks. | 793 // Semaphore used to synchronize compaction tasks. |
794 base::Semaphore pending_compaction_tasks_semaphore_; | 794 base::Semaphore pending_compaction_tasks_semaphore_; |
795 | 795 |
796 friend class Heap; | 796 friend class Heap; |
797 friend class StoreBuffer; | |
Michael Lippautz
2015/12/04 10:48:57
This is needed because we otherwise would not be a
| |
797 }; | 798 }; |
798 | 799 |
799 | 800 |
800 class MarkBitCellIterator BASE_EMBEDDED { | 801 class MarkBitCellIterator BASE_EMBEDDED { |
801 public: | 802 public: |
802 explicit MarkBitCellIterator(MemoryChunk* chunk) : chunk_(chunk) { | 803 explicit MarkBitCellIterator(MemoryChunk* chunk) : chunk_(chunk) { |
803 last_cell_index_ = Bitmap::IndexToCell(Bitmap::CellAlignIndex( | 804 last_cell_index_ = Bitmap::IndexToCell(Bitmap::CellAlignIndex( |
804 chunk_->AddressToMarkbitIndex(chunk_->area_end()))); | 805 chunk_->AddressToMarkbitIndex(chunk_->area_end()))); |
805 cell_base_ = chunk_->area_start(); | 806 cell_base_ = chunk_->area_start(); |
806 cell_index_ = Bitmap::IndexToCell( | 807 cell_index_ = Bitmap::IndexToCell( |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
850 private: | 851 private: |
851 MarkCompactCollector* collector_; | 852 MarkCompactCollector* collector_; |
852 }; | 853 }; |
853 | 854 |
854 | 855 |
855 const char* AllocationSpaceName(AllocationSpace space); | 856 const char* AllocationSpaceName(AllocationSpace space); |
856 } // namespace internal | 857 } // namespace internal |
857 } // namespace v8 | 858 } // namespace v8 |
858 | 859 |
859 #endif // V8_HEAP_MARK_COMPACT_H_ | 860 #endif // V8_HEAP_MARK_COMPACT_H_ |
OLD | NEW |