summaryrefslogtreecommitdiffstats
path: root/runtime/gc/collector/mark_sweep.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2013-09-06 16:40:01 -0700
committerMathieu Chartier <mathieuc@google.com>2013-09-19 09:47:39 -0700
commit0f72e4136aecaf6976fdb55916bbd7b6d5c9c77b (patch)
treef66e033a77c0e9bfb39bde51305f8d155b2a73a3 /runtime/gc/collector/mark_sweep.h
parent9e452d1d097bc0f29a24e13ced5477fa3c9463f9 (diff)
downloadart-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.h6
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;