diff options
| author | 2012-04-25 12:56:03 -0700 | |
|---|---|---|
| committer | 2012-04-25 12:56:03 -0700 | |
| commit | 60454e8b48663e6e5cb4bb301cec5edf93f8ce54 (patch) | |
| tree | 926b9b6cc9379e6ec090d4c36e0698ba76e04380 /src/disassembler.cc | |
| parent | f49a495e249534c051d2d10bc3310253bb99b5d3 (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.cc | 3 |
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 { |