summaryrefslogtreecommitdiff
path: root/runtime/art_method-inl.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2018-03-16 10:58:24 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-03-16 10:58:24 +0000
commite54c8ce806677cee48dcf9e33bb9f2d09ad70206 (patch)
treefac3614dbca1a10ecb334f5442620f8af3601e1b /runtime/art_method-inl.h
parentbabfd0d4bd974aa23c8b6bb6b4698572e2e36d97 (diff)
parentab2ce84d4995f05c38c5ebfefc6683b244a36260 (diff)
Merge "Fix dangling SingleImplementations left after class unloading" into pi-dev
Diffstat (limited to 'runtime/art_method-inl.h')
-rw-r--r--runtime/art_method-inl.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h
index 8bf91d9da1..1565644380 100644
--- a/runtime/art_method-inl.h
+++ b/runtime/art_method-inl.h
@@ -374,13 +374,14 @@ inline ObjPtr<mirror::Class> ArtMethod::ResolveReturnType() {
return ResolveClassFromTypeIndex(GetReturnTypeIndex());
}
+template <ReadBarrierOption kReadBarrierOption>
inline bool ArtMethod::HasSingleImplementation() {
- if (IsFinal() || GetDeclaringClass()->IsFinal()) {
+ if (IsFinal<kReadBarrierOption>() || GetDeclaringClass<kReadBarrierOption>()->IsFinal()) {
// We don't set kAccSingleImplementation for these cases since intrinsic
// can use the flag also.
return true;
}
- return (GetAccessFlags() & kAccSingleImplementation) != 0;
+ return (GetAccessFlags<kReadBarrierOption>() & kAccSingleImplementation) != 0;
}
inline bool ArtMethod::IsHiddenIntrinsic(uint32_t ordinal) {