summaryrefslogtreecommitdiff
path: root/dex2oat/driver/compiler_driver.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2020-11-07 15:54:08 +0000
committerNicolas Geoffray <ngeoffray@google.com>2020-11-16 17:35:42 +0000
commit07b62e3d0808cc0890717a3a589c1f7b1ac51e5c (patch)
treed15c79302f3498278e9d22c6319e8e02a3087973 /dex2oat/driver/compiler_driver.cc
parenta07de551da5147f3635c665a31f262cf65647118 (diff)
downloadart-07b62e3d0808cc0890717a3a589c1f7b1ac51e5c.tar.gz
Change vdex format to easily access verification data per class.
See changes in vdex_file.h to see the changes in format. Alongside, remove the redefined_classes_ set, which is not needed now that we record verification data per class. Test: test.py Bug: 112676029 Change-Id: I7cc1e9ba465303f105cddec4ce86c4efaaed7e7b
Diffstat (limited to 'dex2oat/driver/compiler_driver.cc')
-rw-r--r--dex2oat/driver/compiler_driver.cc13
1 files changed, 0 insertions, 13 deletions
diff --git a/dex2oat/driver/compiler_driver.cc b/dex2oat/driver/compiler_driver.cc
index 515e8b045f..6ea58b39e5 100644
--- a/dex2oat/driver/compiler_driver.cc
+++ b/dex2oat/driver/compiler_driver.cc
@@ -1892,9 +1892,6 @@ bool CompilerDriver::FastVerify(jobject jclass_loader,
if (!verifier_deps->ValidateDependencies(
soa.Self(),
class_loader,
- // This returns classpath dex files in no particular order but VerifierDeps
- // does not care about the order.
- classpath_classes_.GetDexFiles(),
&error_msg)) {
LOG(WARNING) << "Fast verification failed: " << error_msg;
return false;
@@ -2066,16 +2063,6 @@ class VerifyClassVisitor : public CompilationVisitor {
}
} else if (&klass->GetDexFile() != &dex_file) {
// Skip a duplicate class (as the resolved class is from another, earlier dex file).
- // Record the information that we skipped this class in the vdex.
- // If the class resolved to a dex file not covered by the vdex, e.g. boot class path,
- // it is considered external, dependencies on it will be recorded and the vdex will
- // remain usable regardless of whether the class remains redefined or not (in the
- // latter case, this class will be verify-at-runtime).
- // On the other hand, if the class resolved to a dex file covered by the vdex, i.e.
- // a different dex file within the same APK, this class will always be eclipsed by it.
- // Recording that it was redefined is not necessary but will save class resolution
- // time during fast-verify.
- verifier::VerifierDeps::MaybeRecordClassRedefinition(dex_file, class_def);
return; // Do not update state.
} else if (!SkipClass(jclass_loader, dex_file, klass.Get())) {
CHECK(klass->IsResolved()) << klass->PrettyClass();