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 c36c0eb625f385a8632543321e722007ce67967f..0d2bf24aa6c1490ecb45f49c819d1e0977034de5 100644 |
--- a/third_party/WebKit/Source/platform/heap/Heap.cpp |
+++ b/third_party/WebKit/Source/platform/heap/Heap.cpp |
@@ -171,7 +171,7 @@ BasePage* ThreadHeap::FindPageFromAddress(Address address) { |
#endif |
Address ThreadHeap::CheckAndMarkPointer(Visitor* visitor, Address address) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
#if !DCHECK_IS_ON() |
if (heap_does_not_contain_cache_->Lookup(address)) |
@@ -179,8 +179,10 @@ Address ThreadHeap::CheckAndMarkPointer(Visitor* visitor, Address address) { |
#endif |
if (BasePage* page = LookupPageForAddress(address)) { |
- ASSERT(page->Contains(address)); |
- ASSERT(!heap_does_not_contain_cache_->Lookup(address)); |
+#if DCHECK_IS_ON() |
+ DCHECK(page->Contains(address)); |
+#endif |
+ DCHECK(!heap_does_not_contain_cache_->Lookup(address)); |
DCHECK(&visitor->Heap() == &page->Arena()->GetThreadState()->Heap()); |
page->CheckAndMarkPointer(visitor, address); |
return address; |
@@ -219,7 +221,7 @@ Address ThreadHeap::CheckAndMarkPointer( |
#endif |
void ThreadHeap::PushTraceCallback(void* object, TraceCallback callback) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
CallbackStack::Item* slot = marking_stack_->AllocateEntry(); |
*slot = CallbackStack::Item(object, callback); |
@@ -234,7 +236,7 @@ bool ThreadHeap::PopAndInvokeTraceCallback(Visitor* visitor) { |
} |
void ThreadHeap::PushPostMarkingCallback(void* object, TraceCallback callback) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
CallbackStack::Item* slot = post_marking_callback_stack_->AllocateEntry(); |
*slot = CallbackStack::Item(object, callback); |
@@ -249,7 +251,7 @@ bool ThreadHeap::PopAndInvokePostMarkingCallback(Visitor* visitor) { |
} |
void ThreadHeap::PushWeakCallback(void* closure, WeakCallback callback) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
CallbackStack::Item* slot = weak_callback_stack_->AllocateEntry(); |
*slot = CallbackStack::Item(closure, callback); |
@@ -266,7 +268,7 @@ bool ThreadHeap::PopAndInvokeWeakCallback(Visitor* visitor) { |
void ThreadHeap::RegisterWeakTable(void* table, |
EphemeronCallback iteration_callback, |
EphemeronCallback iteration_done_callback) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
CallbackStack::Item* slot = ephemeron_stack_->AllocateEntry(); |
*slot = CallbackStack::Item(table, iteration_callback); |
@@ -278,7 +280,7 @@ void ThreadHeap::RegisterWeakTable(void* table, |
#if DCHECK_IS_ON() |
bool ThreadHeap::WeakTableRegistered(const void* table) { |
- ASSERT(ephemeron_stack_); |
+ DCHECK(ephemeron_stack_); |
return ephemeron_stack_->HasCallbackForObject(table); |
} |
#endif |
@@ -352,7 +354,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(marking_stack_->IsEmpty()); |
+ DCHECK(marking_stack_->IsEmpty()); |
} |
void ThreadHeap::WeakProcessing(Visitor* visitor) { |
@@ -370,7 +372,7 @@ void ThreadHeap::WeakProcessing(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(marking_stack_->IsEmpty()); |
+ DCHECK(marking_stack_->IsEmpty()); |
double time_for_weak_processing = WTF::CurrentTimeMS() - start_time; |
DEFINE_THREAD_SAFE_STATIC_LOCAL( |
@@ -481,7 +483,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::GetCrossThreadPersistentRegion().TracePersistentNodes(visitor); |
@@ -489,13 +491,13 @@ void ThreadHeap::VisitPersistentRoots(Visitor* visitor) { |
} |
void ThreadHeap::VisitStackRoots(Visitor* visitor) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
TRACE_EVENT0("blink_gc", "ThreadHeap::visitStackRoots"); |
thread_state_->VisitStack(visitor); |
} |
BasePage* ThreadHeap::LookupPageForAddress(Address address) { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
if (PageMemoryRegion* region = region_tree_->Lookup(address)) { |
return region->PageFromAddress(address); |
} |
@@ -503,7 +505,7 @@ BasePage* ThreadHeap::LookupPageForAddress(Address address) { |
} |
void ThreadHeap::ResetHeapCounters() { |
- ASSERT(ThreadState::Current()->IsInGC()); |
+ DCHECK(ThreadState::Current()->IsInGC()); |
ThreadHeap::ReportMemoryUsageForTracing(); |