Add compiler type to CompilerOptions.
Let CompilerOptions hold the information whether it is AOT
or JIT compilation, or Zygote JIT for shared code.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing --jit
Test: aosp_taimen-userdebug boots.
Change-Id: Id9200572406f8e43d99b8b61ef0e3edf43b52fff
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc
index 3646cc7..ef5669a 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -414,7 +414,7 @@
static bool IsMethodUnverified(const CompilerOptions& compiler_options, ArtMethod* method)
REQUIRES_SHARED(Locks::mutator_lock_) {
if (!method->GetDeclaringClass()->IsVerified()) {
- if (Runtime::Current()->UseJitCompilation()) {
+ if (compiler_options.IsJitCompiler()) {
// We're at runtime, we know this is cold code if the class
// is not verified, so don't bother analyzing.
return true;
@@ -673,7 +673,7 @@
StackHandleScope<1>* hs,
/*out*/Handle<mirror::ObjectArray<mirror::Class>>* inline_cache)
REQUIRES_SHARED(Locks::mutator_lock_) {
- DCHECK(Runtime::Current()->UseJitCompilation());
+ DCHECK(codegen_->GetCompilerOptions().IsJitCompiler());
ArtMethod* caller = graph_->GetArtMethod();
// Under JIT, we should always know the caller.
@@ -1185,7 +1185,7 @@
ArtMethod* resolved_method,
Handle<mirror::ObjectArray<mirror::Class>> classes) {
// This optimization only works under JIT for now.
- if (!Runtime::Current()->UseJitCompilation()) {
+ if (!codegen_->GetCompilerOptions().IsJitCompiler()) {
return false;
}
@@ -2046,7 +2046,6 @@
callee_dead_reference_safe,
graph_->IsDebuggable(),
/* osr= */ false,
- /* is_shared_jit_code= */ graph_->IsCompilingForSharedJitCode(),
/* baseline= */ graph_->IsCompilingBaseline(),
/* start_instruction_id= */ caller_instruction_counter);
callee_graph->SetArtMethod(resolved_method);