diff options
| author | 2012-03-13 12:37:36 -0700 | |
|---|---|---|
| committer | 2012-03-13 12:37:36 -0700 | |
| commit | cfe8db47f85a5d66ebb336075960fa46effb54dc (patch) | |
| tree | b7fcc68b70d669d50aeefab339c48a1b9fbfa105 | |
| parent | c4c9881e5d22432f3f1a30eeec5aa109dfc08a7d (diff) | |
Really fix instruction decoding for throw verification error.
The decoder was not populating register vA and vB correctly and the fix
didn't fix it correctly either. This time it's correct.
Change-Id: If97b367f6b1dff5fbbb30c0ad9f767e2b1d08326
| -rw-r--r-- | src/dex_instruction.cc | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/dex_instruction.cc b/src/dex_instruction.cc index d768c0b3e7..e0b10f9f39 100644 --- a/src/dex_instruction.cc +++ b/src/dex_instruction.cc @@ -91,13 +91,10 @@ void Instruction::Decode(uint32_t &vA, uint32_t &vB, uint64_t &vB_wide, uint32_t case k10t: // op +AA vA = (int8_t) INST_AA(insn); // sign-extend 8-bit value break; - case k20bc: // op AA, kind@BBBB - vA = INST_A(insn); - vB = INST_B(insn); - break; case k20t: // op +AAAA vA = (int16_t) FETCH(1); // sign-extend 16-bit value break; + case k20bc: // op AA, kind@BBBB case k21c: // op vAA, thing@BBBB case k22x: // op vAA, vBBBB vA = INST_AA(insn); |