Pseudonym found missing register allocation flushes in our recompiler loads / stores.

This is fixed now.
(Devil May Cry 1 fixed)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3622 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2010-08-08 18:05:16 +00:00
parent 8160056911
commit aa8c007af3
1 changed files with 4 additions and 0 deletions

View File

@ -115,6 +115,7 @@ void recLoad64( u32 bits, bool sign )
if( GPR_IS_CONST1( _Rs_ ) )
{
iFlushCall(FLUSH_EXCEPTION);
_eeOnLoadWrite(_Rt_);
_deleteEEreg(_Rt_, 0);
u32 srcadr = g_cpuConstRegs[_Rs_].UL[0] + _Imm_;
@ -151,6 +152,7 @@ void recLoad32( u32 bits, bool sign )
if( GPR_IS_CONST1( _Rs_ ) )
{
iFlushCall(FLUSH_EXCEPTION);
_eeOnLoadWrite(_Rt_);
_deleteEEreg(_Rt_, 0);
@ -215,6 +217,7 @@ void recStore(u32 sz, bool edxAlreadyAssigned=false)
if( GPR_IS_CONST1( _Rs_ ) )
{
iFlushCall(FLUSH_EXCEPTION);
u32 dstadr = g_cpuConstRegs[_Rs_].UL[0] + _Imm_;
if( sz == 128 ) dstadr &= ~0x0f;
vtlb_DynGenWrite_Const( sz, dstadr );
@ -291,6 +294,7 @@ void recSWL( void )
// NOTE: Code incomplete. I'll fix/finish it soon. --air
if( 0 ) //GPR_IS_CONST1( _Rs_ ) )
{
iFlushCall(FLUSH_EXCEPTION);
_eeOnLoadWrite(_Rt_);
//_deleteEEreg(_Rt_, 0);