Tidy up memory barriers.
Change-Id: I937ea93e6df1835ecfe2d4bb7d84c24fe7fc097b
diff --git a/runtime/monitor.cc b/runtime/monitor.cc
index ef9a9ce..4186693 100644
--- a/runtime/monitor.cc
+++ b/runtime/monitor.cc
@@ -98,12 +98,12 @@
int32_t Monitor::GetHashCode() {
while (!HasHashCode()) {
- if (hash_code_.compare_and_swap(0, mirror::Object::GenerateIdentityHashCode())) {
+ if (hash_code_.CompareAndSwap(0, mirror::Object::GenerateIdentityHashCode())) {
break;
}
}
DCHECK(HasHashCode());
- return hash_code_.load();
+ return hash_code_.Load();
}
bool Monitor::Install(Thread* self) {
@@ -660,6 +660,7 @@
case LockWord::kUnlocked: {
LockWord thin_locked(LockWord::FromThinLockId(thread_id, 0));
if (sirt_obj->CasLockWord(lock_word, thin_locked)) {
+ QuasiAtomic::MembarLoadLoad();
return; // Success!
}
continue; // Go again.