diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2014-09-26 10:43:59 -0700 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2014-09-26 10:43:59 -0700 |
commit | 5f09be9e4fbd3002712e820245562b1a57e55c3f (patch) | |
tree | 202981b77484b85fe85eb7591aba07b98aa0f941 /runtime/verifier | |
parent | acc7798973a21df5b9944348b371f0e1ceffab80 (diff) | |
download | art-5f09be9e4fbd3002712e820245562b1a57e55c3f.zip art-5f09be9e4fbd3002712e820245562b1a57e55c3f.tar.gz art-5f09be9e4fbd3002712e820245562b1a57e55c3f.tar.bz2 |
Fix verifier crash in GetQuickFieldAccess().
Bug: 17671806
Change-Id: Ifb603f6f55a94826d656a4c73a7e328d74f6dac9
Diffstat (limited to 'runtime/verifier')
-rw-r--r-- | runtime/verifier/method_verifier.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc index 45e8b6a..4673906 100644 --- a/runtime/verifier/method_verifier.cc +++ b/runtime/verifier/method_verifier.cc @@ -3854,7 +3854,11 @@ mirror::ArtField* MethodVerifier::GetQuickFieldAccess(const Instruction* inst, inst->Opcode() == Instruction::IGET_OBJECT_QUICK || inst->Opcode() == Instruction::IPUT_QUICK || inst->Opcode() == Instruction::IPUT_WIDE_QUICK || - inst->Opcode() == Instruction::IPUT_OBJECT_QUICK); + inst->Opcode() == Instruction::IPUT_OBJECT_QUICK || + inst->Opcode() == Instruction::IPUT_BOOLEAN_QUICK || + inst->Opcode() == Instruction::IPUT_BYTE_QUICK || + inst->Opcode() == Instruction::IPUT_CHAR_QUICK || + inst->Opcode() == Instruction::IPUT_SHORT_QUICK); const RegType& object_type = reg_line->GetRegisterType(this, inst->VRegB_22c()); if (!object_type.HasClass()) { VLOG(verifier) << "Failed to get mirror::Class* from '" << object_type << "'"; |