From 59d5358068986fe275a2d96b2b63eff5c04f91e5 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 6 Aug 2015 19:53:20 -0400 Subject: arm_disasm: Remove unnecessary code This part of disassembly only determines the opcode, there's no need for offset calculation here. --- src/core/arm/disassembler/arm_disasm.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/core/arm/disassembler/arm_disasm.cpp b/src/core/arm/disassembler/arm_disasm.cpp index f6d44d85..aaf47b3f 100644 --- a/src/core/arm/disassembler/arm_disasm.cpp +++ b/src/core/arm/disassembler/arm_disasm.cpp @@ -779,20 +779,12 @@ Opcode ARM_Disasm::Decode10(uint32_t insn) { return OP_LDM; return OP_STM; } - // Branch or Branch with link - uint8_t is_link = (insn >> 24) & 1; - uint32_t offset = insn & 0xffffff; - // Sign-extend the 24-bit offset - if ((offset >> 23) & 1) - offset |= 0xff000000; + // Branch with link + if ((insn >> 24) & 1) + return OP_BL; - // Pre-compute the left-shift and the prefetch offset - offset <<= 2; - offset += 8; - if (is_link == 0) - return OP_B; - return OP_BL; + return OP_B; } Opcode ARM_Disasm::Decode11(uint32_t insn) { -- cgit v1.2.3