Play-/Source/MIPSInstructionFactory.h
jpd002 5f31206020 Got rid of CCacheBlock.
Cleaned up a lot of code.

git-svn-id: http://svn.purei.org/purei/trunk@293 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-04-09 02:52:38 +00:00

36 lines
No EOL
777 B
C++

#ifndef _MIPSINSTRUCTIONFACTORY_H_
#define _MIPSINSTRUCTIONFACTORY_H_
#include "Types.h"
class CMIPS;
class CCodeGen;
enum MIPS_REGSIZE
{
MIPS_REGSIZE_32 = 0,
MIPS_REGSIZE_64 = 1,
};
class CMIPSInstructionFactory
{
public:
CMIPSInstructionFactory(MIPS_REGSIZE);
virtual ~CMIPSInstructionFactory();
virtual void CompileInstruction(uint32, CCodeGen*, CMIPS*, bool) = 0;
protected:
static void ComputeMemAccessAddr();
static void Branch(bool);
static void BranchLikely(bool);
static void Illegal();
static void SetupQuickVariables(uint32, CCodeGen*, CMIPS*);
static CCodeGen* m_codeGen;
static CMIPS* m_pCtx;
static uint32 m_nOpcode;
static uint32 m_nAddress;
};
#endif