#pragma once #include #include class CCodeBlock; enum ExitReason { ExitReason_Normal, ExitReason_NormalNoSysCheck, ExitReason_DoCPUAction, ExitReason_COP1Unuseable, ExitReason_DoSysCall, ExitReason_Break, ExitReason_TLBReadMiss, ExitReason_TLBWriteMiss, ExitReason_ResetRecompCode, ExitReason_ExceptionOverflow, ExitReason_AddressErrorExceptionRead32, ExitReason_AddressErrorExceptionRead64, ExitReason_IllegalInstruction, }; 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 EXIT_LIST;