diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-04-16 09:48:48 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-04-17 19:01:34 -0700 |
commit | bbd695c71e0bf518f582e84524e1cdeb3de3896c (patch) | |
tree | 6fe6a128b629abc6a396a192b2e8da1180afeded /oatdump/oatdump.cc | |
parent | a092ee404ababbf8fc945111dc4a571284c9f02f (diff) | |
download | art-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/oatdump.cc')
-rw-r--r-- | oatdump/oatdump.cc | 2 |
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; } |