Improve trace logging when loading odex files
Add extra trace categories with information on the status
of odex files and the outcome of the loading process.
Test: gtests
Bug: 178410926
Change-Id: I02ef78f34ba726f40c8a988db8dc995f4c01c55e
diff --git a/runtime/oat_file_assistant.h b/runtime/oat_file_assistant.h
index 51f58ad..19c625b 100644
--- a/runtime/oat_file_assistant.h
+++ b/runtime/oat_file_assistant.h
@@ -165,13 +165,22 @@
// Computes the optimization status of the given dex file. The result is
// returned via the two output parameters.
+ // - out_odex_location: the location of the (best) odex that will be used
+ // for loading. See GetBestInfo().
// - out_compilation_filter: the level of optimizations (compiler filter)
// - out_compilation_reason: the optimization reason. The reason might
// be "unknown" if the compiler artifacts were not annotated during optimizations.
+ // - out_odex_status: a human readable refined status of the validity of the odex file.
+ // E.g. up-to-date, boot-image-more-recent, apk-more-recent.
//
// This method will try to mimic the runtime effect of loading the dex file.
// For example, if there is no usable oat file, the compiler filter will be set
// to "run-from-apk".
+ void GetOptimizationStatus(std::string* out_odex_location,
+ std::string* out_compilation_filter,
+ std::string* out_compilation_reason,
+ std::string* out_odex_status);
+
static void GetOptimizationStatus(const std::string& filename,
InstructionSet isa,
std::string* out_compilation_filter,