Rename and obsolete compiler filter names.
ART side of the change.
bug:34715556
test: test-art-host, jdwp, libcore
Change-Id: I3a73ae4af2d602431150c8ecfceaddb9ba519cee
diff --git a/build/Android.oat.mk b/build/Android.oat.mk
index c733feb..3f9ea15 100644
--- a/build/Android.oat.mk
+++ b/build/Android.oat.mk
@@ -56,11 +56,11 @@
core_dex2oat_dependency := $(DEX2OAT)
endif
ifeq ($(1),interpreter)
- core_compile_options += --compiler-filter=interpret-only
+ core_compile_options += --compiler-filter=quicken
core_infix := -interpreter
endif
ifeq ($(1),interp-ac)
- core_compile_options += --compiler-filter=verify-at-runtime --runtime-arg -Xverify:softfail
+ core_compile_options += --compiler-filter=extract --runtime-arg -Xverify:softfail
core_infix := -interp-ac
endif
ifneq ($(filter-out interpreter interp-ac optimizing,$(1)),)
@@ -166,11 +166,11 @@
core_dex2oat_dependency := $(DEX2OAT)
endif
ifeq ($(1),interpreter)
- core_compile_options += --compiler-filter=interpret-only
+ core_compile_options += --compiler-filter=quicken
core_infix := -interpreter
endif
ifeq ($(1),interp-ac)
- core_compile_options += --compiler-filter=verify-at-runtime --runtime-arg -Xverify:softfail
+ core_compile_options += --compiler-filter=extract --runtime-arg -Xverify:softfail
core_infix := -interp-ac
endif
ifneq ($(filter-out interpreter interp-ac optimizing,$(1)),)
diff --git a/compiler/dex/dex_to_dex_decompiler_test.cc b/compiler/dex/dex_to_dex_decompiler_test.cc
index 9a8d27c..43100c9 100644
--- a/compiler/dex/dex_to_dex_decompiler_test.cc
+++ b/compiler/dex/dex_to_dex_decompiler_test.cc
@@ -38,7 +38,7 @@
TimingLogger timings("CompilerDriverTest::CompileAll", false, false);
TimingLogger::ScopedTiming t(__FUNCTION__, &timings);
compiler_options_->boot_image_ = false;
- compiler_options_->SetCompilerFilter(CompilerFilter::kInterpretOnly);
+ compiler_options_->SetCompilerFilter(CompilerFilter::kQuicken);
compiler_driver_->CompileAll(class_loader,
GetDexFiles(class_loader),
/* verifier_deps */ nullptr,
diff --git a/compiler/dex/verification_results.cc b/compiler/dex/verification_results.cc
index 00a7d44..4c50797 100644
--- a/compiler/dex/verification_results.cc
+++ b/compiler/dex/verification_results.cc
@@ -126,7 +126,7 @@
bool VerificationResults::IsCandidateForCompilation(MethodReference&,
const uint32_t access_flags) {
- if (!compiler_options_->IsBytecodeCompilationEnabled()) {
+ if (!compiler_options_->IsAotCompilationEnabled()) {
return false;
}
// Don't compile class initializers unless kEverything.
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index 1a44524..8a3b45e 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -420,7 +420,7 @@
// Compile:
// 1) Compile all classes and methods enabled for compilation. May fall back to dex-to-dex
// compilation.
- if (GetCompilerOptions().IsAnyMethodCompilationEnabled()) {
+ if (GetCompilerOptions().IsAnyCompilationEnabled()) {
Compile(class_loader, dex_files, timings);
}
if (dump_stats_) {
@@ -513,7 +513,7 @@
const DexFile& dex_file, const DexFile::ClassDef& class_def)
REQUIRES_SHARED(Locks::mutator_lock_) {
auto* const runtime = Runtime::Current();
- DCHECK(driver.GetCompilerOptions().IsAnyMethodCompilationEnabled());
+ DCHECK(driver.GetCompilerOptions().IsQuickeningCompilationEnabled());
const char* descriptor = dex_file.GetClassDescriptor(class_def);
ClassLinker* class_linker = runtime->GetClassLinker();
mirror::Class* klass = class_linker->FindClass(self, descriptor, class_loader);
@@ -985,7 +985,8 @@
LoadImageClasses(timings);
VLOG(compiler) << "LoadImageClasses: " << GetMemoryUsageString(false);
- if (compiler_options_->IsAnyMethodCompilationEnabled()) {
+ if (compiler_options_->IsAnyCompilationEnabled()) {
+ // Resolve eagerly to prepare for compilation.
Resolve(class_loader, dex_files, timings);
VLOG(compiler) << "Resolve: " << GetMemoryUsageString(false);
}
@@ -1013,7 +1014,7 @@
<< "situations. Please check the log.";
}
- if (compiler_options_->IsAnyMethodCompilationEnabled()) {
+ if (compiler_options_->IsAnyCompilationEnabled()) {
if (kIsDebugBuild) {
EnsureVerifiedOrVerifyAtRuntime(class_loader, dex_files);
}
@@ -2016,7 +2017,7 @@
return false;
}
- bool compiler_only_verifies = !GetCompilerOptions().IsAnyMethodCompilationEnabled();
+ bool compiler_only_verifies = !GetCompilerOptions().IsAnyCompilationEnabled();
// We successfully validated the dependencies, now update class status
// of verified classes. Note that the dependencies also record which classes
diff --git a/compiler/driver/compiler_driver_test.cc b/compiler/driver/compiler_driver_test.cc
index 42ff1e7..17854fd 100644
--- a/compiler/driver/compiler_driver_test.cc
+++ b/compiler/driver/compiler_driver_test.cc
@@ -325,7 +325,7 @@
class CompilerDriverVerifyTest : public CompilerDriverTest {
protected:
CompilerFilter::Filter GetCompilerFilter() const OVERRIDE {
- return CompilerFilter::kVerifyProfile;
+ return CompilerFilter::kVerify;
}
void CheckVerifiedClass(jobject class_loader, const std::string& clazz) const {
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h
index 2376fbf..957ea99 100644
--- a/compiler/driver/compiler_options.h
+++ b/compiler/driver/compiler_options.h
@@ -84,32 +84,32 @@
compiler_filter_ = compiler_filter;
}
- bool VerifyAtRuntime() const {
- return compiler_filter_ == CompilerFilter::kVerifyAtRuntime;
- }
-
- bool IsBytecodeCompilationEnabled() const {
- return CompilerFilter::IsBytecodeCompilationEnabled(compiler_filter_);
+ bool IsAotCompilationEnabled() const {
+ return CompilerFilter::IsAotCompilationEnabled(compiler_filter_);
}
bool IsJniCompilationEnabled() const {
return CompilerFilter::IsJniCompilationEnabled(compiler_filter_);
}
+ bool IsQuickeningCompilationEnabled() const {
+ return CompilerFilter::IsQuickeningCompilationEnabled(compiler_filter_);
+ }
+
bool IsVerificationEnabled() const {
return CompilerFilter::IsVerificationEnabled(compiler_filter_);
}
bool AssumeClassesAreVerified() const {
- return compiler_filter_ == CompilerFilter::kVerifyNone;
+ return compiler_filter_ == CompilerFilter::kAssumeVerified;
}
- bool VerifyOnlyProfile() const {
- return compiler_filter_ == CompilerFilter::kVerifyProfile;
+ bool VerifyAtRuntime() const {
+ return compiler_filter_ == CompilerFilter::kExtract;
}
- bool IsAnyMethodCompilationEnabled() const {
- return CompilerFilter::IsAnyMethodCompilationEnabled(compiler_filter_);
+ bool IsAnyCompilationEnabled() const {
+ return CompilerFilter::IsAnyCompilationEnabled(compiler_filter_);
}
size_t GetHugeMethodThreshold() const {
diff --git a/compiler/oat_test.cc b/compiler/oat_test.cc
index ead4124..1578c0c 100644
--- a/compiler/oat_test.cc
+++ b/compiler/oat_test.cc
@@ -519,7 +519,7 @@
if (insn_set == kArm) insn_set = kThumb2;
std::string error_msg;
std::vector<std::string> compiler_options;
- compiler_options.push_back("--compiler-filter=verify-at-runtime");
+ compiler_options.push_back("--compiler-filter=extract");
SetupCompiler(compiler_kind, insn_set, compiler_options, /*out*/ &error_msg);
jobject class_loader;
diff --git a/compiler/oat_writer.cc b/compiler/oat_writer.cc
index 1781643..0dd6478 100644
--- a/compiler/oat_writer.cc
+++ b/compiler/oat_writer.cc
@@ -1676,7 +1676,7 @@
if (UNLIKELY(!visitor->StartClass(dex_file, class_def_index))) {
return false;
}
- if (compiler_driver_->GetCompilerOptions().IsAnyMethodCompilationEnabled()) {
+ if (compiler_driver_->GetCompilerOptions().IsAnyCompilationEnabled()) {
const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
const uint8_t* class_data = dex_file->GetClassData(class_def);
if (class_data != nullptr) { // ie not an empty class, such as a marker interface
@@ -1758,7 +1758,7 @@
}
size_t OatWriter::InitOatMaps(size_t offset) {
- if (!compiler_driver_->GetCompilerOptions().IsAnyMethodCompilationEnabled()) {
+ if (!compiler_driver_->GetCompilerOptions().IsAnyCompilationEnabled()) {
return offset;
}
{
@@ -1814,7 +1814,7 @@
}
size_t OatWriter::InitOatCodeDexFiles(size_t offset) {
- if (!compiler_driver_->GetCompilerOptions().IsAnyMethodCompilationEnabled()) {
+ if (!compiler_driver_->GetCompilerOptions().IsAnyCompilationEnabled()) {
return offset;
}
InitCodeMethodVisitor code_visitor(this, offset, vdex_quickening_info_offset_);
@@ -1983,7 +1983,7 @@
return false;
}
- if (compiler_driver_->GetCompilerOptions().IsAnyMethodCompilationEnabled()) {
+ if (compiler_driver_->GetCompilerOptions().IsAnyCompilationEnabled()) {
WriteQuickeningInfoMethodVisitor visitor(this, vdex_out, start_offset);
if (!VisitDexMethods(&visitor)) {
PLOG(ERROR) << "Failed to write the vdex quickening info. File: " << vdex_out->GetLocation();
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index a9108e0e..a2c73be 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -268,20 +268,17 @@
UsageError(" Default: Optimizing");
UsageError("");
UsageError(" --compiler-filter="
- "(verify-none"
- "|verify-at-runtime"
- "|verify-profile"
- "|interpret-only"
- "|time"
+ "(assume-verified"
+ "|extract"
+ "|verify"
+ "|quicken"
"|space-profile"
"|space"
- "|balanced"
"|speed-profile"
"|speed"
"|everything-profile"
"|everything):");
UsageError(" select compiler filter.");
- UsageError(" verify-profile requires a --profile(-fd) to also be passed in.");
UsageError(" Example: --compiler-filter=everything");
UsageError(" Default: speed");
UsageError("");
@@ -1571,14 +1568,14 @@
// If we need to downgrade the compiler-filter for size reasons, do that check now.
if (!IsBootImage() && IsVeryLarge(dex_files_)) {
- if (!CompilerFilter::IsAsGoodAs(CompilerFilter::kVerifyAtRuntime,
+ if (!CompilerFilter::IsAsGoodAs(CompilerFilter::kExtract,
compiler_options_->GetCompilerFilter())) {
- LOG(INFO) << "Very large app, downgrading to verify-at-runtime.";
+ LOG(INFO) << "Very large app, downgrading to extract.";
// Note: this change won't be reflected in the key-value store, as that had to be
// finalized before loading the dex files. This setup is currently required
// to get the size from the DexFile objects.
// TODO: refactor. b/29790079
- compiler_options_->SetCompilerFilter(CompilerFilter::kVerifyAtRuntime);
+ compiler_options_->SetCompilerFilter(CompilerFilter::kExtract);
}
}
@@ -2086,7 +2083,7 @@
}
bool DoProfileGuidedOptimizations() const {
- return UseProfile() && compiler_options_->GetCompilerFilter() != CompilerFilter::kVerifyProfile;
+ return UseProfile();
}
bool DoDexLayoutOptimizations() const {
diff --git a/dex2oat/dex2oat_test.cc b/dex2oat/dex2oat_test.cc
index 8c14b50..9d9f8c6 100644
--- a/dex2oat/dex2oat_test.cc
+++ b/dex2oat/dex2oat_test.cc
@@ -161,7 +161,7 @@
runtime->AddCurrentRuntimeFeaturesAsDex2OatArguments(&argv);
if (!runtime->IsVerificationEnabled()) {
- argv.push_back("--compiler-filter=verify-none");
+ argv.push_back("--compiler-filter=assume-verified");
}
if (runtime->MustRelocateIfPossible()) {
@@ -514,7 +514,7 @@
}
// If the input filter was "below," it should have been used.
- if (!CompilerFilter::IsAsGoodAs(CompilerFilter::kVerifyAtRuntime, filter)) {
+ if (!CompilerFilter::IsAsGoodAs(CompilerFilter::kExtract, filter)) {
EXPECT_EQ(odex_file->GetCompilerFilter(), filter);
}
} else {
@@ -536,11 +536,11 @@
void CheckHostResult(bool expect_large) {
if (!kIsTargetBuild) {
if (expect_large) {
- EXPECT_NE(output_.find("Very large app, downgrading to verify-at-runtime."),
+ EXPECT_NE(output_.find("Very large app, downgrading to extract."),
std::string::npos)
<< output_;
} else {
- EXPECT_EQ(output_.find("Very large app, downgrading to verify-at-runtime."),
+ EXPECT_EQ(output_.find("Very large app, downgrading to extract."),
std::string::npos)
<< output_;
}
@@ -567,21 +567,21 @@
};
TEST_F(Dex2oatVeryLargeTest, DontUseVeryLarge) {
- RunTest(CompilerFilter::kVerifyNone, false);
- RunTest(CompilerFilter::kVerifyAtRuntime, false);
- RunTest(CompilerFilter::kInterpretOnly, false);
+ RunTest(CompilerFilter::kAssumeVerified, false);
+ RunTest(CompilerFilter::kExtract, false);
+ RunTest(CompilerFilter::kQuicken, false);
RunTest(CompilerFilter::kSpeed, false);
- RunTest(CompilerFilter::kVerifyNone, false, { "--very-large-app-threshold=1000000" });
- RunTest(CompilerFilter::kVerifyAtRuntime, false, { "--very-large-app-threshold=1000000" });
- RunTest(CompilerFilter::kInterpretOnly, false, { "--very-large-app-threshold=1000000" });
+ RunTest(CompilerFilter::kAssumeVerified, false, { "--very-large-app-threshold=1000000" });
+ RunTest(CompilerFilter::kExtract, false, { "--very-large-app-threshold=1000000" });
+ RunTest(CompilerFilter::kQuicken, false, { "--very-large-app-threshold=1000000" });
RunTest(CompilerFilter::kSpeed, false, { "--very-large-app-threshold=1000000" });
}
TEST_F(Dex2oatVeryLargeTest, UseVeryLarge) {
- RunTest(CompilerFilter::kVerifyNone, false, { "--very-large-app-threshold=100" });
- RunTest(CompilerFilter::kVerifyAtRuntime, false, { "--very-large-app-threshold=100" });
- RunTest(CompilerFilter::kInterpretOnly, true, { "--very-large-app-threshold=100" });
+ RunTest(CompilerFilter::kAssumeVerified, false, { "--very-large-app-threshold=100" });
+ RunTest(CompilerFilter::kExtract, false, { "--very-large-app-threshold=100" });
+ RunTest(CompilerFilter::kQuicken, true, { "--very-large-app-threshold=100" });
RunTest(CompilerFilter::kSpeed, true, { "--very-large-app-threshold=100" });
}
diff --git a/dexoptanalyzer/dexoptanalyzer_test.cc b/dexoptanalyzer/dexoptanalyzer_test.cc
index 57d3f1f..1703ff4 100644
--- a/dexoptanalyzer/dexoptanalyzer_test.cc
+++ b/dexoptanalyzer/dexoptanalyzer_test.cc
@@ -89,8 +89,8 @@
Copy(GetDexSrc1(), dex_location);
Verify(dex_location, CompilerFilter::kSpeed);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
- Verify(dex_location, CompilerFilter::kInterpretOnly);
+ Verify(dex_location, CompilerFilter::kExtract);
+ Verify(dex_location, CompilerFilter::kQuicken);
Verify(dex_location, CompilerFilter::kSpeedProfile);
}
@@ -101,8 +101,8 @@
GenerateOatForTest(dex_location.c_str(), CompilerFilter::kSpeed);
Verify(dex_location, CompilerFilter::kSpeed);
- Verify(dex_location, CompilerFilter::kInterpretOnly);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
+ Verify(dex_location, CompilerFilter::kQuicken);
+ Verify(dex_location, CompilerFilter::kExtract);
Verify(dex_location, CompilerFilter::kEverything);
}
@@ -113,9 +113,9 @@
GenerateOatForTest(dex_location.c_str(), CompilerFilter::kSpeedProfile);
Verify(dex_location, CompilerFilter::kSpeedProfile, false);
- Verify(dex_location, CompilerFilter::kInterpretOnly, false);
+ Verify(dex_location, CompilerFilter::kQuicken, false);
Verify(dex_location, CompilerFilter::kSpeedProfile, true);
- Verify(dex_location, CompilerFilter::kInterpretOnly, true);
+ Verify(dex_location, CompilerFilter::kQuicken, true);
}
// Case: We have a MultiDEX file and up-to-date OAT file for it.
@@ -154,7 +154,7 @@
GenerateOatForTest(dex_location.c_str(), CompilerFilter::kSpeed);
Copy(GetDexSrc2(), dex_location);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
+ Verify(dex_location, CompilerFilter::kExtract);
Verify(dex_location, CompilerFilter::kSpeed);
}
@@ -170,8 +170,8 @@
/*pic*/false,
/*with_alternate_image*/true);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
- Verify(dex_location, CompilerFilter::kInterpretOnly);
+ Verify(dex_location, CompilerFilter::kExtract);
+ Verify(dex_location, CompilerFilter::kQuicken);
Verify(dex_location, CompilerFilter::kSpeed);
}
@@ -184,13 +184,13 @@
Copy(GetDexSrc1(), dex_location);
GenerateOatForTest(dex_location.c_str(),
- CompilerFilter::kVerifyAtRuntime,
+ CompilerFilter::kExtract,
/*relocate*/true,
/*pic*/false,
/*with_alternate_image*/true);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
- Verify(dex_location, CompilerFilter::kInterpretOnly);
+ Verify(dex_location, CompilerFilter::kExtract);
+ Verify(dex_location, CompilerFilter::kQuicken);
}
// Case: We have a DEX file and an ODEX file, but no OAT file.
@@ -201,7 +201,7 @@
Copy(GetDexSrc1(), dex_location);
GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kSpeed);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
+ Verify(dex_location, CompilerFilter::kExtract);
Verify(dex_location, CompilerFilter::kSpeed);
}
@@ -235,7 +235,7 @@
// Strip the dex file.
Copy(GetStrippedDexSrc1(), dex_location);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
+ Verify(dex_location, CompilerFilter::kExtract);
Verify(dex_location, CompilerFilter::kSpeed);
Verify(dex_location, CompilerFilter::kEverything);
}
@@ -248,8 +248,8 @@
Copy(GetStrippedDexSrc1(), dex_location);
Verify(dex_location, CompilerFilter::kSpeed);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
- Verify(dex_location, CompilerFilter::kInterpretOnly);
+ Verify(dex_location, CompilerFilter::kExtract);
+ Verify(dex_location, CompilerFilter::kQuicken);
}
// Case: We have a DEX file, an ODEX file and an OAT file, where the ODEX and
@@ -287,9 +287,9 @@
std::string odex_location = GetOdexDir() + "/DexVerifyAtRuntimeOdexNoOat.odex";
Copy(GetDexSrc1(), dex_location);
- GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kVerifyAtRuntime);
+ GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kExtract);
- Verify(dex_location, CompilerFilter::kVerifyAtRuntime);
+ Verify(dex_location, CompilerFilter::kExtract);
Verify(dex_location, CompilerFilter::kSpeed);
}
diff --git a/runtime/compiler_filter.cc b/runtime/compiler_filter.cc
index dc55ab8..dbfcdfe 100644
--- a/runtime/compiler_filter.cc
+++ b/runtime/compiler_filter.cc
@@ -20,17 +20,15 @@
namespace art {
-bool CompilerFilter::IsBytecodeCompilationEnabled(Filter filter) {
+bool CompilerFilter::IsAotCompilationEnabled(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime:
- case CompilerFilter::kVerifyProfile:
- case CompilerFilter::kInterpretOnly: return false;
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract:
+ case CompilerFilter::kVerify:
+ case CompilerFilter::kQuicken: return false;
case CompilerFilter::kSpaceProfile:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeedProfile:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverythingProfile:
@@ -41,15 +39,13 @@
bool CompilerFilter::IsJniCompilationEnabled(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime: return false;
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract:
+ case CompilerFilter::kVerify: return false;
- case CompilerFilter::kVerifyProfile:
- case CompilerFilter::kInterpretOnly:
+ case CompilerFilter::kQuicken:
case CompilerFilter::kSpaceProfile:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeedProfile:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverythingProfile:
@@ -58,17 +54,15 @@
UNREACHABLE();
}
-bool CompilerFilter::IsAnyMethodCompilationEnabled(Filter filter) {
+bool CompilerFilter::IsQuickeningCompilationEnabled(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime:
- case CompilerFilter::kVerifyProfile: return false;
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract:
+ case CompilerFilter::kVerify: return false;
- case CompilerFilter::kInterpretOnly:
+ case CompilerFilter::kQuicken:
case CompilerFilter::kSpaceProfile:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeedProfile:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverythingProfile:
@@ -77,17 +71,21 @@
UNREACHABLE();
}
+bool CompilerFilter::IsAnyCompilationEnabled(Filter filter) {
+ return IsJniCompilationEnabled(filter) ||
+ IsQuickeningCompilationEnabled(filter) ||
+ IsAotCompilationEnabled(filter);
+}
+
bool CompilerFilter::IsVerificationEnabled(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime: return false;
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract: return false;
- case CompilerFilter::kVerifyProfile:
- case CompilerFilter::kInterpretOnly:
+ case CompilerFilter::kVerify:
+ case CompilerFilter::kQuicken:
case CompilerFilter::kSpaceProfile:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeedProfile:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverythingProfile:
@@ -104,19 +102,14 @@
bool CompilerFilter::DependsOnProfile(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime:
- case CompilerFilter::kInterpretOnly:
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract:
+ case CompilerFilter::kVerify:
+ case CompilerFilter::kQuicken:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverything: return false;
- // verify-profile doesn't look at profiles anymore.
- // TODO(ngeoffray): this will be cleaned up with b/34715556.
- case CompilerFilter::kVerifyProfile: return false;
-
case CompilerFilter::kSpaceProfile:
case CompilerFilter::kSpeedProfile:
case CompilerFilter::kEverythingProfile: return true;
@@ -126,21 +119,15 @@
CompilerFilter::Filter CompilerFilter::GetNonProfileDependentFilterFrom(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone:
- case CompilerFilter::kVerifyAtRuntime:
- case CompilerFilter::kInterpretOnly:
+ case CompilerFilter::kAssumeVerified:
+ case CompilerFilter::kExtract:
+ case CompilerFilter::kVerify:
+ case CompilerFilter::kQuicken:
case CompilerFilter::kSpace:
- case CompilerFilter::kBalanced:
- case CompilerFilter::kTime:
case CompilerFilter::kSpeed:
case CompilerFilter::kEverything:
return filter;
- case CompilerFilter::kVerifyProfile:
- // verify-profile doesn't look at profiles anymore.
- // TODO(ngeoffray): this will be cleaned up with b/34715556.
- return filter;
-
case CompilerFilter::kSpaceProfile:
return CompilerFilter::kSpace;
@@ -160,14 +147,12 @@
std::string CompilerFilter::NameOfFilter(Filter filter) {
switch (filter) {
- case CompilerFilter::kVerifyNone: return "verify-none";
- case CompilerFilter::kVerifyAtRuntime: return "verify-at-runtime";
- case CompilerFilter::kVerifyProfile: return "verify-profile";
- case CompilerFilter::kInterpretOnly: return "interpret-only";
+ case CompilerFilter::kAssumeVerified: return "assume-verified";
+ case CompilerFilter::kExtract: return "extract";
+ case CompilerFilter::kVerify: return "verify";
+ case CompilerFilter::kQuicken: return "quicken";
case CompilerFilter::kSpaceProfile: return "space-profile";
case CompilerFilter::kSpace: return "space";
- case CompilerFilter::kBalanced: return "balanced";
- case CompilerFilter::kTime: return "time";
case CompilerFilter::kSpeedProfile: return "speed-profile";
case CompilerFilter::kSpeed: return "speed";
case CompilerFilter::kEverythingProfile: return "everything-profile";
@@ -180,19 +165,41 @@
CHECK(filter != nullptr);
if (strcmp(option, "verify-none") == 0) {
- *filter = kVerifyNone;
+ LOG(WARNING) << "'verify-none' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'assume-verified' instead.";
+ *filter = kAssumeVerified;
} else if (strcmp(option, "interpret-only") == 0) {
- *filter = kInterpretOnly;
+ LOG(WARNING) << "'interpret-only' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'quicken' instead.";
+ *filter = kQuicken;
} else if (strcmp(option, "verify-profile") == 0) {
- *filter = kVerifyProfile;
+ LOG(WARNING) << "'verify-profile' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'verify' instead.";
+ *filter = kVerify;
} else if (strcmp(option, "verify-at-runtime") == 0) {
- *filter = kVerifyAtRuntime;
+ LOG(WARNING) << "'verify-at-runtime' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'extract' instead.";
+ *filter = kExtract;
+ } else if (strcmp(option, "balanced") == 0) {
+ LOG(WARNING) << "'balanced' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'speed' instead.";
+ *filter = kSpeed;
+ } else if (strcmp(option, "time") == 0) {
+ LOG(WARNING) << "'time' is an obsolete compiler filter name that will be "
+ << "removed in future releases, please use 'space' instead.";
+ *filter = kSpace;
+ } else if (strcmp(option, "assume-verified") == 0) {
+ *filter = kAssumeVerified;
+ } else if (strcmp(option, "extract") == 0) {
+ *filter = kExtract;
+ } else if (strcmp(option, "verify") == 0) {
+ *filter = kVerify;
+ } else if (strcmp(option, "quicken") == 0) {
+ *filter = kQuicken;
} else if (strcmp(option, "space") == 0) {
*filter = kSpace;
} else if (strcmp(option, "space-profile") == 0) {
*filter = kSpaceProfile;
- } else if (strcmp(option, "balanced") == 0) {
- *filter = kBalanced;
} else if (strcmp(option, "speed") == 0) {
*filter = kSpeed;
} else if (strcmp(option, "speed-profile") == 0) {
@@ -201,8 +208,6 @@
*filter = kEverything;
} else if (strcmp(option, "everything-profile") == 0) {
*filter = kEverythingProfile;
- } else if (strcmp(option, "time") == 0) {
- *filter = kTime;
} else {
return false;
}
diff --git a/runtime/compiler_filter.h b/runtime/compiler_filter.h
index 796f4aa..9cb54b1 100644
--- a/runtime/compiler_filter.h
+++ b/runtime/compiler_filter.h
@@ -30,14 +30,12 @@
// Note: Order here matters. Later filter choices are considered "as good
// as" earlier filter choices.
enum Filter {
- kVerifyNone, // Skip verification but mark all classes as verified anyway.
- kVerifyAtRuntime, // Delay verication to runtime, do not compile anything.
- kVerifyProfile, // Verify only the classes in the profile, compile only JNI stubs.
- kInterpretOnly, // Verify everything, compile only JNI stubs.
- kTime, // Compile methods, but minimize compilation time.
+ kAssumeVerified, // Skip verification but mark all classes as verified anyway.
+ kExtract, // Delay verication to runtime, do not compile anything.
+ kVerify, // Only verify classes.
+ kQuicken, // Verify, quicken, and compile JNI stubs.
kSpaceProfile, // Maximize space savings based on profile.
kSpace, // Maximize space savings.
- kBalanced, // Good performance return on compilation investment.
kSpeedProfile, // Maximize runtime performance based on profile.
kSpeed, // Maximize runtime performance.
kEverythingProfile, // Compile everything capable of being compiled based on profile.
@@ -48,17 +46,21 @@
// Returns true if an oat file with this compiler filter contains
// compiled executable code for bytecode.
- static bool IsBytecodeCompilationEnabled(Filter filter);
+ static bool IsAotCompilationEnabled(Filter filter);
// Returns true if an oat file with this compiler filter contains
// compiled executable code for bytecode, JNI methods, or quickened dex
// bytecode.
- static bool IsAnyMethodCompilationEnabled(Filter filter);
+ static bool IsAnyCompilationEnabled(Filter filter);
// Returns true if an oat file with this compiler filter contains
// compiled executable code for JNI methods.
static bool IsJniCompilationEnabled(Filter filter);
+ // Returns true if an oat file with this compiler filter contains
+ // quickened dex bytecode.
+ static bool IsQuickeningCompilationEnabled(Filter filter);
+
// Returns true if this compiler filter requires running verification.
static bool IsVerificationEnabled(Filter filter);
diff --git a/runtime/compiler_filter_test.cc b/runtime/compiler_filter_test.cc
index c603be6..a59165f 100644
--- a/runtime/compiler_filter_test.cc
+++ b/runtime/compiler_filter_test.cc
@@ -33,14 +33,12 @@
TEST(CompilerFilterTest, ParseCompilerFilter) {
CompilerFilter::Filter filter;
- TestCompilerFilterName(CompilerFilter::kVerifyNone, "verify-none");
- TestCompilerFilterName(CompilerFilter::kVerifyAtRuntime, "verify-at-runtime");
- TestCompilerFilterName(CompilerFilter::kVerifyProfile, "verify-profile");
- TestCompilerFilterName(CompilerFilter::kInterpretOnly, "interpret-only");
- TestCompilerFilterName(CompilerFilter::kTime, "time");
+ TestCompilerFilterName(CompilerFilter::kAssumeVerified, "assume-verified");
+ TestCompilerFilterName(CompilerFilter::kExtract, "extract");
+ TestCompilerFilterName(CompilerFilter::kVerify, "verify");
+ TestCompilerFilterName(CompilerFilter::kQuicken, "quicken");
TestCompilerFilterName(CompilerFilter::kSpaceProfile, "space-profile");
TestCompilerFilterName(CompilerFilter::kSpace, "space");
- TestCompilerFilterName(CompilerFilter::kBalanced, "balanced");
TestCompilerFilterName(CompilerFilter::kSpeedProfile, "speed-profile");
TestCompilerFilterName(CompilerFilter::kSpeed, "speed");
TestCompilerFilterName(CompilerFilter::kEverythingProfile, "everything-profile");
diff --git a/runtime/dexopt_test.cc b/runtime/dexopt_test.cc
index db65e40..24b1abb 100644
--- a/runtime/dexopt_test.cc
+++ b/runtime/dexopt_test.cc
@@ -122,7 +122,7 @@
}
if (!with_alternate_image) {
- if (CompilerFilter::IsBytecodeCompilationEnabled(filter)) {
+ if (CompilerFilter::IsAotCompilationEnabled(filter)) {
if (relocate) {
EXPECT_EQ(reinterpret_cast<uintptr_t>(image_header->GetOatDataBegin()),
oat_header.GetImageFileLocationOatDataBegin());
diff --git a/runtime/native/dalvik_system_ZygoteHooks.cc b/runtime/native/dalvik_system_ZygoteHooks.cc
index 836ba81..4a591d5 100644
--- a/runtime/native/dalvik_system_ZygoteHooks.cc
+++ b/runtime/native/dalvik_system_ZygoteHooks.cc
@@ -191,8 +191,8 @@
const bool safe_mode = (debug_flags & DEBUG_ENABLE_SAFEMODE) != 0;
if (safe_mode) {
- // Ensure that any (secondary) oat files will be interpreted.
- runtime->AddCompilerOption("--compiler-filter=interpret-only");
+ // Only quicken oat files.
+ runtime->AddCompilerOption("--compiler-filter=quicken");
runtime->SetSafeMode(true);
debug_flags &= ~DEBUG_ENABLE_SAFEMODE;
}
diff --git a/runtime/oat_file_assistant.cc b/runtime/oat_file_assistant.cc
index db6f8ee..581b5e8 100644
--- a/runtime/oat_file_assistant.cc
+++ b/runtime/oat_file_assistant.cc
@@ -438,7 +438,7 @@
VLOG(oat) << "Image checksum test skipped for compiler filter " << current_compiler_filter;
}
- if (CompilerFilter::IsBytecodeCompilationEnabled(current_compiler_filter)) {
+ if (CompilerFilter::IsAotCompilationEnabled(current_compiler_filter)) {
if (!file.IsPic()) {
const ImageInfo* image_info = GetImageInfo();
if (image_info == nullptr) {
@@ -833,7 +833,7 @@
OatFileAssistant::DexOptNeeded OatFileAssistant::OatFileInfo::GetDexOptNeeded(
CompilerFilter::Filter target, bool profile_changed) {
- bool compilation_desired = CompilerFilter::IsBytecodeCompilationEnabled(target);
+ bool compilation_desired = CompilerFilter::IsAotCompilationEnabled(target);
bool filter_okay = CompilerFilterIsOkay(target, profile_changed);
if (filter_okay && Status() == kOatUpToDate) {
diff --git a/runtime/oat_file_assistant_test.cc b/runtime/oat_file_assistant_test.cc
index 9b35489..c8c6ab6 100644
--- a/runtime/oat_file_assistant_test.cc
+++ b/runtime/oat_file_assistant_test.cc
@@ -53,9 +53,9 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeedProfile));
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
@@ -99,9 +99,9 @@
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kDex2OatForFilter,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kEverything));
@@ -204,11 +204,11 @@
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeedProfile, false));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly, false));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken, false));
EXPECT_EQ(OatFileAssistant::kDex2OatForFilter,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeedProfile, true));
EXPECT_EQ(OatFileAssistant::kDex2OatForFilter,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly, true));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken, true));
EXPECT_FALSE(oat_file_assistant.IsInBootClassPath());
EXPECT_EQ(OatFileAssistant::kOatCannotOpen, oat_file_assistant.OdexFileStatus());
@@ -269,7 +269,7 @@
// Compile the odex from GetMultiDexSrc2, which has a different non-main
// dex checksum.
Copy(GetMultiDexSrc2(), dex_location);
- GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kInterpretOnly);
+ GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kQuicken);
// Strip the dex file.
Copy(GetStrippedDexSrc1(), dex_location);
@@ -332,7 +332,7 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kDex2OatFromScratch,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
@@ -406,9 +406,9 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kDex2OatForBootImage,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kDex2OatForBootImage,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_EQ(OatFileAssistant::kDex2OatForBootImage,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
@@ -427,16 +427,16 @@
Copy(GetDexSrc1(), dex_location);
GenerateOatForTest(dex_location.c_str(),
- CompilerFilter::kVerifyAtRuntime,
+ CompilerFilter::kExtract,
/*relocate*/true,
/*pic*/false,
/*with_alternate_image*/true);
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kDex2OatForFilter,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_FALSE(oat_file_assistant.IsInBootClassPath());
EXPECT_EQ(OatFileAssistant::kOatCannotOpen, oat_file_assistant.OdexFileStatus());
@@ -457,7 +457,7 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(-OatFileAssistant::kDex2OatForRelocation,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
@@ -523,7 +523,7 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, true);
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded, // Can't run dex2oat because dex file is stripped.
@@ -556,9 +556,9 @@
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_FALSE(oat_file_assistant.IsInBootClassPath());
EXPECT_EQ(OatFileAssistant::kOatCannotOpen, oat_file_assistant.OdexFileStatus());
@@ -653,13 +653,13 @@
// Create the dex and odex files
Copy(GetDexSrc1(), dex_location);
- GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kVerifyAtRuntime);
+ GenerateOdexForTest(dex_location, odex_location, CompilerFilter::kExtract);
// Verify the status.
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kVerifyAtRuntime));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kExtract));
EXPECT_EQ(-OatFileAssistant::kDex2OatForFilter,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
@@ -688,13 +688,13 @@
EXPECT_EQ(1u, dex_files.size());
}
-// Case: We have a DEX file and up-to-date interpret-only OAT file for it.
+// Case: We have a DEX file and up-to-date quicken OAT file for it.
// Expect: We should still load the oat file as executable.
TEST_F(OatFileAssistantTest, LoadExecInterpretOnlyOatUpToDate) {
std::string dex_location = GetScratchDir() + "/LoadExecInterpretOnlyOatUpToDate.jar";
Copy(GetDexSrc1(), dex_location);
- GenerateOatForTest(dex_location.c_str(), CompilerFilter::kInterpretOnly);
+ GenerateOatForTest(dex_location.c_str(), CompilerFilter::kQuicken);
// Load the oat using an oat file assistant.
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, true);
@@ -1004,11 +1004,11 @@
OatFileAssistant oat_file_assistant(dex_location.c_str(), kRuntimeISA, false);
std::string error_msg;
- Runtime::Current()->AddCompilerOption("--compiler-filter=interpret-only");
+ Runtime::Current()->AddCompilerOption("--compiler-filter=quicken");
EXPECT_EQ(OatFileAssistant::kUpdateSucceeded,
oat_file_assistant.MakeUpToDate(false, &error_msg)) << error_msg;
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_EQ(OatFileAssistant::kDex2OatForFilter,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
@@ -1016,7 +1016,7 @@
EXPECT_EQ(OatFileAssistant::kUpdateSucceeded,
oat_file_assistant.MakeUpToDate(false, &error_msg)) << error_msg;
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
- oat_file_assistant.GetDexOptNeeded(CompilerFilter::kInterpretOnly));
+ oat_file_assistant.GetDexOptNeeded(CompilerFilter::kQuicken));
EXPECT_EQ(OatFileAssistant::kNoDexOptNeeded,
oat_file_assistant.GetDexOptNeeded(CompilerFilter::kSpeed));
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index a48a58d..c08207b 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -2131,7 +2131,7 @@
void Runtime::AddCurrentRuntimeFeaturesAsDex2OatArguments(std::vector<std::string>* argv)
const {
if (GetInstrumentation()->InterpretOnly()) {
- argv->push_back("--compiler-filter=interpret-only");
+ argv->push_back("--compiler-filter=quicken");
}
// Make the dex2oat instruction set match that of the launching runtime. If we have multiple
diff --git a/test/117-nopatchoat/nopatchoat.cc b/test/117-nopatchoat/nopatchoat.cc
index 3236bde..2248fc4 100644
--- a/test/117-nopatchoat/nopatchoat.cc
+++ b/test/117-nopatchoat/nopatchoat.cc
@@ -56,7 +56,7 @@
const OatFile* oat_file = oat_dex_file->GetOatFile();
return !oat_file->IsPic()
- && CompilerFilter::IsBytecodeCompilationEnabled(oat_file->GetCompilerFilter());
+ && CompilerFilter::IsAotCompilationEnabled(oat_file->GetCompilerFilter());
}
};
diff --git a/test/157-void-class/run b/test/157-void-class/run
index 59e852c..8c6159f 100755
--- a/test/157-void-class/run
+++ b/test/157-void-class/run
@@ -14,9 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Let the test build its own core image with --no-image and use verify-profile,
+# Let the test build its own core image with --no-image and use verify,
# so that the compiler does not try to initialize classes. This leaves the
# java.lang.Void compile-time verified but uninitialized.
./default-run "$@" --no-image \
--runtime-option -Ximage-compiler-option \
- --runtime-option --compiler-filter=verify-profile
+ --runtime-option --compiler-filter=verify
diff --git a/test/595-profile-saving/run b/test/595-profile-saving/run
index 068ad03..fce6ac1 100644
--- a/test/595-profile-saving/run
+++ b/test/595-profile-saving/run
@@ -15,13 +15,13 @@
# limitations under the License.
# Use
-# --compiler-filter=interpret-only to make sure that the test is not compiled AOT
+# --compiler-filter=quicken to make sure that the test is not compiled AOT
# and to make sure the test is not compiled when loaded (by PathClassLoader)
# -Xjitsaveprofilinginfo to enable profile saving
# -Xusejit:false to disable jit and only test profiles.
exec ${RUN} \
- -Xcompiler-option --compiler-filter=interpret-only \
- --runtime-option '-Xcompiler-option --compiler-filter=interpret-only' \
+ -Xcompiler-option --compiler-filter=quicken \
+ --runtime-option '-Xcompiler-option --compiler-filter=quicken' \
--runtime-option -Xjitsaveprofilinginfo \
--runtime-option -Xusejit:false \
"${@}"
diff --git a/test/628-vdex/run b/test/628-vdex/run
index 4cbcea3..bf0ac91 100644
--- a/test/628-vdex/run
+++ b/test/628-vdex/run
@@ -14,4 +14,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-exec ${RUN} -Xcompiler-option --compiler-filter=verify-profile --vdex "${@}"
+exec ${RUN} -Xcompiler-option --compiler-filter=verify --vdex "${@}"
diff --git a/test/634-vdex-duplicate/run b/test/634-vdex-duplicate/run
index 1ccb841..571ccd9 100644
--- a/test/634-vdex-duplicate/run
+++ b/test/634-vdex-duplicate/run
@@ -14,4 +14,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-exec ${RUN} -Xcompiler-option --compiler-filter=verify-profile --vdex-filter speed --vdex "${@}"
+exec ${RUN} -Xcompiler-option --compiler-filter=verify --vdex-filter speed --vdex "${@}"
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index 56cfd24..78d6fe8 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -449,15 +449,15 @@
if [ "$INTERPRETER" = "y" ]; then
INT_OPTS="-Xint"
if [ "$VERIFY" = "y" ] ; then
- INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=interpret-only"
- COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=interpret-only"
+ INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=quicken"
+ COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=quicken"
elif [ "$VERIFY" = "s" ]; then
- INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=verify-at-runtime"
- COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=verify-at-runtime"
+ INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=extract"
+ COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=extract"
DEX_VERIFY="${DEX_VERIFY} -Xverify:softfail"
else # VERIFY = "n"
- INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=verify-none"
- COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=verify-none"
+ INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=assume-verified"
+ COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=assume-verified"
DEX_VERIFY="${DEX_VERIFY} -Xverify:none"
fi
fi
@@ -465,11 +465,11 @@
if [ "$JIT" = "y" ]; then
INT_OPTS="-Xusejit:true"
if [ "$VERIFY" = "y" ] ; then
- INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=interpret-only"
- COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=interpret-only"
+ INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=quicken"
+ COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=quicken"
else
- INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=verify-none"
- COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=verify-none"
+ INT_OPTS="${INT_OPTS} -Xcompiler-option --compiler-filter=assume-verified"
+ COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=assume-verified"
DEX_VERIFY="${DEX_VERIFY} -Xverify:none"
fi
fi
diff --git a/tools/art b/tools/art
index 933ad7a..0bc08f0 100644
--- a/tools/art
+++ b/tools/art
@@ -46,17 +46,17 @@
fi
}
-function replace_compiler_filter_with_interepret_only() {
- ARGS_WITH_INTERPRET_ONLY=("$@")
+function replace_compiler_filter_with_quicken() {
+ ARGS_WITH_QUICKEN=("$@")
found="false"
((index=0))
while ((index <= $#)); do
- what="${ARGS_WITH_INTERPRET_ONLY[$index]}"
+ what="${ARGS_WITH_QUICKEN[$index]}"
case "$what" in
--compiler-filter=*)
- ARGS_WITH_INTERPRET_ONLY[$index]="--compiler-filter=interpret-only"
+ ARGS_WITH_QUICKEN[$index]="--compiler-filter=quicken"
found="true"
;;
esac
@@ -65,7 +65,7 @@
shift
done
if [ "$found" != "true" ]; then
- ARGS_WITH_INTERPRET_ONLY=(-Xcompiler-option --compiler-filter=interpret-only "${ARGS_WITH_INTERPRET_ONLY[@]}")
+ ARGS_WITH_QUICKEN=(-Xcompiler-option --compiler-filter=quicken "${ARGS_WITH_QUICKEN[@]}")
fi
}
@@ -224,10 +224,10 @@
PROFILE_PATH="$ANDROID_DATA/primary.prof"
touch $PROFILE_PATH
- # Replace the compiler filter with interpret-only so that we
+ # Replace the compiler filter with quicken so that we
# can capture the profile.
- ARGS_WITH_INTERPRET_ONLY=
- replace_compiler_filter_with_interepret_only "$@"
+ ARGS_WITH_QUICKEN=
+ replace_compiler_filter_with_quicken "$@"
run_art -Xjitsaveprofilinginfo \
-Xps-min-methods-to-save:1 \
@@ -235,7 +235,7 @@
-Xps-min-notification-before-wake:10 \
-Xps-profile-path:$PROFILE_PATH \
-Xusejit:true \
- "${ARGS_WITH_INTERPRET_ONLY[@]}" \
+ "${ARGS_WITH_QUICKEN[@]}" \
"&>" "$ANDROID_DATA/profile_gen.log"
EXIT_STATUS=$?
diff --git a/tools/dexfuzz/src/dexfuzz/executors/Executor.java b/tools/dexfuzz/src/dexfuzz/executors/Executor.java
index 2bcf3a1..074672d 100644
--- a/tools/dexfuzz/src/dexfuzz/executors/Executor.java
+++ b/tools/dexfuzz/src/dexfuzz/executors/Executor.java
@@ -117,7 +117,7 @@
commandBuilder.append("--runtime-arg -classpath ");
commandBuilder.append("--runtime-arg ").append(programName).append(" ");
commandBuilder.append("--dex-file=").append(programName).append(" ");
- commandBuilder.append("--compiler-filter=interpret-only --runtime-arg -Xnorelocate ");
+ commandBuilder.append("--compiler-filter=quicken --runtime-arg -Xnorelocate ");
ExecutionResult verificationResult = device.executeCommand(commandBuilder.toString(), true,
outputConsumer, errorConsumer);
diff --git a/tools/run-jdwp-tests.sh b/tools/run-jdwp-tests.sh
index 07c300e..d48d857 100755
--- a/tools/run-jdwp-tests.sh
+++ b/tools/run-jdwp-tests.sh
@@ -132,8 +132,8 @@
vm_args="--vm-arg $image"
fi
if $use_jit; then
- vm_args="$vm_args --vm-arg -Xcompiler-option --vm-arg --compiler-filter=interpret-only"
- debuggee_args="$debuggee_args -Xcompiler-option --compiler-filter=interpret-only"
+ vm_args="$vm_args --vm-arg -Xcompiler-option --vm-arg --compiler-filter=quicken"
+ debuggee_args="$debuggee_args -Xcompiler-option --compiler-filter=quicken"
fi
vm_args="$vm_args --vm-arg -Xusejit:$use_jit"
debuggee_args="$debuggee_args -Xusejit:$use_jit"
diff --git a/tools/run-libcore-tests.sh b/tools/run-libcore-tests.sh
index 729a3e5..b860a62 100755
--- a/tools/run-libcore-tests.sh
+++ b/tools/run-libcore-tests.sh
@@ -127,7 +127,7 @@
# JIT settings.
if $use_jit; then
- vogar_args="$vogar_args --vm-arg -Xcompiler-option --vm-arg --compiler-filter=interpret-only"
+ vogar_args="$vogar_args --vm-arg -Xcompiler-option --vm-arg --compiler-filter=quicken"
fi
vogar_args="$vogar_args --vm-arg -Xusejit:$use_jit"