Fixed the crash in DSP LLE JIT on x64 by aligning the stack.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5357 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
1 parent
379c469343
commit
122d5e7b4e
4 files changed
+37
-87
No files matched your search
@@ -113,7 +113,7 @@ void DSPEmitter::Default(UDSPInstruction _inst)
|
||||
const u8 *DSPEmitter::Compile(int start_addr) {
|
||||
AlignCode16();
|
||||
const u8 *entryPoint = GetCodePtr();
|
||||
// ABI_PushAllCalleeSavedRegsAndAdjustStack();
|
||||
ABI_AlignStack(0);
|
||||
|
||||
int addr = start_addr;
|
||||
|
||||
@@ -133,7 +133,7 @@ const u8 *DSPEmitter::Compile(int start_addr) {
|
||||
FixupBranch noExceptionOccurred = J_CC(CC_L);
|
||||
|
||||
// ABI_CallFunction((void *)DSPInterpreter::HandleLoop);
|
||||
// ABI_PopAllCalleeSavedRegsAndAdjustStack();
|
||||
ABI_RestoreStack(0);
|
||||
RET();
|
||||
|
||||
SetJumpTarget(skipCheck);
|
||||
@@ -158,7 +158,7 @@ const u8 *DSPEmitter::Compile(int start_addr) {
|
||||
// These functions branch and therefore only need to be called in the
|
||||
// end of each block and in this order
|
||||
ABI_CallFunction((void *)&DSPInterpreter::HandleLoop);
|
||||
// ABI_PopAllCalleeSavedRegsAndAdjustStack();
|
||||
ABI_RestoreStack(0);
|
||||
RET();
|
||||
|
||||
SetJumpTarget(rLoopAddressExit);
|
||||
@@ -180,7 +180,7 @@ const u8 *DSPEmitter::Compile(int start_addr) {
|
||||
addr += opcode->size;
|
||||
}
|
||||
|
||||
// ABI_PopAllCalleeSavedRegsAndAdjustStack();
|
||||
ABI_RestoreStack(0);
|
||||
RET();
|
||||
|
||||
blocks[start_addr] = (CompiledCode)entryPoint;
|
||||
|
||||
Reference in new issue
Block a user