summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
author Bharadwaj Kalandhabhatta <bharadwajsk@google.com> 2017-06-27 11:14:49 -0700
committer Bharadwaj Kalandhabhatta <bharadwajsk@google.com> 2017-06-27 11:23:40 -0700
commit271c1e19c16609b966e0ceb67d4532e2772e73b5 (patch)
tree4120b60989fc8122cce17c9c8a721f60ee2bfa9f /runtime/class_linker.cc
parent9d7fd996bb79d28c86ae4e31e0f3c05c779e27dd (diff)
Adding additional logging to Class Verbose Log
The additional logging is so that every class that is verified is logged (even if there are no failures). Additionally, logging was added to see which classes are being re-verified. Bug: 37754950 Test: m -j test-art-host Change-Id: I946a5a35558666a81a11a1a2825a4731f47857ef
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 141df1ec1a..928645ac0f 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -4107,6 +4107,10 @@ verifier::FailureKind ClassLinker::VerifyClass(
}
}
+ VLOG(class_linker) << "Beginning verification for class: "
+ << klass->PrettyDescriptor()
+ << " in " << klass->GetDexCache()->GetLocation()->ToModifiedUtf8();
+
// Verify super class.
StackHandleScope<2> hs(self);
MutableHandle<mirror::Class> supertype(hs.NewHandle(klass->GetSuperClass()));
@@ -4161,6 +4165,13 @@ verifier::FailureKind ClassLinker::VerifyClass(
const DexFile& dex_file = *klass->GetDexCache()->GetDexFile();
mirror::Class::Status oat_file_class_status(mirror::Class::kStatusNotReady);
bool preverified = VerifyClassUsingOatFile(dex_file, klass.Get(), oat_file_class_status);
+
+ VLOG(class_linker) << "Class preverified status for class "
+ << klass->PrettyDescriptor()
+ << " in " << klass->GetDexCache()->GetLocation()->ToModifiedUtf8()
+ << ": "
+ << preverified;
+
// If the oat file says the class had an error, re-run the verifier. That way we will get a
// precise error message. To ensure a rerun, test:
// mirror::Class::IsErroneous(oat_file_class_status) => !preverified