| 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 <deque> | 8 #include <deque> |
| 9 | 9 |
| 10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 | 424 |
| 425 void AddEvacuationCandidate(Page* p); | 425 void AddEvacuationCandidate(Page* p); |
| 426 | 426 |
| 427 // Prepares for GC by resetting relocation info in old and map spaces and | 427 // Prepares for GC by resetting relocation info in old and map spaces and |
| 428 // choosing spaces to compact. | 428 // choosing spaces to compact. |
| 429 void Prepare(); | 429 void Prepare(); |
| 430 | 430 |
| 431 // Performs a global garbage collection. | 431 // Performs a global garbage collection. |
| 432 void CollectGarbage(); | 432 void CollectGarbage(); |
| 433 | 433 |
| 434 enum CompactionMode { INCREMENTAL_COMPACTION, NON_INCREMENTAL_COMPACTION }; | 434 bool StartCompaction(); |
| 435 | |
| 436 bool StartCompaction(CompactionMode mode); | |
| 437 | 435 |
| 438 void AbortCompaction(); | 436 void AbortCompaction(); |
| 439 | 437 |
| 440 #ifdef DEBUG | 438 #ifdef DEBUG |
| 441 // Checks whether performing mark-compact collection. | 439 // Checks whether performing mark-compact collection. |
| 442 bool in_use() { return state_ > PREPARE_GC; } | 440 bool in_use() { return state_ > PREPARE_GC; } |
| 443 bool are_map_pointers_encoded() { return state_ == UPDATE_POINTERS; } | 441 bool are_map_pointers_encoded() { return state_ == UPDATE_POINTERS; } |
| 444 #endif | 442 #endif |
| 445 | 443 |
| 446 // Determine type of object and emit deletion log event. | 444 // Determine type of object and emit deletion log event. |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 | 772 |
| 775 private: | 773 private: |
| 776 MarkCompactCollector* collector_; | 774 MarkCompactCollector* collector_; |
| 777 }; | 775 }; |
| 778 | 776 |
| 779 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); | 777 V8_EXPORT_PRIVATE const char* AllocationSpaceName(AllocationSpace space); |
| 780 } // namespace internal | 778 } // namespace internal |
| 781 } // namespace v8 | 779 } // namespace v8 |
| 782 | 780 |
| 783 #endif // V8_HEAP_MARK_COMPACT_H_ | 781 #endif // V8_HEAP_MARK_COMPACT_H_ |
| OLD | NEW |