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