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:
Jake.Stine 2009-02-05 13:25:43 +00:00 committed by Gregory Hainaut
parent f2a71e1598
commit 84a8c58753
3 changed files with 17 additions and 10 deletions

View File

@ -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!

View File

@ -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

View File

@ -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