summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_mips.h
diff options
context:
space:
mode:
author Roland Levillain <rpl@google.com> 2015-06-19 14:51:33 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-06-19 14:51:34 +0000
commit7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8 (patch)
tree0d96a327d1b3a7e09eff178a66c0b5fb946cfc85 /disassembler/disassembler_mips.h
parent71af6f7aab7491665fe2d6beb9af4c251a99ad56 (diff)
parent4dda3376b71209fae07f5c3c8ac3eb4b54207aa8 (diff)
Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."
Diffstat (limited to 'disassembler/disassembler_mips.h')
-rw-r--r--disassembler/disassembler_mips.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/disassembler/disassembler_mips.h b/disassembler/disassembler_mips.h
index 67c3fcb71f..4f70a9b523 100644
--- a/disassembler/disassembler_mips.h
+++ b/disassembler/disassembler_mips.h
@@ -27,7 +27,9 @@ namespace mips {
class DisassemblerMips FINAL : public Disassembler {
public:
explicit DisassemblerMips(DisassemblerOptions* options, bool is64bit) : Disassembler(options),
- is64bit_(is64bit) {}
+ is64bit_(is64bit),
+ last_ptr_(nullptr),
+ last_instr_(0) {}
size_t Dump(std::ostream& os, const uint8_t* begin) OVERRIDE;
void Dump(std::ostream& os, const uint8_t* begin, const uint8_t* end) OVERRIDE;
@@ -35,6 +37,11 @@ class DisassemblerMips FINAL : public Disassembler {
private:
const bool is64bit_;
+ // Address and encoding of the last disassembled instruction.
+ // Needed to produce more readable disassembly of certain 2-instruction sequences.
+ const uint8_t* last_ptr_;
+ uint32_t last_instr_;
+
DISALLOW_COPY_AND_ASSIGN(DisassemblerMips);
};