summaryrefslogtreecommitdiffstats
path: root/oatdump
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-04-16 09:48:48 -0700
committerMathieu Chartier <mathieuc@google.com>2014-04-17 19:01:34 -0700
commitbbd695c71e0bf518f582e84524e1cdeb3de3896c (patch)
tree6fe6a128b629abc6a396a192b2e8da1180afeded /oatdump
parenta092ee404ababbf8fc945111dc4a571284c9f02f (diff)
downloadart-bbd695c71e0bf518f582e84524e1cdeb3de3896c.zip
art-bbd695c71e0bf518f582e84524e1cdeb3de3896c.tar.gz
art-bbd695c71e0bf518f582e84524e1cdeb3de3896c.tar.bz2
Replace ObjectSet with LargeObjectBitmap.
Speeds up large object marking since large objects no longer required a lock. Changed the GCs to use the heap bitmap for marking objects which aren't in the fast path. This eliminates the need for a MarkLargeObject function. Maps before (10 GC iterations): Mean partial time: 180ms Mean sticky time: 151ms Maps after: Mean partial time: 161ms Mean sticky time: 101ms Note: the GC durations are long due to recent ergonomic changes and because the fast bulk free hasn't yet been enabled. Over 50% of the GC time is spent in RosAllocSpace::FreeList. Bug: 13571028 Change-Id: Id8f94718aeaa13052672ccbae1e8edf77d653f62
Diffstat (limited to 'oatdump')
-rw-r--r--oatdump/oatdump.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index 915c415..c191226 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -864,7 +864,7 @@ class ImageDumper {
}
}
// Dump the large objects separately.
- heap->GetLargeObjectsSpace()->GetLiveObjects()->Walk(ImageDumper::Callback, this);
+ heap->GetLargeObjectsSpace()->GetLiveBitmap()->Walk(ImageDumper::Callback, this);
indent_os << "\n";
os_ = saved_os;
}