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 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1079 | 1079 |
1080 // Iterate pointers of promoted objects. | 1080 // Iterate pointers of promoted objects. |
1081 void IteratePromotedObject(HeapObject* target, int size, | 1081 void IteratePromotedObject(HeapObject* target, int size, |
1082 bool was_marked_black, | 1082 bool was_marked_black, |
1083 ObjectSlotCallback callback); | 1083 ObjectSlotCallback callback); |
1084 | 1084 |
1085 void IteratePromotedObjectPointers(HeapObject* object, Address start, | 1085 void IteratePromotedObjectPointers(HeapObject* object, Address start, |
1086 Address end, bool record_slots, | 1086 Address end, bool record_slots, |
1087 ObjectSlotCallback callback); | 1087 ObjectSlotCallback callback); |
1088 | 1088 |
| 1089 // Scavenges all objects in the from_space marked by MarkCompact while |
| 1090 // immediately promoting them. |
| 1091 void PromoteMarkedObjects(); |
| 1092 |
1089 // =========================================================================== | 1093 // =========================================================================== |
1090 // Store buffer API. ========================================================= | 1094 // Store buffer API. ========================================================= |
1091 // =========================================================================== | 1095 // =========================================================================== |
1092 | 1096 |
1093 // Write barrier support for object[offset] = o; | 1097 // Write barrier support for object[offset] = o; |
1094 inline void RecordWrite(Object* object, int offset, Object* o); | 1098 inline void RecordWrite(Object* object, int offset, Object* o); |
1095 inline void RecordFixedArrayElements(FixedArray* array, int offset, | 1099 inline void RecordFixedArrayElements(FixedArray* array, int offset, |
1096 int length); | 1100 int length); |
1097 | 1101 |
1098 Address* store_buffer_top_address() { return store_buffer()->top_address(); } | 1102 Address* store_buffer_top_address() { return store_buffer()->top_address(); } |
(...skipping 1563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2662 friend class LargeObjectSpace; | 2666 friend class LargeObjectSpace; |
2663 friend class NewSpace; | 2667 friend class NewSpace; |
2664 friend class PagedSpace; | 2668 friend class PagedSpace; |
2665 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2669 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2666 }; | 2670 }; |
2667 | 2671 |
2668 } // namespace internal | 2672 } // namespace internal |
2669 } // namespace v8 | 2673 } // namespace v8 |
2670 | 2674 |
2671 #endif // V8_HEAP_HEAP_H_ | 2675 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |