diff options
author | 2025-02-26 23:34:49 +0000 | |
---|---|---|
committer | 2025-03-03 00:27:06 -0800 | |
commit | e280e935f1faa066ab8c0e2ab5bf87d064065412 (patch) | |
tree | c1a5c20389213f51f4d06c6da69901b28f870bc7 /runtime/entrypoints/entrypoint_utils-inl.h | |
parent | 3477cfd772c29976a705e70a9cbc20f6c3ecfc81 (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.h | 2 |
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()) { |