summaryrefslogtreecommitdiff
path: root/src/disassembler.cc
diff options
context:
space:
mode:
author Elliott Hughes <enh@google.com> 2012-04-25 12:56:03 -0700
committer Elliott Hughes <enh@google.com> 2012-04-25 12:56:03 -0700
commit60454e8b48663e6e5cb4bb301cec5edf93f8ce54 (patch)
tree926b9b6cc9379e6ec090d4c36e0698ba76e04380 /src/disassembler.cc
parentf49a495e249534c051d2d10bc3310253bb99b5d3 (diff)
MIPS disassembler.
0x0000: invoke-direct {v0}, Ljava/lang/Object;.<init>()V // method@163 0xf7229004: 8e220050 lw r2, +80(r17) ; stack_end_ 0xf7229008: 27bdfff8 addiu r29, r29, -8 0xf722900c: afb20004 sw r18, +4(r29) 0xf7229010: afbf0000 sw r31, +0(r29) 0xf7229014: 27a3ffe8 addiu r3, r29, -24 0xf7229018: 0062402b sltu r8, r3, r2 0xf722901c: 15000010 bne r8, r0, 0xf7229060 ; +68 0xf7229020: 00000000 nop 0xf7229024: 0060e825 or r29, r3, r0 0xf7229028: afa40000 sw r4, +0(r29) 0xf722902c: 00a09025 or r18, r5, r0 0xf7229030: 8fa40000 lw r4, +0(r29) 0xf7229034: 02402825 or r5, r18, r0 0xf7229038: 8c840010 lw r4, +16(r4) 0xf722903c: 8c840298 lw r4, +664(r4) 0xf7229040: 8c820020 lw r2, +32(r4) 0xf7229044: 0040f809 jalr r2 0xf7229048: 00000000 nop 0x0003: return-void 0xf722904c: 8fb2001c lw r18, +28(r29) 0xf7229050: 8fbf0018 lw r31, +24(r29) 0xf7229054: 27bd0020 addiu r29, r29, 32 0xf7229058: 03e00008 jr r31 0xf722905c: 00000000 nop 0x0000: invoke-direct {v0}, Ljava/lang/Object;.<init>()V // method@163 0xf7229060: 27bd0008 addiu r29, r29, 8 0xf7229064: 8e2901f4 lw r9, +500(r17) ; pThrowStackOverflowFromCode 0xf7229068: 0120f809 jalr r9 0xf722906c: 00000000 nop Change-Id: Ib5b8c9ed91fa92586f3b93793b5fb893e9ac09c2
Diffstat (limited to 'src/disassembler.cc')
-rw-r--r--src/disassembler.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/disassembler.cc b/src/disassembler.cc
index 339622981d..8fe3dc70cb 100644
--- a/src/disassembler.cc
+++ b/src/disassembler.cc
@@ -19,6 +19,7 @@
#include <iostream>
#include "disassembler_arm.h"
+#include "disassembler_mips.h"
#include "disassembler_x86.h"
#include "logging.h"
@@ -27,6 +28,8 @@ namespace art {
Disassembler* Disassembler::Create(InstructionSet instruction_set) {
if (instruction_set == kArm || instruction_set == kThumb2) {
return new arm::DisassemblerArm();
+ } else if (instruction_set == kMips) {
+ return new mips::DisassemblerMips();
} else if (instruction_set == kX86) {
return new x86::DisassemblerX86();
} else {