diff options
| author | 2012-03-13 12:37:36 -0700 | |
|---|---|---|
| committer | 2012-03-13 12:37:36 -0700 | |
| commit | cfe8db47f85a5d66ebb336075960fa46effb54dc (patch) | |
| tree | b7fcc68b70d669d50aeefab339c48a1b9fbfa105 /src/dex_instruction.cc | |
| 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
Diffstat (limited to 'src/dex_instruction.cc')
| -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); |