summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/compiler_llvm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler_llvm/compiler_llvm.cc')
-rw-r--r--src/compiler_llvm/compiler_llvm.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler_llvm/compiler_llvm.cc b/src/compiler_llvm/compiler_llvm.cc
index 1623b2cef5..ca0a4dac3e 100644
--- a/src/compiler_llvm/compiler_llvm.cc
+++ b/src/compiler_llvm/compiler_llvm.cc
@@ -258,6 +258,8 @@ CompileDexMethod(OatCompilationUnit* oat_compilation_unit) {
EnsureCompilationUnit();
+ MutexLock GUARD_CUNIT(curr_cunit_->cunit_lock_);
+
UniquePtr<MethodCompiler> method_compiler(
new MethodCompiler(curr_cunit_, compiler_, oat_compilation_unit));
@@ -271,6 +273,8 @@ CompileNativeMethod(OatCompilationUnit* oat_compilation_unit) {
EnsureCompilationUnit();
+ MutexLock GUARD_CUNIT(curr_cunit_->cunit_lock_);
+
UniquePtr<JniCompiler> jni_compiler(
new JniCompiler(curr_cunit_, *compiler_, oat_compilation_unit));
@@ -284,6 +288,8 @@ CompiledInvokeStub* CompilerLLVM::CreateInvokeStub(bool is_static,
EnsureCompilationUnit();
+ MutexLock GUARD_CUNIT(curr_cunit_->cunit_lock_);
+
UniquePtr<UpcallCompiler> upcall_compiler(
new UpcallCompiler(curr_cunit_, *compiler_));