2022-08-29 08:27:17 +00:00
|
|
|
#pragma once
|
|
|
|
#if defined(__amd64__) || defined(_M_X64)
|
2023-04-04 08:14:42 +00:00
|
|
|
#include <Project64-core/N64System/Recompiler/asmjit.h>
|
|
|
|
#include <map>
|
|
|
|
#include <string>
|
2022-08-29 08:27:17 +00:00
|
|
|
|
|
|
|
class CCodeBlock;
|
|
|
|
|
2023-04-04 08:14:42 +00:00
|
|
|
class CX64Ops :
|
|
|
|
public asmjit::x86::Assembler,
|
|
|
|
public asmjit::Logger
|
2022-08-29 08:27:17 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
CX64Ops(CCodeBlock & CodeBlock);
|
|
|
|
|
|
|
|
private:
|
|
|
|
CX64Ops(void);
|
2022-10-10 00:22:17 +00:00
|
|
|
CX64Ops(const CX64Ops &);
|
|
|
|
CX64Ops & operator=(const CX64Ops &);
|
2022-08-29 08:27:17 +00:00
|
|
|
|
2023-04-04 08:14:42 +00:00
|
|
|
asmjit::Error _log(const char * data, size_t size) noexcept;
|
|
|
|
|
|
|
|
typedef std::map<std::string, std::string> SymbolMap;
|
|
|
|
|
|
|
|
SymbolMap m_Symbols;
|
2022-08-29 08:27:17 +00:00
|
|
|
CCodeBlock & m_CodeBlock;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|