summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hiroshi Yamauchi <yamauchi@google.com> 2015-06-22 19:40:00 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-06-22 19:40:00 +0000
commitf7012291ed9c984e2b50d83d7a2d5758cd64c99a (patch)
tree96e689c729366cb1786c6e6a389566f50eff4b0a
parentae393c3b24cfdad97aaded8c0ff1ee7262b46ffe (diff)
parent46ec520fc2d08e4bb602472406be8fd1ef7ca73c (diff)
Merge "Run an empty checkpoint before marking ends in the CC collector."
-rw-r--r--runtime/gc/collector/concurrent_copying.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/runtime/gc/collector/concurrent_copying.cc b/runtime/gc/collector/concurrent_copying.cc
index 6984c1624f..c7d2e9f2c9 100644
--- a/runtime/gc/collector/concurrent_copying.cc
+++ b/runtime/gc/collector/concurrent_copying.cc
@@ -412,6 +412,11 @@ void ConcurrentCopying::MarkingPhase() {
// the mark stack here once again.
ProcessMarkStack();
CheckEmptyMarkQueue();
+ if (kVerboseMode) {
+ LOG(INFO) << "AllowNewSystemWeaks";
+ }
+ Runtime::Current()->AllowNewSystemWeaks();
+ IssueEmptyCheckpoint();
// Disable marking.
if (kUseTableLookupReadBarrier) {
heap_->rb_table_->ClearAll();
@@ -419,10 +424,6 @@ void ConcurrentCopying::MarkingPhase() {
}
is_mark_queue_push_disallowed_.StoreSequentiallyConsistent(1);
is_marking_ = false;
- if (kVerboseMode) {
- LOG(INFO) << "AllowNewSystemWeaks";
- }
- Runtime::Current()->AllowNewSystemWeaks();
CheckEmptyMarkQueue();
}