summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2015-06-03 15:43:16 -0700
committer Andreas Gampe <agampe@google.com> 2015-06-03 16:12:30 -0700
commit0fc16a09b4d2323f9c2b6aabc81ce120b278329b (patch)
treed6050e2528c073521cf4a3d0154cdd3d70959a26 /runtime/class_linker.cc
parent8f23620d45399286564986d2541cda761b3fe0ac (diff)
Revert "Revert "Turn off duplicate-classes checking""
This reverts commit 18a1827a159f1b235f3fcc934f428059185f550e. Bug: 21333911 Change-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 79c5a0803c..2a0e4e8f68 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -85,6 +85,9 @@ namespace art {
static constexpr bool kSanityCheckObjects = kIsDebugBuild;
+// For b/21333911.
+static constexpr bool kDuplicateClassesCheck = false;
+
static void ThrowNoClassDefFoundError(const char* fmt, ...)
__attribute__((__format__(__printf__, 1, 2)))
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
@@ -840,6 +843,10 @@ const OatFile* ClassLinker::GetPrimaryOatFile() {
// the two elements agree on whether their dex file was from an already-loaded oat-file or the
// new oat file. Any disagreement indicates a collision.
bool ClassLinker::HasCollisions(const OatFile* oat_file, std::string* error_msg) {
+ if (!kDuplicateClassesCheck) {
+ return false;
+ }
+
// Dex files are registered late - once a class is actually being loaded. We have to compare
// against the open oat files. Take the dex_lock_ that protects oat_files_ accesses.
ReaderMutexLock mu(Thread::Current(), dex_lock_);