| 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 #include "src/heap/store-buffer.h" | 10 #include "src/heap/store-buffer.h" |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 void RecordRelocSlot(Code* host, RelocInfo* rinfo, Object* target); | 478 void RecordRelocSlot(Code* host, RelocInfo* rinfo, Object* target); |
| 479 void RecordCodeEntrySlot(HeapObject* host, Address slot, Code* target); | 479 void RecordCodeEntrySlot(HeapObject* host, Address slot, Code* target); |
| 480 void RecordCodeTargetPatch(Address pc, Code* target); | 480 void RecordCodeTargetPatch(Address pc, Code* target); |
| 481 INLINE(void RecordSlot(HeapObject* object, Object** slot, Object* target)); | 481 INLINE(void RecordSlot(HeapObject* object, Object** slot, Object* target)); |
| 482 INLINE(void ForceRecordSlot(HeapObject* object, Object** slot, | 482 INLINE(void ForceRecordSlot(HeapObject* object, Object** slot, |
| 483 Object* target)); | 483 Object* target)); |
| 484 | 484 |
| 485 void UpdateSlots(SlotsBuffer* buffer); | 485 void UpdateSlots(SlotsBuffer* buffer); |
| 486 void UpdateSlotsRecordedIn(SlotsBuffer* buffer); | 486 void UpdateSlotsRecordedIn(SlotsBuffer* buffer); |
| 487 | 487 |
| 488 void MigrateObject(HeapObject* dst, HeapObject* src, int size, | |
| 489 AllocationSpace to_old_space); | |
| 490 | |
| 491 void InvalidateCode(Code* code); | 488 void InvalidateCode(Code* code); |
| 492 | 489 |
| 493 void ClearMarkbits(); | 490 void ClearMarkbits(); |
| 494 | 491 |
| 495 bool is_compacting() const { return compacting_; } | 492 bool is_compacting() const { return compacting_; } |
| 496 | 493 |
| 497 MarkingParity marking_parity() { return marking_parity_; } | 494 MarkingParity marking_parity() { return marking_parity_; } |
| 498 | 495 |
| 499 // Concurrent and parallel sweeping support. If required_freed_bytes was set | 496 // Concurrent and parallel sweeping support. If required_freed_bytes was set |
| 500 // to a value larger than 0, then sweeping returns after a block of at least | 497 // to a value larger than 0, then sweeping returns after a block of at least |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 private: | 864 private: |
| 868 MarkCompactCollector* collector_; | 865 MarkCompactCollector* collector_; |
| 869 }; | 866 }; |
| 870 | 867 |
| 871 | 868 |
| 872 const char* AllocationSpaceName(AllocationSpace space); | 869 const char* AllocationSpaceName(AllocationSpace space); |
| 873 } // namespace internal | 870 } // namespace internal |
| 874 } // namespace v8 | 871 } // namespace v8 |
| 875 | 872 |
| 876 #endif // V8_HEAP_MARK_COMPACT_H_ | 873 #endif // V8_HEAP_MARK_COMPACT_H_ |
| OLD | NEW |