Enable multi-threaded Quick compilation
Reuse thread-local copies of llvm context data for Quick compiler
(while continuing to regenerate fresh ones per method for Portable).
This is a transitional CL - the upcoming compiler driver change
is expected to pass pass a thread context structure to each compiler
worker thread rather than use the pthread_key mechanism.
Change-Id: I277920a5c2705748c3a9f37ceace53c903747ec2
diff --git a/src/compiler_llvm/compilation_unit.h b/src/compiler_llvm/compilation_unit.h
index c4fbae4..6ad7ee1 100644
--- a/src/compiler_llvm/compilation_unit.h
+++ b/src/compiler_llvm/compilation_unit.h
@@ -91,8 +91,8 @@
}
#if defined(ART_USE_QUICK_COMPILER)
- QuickCompiler* GetQuickContext() const {
- return quick_ctx_.get();
+ LLVMInfo* GetQuickContext() const {
+ return llvm_info_.get();
}
void SetCompiler(Compiler* compiler) {
compiler_ = compiler;
@@ -125,7 +125,7 @@
greenland::DexLang::Context* dex_lang_ctx_;
#endif
#if defined(ART_USE_QUICK_COMPILER)
- UniquePtr<QuickCompiler> quick_ctx_;
+ UniquePtr<LLVMInfo> llvm_info_;
Compiler* compiler_;
OatCompilationUnit* oat_compilation_unit_;
#endif