diff options
Diffstat (limited to 'disassembler/disassembler_arm64.cc')
-rw-r--r-- | disassembler/disassembler_arm64.cc | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/disassembler/disassembler_arm64.cc b/disassembler/disassembler_arm64.cc index 5d0c2189cc..229ac9755f 100644 --- a/disassembler/disassembler_arm64.cc +++ b/disassembler/disassembler_arm64.cc @@ -18,7 +18,7 @@ #include <inttypes.h> -#include <iostream> +#include <ostream> #include "base/logging.h" #include "base/stringprintf.h" @@ -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<vixl::Instruction*>(&instruction)); + const vixl::Instruction* instr = reinterpret_cast<const vixl::Instruction*>(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; } |