mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 13:20:27 -06:00
DolphinQt: JIT Widget Refresh
Fulfilling a certain six-year-old todo.
This commit is contained in:
@ -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);
|
||||
};
|
||||
|
Reference in New Issue
Block a user