| Index: Source/platform/heap/Heap.cpp
|
| diff --git a/Source/platform/heap/Heap.cpp b/Source/platform/heap/Heap.cpp
|
| index c1dd9d315b3617088f4cc2d3e1f6b4d9a63d656c..e9a5964e3aab1e8918a1d57e92d63973b53db057 100644
|
| --- a/Source/platform/heap/Heap.cpp
|
| +++ b/Source/platform/heap/Heap.cpp
|
| @@ -1318,8 +1318,8 @@ void NormalPage::makeConsistentForMutator()
|
| for (Address headerAddress = payload(); headerAddress < payloadEnd();) {
|
| HeapObjectHeader* header = reinterpret_cast<HeapObjectHeader*>(headerAddress);
|
| ASSERT(header->size() < blinkPagePayloadSize());
|
| - // Check if a free list entry first since we cannot call
|
| - // isMarked on a free list entry.
|
| + if (header->isPromptlyFreed())
|
| + heapForNormalPage()->decreasePromptlyFreedSize(header->size());
|
| if (header->isFree()) {
|
| headerAddress += header->size();
|
| continue;
|
| @@ -1328,9 +1328,8 @@ void NormalPage::makeConsistentForMutator()
|
|
|
| if (startOfGap != headerAddress)
|
| heapForNormalPage()->addToFreeList(startOfGap, headerAddress - startOfGap);
|
| - if (header->isMarked()) {
|
| + if (header->isMarked())
|
| header->unmark();
|
| - }
|
| headerAddress += header->size();
|
| startOfGap = headerAddress;
|
| }
|
|
|