summaryrefslogtreecommitdiff
path: root/runtime/entrypoints/entrypoint_utils-inl.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2025-02-26 23:34:49 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2025-03-03 00:27:06 -0800
commite280e935f1faa066ab8c0e2ab5bf87d064065412 (patch)
treec1a5c20389213f51f4d06c6da69901b28f870bc7 /runtime/entrypoints/entrypoint_utils-inl.h
parent3477cfd772c29976a705e70a9cbc20f6c3ecfc81 (diff)
Flag classes that have unresolved type checks.
This allows skipping resolving the field type when setting a field. Test: test.py Change-Id: I1945deca5fdcccca7e67297eca8765b1f2f516f3
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils-inl.h')
-rw-r--r--runtime/entrypoints/entrypoint_utils-inl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/entrypoints/entrypoint_utils-inl.h b/runtime/entrypoints/entrypoint_utils-inl.h
index f0f8f8dce3..77bf24f80b 100644
--- a/runtime/entrypoints/entrypoint_utils-inl.h
+++ b/runtime/entrypoints/entrypoint_utils-inl.h
@@ -416,7 +416,7 @@ inline ArtField* ResolveFieldWithAccessChecks(Thread* self,
return nullptr;
}
- if (resolve_field_type != 0u) {
+ if (resolve_field_type != 0u && caller->GetDeclaringClass()->HasTypeChecksFailure()) {
StackArtFieldHandleScope<1> rhs(self);
ReflectiveHandle<ArtField> field_handle(rhs.NewHandle(resolved_field));
if (resolved_field->ResolveType().IsNull()) {