Chromium Code Reviews| Index: src/store-buffer.h |
| diff --git a/src/store-buffer.h b/src/store-buffer.h |
| index 520cbc01626b698607928dbd83638ba220096fb2..ca92a6a7b31e15731e7f2102e47c095b394f0336 100644 |
| --- a/src/store-buffer.h |
| +++ b/src/store-buffer.h |
| @@ -43,8 +43,10 @@ class StoreBuffer; |
| typedef void (*ObjectSlotCallback)(HeapObject** from, HeapObject* to); |
| -typedef void (StoreBuffer::*RegionCallback)( |
| - Address start, Address end, ObjectSlotCallback slot_callback); |
| +typedef void (StoreBuffer::*RegionCallback)(Address start, |
| + Address end, |
| + ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| // Used to implement the write barrier by collecting addresses of pointers |
| // between spaces. |
| @@ -81,7 +83,7 @@ class StoreBuffer { |
| // Iterates over all pointers that go from old space to new space. It will |
| // delete the store buffer as it starts so the callback should reenter |
| // surviving old-to-new pointers into the store buffer to rebuild it. |
| - void IteratePointersToNewSpace(ObjectSlotCallback callback); |
| + void IteratePointersToNewSpace(ObjectSlotCallback callback, bool clear_maps); |
|
titzer
2013/07/10 17:06:35
Boolean flags of doom be gone! Recommend to have t
Hannes Payer (out of office)
2013/07/11 07:30:40
Done.
|
| static const int kStoreBufferOverflowBit = 1 << (14 + kPointerSizeLog2); |
| static const int kStoreBufferSize = kStoreBufferOverflowBit; |
| @@ -166,7 +168,8 @@ class StoreBuffer { |
| void FindPointersToNewSpaceInRegion(Address start, |
| Address end, |
| - ObjectSlotCallback slot_callback); |
| + ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| // For each region of pointers on a page in use from an old space call |
| // visit_pointer_region callback. |
| @@ -182,20 +185,24 @@ class StoreBuffer { |
| void FindPointersToNewSpaceInMaps( |
| Address start, |
| Address end, |
| - ObjectSlotCallback slot_callback); |
| + ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| void FindPointersToNewSpaceInMapsRegion( |
| Address start, |
| Address end, |
| - ObjectSlotCallback slot_callback); |
| + ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| void FindPointersToNewSpaceOnPage( |
| PagedSpace* space, |
| Page* page, |
| RegionCallback region_callback, |
| - ObjectSlotCallback slot_callback); |
| + ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| - void IteratePointersInStoreBuffer(ObjectSlotCallback slot_callback); |
| + void IteratePointersInStoreBuffer(ObjectSlotCallback slot_callback, |
| + bool clear_maps); |
| #ifdef VERIFY_HEAP |
| void VerifyPointers(PagedSpace* space, RegionCallback region_callback); |