mirror of https://github.com/PCSX2/pcsx2.git
Brings Linux side into sync with the EE/IOP block manager enhancement. :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@703 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
f2a71e1598
commit
84a8c58753
|
@ -32,7 +32,7 @@ struct BASEBLOCK
|
|||
u32 uType : 4;
|
||||
u32 startpc;
|
||||
|
||||
uptr GetFnptr() const { return ((u32)m_pFnptr)<<4; }
|
||||
const uptr GetFnptr() const { return ((u32)m_pFnptr)<<4; }
|
||||
void SetFnptr( uptr ptr )
|
||||
{
|
||||
// 16 byte alignments only, please!
|
||||
|
|
|
@ -312,7 +312,8 @@ psxDispatcherClear:
|
|||
psxDispatcherClear_CallFn:
|
||||
#endif
|
||||
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
jmp %eax
|
||||
|
||||
psxDispatcherClear_Recompile:
|
||||
|
@ -325,7 +326,8 @@ psxDispatcherClear_Recompile:
|
|||
|
||||
pop %ecx // old fnptr
|
||||
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
mov byte ptr [%ecx], 0xe9 // jmp32
|
||||
mov %edx, %eax
|
||||
sub %edx, %ecx
|
||||
|
@ -355,7 +357,6 @@ psxDispatcherReg:
|
|||
|
||||
// check if startpc == psxRegs.pc
|
||||
mov %eax, %ecx
|
||||
//and %eax, 0x5fffffff // remove higher bits
|
||||
cmp %eax, dword ptr [%edx+BLOCKTYPE_STARTPC]
|
||||
jne psxDispatcherReg_recomp
|
||||
|
||||
|
@ -368,7 +369,8 @@ psxDispatcherReg:
|
|||
int 10
|
||||
psxDispatcherReg_CallFn2:
|
||||
#endif
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
jmp %eax // fnptr
|
||||
|
||||
psxDispatcherReg_recomp:
|
||||
|
@ -380,7 +382,8 @@ psxDispatcherReg_recomp:
|
|||
add %esp, 8
|
||||
|
||||
mov %eax, dword ptr [%edx]
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
jmp %eax // fnptr
|
||||
|
||||
#endif
|
||||
|
|
|
@ -60,7 +60,8 @@ Dispatcher_CheckPtr:
|
|||
|
||||
Dispatcher_CallFn:
|
||||
#endif
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
pop %ecx // x86Ptr to mod
|
||||
mov %edx, %eax
|
||||
sub %edx, %ecx
|
||||
|
@ -103,7 +104,8 @@ DispatcherClear:
|
|||
DispatcherClear_CallFn:
|
||||
#endif
|
||||
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
jmp %eax
|
||||
|
||||
DispatcherClear_Recompile:
|
||||
|
@ -116,7 +118,8 @@ DispatcherClear_Recompile:
|
|||
|
||||
pop %ecx // old fnptr
|
||||
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
mov byte ptr [%ecx], 0xe9 // jmp32
|
||||
mov %edx, %eax
|
||||
sub %edx, %ecx
|
||||
|
@ -164,7 +167,8 @@ DispatcherReg_CheckPtr:
|
|||
|
||||
DispatcherReg_CallFn:
|
||||
#endif
|
||||
and %eax, 0x0fffffff
|
||||
//and %eax, 0x0fffffff
|
||||
shl %eax, 4
|
||||
jmp %eax
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue