diff options
author | Ian Rogers <irogers@google.com> | 2013-11-19 18:00:50 -0800 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2013-12-20 08:01:57 -0800 |
commit | b122a4bbed34ab22b4c1541ee25e5cf22f12a926 (patch) | |
tree | 624f16271f4481a8fd5aa2f607385f490dc7b3ae /runtime/gc/collector/mark_sweep.cc | |
parent | e40687d053b89c495b6fbeb7a766b01c9c7e039c (diff) | |
download | art-b122a4bbed34ab22b4c1541ee25e5cf22f12a926.zip art-b122a4bbed34ab22b4c1541ee25e5cf22f12a926.tar.gz art-b122a4bbed34ab22b4c1541ee25e5cf22f12a926.tar.bz2 |
Tidy up memory barriers.
Change-Id: I937ea93e6df1835ecfe2d4bb7d84c24fe7fc097b
Diffstat (limited to 'runtime/gc/collector/mark_sweep.cc')
-rw-r--r-- | runtime/gc/collector/mark_sweep.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/runtime/gc/collector/mark_sweep.cc b/runtime/gc/collector/mark_sweep.cc index 28cc510..cae2a54 100644 --- a/runtime/gc/collector/mark_sweep.cc +++ b/runtime/gc/collector/mark_sweep.cc @@ -1109,8 +1109,8 @@ void MarkSweep::SweepCallback(size_t num_ptrs, Object** ptrs, void* arg) { // AllocSpace::FreeList clears the value in ptrs, so perform after clearing the live bit size_t freed_bytes = space->FreeList(self, num_ptrs, ptrs); heap->RecordFree(freed_objects, freed_bytes); - mark_sweep->freed_objects_.fetch_add(freed_objects); - mark_sweep->freed_bytes_.fetch_add(freed_bytes); + mark_sweep->freed_objects_.FetchAndAdd(freed_objects); + mark_sweep->freed_bytes_.FetchAndAdd(freed_bytes); } void MarkSweep::ZygoteSweepCallback(size_t num_ptrs, Object** ptrs, void* arg) { @@ -1192,10 +1192,10 @@ void MarkSweep::SweepArray(accounting::ObjectStack* allocations, bool swap_bitma VLOG(heap) << "Freed " << freed_objects << "/" << count << " objects with size " << PrettySize(freed_bytes); heap_->RecordFree(freed_objects + freed_large_objects, freed_bytes + freed_large_object_bytes); - freed_objects_.fetch_add(freed_objects); - freed_large_objects_.fetch_add(freed_large_objects); - freed_bytes_.fetch_add(freed_bytes); - freed_large_object_bytes_.fetch_add(freed_large_object_bytes); + freed_objects_.FetchAndAdd(freed_objects); + freed_large_objects_.FetchAndAdd(freed_large_objects); + freed_bytes_.FetchAndAdd(freed_bytes); + freed_large_object_bytes_.FetchAndAdd(freed_large_object_bytes); timings_.EndSplit(); timings_.StartSplit("ResetStack"); @@ -1267,8 +1267,8 @@ void MarkSweep::SweepLargeObjects(bool swap_bitmaps) { ++freed_objects; } } - freed_large_objects_.fetch_add(freed_objects); - freed_large_object_bytes_.fetch_add(freed_bytes); + freed_large_objects_.FetchAndAdd(freed_objects); + freed_large_object_bytes_.FetchAndAdd(freed_bytes); GetHeap()->RecordFree(freed_objects, freed_bytes); } |