From 271c1e19c16609b966e0ceb67d4532e2772e73b5 Mon Sep 17 00:00:00 2001 From: Bharadwaj Kalandhabhatta Date: Tue, 27 Jun 2017 11:14:49 -0700 Subject: 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 --- runtime/class_linker.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'runtime/class_linker.cc') 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 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 -- cgit v1.2.3-59-g8ed1b