Adding disassembly to traces and bumping libjit.

This commit is contained in:
Ben Vanik 2013-05-23 11:39:29 -07:00
parent 730dba4aea
commit fc8eb3d40a
2 changed files with 21 additions and 7 deletions

View File

@ -98,13 +98,27 @@ void _cdecl XeTraceBranch(
void _cdecl XeTraceInstruction(
xe_ppc_state_t* state, uint64_t cia, uint64_t data) {
ppc::InstrType* type = ppc::GetInstrType((uint32_t)data);
XELOGCPU("TRACE: %.8X %.8X %s %s",
cia, data,
type && type->emit ? " " : "X",
type ? type->name : "<unknown>");
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",
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");
// }

2
third_party/libjit vendored

@ -1 +1 @@
Subproject commit 8f6f77b1b5734ec205869e117eb8094323839091
Subproject commit a37e442c53f847d6c80b4007a3d626bc382038dd