diff options
author | Alexey Frunze <Alexey.Frunze@imgtec.com> | 2015-06-01 18:31:49 -0700 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2015-06-19 15:43:58 +0100 |
commit | 4dda3376b71209fae07f5c3c8ac3eb4b54207aa8 (patch) | |
tree | 0d96a327d1b3a7e09eff178a66c0b5fb946cfc85 /disassembler/disassembler_mips.h | |
parent | 71af6f7aab7491665fe2d6beb9af4c251a99ad56 (diff) |
MIPS: Initial version of optimizing compiler for MIPS64R6.
Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
Diffstat (limited to 'disassembler/disassembler_mips.h')
-rw-r--r-- | disassembler/disassembler_mips.h | 9 |
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); }; |