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/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc
index 69f6778..df236c1 100644
--- a/compiler/optimizing/instruction_builder.cc
+++ b/compiler/optimizing/instruction_builder.cc
@@ -1352,18 +1352,18 @@
// Check if the class will be initialized at runtime.
if (cls->IsInitialized()) {
- Runtime* runtime = Runtime::Current();
- if (runtime->IsAotCompiler()) {
+ const CompilerOptions& compiler_options = code_generator_->GetCompilerOptions();
+ if (compiler_options.IsAotCompiler()) {
// Assume loaded only if klass is in the boot image. App classes cannot be assumed
// loaded because we don't even know what class loader will be used to load them.
- if (IsInBootImage(cls, code_generator_->GetCompilerOptions())) {
+ if (IsInBootImage(cls, compiler_options)) {
return true;
}
} else {
- DCHECK(runtime->UseJitCompilation());
+ DCHECK(compiler_options.IsJitCompiler());
if (Runtime::Current()->GetJit()->CanAssumeInitialized(
cls,
- graph_->IsCompilingForSharedJitCode())) {
+ compiler_options.IsJitCompilerForSharedCode())) {
// For JIT, the class cannot revert to an uninitialized state.
return true;
}