summaryrefslogtreecommitdiffstats
path: root/disassembler
diff options
context:
space:
mode:
authorAlexandre Rames <alexandre.rames@arm.com>2014-10-10 17:14:18 +0100
committerAlexandre Rames <alexandre.rames@arm.com>2014-10-13 14:12:33 +0100
commitfef019c52ed7b131990d51a1e0d4444a3adf9b7b (patch)
tree662ba622c502a487f49ab1658567fccf2ca2eb0f /disassembler
parentf8e28f575b1382e984edb2e8c9846a27a1bdea10 (diff)
downloadart-fef019c52ed7b131990d51a1e0d4444a3adf9b7b.zip
art-fef019c52ed7b131990d51a1e0d4444a3adf9b7b.tar.gz
art-fef019c52ed7b131990d51a1e0d4444a3adf9b7b.tar.bz2
ART: ARM64: Fix instruction addresses in the disassembly.
Change-Id: Ic8b6e0d5cd15e029de9bc82e0a4fc2e33d07936c
Diffstat (limited to 'disassembler')
-rw-r--r--disassembler/disassembler_arm64.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/disassembler/disassembler_arm64.cc b/disassembler/disassembler_arm64.cc
index 5d0c218..fc1065a 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<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;
}