diff options
author | Ian Rogers <irogers@google.com> | 2014-06-18 23:24:40 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-06-18 22:48:23 +0000 |
commit | 0c29909cbde112bc9c04da4ce81421e1a0b39f36 (patch) | |
tree | a925100d9eed7aaeee7f3d0fa16a8917f6370c12 /runtime | |
parent | 241fd1192dfc0f7322660343179f9fc0591ed9ff (diff) | |
parent | 7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc (diff) | |
download | art-0c29909cbde112bc9c04da4ce81421e1a0b39f36.zip art-0c29909cbde112bc9c04da4ce81421e1a0b39f36.tar.gz art-0c29909cbde112bc9c04da4ce81421e1a0b39f36.tar.bz2 |
Merge "Assign a lower Locklevel for Mutexes used in QuasiAtomic operations. This fixes the CompilerDriverTest on MIPS. The test was failing when Transaction::Abort() acquired intern_table_lock_ and log_lock_ and subsequently performed QuasiAtomic operations."
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/atomic.cc | 2 | ||||
-rw-r--r-- | runtime/base/mutex.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/runtime/atomic.cc b/runtime/atomic.cc index 63f2cf8..e766a8d 100644 --- a/runtime/atomic.cc +++ b/runtime/atomic.cc @@ -31,7 +31,7 @@ void QuasiAtomic::Startup() { if (kNeedSwapMutexes) { gSwapMutexes = new std::vector<Mutex*>; for (size_t i = 0; i < kSwapMutexCount; ++i) { - gSwapMutexes->push_back(new Mutex("QuasiAtomic stripe")); + gSwapMutexes->push_back(new Mutex("QuasiAtomic stripe", kSwapMutexesLock)); } } } diff --git a/runtime/base/mutex.h b/runtime/base/mutex.h index 1ba6180..81e62ab 100644 --- a/runtime/base/mutex.h +++ b/runtime/base/mutex.h @@ -55,6 +55,7 @@ class Thread; enum LockLevel { kLoggingLock = 0, kMemMapsLock, + kSwapMutexesLock, kUnexpectedSignalLock, kThreadSuspendCountLock, kAbortLock, |