DolphinQt: JIT Widget Refresh

Fulfilling a certain six-year-old todo.
This commit is contained in:
mitaclaw
2024-04-15 21:52:40 -07:00
parent ca9222a16b
commit 9afd09598c
36 changed files with 1640 additions and 390 deletions

View File

@ -3,28 +3,24 @@
#pragma once
#include <cstddef>
#include <iosfwd>
#include <memory>
#include <string>
#include "Common/CommonTypes.h"
class HostDisassembler
{
public:
virtual ~HostDisassembler() {}
virtual std::string DisassembleHostBlock(const u8* code_start, const u32 code_size,
u32* host_instructions_count, u64 starting_pc)
enum class Platform
{
return "(No disassembler)";
}
};
x86_64,
aarch64,
};
struct DisassembleResult
{
std::string text;
u32 entry_address = 0;
u32 instruction_count = 0;
u32 code_size = 0;
};
virtual ~HostDisassembler() = default;
std::unique_ptr<HostDisassembler> GetNewDisassembler(const std::string& arch);
DisassembleResult DisassembleBlock(HostDisassembler* disasm, u32 address);
static std::unique_ptr<HostDisassembler> Factory(Platform arch);
virtual std::size_t Disassemble(const u8* begin, const u8* end, std::ostream& stream);
};