summaryrefslogtreecommitdiffstats
path: root/runtime/gc/heap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/gc/heap.cc')
-rw-r--r--runtime/gc/heap.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 7e967f9862..be7344a13a 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -3145,6 +3145,8 @@ void Heap::GrowForUtilization(collector::GarbageCollector* collector_ran,
}
void Heap::ClampGrowthLimit() {
+ // Use heap bitmap lock to guard against races with BindLiveToMarkBitmap.
+ WriterMutexLock mu(Thread::Current(), *Locks::heap_bitmap_lock_);
capacity_ = growth_limit_;
for (const auto& space : continuous_spaces_) {
if (space->IsMallocSpace()) {