summaryrefslogtreecommitdiff
path: root/Source/Core/DSPCore
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2010-04-13 10:18:05 +0000
committerskidau <skidau@gmail.com>2010-04-13 10:18:05 +0000
commit122d5e7b4ebd77ab1c802cb91b7587daeb82e241 (patch)
tree20702ca3ab552e23ee63998b6bdcc841945ca13b /Source/Core/DSPCore
parent379c4693436c9a71e4f88e3428e37ef46a7534c2 (diff)
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
Diffstat (limited to 'Source/Core/DSPCore')
-rw-r--r--Source/Core/DSPCore/Src/DSPEmitter.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/DSPCore/Src/DSPEmitter.cpp b/Source/Core/DSPCore/Src/DSPEmitter.cpp
index 9598962285..96722cef6d 100644
--- a/Source/Core/DSPCore/Src/DSPEmitter.cpp
+++ b/Source/Core/DSPCore/Src/DSPEmitter.cpp
@@ -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;