OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_STORE_BUFFER_H_ | 5 #ifndef V8_STORE_BUFFER_H_ |
6 #define V8_STORE_BUFFER_H_ | 6 #define V8_STORE_BUFFER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/base/logging.h" | 9 #include "src/base/logging.h" |
10 #include "src/base/platform/platform.h" | 10 #include "src/base/platform/platform.h" |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 | 141 |
142 void ClearFilteringHashSets(); | 142 void ClearFilteringHashSets(); |
143 | 143 |
144 bool SpaceAvailable(intptr_t space_needed); | 144 bool SpaceAvailable(intptr_t space_needed); |
145 void Uniq(); | 145 void Uniq(); |
146 void ExemptPopularPages(int prime_sample_step, int threshold); | 146 void ExemptPopularPages(int prime_sample_step, int threshold); |
147 | 147 |
148 // Set the map field of the object to NULL if contains a map. | 148 // Set the map field of the object to NULL if contains a map. |
149 inline void ClearDeadObject(HeapObject* object); | 149 inline void ClearDeadObject(HeapObject* object); |
150 | 150 |
| 151 void ProcessOldToNewSlot(Address slot_address, |
| 152 ObjectSlotCallback slot_callback, bool clear_maps); |
| 153 |
151 void IteratePointersToNewSpace(ObjectSlotCallback callback, bool clear_maps); | 154 void IteratePointersToNewSpace(ObjectSlotCallback callback, bool clear_maps); |
152 | 155 |
153 void FindPointersToNewSpaceInRegion(Address start, Address end, | 156 void FindPointersToNewSpaceInRegion(Address start, Address end, |
154 ObjectSlotCallback slot_callback, | 157 ObjectSlotCallback slot_callback, |
155 bool clear_maps); | 158 bool clear_maps); |
156 | 159 |
157 // For each region of pointers on a page in use from an old space call | 160 // For each region of pointers on a page in use from an old space call |
158 // visit_pointer_region callback. | 161 // visit_pointer_region callback. |
159 // If either visit_pointer_region or callback can cause an allocation | 162 // If either visit_pointer_region or callback can cause an allocation |
160 // in old space and changes in allocation watermark then | 163 // in old space and changes in allocation watermark then |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 } | 215 } |
213 | 216 |
214 private: | 217 private: |
215 StoreBuffer* store_buffer_; | 218 StoreBuffer* store_buffer_; |
216 bool stored_state_; | 219 bool stored_state_; |
217 }; | 220 }; |
218 } | 221 } |
219 } // namespace v8::internal | 222 } // namespace v8::internal |
220 | 223 |
221 #endif // V8_STORE_BUFFER_H_ | 224 #endif // V8_STORE_BUFFER_H_ |
OLD | NEW |