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_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 void RepairFreeListsAfterDeserialization(); | 739 void RepairFreeListsAfterDeserialization(); |
740 | 740 |
741 // Move len elements within a given array from src_index index to dst_index | 741 // Move len elements within a given array from src_index index to dst_index |
742 // index. | 742 // index. |
743 void MoveElements(FixedArray* array, int dst_index, int src_index, int len); | 743 void MoveElements(FixedArray* array, int dst_index, int src_index, int len); |
744 | 744 |
745 // Initialize a filler object to keep the ability to iterate over the heap | 745 // Initialize a filler object to keep the ability to iterate over the heap |
746 // when introducing gaps within pages. If slots could have been recorded in | 746 // when introducing gaps within pages. If slots could have been recorded in |
747 // the freed area, then pass ClearRecordedSlots::kYes as the mode. Otherwise, | 747 // the freed area, then pass ClearRecordedSlots::kYes as the mode. Otherwise, |
748 // pass ClearRecordedSlots::kNo. | 748 // pass ClearRecordedSlots::kNo. |
749 HeapObject* CreateFillerObjectAt(Address addr, int size, | 749 V8_EXPORT_PRIVATE HeapObject* CreateFillerObjectAt(Address addr, int size, |
750 ClearRecordedSlots mode); | 750 ClearRecordedSlots mode); |
751 | 751 |
752 bool CanMoveObjectStart(HeapObject* object); | 752 bool CanMoveObjectStart(HeapObject* object); |
753 | 753 |
754 static bool IsImmovable(HeapObject* object); | 754 static bool IsImmovable(HeapObject* object); |
755 | 755 |
756 // Maintain consistency of live bytes during incremental marking. | 756 // Maintain consistency of live bytes during incremental marking. |
757 void AdjustLiveBytes(HeapObject* object, int by); | 757 void AdjustLiveBytes(HeapObject* object, int by); |
758 | 758 |
759 // Trim the given array from the left. Note that this relocates the object | 759 // Trim the given array from the left. Note that this relocates the object |
760 // start and hence is only valid if there is only a single reference to it. | 760 // start and hence is only valid if there is only a single reference to it. |
(...skipping 1858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2619 friend class LargeObjectSpace; | 2619 friend class LargeObjectSpace; |
2620 friend class NewSpace; | 2620 friend class NewSpace; |
2621 friend class PagedSpace; | 2621 friend class PagedSpace; |
2622 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2622 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2623 }; | 2623 }; |
2624 | 2624 |
2625 } // namespace internal | 2625 } // namespace internal |
2626 } // namespace v8 | 2626 } // namespace v8 |
2627 | 2627 |
2628 #endif // V8_HEAP_HEAP_H_ | 2628 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |