Commit 72892854 authored by Brian White's avatar Brian White Committed by Commit Bot

Use Acquire/Release for bucket-ranges persistent reference.

When memory blocks are found by iteration, it is synchronized.  When
the blocks are passed directly by reference, those references need
acquire/release semantics.

Bug: 749328
Change-Id: I87c8888cc2153ab027ee51791fd64d095b1d59e8
Reviewed-on: https://chromium-review.googlesource.com/596273Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
Commit-Queue: Brian White <bcwhite@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491507}
parent 651ac81c
......@@ -68,10 +68,10 @@ class BASE_EXPORT BucketRanges {
// safety against overwriting an existing value since though it is wasteful
// to have multiple identical persistent records, it is still safe.
void set_persistent_reference(uint32_t ref) const {
subtle::NoBarrier_Store(&persistent_reference_, ref);
subtle::Release_Store(&persistent_reference_, ref);
}
uint32_t persistent_reference() const {
return subtle::NoBarrier_Load(&persistent_reference_);
return subtle::Acquire_Load(&persistent_reference_);
}
private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment