From: Alexandre Rames Date: Fri, 10 Oct 2014 16:14:18 +0000 (+0100) Subject: ART: ARM64: Fix instruction addresses in the disassembly. X-Git-Tag: android-x86-7.1-r1~889^2~2905^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fef019c52ed7b131990d51a1e0d4444a3adf9b7b;p=android-x86%2Fart.git ART: ARM64: Fix instruction addresses in the disassembly. Change-Id: Ic8b6e0d5cd15e029de9bc82e0a4fc2e33d07936c --- diff --git a/disassembler/disassembler_arm64.cc b/disassembler/disassembler_arm64.cc index 5d0c2189c..fc1065aff 100644 --- a/disassembler/disassembler_arm64.cc +++ b/disassembler/disassembler_arm64.cc @@ -27,15 +27,11 @@ namespace art { namespace arm64 { -static uint32_t ReadU32(const uint8_t* ptr) { - return *((const uint32_t*)ptr); -} - size_t DisassemblerArm64::Dump(std::ostream& os, const uint8_t* begin) { - uint32_t instruction = ReadU32(begin); - decoder.Decode(reinterpret_cast(&instruction)); + const vixl::Instruction* instr = reinterpret_cast(begin); + decoder.Decode(instr); os << FormatInstructionPointer(begin) - << StringPrintf(": %08x\t%s\n", instruction, disasm.GetOutput()); + << StringPrintf(": %08x\t%s\n", instr->InstructionBits(), disasm.GetOutput()); return vixl::kInstructionSize; }