mirror of https://github.com/PCSX2/pcsx2.git
Commit the patch from r149.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@704 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
84a8c58753
commit
b3dc39e777
|
@ -115,7 +115,8 @@ psxDispatcher_CheckPtr:
|
||||||
psxDispatcher_CallFn:
|
psxDispatcher_CallFn:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
and REG_BLOCK, 0x0fffffff
|
//and REG_BLOCK, 0x0fffffff
|
||||||
|
shl REG_BLOCK, 4
|
||||||
mov %rdx, REG_BLOCK
|
mov %rdx, REG_BLOCK
|
||||||
pop %rcx // x86Ptr to mod
|
pop %rcx // x86Ptr to mod
|
||||||
sub %rdx, %rcx
|
sub %rdx, %rcx
|
||||||
|
@ -161,7 +162,8 @@ psxDispatcherClear:
|
||||||
psxDispatcherClear_CallFn:
|
psxDispatcherClear_CallFn:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
and %rax, 0x0fffffff
|
//and %rax, 0x0fffffff
|
||||||
|
shl %rax, 4
|
||||||
jmp %rax
|
jmp %rax
|
||||||
|
|
||||||
psxDispatcherClear_Recompile:
|
psxDispatcherClear_Recompile:
|
||||||
|
@ -169,7 +171,8 @@ psxDispatcherClear_Recompile:
|
||||||
mov %eax, dword ptr [REG_BLOCK]
|
mov %eax, dword ptr [REG_BLOCK]
|
||||||
|
|
||||||
// r15 holds the prev x86 pointer
|
// r15 holds the prev x86 pointer
|
||||||
and %rax, 0x0fffffff
|
//and %rax, 0x0fffffff
|
||||||
|
shl %rax, 4
|
||||||
mov byte ptr [%r15], 0xe9 // jmp32
|
mov byte ptr [%r15], 0xe9 // jmp32
|
||||||
mov %rdx, %rax
|
mov %rdx, %rax
|
||||||
sub %rdx, %r15
|
sub %rdx, %r15
|
||||||
|
@ -214,7 +217,8 @@ psxDispatcherReg_recomp:
|
||||||
call psxRecRecompile
|
call psxRecRecompile
|
||||||
|
|
||||||
mov %eax, dword ptr [REG_BLOCK]
|
mov %eax, dword ptr [REG_BLOCK]
|
||||||
and %rax, 0x0fffffff
|
//and %rax, 0x0fffffff
|
||||||
|
shl, REG_BLOCK, 4
|
||||||
jmp %rax // fnprt
|
jmp %rax // fnprt
|
||||||
|
|
||||||
#else // not x86-64
|
#else // not x86-64
|
||||||
|
@ -266,7 +270,8 @@ psxDispatcher_CheckPtr:
|
||||||
psxDispatcher_CallFn:
|
psxDispatcher_CallFn:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
and REG_BLOCK, 0x0fffffff
|
//and REG_BLOCK, 0x0fffffff
|
||||||
|
shl REG_BLOCK, 4
|
||||||
mov %edx, REG_BLOCK
|
mov %edx, REG_BLOCK
|
||||||
pop %ecx // x86Ptr to mod
|
pop %ecx // x86Ptr to mod
|
||||||
sub %edx, %ecx
|
sub %edx, %ecx
|
||||||
|
@ -327,7 +332,7 @@ psxDispatcherClear_Recompile:
|
||||||
pop %ecx // old fnptr
|
pop %ecx // old fnptr
|
||||||
|
|
||||||
//and %eax, 0x0fffffff
|
//and %eax, 0x0fffffff
|
||||||
shl %eax, 4
|
shl %eax, 4
|
||||||
mov byte ptr [%ecx], 0xe9 // jmp32
|
mov byte ptr [%ecx], 0xe9 // jmp32
|
||||||
mov %edx, %eax
|
mov %edx, %eax
|
||||||
sub %edx, %ecx
|
sub %edx, %ecx
|
||||||
|
@ -370,7 +375,7 @@ psxDispatcherReg:
|
||||||
psxDispatcherReg_CallFn2:
|
psxDispatcherReg_CallFn2:
|
||||||
#endif
|
#endif
|
||||||
//and %eax, 0x0fffffff
|
//and %eax, 0x0fffffff
|
||||||
shl %eax, 4
|
shl %eax, 4
|
||||||
jmp %eax // fnptr
|
jmp %eax // fnptr
|
||||||
|
|
||||||
psxDispatcherReg_recomp:
|
psxDispatcherReg_recomp:
|
||||||
|
@ -383,7 +388,7 @@ psxDispatcherReg_recomp:
|
||||||
|
|
||||||
mov %eax, dword ptr [%edx]
|
mov %eax, dword ptr [%edx]
|
||||||
//and %eax, 0x0fffffff
|
//and %eax, 0x0fffffff
|
||||||
shl %eax, 4
|
shl %eax, 4
|
||||||
jmp %eax // fnptr
|
jmp %eax // fnptr
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue