diff options
author | 2025-02-26 23:34:49 +0000 | |
---|---|---|
committer | 2025-03-03 00:27:06 -0800 | |
commit | e280e935f1faa066ab8c0e2ab5bf87d064065412 (patch) | |
tree | c1a5c20389213f51f4d06c6da69901b28f870bc7 /runtime/class_linker.cc | |
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/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index b4720c2dbc..70eea2d268 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -5311,6 +5311,9 @@ verifier::FailureKind ClassLinker::VerifyClass(Thread* self, Runtime::Current()->GetCompilerCallbacks()->UpdateClassState( ClassReference(&klass->GetDexFile(), klass->GetDexClassDefIndex()), klass->GetStatus()); } else { + if (verifier_failure == verifier::FailureKind::kTypeChecksFailure) { + klass->SetHasTypeChecksFailure(); + } mirror::Class::SetStatus(klass, ClassStatus::kVerified, self); } |