- Stop using inheritance for CPU, instead use composition.
- Introduce KAIZEN_JIT_ENABLED optional define instead of relying on __aarch64__ and the like. - More cache work
This commit is contained in:
+26
-21
@@ -1,28 +1,33 @@
|
||||
#pragma once
|
||||
#include <backend/Core.hpp>
|
||||
#include <Disassembler.hpp>
|
||||
|
||||
void BreakpointFunc(s64, Disassembler::DisassemblyResult&);
|
||||
void AddressFunc(s64, Disassembler::DisassemblyResult&);
|
||||
void InstructionFunc(s64, Disassembler::DisassemblyResult&);
|
||||
void BreakpointFunc(s64, Disassembler::DisassemblyResult &);
|
||||
void AddressFunc(s64, Disassembler::DisassemblyResult &);
|
||||
void InstructionFunc(s64, Disassembler::DisassemblyResult &);
|
||||
|
||||
class Debugger final {
|
||||
bool enabled = false;
|
||||
static constexpr auto MAX_LINES_OF_DISASM = 150;
|
||||
bool enabled = false;
|
||||
static constexpr auto MAX_LINES_OF_DISASM = 150;
|
||||
|
||||
struct Column {
|
||||
const char* name = nullptr;
|
||||
void (*func)(s64, Disassembler::DisassemblyResult&) = nullptr;
|
||||
};
|
||||
struct Column {
|
||||
const char *name = nullptr;
|
||||
void (*func)(s64, Disassembler::DisassemblyResult &) = nullptr;
|
||||
};
|
||||
|
||||
std::array<Column, 3> columns = {
|
||||
Column{"##BreakpointColumn", &BreakpointFunc},
|
||||
Column{"Address", &AddressFunc},
|
||||
Column{"Instruction", &InstructionFunc},
|
||||
};
|
||||
public:
|
||||
static void RegisterView();
|
||||
bool followPC = true;
|
||||
void Open(bool wantFollowPC = true) { enabled = true; followPC = wantFollowPC; }
|
||||
void Close() { enabled = false; }
|
||||
bool render();
|
||||
};
|
||||
std::array<Column, 3> columns = {
|
||||
Column{"##BreakpointColumn", &BreakpointFunc},
|
||||
Column{"Address", &AddressFunc},
|
||||
Column{"Instruction", &InstructionFunc},
|
||||
};
|
||||
|
||||
public:
|
||||
static void RegisterView();
|
||||
bool followPC = true;
|
||||
void Open(bool wantFollowPC = true) {
|
||||
enabled = true;
|
||||
followPC = wantFollowPC;
|
||||
}
|
||||
void Close() { enabled = false; }
|
||||
bool render();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user