| 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 |