Adding disassembly to traces and bumping libjit.
This commit is contained in:
parent
730dba4aea
commit
fc8eb3d40a
|
@ -98,13 +98,27 @@ void _cdecl XeTraceBranch(
|
||||||
|
|
||||||
void _cdecl XeTraceInstruction(
|
void _cdecl XeTraceInstruction(
|
||||||
xe_ppc_state_t* state, uint64_t cia, uint64_t data) {
|
xe_ppc_state_t* state, uint64_t cia, uint64_t data) {
|
||||||
ppc::InstrType* type = ppc::GetInstrType((uint32_t)data);
|
ppc::InstrData i;
|
||||||
|
i.address = (uint32_t)cia;
|
||||||
|
i.code = (uint32_t)data;
|
||||||
|
i.type = ppc::GetInstrType(i.code);
|
||||||
|
if (i.type && i.type->disassemble) {
|
||||||
|
ppc::InstrDisasm d;
|
||||||
|
i.type->disassemble(i, d);
|
||||||
|
std::string disasm;
|
||||||
|
d.Dump(disasm);
|
||||||
XELOGCPU("TRACE: %.8X %.8X %s %s",
|
XELOGCPU("TRACE: %.8X %.8X %s %s",
|
||||||
cia, data,
|
i.address, i.code,
|
||||||
type && type->emit ? " " : "X",
|
i.type && i.type->emit ? " " : "X",
|
||||||
type ? type->name : "<unknown>");
|
disasm.c_str());
|
||||||
|
} else {
|
||||||
|
XELOGCPU("TRACE: %.8X %.8X %s %s",
|
||||||
|
i.address, i.code,
|
||||||
|
i.type && i.type->emit ? " " : "X",
|
||||||
|
i.type ? i.type->name : "<unknown>");
|
||||||
|
}
|
||||||
|
|
||||||
// if (cia == 0x82014468) {
|
// if (cia == 0x82012074) {
|
||||||
// printf("BREAKBREAKBREAK\n");
|
// printf("BREAKBREAKBREAK\n");
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8f6f77b1b5734ec205869e117eb8094323839091
|
Subproject commit a37e442c53f847d6c80b4007a3d626bc382038dd
|
Loading…
Reference in New Issue