diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc index 44f07695c4..b118000463 100644 --- a/src/incremental-marking.cc +++ b/src/incremental-marking.cc @@ -473,7 +473,9 @@ void IncrementalMarking::StartMarking(CompactionFlag flag) { #ifdef DEBUG // Marking bits are cleared by the sweeper. - heap_->mark_compact_collector()->VerifyMarkbitsAreClean(); + if (FLAG_enable_slow_asserts) { + heap_->mark_compact_collector()->VerifyMarkbitsAreClean(); + } #endif heap_->CompletelyClearInstanceofCache(); diff --git a/src/mark-compact-inl.h b/src/mark-compact-inl.h index 3e283072f2..573715e286 100644 --- a/src/mark-compact-inl.h +++ b/src/mark-compact-inl.h @@ -54,9 +54,6 @@ void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { if (!mark_bit.Get()) { mark_bit.Set(); MemoryChunk::IncrementLiveBytes(obj->address(), obj->Size()); -#ifdef DEBUG - UpdateLiveObjectCount(obj); -#endif ProcessNewlyMarkedObject(obj); } } @@ -67,9 +64,6 @@ void MarkCompactCollector::SetMark(HeapObject* obj, MarkBit mark_bit) { ASSERT(Marking::MarkBitFrom(obj) == mark_bit); mark_bit.Set(); MemoryChunk::IncrementLiveBytes(obj->address(), obj->Size()); -#ifdef DEBUG - UpdateLiveObjectCount(obj); -#endif } diff --git a/src/mark-compact.cc b/src/mark-compact.cc index 0abc5695b4..b41b03367c 100644 --- a/src/mark-compact.cc +++ b/src/mark-compact.cc @@ -65,16 +65,6 @@ MarkCompactCollector::MarkCompactCollector() : // NOLINT collect_maps_(FLAG_collect_maps), tracer_(NULL), migration_slots_buffer_(NULL), -#ifdef DEBUG - live_young_objects_size_(0), - live_old_pointer_objects_size_(0), - live_old_data_objects_size_(0), - live_code_objects_size_(0), - live_map_objects_size_(0), - live_cell_objects_size_(0), - live_lo_objects_size_(0), - live_bytes_(0), -#endif heap_(NULL), code_flusher_(NULL), encountered_weak_maps_(NULL) { } @@ -523,21 +513,10 @@ void MarkCompactCollector::Prepare(GCTracer* tracer) { } #ifdef DEBUG - if (!was_marked_incrementally_) { + if (!was_marked_incrementally_ && FLAG_verify_heap) { VerifyMarkbitsAreClean(); } #endif - -#ifdef DEBUG - live_bytes_ = 0; - live_young_objects_size_ = 0; - live_old_pointer_objects_size_ = 0; - live_old_data_objects_size_ = 0; - live_code_objects_size_ = 0; - live_map_objects_size_ = 0; - live_cell_objects_size_ = 0; - live_lo_objects_size_ = 0; -#endif } @@ -2176,32 +2155,6 @@ void MarkCompactCollector::ProcessMapCaches() { } -#ifdef DEBUG -void MarkCompactCollector::UpdateLiveObjectCount(HeapObject* obj) { - live_bytes_ += obj->Size(); - if (heap()->new_space()->Contains(obj)) { - live_young_objects_size_ += obj->Size(); - } else if (heap()->map_space()->Contains(obj)) { - ASSERT(obj->IsMap()); - live_map_objects_size_ += obj->Size(); - } else if (heap()->cell_space()->Contains(obj)) { - ASSERT(obj->IsJSGlobalPropertyCell()); - live_cell_objects_size_ += obj->Size(); - } else if (heap()->old_pointer_space()->Contains(obj)) { - live_old_pointer_objects_size_ += obj->Size(); - } else if (heap()->old_data_space()->Contains(obj)) { - live_old_data_objects_size_ += obj->Size(); - } else if (heap()->code_space()->Contains(obj)) { - live_code_objects_size_ += obj->Size(); - } else if (heap()->lo_space()->Contains(obj)) { - live_lo_objects_size_ += obj->Size(); - } else { - UNREACHABLE(); - } -} -#endif // DEBUG - - void MarkCompactCollector::ReattachInitialMaps() { HeapObjectIterator map_iterator(heap()->map_space()); for (HeapObject* obj = map_iterator.Next(); @@ -3649,8 +3602,6 @@ void MarkCompactCollector::SweepSpaces() { // of the previous ones. SweepSpace(heap()->map_space(), PRECISE); - ASSERT(live_map_objects_size_ <= heap()->map_space()->Size()); - // Deallocate unmarked objects and clear marked bits for marked objects. heap_->lo_space()->FreeUnmarkedObjects(); } diff --git a/src/mark-compact.h b/src/mark-compact.h index 70583b639b..254f175b6c 100644 --- a/src/mark-compact.h +++ b/src/mark-compact.h @@ -669,10 +669,6 @@ class MarkCompactCollector { // heap object. static bool IsUnmarkedHeapObject(Object** p); -#ifdef DEBUG - void UpdateLiveObjectCount(HeapObject* obj); -#endif - // Map transitions from a live map to a dead map must be killed. // We replace them with a null descriptor, with the same key. void ClearNonLiveTransitions(); @@ -720,35 +716,6 @@ class MarkCompactCollector { void SweepSpace(PagedSpace* space, SweeperType sweeper); #ifdef DEBUG - // ----------------------------------------------------------------------- - // Debugging variables, functions and classes - // Counters used for debugging the marking phase of mark-compact or - // mark-sweep collection. - - // Size of live objects in Heap::to_space_. - int live_young_objects_size_; - - // Size of live objects in Heap::old_pointer_space_. - int live_old_pointer_objects_size_; - - // Size of live objects in Heap::old_data_space_. - int live_old_data_objects_size_; - - // Size of live objects in Heap::code_space_. - int live_code_objects_size_; - - // Size of live objects in Heap::map_space_. - int live_map_objects_size_; - - // Size of live objects in Heap::cell_space_. - int live_cell_objects_size_; - - // Size of live objects in Heap::lo_space_. - int live_lo_objects_size_; - - // Number of live bytes in this collection. - int live_bytes_; - friend class MarkObjectVisitor; static void VisitObject(HeapObject* obj);