summaryrefslogtreecommitdiff
path: root/runtime/gc/reference_processor.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2025-01-24 02:58:28 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-01-24 02:58:28 -0800
commite3a6183e1b02f09da7f2292620c79ac90b551935 (patch)
tree8312863bc33e6d6ab3924e14aba27d0f75aa3a25 /runtime/gc/reference_processor.cc
parentdf81e8b99db866711fdccb7ac9c4e594ca4e4477 (diff)
parentff0184c6afa5d8faab4f1d76a85b7dd7829754e7 (diff)
Don't use WellKnownClasses in ReferenceProcessor's GetSlowPathFlagOffset. am: ff0184c6af
Original change: https://android-review.googlesource.com/c/platform/art/+/3463424 Change-Id: I835a9331ba8dbab19ba824f46c1177f33bc9141f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'runtime/gc/reference_processor.cc')
-rw-r--r--runtime/gc/reference_processor.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/gc/reference_processor.cc b/runtime/gc/reference_processor.cc
index 2621629bb8..6420fbbff6 100644
--- a/runtime/gc/reference_processor.cc
+++ b/runtime/gc/reference_processor.cc
@@ -54,8 +54,11 @@ ReferenceProcessor::ReferenceProcessor()
static inline MemberOffset GetSlowPathFlagOffset(ObjPtr<mirror::Class> reference_class)
REQUIRES_SHARED(Locks::mutator_lock_) {
DCHECK(reference_class == GetClassRoot<mirror::Reference>());
- ArtField* field = WellKnownClasses::java_lang_ref_Reference_slowPathEnabled;
+ // Don't use WellKnownClasses here as it may not be initialized at the point
+ // we're being called.
+ ArtField* field = reference_class->GetField(reference_class->NumFields() - 1);
DCHECK(field->IsStatic());
+ DCHECK_STREQ(field->GetName(), "slowPathEnabled");
return field->GetOffset();
}