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

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

Issue 2619493003: Replace ASSERTs in platform/heap/ with DCHECKs
Patch Set: temp Created 3 years, 11 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
Index: third_party/WebKit/Source/platform/heap/Heap.cpp
diff --git a/third_party/WebKit/Source/platform/heap/Heap.cpp b/third_party/WebKit/Source/platform/heap/Heap.cpp
index 046c80f9f47ef72e7bdf9b641fac5b585df8b917..c0717ccc5b961442b80bcd7b723cbebfeac5987e 100644
--- a/third_party/WebKit/Source/platform/heap/Heap.cpp
+++ b/third_party/WebKit/Source/platform/heap/Heap.cpp
@@ -117,17 +117,17 @@ void ProcessHeap::resetHeapCounters() {
}
void ProcessHeap::shutdown() {
- ASSERT(!s_shutdownComplete);
+ DCHECK(!s_shutdownComplete);
{
// The main thread must be the last thread that gets detached.
MutexLocker locker(ThreadHeap::allHeapsMutex());
- RELEASE_ASSERT(ThreadHeap::allHeaps().isEmpty());
+ CHECK(ThreadHeap::allHeaps().isEmpty());
}
CallbackStackMemoryPool::instance().shutdown();
GCInfoTable::shutdown();
- ASSERT(ProcessHeap::totalAllocatedSpace() == 0);
+ DCHECK_EQ(ProcessHeap::totalAllocatedSpace(), 0UL);
s_shutdownComplete = true;
}
@@ -240,7 +240,7 @@ void ThreadHeap::attach(ThreadState* thread) {
}
void ThreadHeap::detach(ThreadState* thread) {
- ASSERT(ThreadState::current() == thread);
+ DCHECK_EQ(ThreadState::current(), thread);
bool isLastThread = false;
{
// Grab the threadAttachMutex to ensure only one thread can shutdown at
@@ -252,7 +252,7 @@ void ThreadHeap::detach(ThreadState* thread) {
SafePointAwareMutexLocker locker(m_threadAttachMutex,
BlinkGC::NoHeapPointersOnStack);
thread->runTerminationGC();
- ASSERT(m_threads.contains(thread));
+ DCHECK(m_threads.contains(thread));
m_threads.remove(thread);
isLastThread = m_threads.isEmpty();
}
@@ -276,7 +276,7 @@ void ThreadHeap::resume() {
m_safePointBarrier->resumeOthers();
}
-#if ENABLE(ASSERT)
+#if DCHECK_IS_ON()
BasePage* ThreadHeap::findPageFromAddress(Address address) {
MutexLocker locker(m_threadAttachMutex);
for (ThreadState* state : m_threads) {
@@ -297,23 +297,23 @@ bool ThreadHeap::isAtSafePoint() {
#endif
Address ThreadHeap::checkAndMarkPointer(Visitor* visitor, Address address) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
-#if !ENABLE(ASSERT)
+#if !DCHECK_IS_ON()
if (m_heapDoesNotContainCache->lookup(address))
return nullptr;
#endif
if (BasePage* page = lookupPageForAddress(address)) {
- ASSERT(page->contains(address));
- ASSERT(!page->orphaned());
- ASSERT(!m_heapDoesNotContainCache->lookup(address));
- DCHECK(&visitor->heap() == &page->arena()->getThreadState()->heap());
+ DCHECK(page->contains(address));
+ DCHECK(!page->orphaned());
+ DCHECK(!m_heapDoesNotContainCache->lookup(address));
+ DCHECK_EQ(&visitor->heap(), &page->arena()->getThreadState()->heap());
page->checkAndMarkPointer(visitor, address);
return address;
}
-#if !ENABLE(ASSERT)
+#if !DCHECK_IS_ON()
m_heapDoesNotContainCache->addEntry(address);
#else
if (!m_heapDoesNotContainCache->lookup(address))
@@ -323,10 +323,10 @@ Address ThreadHeap::checkAndMarkPointer(Visitor* visitor, Address address) {
}
void ThreadHeap::pushTraceCallback(void* object, TraceCallback callback) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
// Trace should never reach an orphaned page.
- ASSERT(!getOrphanedPagePool()->contains(object));
+ DCHECK(!getOrphanedPagePool()->contains(object));
CallbackStack::Item* slot = m_markingStack->allocateEntry();
*slot = CallbackStack::Item(object, callback);
}
@@ -340,10 +340,10 @@ bool ThreadHeap::popAndInvokeTraceCallback(Visitor* visitor) {
}
void ThreadHeap::pushPostMarkingCallback(void* object, TraceCallback callback) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
// Trace should never reach an orphaned page.
- ASSERT(!getOrphanedPagePool()->contains(object));
+ DCHECK(!getOrphanedPagePool()->contains(object));
CallbackStack::Item* slot = m_postMarkingCallbackStack->allocateEntry();
*slot = CallbackStack::Item(object, callback);
}
@@ -357,10 +357,10 @@ bool ThreadHeap::popAndInvokePostMarkingCallback(Visitor* visitor) {
}
void ThreadHeap::pushGlobalWeakCallback(void** cell, WeakCallback callback) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
// Trace should never reach an orphaned page.
- ASSERT(!getOrphanedPagePool()->contains(cell));
+ DCHECK(!getOrphanedPagePool()->contains(cell));
CallbackStack::Item* slot = m_globalWeakCallbackStack->allocateEntry();
*slot = CallbackStack::Item(cell, callback);
}
@@ -368,10 +368,10 @@ void ThreadHeap::pushGlobalWeakCallback(void** cell, WeakCallback callback) {
void ThreadHeap::pushThreadLocalWeakCallback(void* closure,
void* object,
WeakCallback callback) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
// Trace should never reach an orphaned page.
- ASSERT(!getOrphanedPagePool()->contains(object));
+ DCHECK(!getOrphanedPagePool()->contains(object));
ThreadState* state = pageFromObject(object)->arena()->getThreadState();
state->pushThreadLocalWeakCallback(closure, callback);
}
@@ -387,10 +387,10 @@ bool ThreadHeap::popAndInvokeGlobalWeakCallback(Visitor* visitor) {
void ThreadHeap::registerWeakTable(void* table,
EphemeronCallback iterationCallback,
EphemeronCallback iterationDoneCallback) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
// Trace should never reach an orphaned page.
- ASSERT(!getOrphanedPagePool()->contains(table));
+ DCHECK(!getOrphanedPagePool()->contains(table));
CallbackStack::Item* slot = m_ephemeronStack->allocateEntry();
*slot = CallbackStack::Item(table, iterationCallback);
@@ -399,9 +399,9 @@ void ThreadHeap::registerWeakTable(void* table,
pushPostMarkingCallback(table, iterationDoneCallback);
}
-#if ENABLE(ASSERT)
+#if DCHECK_IS_ON()
bool ThreadHeap::weakTableRegistered(const void* table) {
- ASSERT(m_ephemeronStack);
+ DCHECK(m_ephemeronStack);
return m_ephemeronStack->hasCallbackForObject(table);
}
#endif
@@ -440,13 +440,13 @@ void ThreadHeap::decommitCallbackStacks() {
}
void ThreadHeap::preGC() {
- ASSERT(!ThreadState::current()->isInGC());
+ DCHECK(!ThreadState::current()->isInGC());
for (ThreadState* state : m_threads)
state->preGC();
}
void ThreadHeap::postGC(BlinkGC::GCType gcType) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
for (ThreadState* state : m_threads)
state->postGC(gcType);
}
@@ -486,7 +486,7 @@ void ThreadHeap::postMarkingProcessing(Visitor* visitor) {
// Post-marking callbacks should not trace any objects and
// therefore the marking stack should be empty after the
// post-marking callbacks.
- ASSERT(m_markingStack->isEmpty());
+ DCHECK(m_markingStack->isEmpty());
}
void ThreadHeap::globalWeakProcessing(Visitor* visitor) {
@@ -499,7 +499,7 @@ void ThreadHeap::globalWeakProcessing(Visitor* visitor) {
// It is not permitted to trace pointers of live objects in the weak
// callback phase, so the marking stack should still be empty here.
- ASSERT(m_markingStack->isEmpty());
+ DCHECK(m_markingStack->isEmpty());
double timeForGlobalWeakProcessing = WTF::currentTimeMS() - startTime;
DEFINE_THREAD_SAFE_STATIC_LOCAL(
@@ -614,7 +614,7 @@ size_t ThreadHeap::objectPayloadSizeForTesting() {
}
void ThreadHeap::visitPersistentRoots(Visitor* visitor) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
TRACE_EVENT0("blink_gc", "ThreadHeap::visitPersistentRoots");
ProcessHeap::crossThreadPersistentRegion().tracePersistentNodes(visitor);
@@ -623,7 +623,7 @@ void ThreadHeap::visitPersistentRoots(Visitor* visitor) {
}
void ThreadHeap::visitStackRoots(Visitor* visitor) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
TRACE_EVENT0("blink_gc", "ThreadHeap::visitStackRoots");
for (ThreadState* state : m_threads)
state->visitStack(visitor);
@@ -644,7 +644,7 @@ void ThreadHeap::leaveSafePoint(ThreadState* threadState,
}
BasePage* ThreadHeap::lookupPageForAddress(Address address) {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
if (PageMemoryRegion* region = m_regionTree->lookup(address)) {
BasePage* page = region->pageFromAddress(address);
return page && !page->orphaned() ? page : nullptr;
@@ -653,7 +653,7 @@ BasePage* ThreadHeap::lookupPageForAddress(Address address) {
}
void ThreadHeap::resetHeapCounters() {
- ASSERT(ThreadState::current()->isInGC());
+ DCHECK(ThreadState::current()->isInGC());
ThreadHeap::reportMemoryUsageForTracing();

Powered by Google App Engine
This is Rietveld 408576698