| Index: src/mips/simulator-mips.h
|
| diff --git a/src/mips/simulator-mips.h b/src/mips/simulator-mips.h
|
| index 3795eecc78db661d993dd4174d91b29e7d9cfa76..0e7982b70debf9e747ae5900de97c79393341424 100644
|
| --- a/src/mips/simulator-mips.h
|
| +++ b/src/mips/simulator-mips.h
|
| @@ -293,6 +293,9 @@ class Simulator {
|
| // Unsupported instructions use Format to print an error and stop execution.
|
| void Format(Instruction* instr, const char* format);
|
|
|
| + // Helpers for data value tracing.
|
| + enum TraceType { BYTE, HALF, WORD, DWORD, FLOAT, DOUBLE, FLOAT_DOUBLE };
|
| +
|
| // Read and write memory.
|
| inline uint32_t ReadBU(int32_t addr);
|
| inline int32_t ReadB(int32_t addr);
|
| @@ -305,24 +308,18 @@ class Simulator {
|
| inline void WriteH(int32_t addr, uint16_t value, Instruction* instr);
|
| inline void WriteH(int32_t addr, int16_t value, Instruction* instr);
|
|
|
| - inline int ReadW(int32_t addr, Instruction* instr);
|
| + inline int ReadW(int32_t addr, Instruction* instr, TraceType t = WORD);
|
| inline void WriteW(int32_t addr, int value, Instruction* instr);
|
|
|
| inline double ReadD(int32_t addr, Instruction* instr);
|
| inline void WriteD(int32_t addr, double value, Instruction* instr);
|
|
|
| - // Helpers for data value tracing.
|
| - enum TraceType {
|
| - BYTE,
|
| - HALF,
|
| - WORD
|
| - // DWORD,
|
| - // DFLOAT - Floats may have printing issues due to paired lwc1's
|
| - };
|
| -
|
| - void TraceRegWr(int32_t value);
|
| - void TraceMemWr(int32_t addr, int32_t value, TraceType t);
|
| - void TraceMemRd(int32_t addr, int32_t value);
|
| + void TraceRegWr(int32_t value, TraceType t = WORD);
|
| + void TraceRegWr(int64_t value, TraceType t = DWORD);
|
| + void TraceMemWr(int32_t addr, int32_t value, TraceType t = WORD);
|
| + void TraceMemRd(int32_t addr, int32_t value, TraceType t = WORD);
|
| + void TraceMemWr(int32_t addr, int64_t value, TraceType t = DWORD);
|
| + void TraceMemRd(int32_t addr, int64_t value, TraceType t = DWORD);
|
| EmbeddedVector<char, 128> trace_buf_;
|
|
|
| // Operations depending on endianness.
|
|
|