diff options
author | Mathieu Chartier <mathieuc@google.com> | 2013-09-06 16:40:01 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2013-09-19 09:47:39 -0700 |
commit | 0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b (patch) | |
tree | f66e033a77c0e9bfb39bde51305f8d155b2a73a3 /runtime/gc/collector/mark_sweep.h | |
parent | 9e452d1d097bc0f29a24e13ced5477fa3c9463f9 (diff) | |
download | art-0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b.zip art-0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b.tar.gz art-0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b.tar.bz2 |
Improve heap verification.
Re-enabled checking the allocation stack for heap verification.
Added tracking of recent frees in DlMallocSpace if debug spaces is
enabled. This is useful when you have heap corruption caused by a
live object referencing a recently freed object.
Added various other sanity checks in the GC.
Bug: 10626133
Change-Id: I5ada11966336ae9a06615b16f4b933f05b5d0c32
Diffstat (limited to 'runtime/gc/collector/mark_sweep.h')
-rw-r--r-- | runtime/gc/collector/mark_sweep.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/gc/collector/mark_sweep.h b/runtime/gc/collector/mark_sweep.h index fdd0c86..435b086 100644 --- a/runtime/gc/collector/mark_sweep.h +++ b/runtime/gc/collector/mark_sweep.h @@ -421,7 +421,6 @@ class MarkSweep : public GarbageCollector { // Parallel finger. AtomicInteger atomic_finger_; - // Number of non large object bytes freed in this collection. AtomicInteger freed_bytes_; // Number of large object bytes freed. @@ -443,6 +442,10 @@ class MarkSweep : public GarbageCollector { AtomicInteger work_chunks_created_; AtomicInteger work_chunks_deleted_; AtomicInteger reference_count_; + AtomicInteger cards_scanned_; + + // Verification. + size_t live_stack_freeze_size_; UniquePtr<Barrier> gc_barrier_; Mutex large_object_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER; @@ -454,6 +457,7 @@ class MarkSweep : public GarbageCollector { private: friend class AddIfReachesAllocSpaceVisitor; // Used by mod-union table. + friend class CardScanTask; friend class CheckBitmapVisitor; friend class CheckReferenceVisitor; friend class art::gc::Heap; |