From 309d1621e5f6e325e932deb8ce677df97e29b9eb Mon Sep 17 00:00:00 2001 From: gibbed Date: Wed, 16 Oct 2013 18:55:21 -0700 Subject: [PATCH] Attempt at a fix for crashes occuring when not using instruction/branch tracing. --- src/xenia/cpu/x64/x64_emitter.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/xenia/cpu/x64/x64_emitter.cc b/src/xenia/cpu/x64/x64_emitter.cc index e388a8140..b7d17dfdc 100644 --- a/src/xenia/cpu/x64/x64_emitter.cc +++ b/src/xenia/cpu/x64/x64_emitter.cc @@ -575,6 +575,10 @@ void X64Emitter::GenerateBasicBlock(FunctionBlock* block) { // most constant values are set within their own blocks anyway. clear_all_constant_gpr_values(); + // TODO: this fixes crashes when not using instruction/branch tracing. Figure out why it's broken. + c.save(c.getGpArg(0)); + c.save(c.getGpArg(1)); + // This will create a label if it hasn't already been done. std::map::iterator label_it = bbs_.find(block->start_address);