project64/Source/Project64-core/N64System/Recompiler/ExitInfo.h

35 lines
743 B
C
Raw Normal View History

2012-12-19 09:30:18 +00:00
#pragma once
2015-12-06 09:59:58 +00:00
#include <Project64-core/N64System/Recompiler/RegInfo.h>
#include <Project64-core/N64System/N64Types.h>
2015-12-06 09:59:58 +00:00
class CCodeBlock;
enum ExitReason
{
ExitReason_Normal,
ExitReason_NormalNoSysCheck,
ExitReason_DoCPUAction,
ExitReason_COP1Unuseable,
ExitReason_DoSysCall,
ExitReason_TLBReadMiss,
ExitReason_TLBWriteMiss,
ExitReason_ResetRecompCode,
ExitReason_ExceptionOverflow,
};
struct CExitInfo
{
CExitInfo(CCodeBlock & CodeBlock);
std::string Name;
uint32_t ID;
uint32_t TargetPC;
CRegInfo ExitRegSet;
ExitReason Reason;
PIPELINE_STAGE PipelineStage;
uint32_t * JumpLoc; // 32-bit jump
};
typedef std::list<CExitInfo> EXIT_LIST;