diff options
| author | hrydgard <hrydgard@gmail.com> | 2008-12-18 13:21:02 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2008-12-18 13:21:02 +0000 |
| commit | b8f619550d54ca4cc956f331b18e1659ab1813b6 (patch) | |
| tree | a1218136261812bab1cd44cc0263a4f6e87f7bc1 /Source/Core/DebuggerWX/Src/JitWindow.cpp | |
| parent | 74c19504953505ccc36a100657de3a106b8be238 (diff) | |
add ppc disassembly to jit results viewer windowTurn the JIT into a class. Indentation cleanup will be in a separate CL, and the block cache will later be split out into its own class. Cannot detect any speed difference whatsoever - the games spend 99.9% of their time in already jitted code anyway. I have a good reason for doing this - see upcoming changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1585 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DebuggerWX/Src/JitWindow.cpp')
| -rw-r--r-- | Source/Core/DebuggerWX/Src/JitWindow.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/Core/DebuggerWX/Src/JitWindow.cpp b/Source/Core/DebuggerWX/Src/JitWindow.cpp index 2abd8b5ffb..2ac65dda36 100644 --- a/Source/Core/DebuggerWX/Src/JitWindow.cpp +++ b/Source/Core/DebuggerWX/Src/JitWindow.cpp @@ -125,7 +125,9 @@ void CJitWindow::OnRefresh(wxCommandEvent& /*event*/) { void CJitWindow::ViewAddr(u32 em_address) { + the_jit_window->Show(true); the_jit_window->Compare(em_address); + the_jit_window->SetFocus(); } void CJitWindow::Compare(u32 em_address) @@ -136,14 +138,14 @@ void CJitWindow::Compare(u32 em_address) disassembler x64disasm; x64disasm.set_syntax_intel(); - int block_num = Jit64::GetBlockNumberFromAddress(em_address); + int block_num = jit.GetBlockNumberFromAddress(em_address); if (block_num < 0) { ppc_box->SetValue(wxString::FromAscii(StringFromFormat("(non-code address: %08x)", em_address).c_str())); x86_box->SetValue(wxString::FromAscii(StringFromFormat("(no translation)").c_str())); return; } - Jit64::JitBlock *block = Jit64::GetBlock(block_num); + Jit64::JitBlock *block = jit.GetBlock(block_num); // == Fill in ppc box u32 ppc_addr = block->originalAddress; @@ -152,7 +154,8 @@ void CJitWindow::Compare(u32 em_address) PPCAnalyst::BlockStats st; PPCAnalyst::BlockRegStats gpa; PPCAnalyst::BlockRegStats fpa; - if (PPCAnalyst::Flatten(ppc_addr, &size, &st, &gpa, &fpa, &code_buffer)) { + if (PPCAnalyst::Flatten(ppc_addr, &size, &st, &gpa, &fpa, &code_buffer)) + { char *sptr = (char*)xDis; for (int i = 0; i < size; i++) { @@ -169,7 +172,7 @@ void CJitWindow::Compare(u32 em_address) // == Fill in x86 box memset(xDis, 0, 65536); - const u8 *code = (const u8 *)Jit64::GetCompiledCodeFromBlock(block_num); + const u8 *code = (const u8 *)jit.GetCompiledCodeFromBlock(block_num); u64 disasmPtr = (u64)code; size = block->codeSize; const u8 *end = code + size; |
