[Project64] Change Loop Analysis.cpp to use standard types

This commit is contained in:
zilmar 2015-11-10 07:10:34 +11:00
parent 8f694e157f
commit 0c00b90334
2 changed files with 1129 additions and 1037 deletions
Source/Project64/N64 System/Recompiler

File diff suppressed because it is too large Load Diff

View File

@ -16,71 +16,71 @@ class CCodeBlock;
class LoopAnalysis class LoopAnalysis
{ {
public: public:
LoopAnalysis(CCodeBlock * CodeBlock, CCodeSection * Section); LoopAnalysis(CCodeBlock * CodeBlock, CCodeSection * Section);
~LoopAnalysis(); ~LoopAnalysis();
bool SetupRegisterForLoop(); bool SetupRegisterForLoop();
private: private:
LoopAnalysis(); // Disable default constructor LoopAnalysis(); // Disable default constructor
LoopAnalysis(const LoopAnalysis&); // Disable copy constructor LoopAnalysis(const LoopAnalysis&); // Disable copy constructor
LoopAnalysis& operator=(const LoopAnalysis&); // Disable assignment LoopAnalysis& operator=(const LoopAnalysis&); // Disable assignment
bool SetupEnterSection ( CCodeSection * Section, bool & bChanged, bool & bSkipedSection ); bool SetupEnterSection(CCodeSection * Section, bool & bChanged, bool & bSkipedSection);
bool CheckLoopRegisterUsage ( CCodeSection * Section ); bool CheckLoopRegisterUsage(CCodeSection * Section);
bool SyncRegState ( CRegInfo & RegSet, const CRegInfo& SyncReg ); bool SyncRegState(CRegInfo & RegSet, const CRegInfo& SyncReg);
void SetJumpRegSet ( CCodeSection * Section, const CRegInfo &Reg ); void SetJumpRegSet(CCodeSection * Section, const CRegInfo &Reg);
void SetContinueRegSet(CCodeSection * Section, const CRegInfo &Reg); void SetContinueRegSet(CCodeSection * Section, const CRegInfo &Reg);
/********************** R4300i OpCodes: Special **********************/ /********************** R4300i OpCodes: Special **********************/
void SPECIAL_SLL(); void SPECIAL_SLL();
void SPECIAL_SRL(); void SPECIAL_SRL();
void SPECIAL_SRA(); void SPECIAL_SRA();
void SPECIAL_SLLV(); void SPECIAL_SLLV();
void SPECIAL_SRLV(); void SPECIAL_SRLV();
void SPECIAL_SRAV(); void SPECIAL_SRAV();
void SPECIAL_JR(); void SPECIAL_JR();
void SPECIAL_JALR(); void SPECIAL_JALR();
void SPECIAL_SYSCALL(CCodeSection * Section); void SPECIAL_SYSCALL(CCodeSection * Section);
void SPECIAL_BREAK(CCodeSection * Section); void SPECIAL_BREAK(CCodeSection * Section);
void SPECIAL_MFHI(); void SPECIAL_MFHI();
void SPECIAL_MTHI(); void SPECIAL_MTHI();
void SPECIAL_MFLO(); void SPECIAL_MFLO();
void SPECIAL_MTLO(); void SPECIAL_MTLO();
void SPECIAL_DSLLV(); void SPECIAL_DSLLV();
void SPECIAL_DSRLV(); void SPECIAL_DSRLV();
void SPECIAL_DSRAV(); void SPECIAL_DSRAV();
void SPECIAL_ADD(); void SPECIAL_ADD();
void SPECIAL_ADDU(); void SPECIAL_ADDU();
void SPECIAL_SUB(); void SPECIAL_SUB();
void SPECIAL_SUBU(); void SPECIAL_SUBU();
void SPECIAL_AND(); void SPECIAL_AND();
void SPECIAL_OR(); void SPECIAL_OR();
void SPECIAL_XOR(); void SPECIAL_XOR();
void SPECIAL_NOR(); void SPECIAL_NOR();
void SPECIAL_SLT(); void SPECIAL_SLT();
void SPECIAL_SLTU(); void SPECIAL_SLTU();
void SPECIAL_DADD(); void SPECIAL_DADD();
void SPECIAL_DADDU(); void SPECIAL_DADDU();
void SPECIAL_DSUB(); void SPECIAL_DSUB();
void SPECIAL_DSUBU(); void SPECIAL_DSUBU();
void SPECIAL_DSLL(); void SPECIAL_DSLL();
void SPECIAL_DSRL(); void SPECIAL_DSRL();
void SPECIAL_DSRA(); void SPECIAL_DSRA();
void SPECIAL_DSLL32(); void SPECIAL_DSLL32();
void SPECIAL_DSRL32(); void SPECIAL_DSRL32();
void SPECIAL_DSRA32(); void SPECIAL_DSRA32();
typedef std::map<int,CRegInfo *> RegisterMap; typedef std::map<int32_t, CRegInfo *> RegisterMap;
RegisterMap m_EnterRegisters; RegisterMap m_EnterRegisters;
RegisterMap m_ContinueRegisters; RegisterMap m_ContinueRegisters;
RegisterMap m_JumpRegisters; RegisterMap m_JumpRegisters;
CCodeSection * m_EnterSection; CCodeSection * m_EnterSection;
CCodeBlock * m_BlockInfo; CCodeBlock * m_BlockInfo;
DWORD m_PC; uint32_t m_PC;
CRegInfo m_Reg; CRegInfo m_Reg;
STEP_TYPE m_NextInstruction; STEP_TYPE m_NextInstruction;
OPCODE m_Command; OPCODE m_Command;
DWORD m_Test; uint32_t m_Test;
}; };