summaryrefslogtreecommitdiff
path: root/runtime/cha.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/cha.cc')
-rw-r--r--runtime/cha.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/runtime/cha.cc b/runtime/cha.cc
index d19d4f6e30..a40afb42bd 100644
--- a/runtime/cha.cc
+++ b/runtime/cha.cc
@@ -144,14 +144,14 @@ void ClassHierarchyAnalysis::ResetSingleImplementationInHierarchy(ObjPtr<mirror:
ArtMethod* super_method = super_it->
GetVTableEntry<kDefaultVerifyFlags, kWithoutReadBarrier>(vtbl_index, pointer_size);
if (super_method->IsAbstract() &&
- super_method->HasSingleImplementation<kWithoutReadBarrier>() &&
+ super_method->HasSingleImplementation() &&
super_method->GetSingleImplementation(pointer_size) == method) {
// Do like there was no single implementation defined previously
// for this method of the superclass.
super_method->SetSingleImplementation(nullptr, pointer_size);
} else {
// No related SingleImplementations could possibly be found any further.
- DCHECK(!super_method->HasSingleImplementation<kWithoutReadBarrier>());
+ DCHECK(!super_method->HasSingleImplementation());
break;
}
}
@@ -168,7 +168,7 @@ void ClassHierarchyAnalysis::ResetSingleImplementationInHierarchy(ObjPtr<mirror:
j < count;
++j) {
ArtMethod* method = interface->GetVirtualMethod(j, pointer_size);
- if (method->HasSingleImplementation<kWithoutReadBarrier>() &&
+ if (method->HasSingleImplementation() &&
alloc->ContainsUnsafe(method->GetSingleImplementation(pointer_size)) &&
!method->IsDefault()) {
// Do like there was no single implementation defined previously for this method.
@@ -692,8 +692,9 @@ void ClassHierarchyAnalysis::InvalidateSingleImplementationMethods(
}
}
-void ClassHierarchyAnalysis::RemoveDependenciesForLinearAlloc(const LinearAlloc* linear_alloc) {
- MutexLock mu(Thread::Current(), *Locks::cha_lock_);
+void ClassHierarchyAnalysis::RemoveDependenciesForLinearAlloc(Thread* self,
+ const LinearAlloc* linear_alloc) {
+ MutexLock mu(self, *Locks::cha_lock_);
for (auto it = cha_dependency_map_.begin(); it != cha_dependency_map_.end(); ) {
// Use unsafe to avoid locking since the allocator is going to be deleted.
if (linear_alloc->ContainsUnsafe(it->first)) {