Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1336)

Unified Diff: Source/platform/heap/Heap.cpp

Issue 1188993004: Oilpan: Don't reset heap counters in a snapshot GC (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/heap/Heap.cpp
diff --git a/Source/platform/heap/Heap.cpp b/Source/platform/heap/Heap.cpp
index db7500b6eab5290571dac931d636219b156ae153..71ffd4fe938cf55e8bbaf6f19b47d8f5c285fae0 100644
--- a/Source/platform/heap/Heap.cpp
+++ b/Source/platform/heap/Heap.cpp
@@ -1264,7 +1264,6 @@ void NormalPage::makeConsistentForGC()
void NormalPage::makeConsistentForMutator()
{
- size_t markedObjectSize = 0;
Address startOfGap = payload();
for (Address headerAddress = payload(); headerAddress < payloadEnd();) {
HeapObjectHeader* header = reinterpret_cast<HeapObjectHeader*>(headerAddress);
@@ -1281,16 +1280,12 @@ void NormalPage::makeConsistentForMutator()
heapForNormalPage()->addToFreeList(startOfGap, headerAddress - startOfGap);
if (header->isMarked()) {
header->unmark();
- markedObjectSize += header->size();
}
headerAddress += header->size();
startOfGap = headerAddress;
}
if (startOfGap != payloadEnd())
heapForNormalPage()->addToFreeList(startOfGap, payloadEnd() - startOfGap);
-
- if (markedObjectSize)
- Heap::increaseMarkedObjectSize(markedObjectSize);
}
#if defined(ADDRESS_SANITIZER)
@@ -1585,10 +1580,8 @@ void LargeObjectPage::makeConsistentForGC()
void LargeObjectPage::makeConsistentForMutator()
{
HeapObjectHeader* header = heapObjectHeader();
- if (header->isMarked()) {
+ if (header->isMarked())
header->unmark();
- Heap::increaseMarkedObjectSize(size());
- }
}
#if defined(ADDRESS_SANITIZER)
@@ -2019,7 +2012,8 @@ void Heap::collectGarbage(ThreadState::StackState stackState, ThreadState::GCTyp
StackFrameDepthScope stackDepthScope;
size_t totalObjectSize = Heap::allocatedObjectSize() + Heap::markedObjectSize();
- Heap::resetHeapCounters();
+ if (gcType != ThreadState::TakeSnapshot)
+ Heap::resetHeapCounters();
// 1. Trace persistent roots.
ThreadState::visitPersistentRoots(gcScope.visitor());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698