Play-/Source/ee/VuExecutor.h

30 lines
647 B
C
Raw Permalink Normal View History

2017-06-24 20:22:43 -04:00
#pragma once
#include <map>
#include "../GenericMipsExecutor.h"
class CVuExecutor : public CGenericMipsExecutor<BlockLookupOneWay, 8>
{
public:
2018-04-30 21:01:23 +01:00
CVuExecutor(CMIPS&, uint32);
virtual ~CVuExecutor() = default;
2018-04-30 21:01:23 +01:00
void Reset() override;
protected:
2022-10-21 09:42:16 +01:00
typedef std::pair<uint128, uint32> CachedBlockKey;
typedef std::multimap<CachedBlockKey, BasicBlockPtr> CachedBlockMap;
struct BLOCK_COMPILE_HINTS
{
CachedBlockKey blockKey;
uint32 hints;
};
2018-04-30 21:01:23 +01:00
BasicBlockPtr BlockFactory(CMIPS&, uint32, uint32) override;
void PartitionFunction(uint32) override;
static const BLOCK_COMPILE_HINTS g_blockCompileHints[];
CachedBlockMap m_cachedBlocks;
};