Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(735)

Unified Diff: runtime/vm/simulator_mips.h

Issue 12431016: Copies Simulator Debugger from ARM to MIPS. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/simulator_mips.h
===================================================================
--- runtime/vm/simulator_mips.h (revision 19939)
+++ runtime/vm/simulator_mips.h (working copy)
@@ -35,6 +35,13 @@
void set_register(Register reg, int32_t value);
int32_t get_register(Register reg) const;
+ // Accessors for floating point register state.
+ void set_fregister(FRegister freg, double value);
+ double get_fregister(FRegister) const;
+
+ // Accessor for the pc.
+ int32_t get_pc() const { return pc_; }
+
// Accessors for hi, lo registers.
void set_hi_register(int32_t value) { hi_reg_ = value; }
void set_lo_register(int32_t value) { lo_reg_ = value; }
@@ -68,6 +75,7 @@
int32_t lo_reg_;
int32_t registers_[kNumberOfCpuRegisters];
+ double fregisters_[kNumberOfFRegisters];
uword pc_;
// Simulator support.
@@ -75,11 +83,19 @@
int icount_;
bool delay_slot_;
+ // Registered breakpoints.
+ Instr* break_pc_;
+ int32_t break_instr_;
+
// Illegal memory access support.
static bool IsIllegalAddress(uword addr) {
return addr < 64*1024;
}
+ void HandleIllegalAccess(uword addr, Instr* instr);
+ // Read and write memory.
+ void UnalignedAccess(const char* msg, uword addr, Instr* instr);
+
bool OverflowFrom(int32_t alu_out,
int32_t left,
int32_t right,
@@ -101,11 +117,12 @@
void DecodeSpecial(Instr* instr);
void DecodeSpecial2(Instr* instr);
- void DecodeSpecial3(Instr *instr);
void InstructionDecode(Instr* instr);
void Execute();
void ExecuteDelaySlot();
+
+ friend class SimulatorDebugger;
};
} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698