diff options
author | Raghu Gandham <raghu.gandham@imgtec.com> | 2014-06-13 15:16:31 -0700 |
---|---|---|
committer | Raghu Gandham <raghu.gandham@imgtec.com> | 2014-06-13 15:26:39 -0700 |
commit | 7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc (patch) | |
tree | b699dc76d48c853897d8cabaa825be2ab4ec4f5d /runtime | |
parent | 8cd927c8f6911cfb6118b8c54550959c09eb84f8 (diff) | |
download | art-7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc.zip art-7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc.tar.gz art-7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc.tar.bz2 |
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.
Change-Id: I9fcda51221f1f298bcb5dd0e10019bd2034ab8ae
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, |