ART: Reduce dependencies on CompilerDriver.
Preparation for moving CompilerDriver and other stuff
from libart-compiler.so to dex2oat.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ic221ebca4b8c79dd1549316921ace655f2e3f0fe
diff --git a/compiler/jit/jit_compiler.cc b/compiler/jit/jit_compiler.cc
index 2c20b32..bbf3458 100644
--- a/compiler/jit/jit_compiler.cc
+++ b/compiler/jit/jit_compiler.cc
@@ -26,8 +26,8 @@
#include "base/systrace.h"
#include "base/time_utils.h"
#include "base/timing_logger.h"
+#include "compiler.h"
#include "debug/elf_debug_writer.h"
-#include "driver/compiler_driver.h"
#include "driver/compiler_options.h"
#include "jit/debugger_interface.h"
#include "jit/jit.h"
@@ -107,7 +107,7 @@
}
compiler_options_->instruction_set_features_ = std::move(instruction_set_features);
compiler_options_->compiling_with_core_image_ =
- CompilerDriver::IsCoreImageFilename(runtime->GetImageLocation());
+ CompilerOptions::IsCoreImageFilename(runtime->GetImageLocation());
if (compiler_options_->GetGenerateDebugInfo()) {
jit_logger_.reset(new JitLogger());
@@ -171,14 +171,8 @@
JitCompiler::JitCompiler() {
compiler_options_.reset(new CompilerOptions());
ParseCompilerOptions();
-
- compiler_driver_.reset(new CompilerDriver(
- compiler_options_.get(),
- Compiler::kOptimizing,
- /* thread_count= */ 1,
- /* swap_fd= */ -1));
- // Disable dedupe so we can remove compiled methods.
- compiler_driver_->SetDedupeEnabled(false);
+ compiler_.reset(
+ Compiler::Create(*compiler_options_, /*storage=*/ nullptr, Compiler::kOptimizing));
}
JitCompiler::~JitCompiler() {
@@ -203,8 +197,7 @@
{
TimingLogger::ScopedTiming t2("Compiling", &logger);
JitCodeCache* const code_cache = runtime->GetJit()->GetCodeCache();
- success = compiler_driver_->GetCompiler()->JitCompile(
- self, code_cache, method, baseline, osr, jit_logger_.get());
+ success = compiler_->JitCompile(self, code_cache, method, baseline, osr, jit_logger_.get());
}
// Trim maps to reduce memory usage.