summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2021-07-06 16:19:32 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2021-07-14 13:17:09 +0000
commit7744b69abf073101b09b9043f0f0eb109768fcfe (patch)
tree6598234dc0a9b2327729705cf61f836e3e777d58 /runtime/class_linker.cc
parenteacf044aae6d7d515ac988dceedaadbf53916b60 (diff)
Remove dual verification in RedefineClasses.
Also clean up the ClassVerifier interface with now just one method and the removal of VerifierCallbacks. Test: test.py Bug: 28313047 Change-Id: I1a87dd1757cfdeec0d482f82dacd7cac43545964
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index f842265d29..719f0caad8 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -4744,9 +4744,16 @@ verifier::FailureKind ClassLinker::PerformClassVerification(Thread* self,
verifier::HardFailLogMode log_level,
std::string* error_msg) {
Runtime* const runtime = Runtime::Current();
+ StackHandleScope<2> hs(self);
+ Handle<mirror::DexCache> dex_cache(hs.NewHandle(klass->GetDexCache()));
+ Handle<mirror::ClassLoader> class_loader(hs.NewHandle(klass->GetClassLoader()));
return verifier::ClassVerifier::VerifyClass(self,
verifier_deps,
- klass.Get(),
+ dex_cache->GetDexFile(),
+ klass,
+ dex_cache,
+ class_loader,
+ *klass->GetClassDef(),
runtime->GetCompilerCallbacks(),
runtime->IsAotCompiler(),
log_level,