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 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1053 // =========================================================================== | 1053 // =========================================================================== |
1054 | 1054 |
1055 // Write barrier support for object[offset] = o; | 1055 // Write barrier support for object[offset] = o; |
1056 inline void RecordWrite(Object* object, int offset, Object* o); | 1056 inline void RecordWrite(Object* object, int offset, Object* o); |
1057 | 1057 |
1058 Address* store_buffer_top_address() { | 1058 Address* store_buffer_top_address() { |
1059 return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); | 1059 return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); |
1060 } | 1060 } |
1061 | 1061 |
1062 void ClearRecordedSlot(HeapObject* object, Object** slot); | 1062 void ClearRecordedSlot(HeapObject* object, Object** slot); |
| 1063 void ClearRecordedSlotRange(HeapObject* object, Object** start, Object** end); |
1063 | 1064 |
1064 // =========================================================================== | 1065 // =========================================================================== |
1065 // Incremental marking API. ================================================== | 1066 // Incremental marking API. ================================================== |
1066 // =========================================================================== | 1067 // =========================================================================== |
1067 | 1068 |
1068 // Start incremental marking and ensure that idle time handler can perform | 1069 // Start incremental marking and ensure that idle time handler can perform |
1069 // incremental steps. | 1070 // incremental steps. |
1070 void StartIdleIncrementalMarking(); | 1071 void StartIdleIncrementalMarking(); |
1071 | 1072 |
1072 // Starts incremental marking assuming incremental marking is currently | 1073 // Starts incremental marking assuming incremental marking is currently |
(...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2626 friend class LargeObjectSpace; | 2627 friend class LargeObjectSpace; |
2627 friend class NewSpace; | 2628 friend class NewSpace; |
2628 friend class PagedSpace; | 2629 friend class PagedSpace; |
2629 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2630 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2630 }; | 2631 }; |
2631 | 2632 |
2632 } // namespace internal | 2633 } // namespace internal |
2633 } // namespace v8 | 2634 } // namespace v8 |
2634 | 2635 |
2635 #endif // V8_HEAP_HEAP_H_ | 2636 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |