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

Unified Diff: third_party/WebKit/Source/platform/heap/Visitor.cpp

Issue 2531973002: Simple BlinkGC heap compaction. (Closed)
Patch Set: Clear unused pages before decommitting Created 4 years 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
Index: third_party/WebKit/Source/platform/heap/Visitor.cpp
diff --git a/third_party/WebKit/Source/platform/heap/Visitor.cpp b/third_party/WebKit/Source/platform/heap/Visitor.cpp
index 6ace492ae49f8dce67f3ce8f2c7919d615326464..51ff2063c272d8f490fad3a4fa84d4c45212007e 100644
--- a/third_party/WebKit/Source/platform/heap/Visitor.cpp
+++ b/third_party/WebKit/Source/platform/heap/Visitor.cpp
@@ -18,6 +18,9 @@ std::unique_ptr<Visitor> Visitor::create(ThreadState* state,
case BlinkGC::GCWithSweep:
case BlinkGC::GCWithoutSweep:
return WTF::makeUnique<MarkingVisitor<Visitor::GlobalMarking>>(state);
+ case BlinkGC::GCWithSweepCompaction:
+ return WTF::makeUnique<
+ MarkingVisitor<Visitor::GlobalMarkingWithCompaction>>(state);
case BlinkGC::TakeSnapshot:
return WTF::makeUnique<MarkingVisitor<Visitor::SnapshotMarking>>(state);
case BlinkGC::ThreadTerminationGC:
@@ -35,13 +38,12 @@ Visitor::Visitor(ThreadState* state, MarkingMode markingMode)
: VisitorHelper(state), m_markingMode(markingMode) {
// See ThreadState::runScheduledGC() why we need to already be in a
// GCForbiddenScope before any safe point is entered.
- state->enterGCForbiddenScope();
-
- ASSERT(state->checkThread());
+ DCHECK(state->isGCForbidden());
+#if ENABLE(ASSERT)
+ DCHECK(state->checkThread());
+#endif
}
-Visitor::~Visitor() {
- state()->leaveGCForbiddenScope();
-}
+Visitor::~Visitor() {}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698