Adding disassembly to traces and bumping libjit.
This commit is contained in:
@@ -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;
|
||||||
XELOGCPU("TRACE: %.8X %.8X %s %s",
|
i.address = (uint32_t)cia;
|
||||||
cia, data,
|
i.code = (uint32_t)data;
|
||||||
type && type->emit ? " " : "X",
|
i.type = ppc::GetInstrType(i.code);
|
||||||
type ? type->name : "<unknown>");
|
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",
|
||||||
|
i.address, i.code,
|
||||||
|
i.type && i.type->emit ? " " : "X",
|
||||||
|
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");
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|||||||
2
third_party/libjit
vendored
2
third_party/libjit
vendored
Submodule third_party/libjit updated: 8f6f77b1b5...a37e442c53
Reference in New Issue
Block a user