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
diff --git a/src/disassembler_mips.h b/src/disassembler_mips.h
new file mode 100644
index 0000000..8c3d0dc
--- /dev/null
+++ b/src/disassembler_mips.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ART_SRC_DISASSEMBLER_MIPS_H_
+#define ART_SRC_DISASSEMBLER_MIPS_H_
+
+#include <vector>
+
+#include "disassembler.h"
+
+namespace art {
+namespace mips {
+
+class DisassemblerMips : public Disassembler {
+ public:
+ DisassemblerMips();
+ virtual void Dump(std::ostream& os, const uint8_t* begin, const uint8_t* end);
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(DisassemblerMips);
+};
+
+} // namespace mips
+} // namespace art
+
+#endif // ART_SRC_DISASSEMBLER_MIPS_H_