summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 0878667872..aa779f3fe9 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -7816,8 +7816,9 @@ size_t ClassLinker::LinkMethodsHelper<kPointerSize>::AssignVtableIndexes(
DCHECK_GE(super_vtable_length, mirror::Object::kVTableLength);
for (uint32_t i = 0; i != mirror::Object::kVTableLength; ++i) {
size_t hash = class_linker_->object_virtual_method_hashes_[i];
- bool inserted = super_vtable_signatures.InsertWithHash(i, hash).second;
- DCHECK(inserted); // No duplicate signatures in `java.lang.Object`.
+ // There are no duplicate signatures in `java.lang.Object`, so use `HashSet<>::PutWithHash()`.
+ // This avoids equality comparison for the three `java.lang.Object.wait()` overloads.
+ super_vtable_signatures.PutWithHash(i, hash);
}
// Insert the remaining indexes, check for duplicate signatures.
if (super_vtable_length > mirror::Object::kVTableLength) {