diff options
author | Andreas Gampe <agampe@google.com> | 2015-07-06 17:20:18 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2015-07-08 14:07:56 -0700 |
commit | a3cd834a9e63c4c2259f0ef87d79ddf2c4dd3afb (patch) | |
tree | 15f61fa1de68aedc86efd1d4441c04b611173145 /runtime | |
parent | fd6fe84c68fdc2ae5f9a1a1bbde80ece4ca557d5 (diff) | |
download | art-a3cd834a9e63c4c2259f0ef87d79ddf2c4dd3afb.zip art-a3cd834a9e63c4c2259f0ef87d79ddf2c4dd3afb.tar.gz art-a3cd834a9e63c4c2259f0ef87d79ddf2c4dd3afb.tar.bz2 |
ART: Avoid soft- after hard-fail in verifier
Follow-up to 414000ec4d728b5c85f8c6dee4f867fecde59b01.
Bug: 21886894
Bug: 22245124
(cherry picked from commit 890da29d279c44923f9271450b8a4423b1267655)
Change-Id: I3728187bd8526cdf84f95b123e6fad5d6c5a8b3c
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/verifier/method_verifier.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc index 085f741..e3999c1 100644 --- a/runtime/verifier/method_verifier.cc +++ b/runtime/verifier/method_verifier.cc @@ -4061,7 +4061,9 @@ void MethodVerifier::VerifyISFieldAccess(const Instruction* inst, const RegType& << " to be compatible with type '" << insn_type << "' but found type '" << *field_type << "' in get-object"; - work_line_->SetRegisterType(this, vregA, reg_types_.Conflict()); + if (error != VERIFY_ERROR_BAD_CLASS_HARD) { + work_line_->SetRegisterType(this, vregA, reg_types_.Conflict()); + } return; } } |