interface/a32: Remove descriptor argument from Disassemble

This commit is contained in:
MerryMage 2020-06-12 15:27:42 +01:00
parent 3ccc415c52
commit 2796a85096
4 changed files with 7 additions and 13 deletions

View file

@ -12,12 +12,6 @@
#include <dynarmic/A32/config.h> #include <dynarmic/A32/config.h>
namespace Dynarmic {
namespace IR {
class LocationDescriptor;
}
}
namespace Dynarmic { namespace Dynarmic {
namespace A32 { namespace A32 {
@ -92,10 +86,10 @@ public:
} }
/** /**
* @param descriptor Basic block descriptor. * Debugging: Disassemble all of compiled code.
* @return A string containing disassembly of the host machine code produced for the basic block. * @return A string containing disassembly of all host machine code produced.
*/ */
std::string Disassemble(const IR::LocationDescriptor& descriptor); std::string Disassemble() const;
private: private:
bool is_executing = false; bool is_executing = false;

View file

@ -310,8 +310,8 @@ void Jit::LoadContext(const Context& ctx) {
impl->jit_state.TransferJitState(ctx.impl->jit_state, reset_rsb); impl->jit_state.TransferJitState(ctx.impl->jit_state, reset_rsb);
} }
std::string Jit::Disassemble(const IR::LocationDescriptor& descriptor) { std::string Jit::Disassemble() const {
return impl->Disassemble(descriptor); return Common::DisassembleX64(impl->block_of_code.GetCodeBegin(), impl->block_of_code.getCurr());
} }
} // namespace Dynarmic::A32 } // namespace Dynarmic::A32

View file

@ -240,7 +240,7 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit, A32Unicorn<ArmTestEnv>& uni
fmt::print("\n"); fmt::print("\n");
fmt::print("x86_64:\n"); fmt::print("x86_64:\n");
fmt::print("{}\n", jit.Disassemble(A32::LocationDescriptor{initial_pc, A32::PSR{cpsr}, A32::FPSCR{fpscr}})); fmt::print("{}\n", jit.Disassemble());
fmt::print("Interrupts:\n"); fmt::print("Interrupts:\n");
for (const auto& i : uni_env.interrupts) { for (const auto& i : uni_env.interrupts) {

View file

@ -166,7 +166,7 @@ static void RunInstance(size_t run_number, ThumbTestEnv& test_env, A32Unicorn<Th
Dynarmic::Optimization::DeadCodeElimination(ir_block); Dynarmic::Optimization::DeadCodeElimination(ir_block);
Dynarmic::Optimization::VerificationPass(ir_block); Dynarmic::Optimization::VerificationPass(ir_block);
printf("\n\nIR:\n%s", Dynarmic::IR::DumpBlock(ir_block).c_str()); printf("\n\nIR:\n%s", Dynarmic::IR::DumpBlock(ir_block).c_str());
printf("\n\nx86_64:\n%s", jit.Disassemble(descriptor).c_str()); printf("\n\nx86_64:\n%s", jit.Disassemble().c_str());
num_insts += ir_block.CycleCount(); num_insts += ir_block.CycleCount();
} }