summaryrefslogtreecommitdiffstats
path: root/runtime/verifier
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-09-26 10:43:59 -0700
committerHiroshi Yamauchi <yamauchi@google.com>2014-09-26 10:43:59 -0700
commit5f09be9e4fbd3002712e820245562b1a57e55c3f (patch)
tree202981b77484b85fe85eb7591aba07b98aa0f941 /runtime/verifier
parentacc7798973a21df5b9944348b371f0e1ceffab80 (diff)
downloadart-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.cc6
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 << "'";