Revert "Do not load app image for class collisions"
This reverts commit d8860b42e47d48fcc47db9d0daf5a1b9432180a1.
Bug: 77342775
Bug: 79200502
Bug: 79575750
Reason for revert: Some regressions in boot time.
Test: test-art-host
Change-Id: Id5e5844b5156d048a54011708378c7cdb0650f68
diff --git a/runtime/class_loader_context.h b/runtime/class_loader_context.h
index a4268aa..1c83007 100644
--- a/runtime/class_loader_context.h
+++ b/runtime/class_loader_context.h
@@ -22,10 +22,8 @@
#include "arch/instruction_set.h"
#include "base/dchecked_vector.h"
-#include "dex/dex_file.h"
#include "handle_scope.h"
#include "mirror/class_loader.h"
-#include "oat_file.h"
#include "scoped_thread_state_change.h"
namespace art {
@@ -36,18 +34,6 @@
// Utility class which holds the class loader context used during compilation/verification.
class ClassLoaderContext {
public:
- enum class VerificationResult {
- kVerifies,
- kForcedToSkipChecks,
- kMismatch,
- };
-
- enum ClassLoaderType {
- kInvalidClassLoader = 0,
- kPathClassLoader = 1,
- kDelegateLastClassLoader = 2
- };
-
~ClassLoaderContext();
// Opens requested class path files and appends them to ClassLoaderInfo::opened_dex_files.
@@ -123,7 +109,7 @@
// This should be called after OpenDexFiles().
// Names are only verified if verify_names is true.
// Checksums are only verified if verify_checksums is true.
- VerificationResult VerifyClassLoaderContextMatch(const std::string& context_spec,
+ bool VerifyClassLoaderContextMatch(const std::string& context_spec,
bool verify_names = true,
bool verify_checksums = true) const;
@@ -155,6 +141,12 @@
static std::unique_ptr<ClassLoaderContext> Default();
private:
+ enum ClassLoaderType {
+ kInvalidClassLoader = 0,
+ kPathClassLoader = 1,
+ kDelegateLastClassLoader = 2
+ };
+
struct ClassLoaderInfo {
// The type of this class loader.
ClassLoaderType type;