summaryrefslogtreecommitdiffstats
path: root/runtime/gc/accounting
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-03-20 16:15:37 -0700
committerHiroshi Yamauchi <yamauchi@google.com>2014-03-21 12:17:56 -0700
commitc93c530efc175954160c3834c93961a1a946a35a (patch)
tree32a389e2b4cfc3296075aed23f353b8d3042c9a5 /runtime/gc/accounting
parentfaa93b3ab455492dad1a9d3fb630e3936d389c85 (diff)
downloadandroid_art-c93c530efc175954160c3834c93961a1a946a35a.tar.gz
android_art-c93c530efc175954160c3834c93961a1a946a35a.tar.bz2
android_art-c93c530efc175954160c3834c93961a1a946a35a.zip
Revoke rosalloc thread-local buffers at the checkpoint.
In the mark sweep collector, rosalloc thread-local buffers were revoked during the pause. Now, they are revoked at the thread checkpoint, as opposed to during the pause, which appears to help reduce the pause time. In Ritz MemAllocTest, the average sticky pause time went down ~20% (925 us -> 724 us). Bug: 13394464 Bug: 9986565 Change-Id: I104992a11b46d59264c0b9aa2db82b1ccf2826bc
Diffstat (limited to 'runtime/gc/accounting')
-rw-r--r--runtime/gc/accounting/remembered_set.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/gc/accounting/remembered_set.cc b/runtime/gc/accounting/remembered_set.cc
index 72b92837d6..022d148fcc 100644
--- a/runtime/gc/accounting/remembered_set.cc
+++ b/runtime/gc/accounting/remembered_set.cc
@@ -155,7 +155,8 @@ void RememberedSet::AssertAllDirtyCardsAreWithinSpace() const {
for (const byte* card_addr : dirty_cards_) {
auto start = reinterpret_cast<byte*>(card_table->AddrFromCard(card_addr));
auto end = start + CardTable::kCardSize;
- DCHECK(space_->Begin() <= start && end <= space_->Limit());
+ DCHECK_LE(space_->Begin(), start);
+ DCHECK_LE(end, space_->Limit());
}
}