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

Unified Diff: src/mips/simulator-mips.h

Issue 1046873004: MIPS: Refactor simulator and add selection instructions for r6. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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: src/mips/simulator-mips.h
diff --git a/src/mips/simulator-mips.h b/src/mips/simulator-mips.h
index 85f64779f12551fd6c77c3304f82aeb8d3128c08..c1022061b7b7c2efe98eac64f2cea4e2ce29e3e6 100644
--- a/src/mips/simulator-mips.h
+++ b/src/mips/simulator-mips.h
@@ -265,6 +265,47 @@ class Simulator {
// Executing is handled based on the instruction type.
void DecodeTypeRegister(Instruction* instr);
+ // Called from DecodeTypeRegisterCOP1
+ void DecodeTypeRegisterDRsType(Instruction* instr, const int32_t& fr_reg,
+ const int32_t& fs_reg, const int32_t& ft_reg,
+ const int32_t& fd_reg);
+ void DecodeTypeRegisterWRsType(Instruction* instr, int32_t& alu_out,
+ const int32_t& fd_reg, const int32_t& fs_reg);
+ void DecodeTypeRegisterSRsType(Instruction* instr, const int32_t& ft_reg,
+ const int32_t& fs_reg, const int32_t& fd_reg);
+ void DecodeTypeRegisterLRsType(Instruction* instr, const int32_t& ft_reg,
+ const int32_t& fs_reg, const int32_t& fd_reg);
+
+ // Functions called from DeocodeTypeRegister
+ void DecodeTypeRegisterCOP1(
+ Instruction* instr, const int32_t& rs_reg, const int32_t& rs,
+ const uint32_t& rs_u, const int32_t& rt_reg, const int32_t& rt,
+ const uint32_t& rt_u, const int32_t& rd_reg, const int32_t& fr_reg,
+ const int32_t& fs_reg, const int32_t& ft_reg, const int32_t& fd_reg,
+ int64_t& i64hilo, uint64_t& u64hilo, int32_t& alu_out, bool& do_interrupt,
+ int32_t& current_pc, int32_t& next_pc, int32_t& return_addr_reg);
+
+
+ void DecodeTypeRegisterCOP1X(Instruction* instr, const int32_t& fr_reg,
+ const int32_t& fs_reg, const int32_t& ft_reg,
+ const int32_t& fd_reg);
+
+
+ void DecodeTypeRegisterSPECIAL(
+ Instruction* instr, const int32_t& rs_reg, const int32_t& rs,
+ const uint32_t& rs_u, const int32_t& rt_reg, const int32_t& rt,
+ const uint32_t& rt_u, const int32_t& rd_reg, const int32_t& fr_reg,
+ const int32_t& fs_reg, const int32_t& ft_reg, const int32_t& fd_reg,
+ int64_t& i64hilo, uint64_t& u64hilo, int32_t& alu_out, bool& do_interrupt,
+ int32_t& current_pc, int32_t& next_pc, int32_t& return_addr_reg);
+
+
+ void DecodeTypeRegisterSPECIAL2(Instruction* instr, const int32_t& rd_reg,
+ int32_t& alu_out);
+
+ void DecodeTypeRegisterSPECIAL3(Instruction* instr, const int32_t& rt_reg,
+ int32_t& alu_out);
+
// Helper function for DecodeTypeRegister.
void ConfigureTypeRegister(Instruction* instr,
int32_t* alu_out,

Powered by Google App Engine
This is Rietveld 408576698