diff --git a/pcsx2/Counters.cpp b/pcsx2/Counters.cpp index 020bab7616..f5437d1daa 100644 --- a/pcsx2/Counters.cpp +++ b/pcsx2/Counters.cpp @@ -336,8 +336,6 @@ static __forceinline void VSyncStart(u32 sCycle) if ((CSRw & 0x8)) { - - if (!(GSIMR&0x800)) { gsIrq(); @@ -412,8 +410,6 @@ __forceinline void rcntUpdate_hScanline() else { //HBLANK END / HRENDER Begin if (CSRw & 0x4) { - - if (!(GSIMR&0x400)) { gsIrq(); @@ -448,7 +444,13 @@ __forceinline void rcntUpdate_vSync() { eeRecIsReset = false; cpuSetBranch(); + + // Hack! GCC is unwilling to let us throw exceptions here. + // (Ones in Exception::*, anyways.) Work around it by skipping + // it. +#ifdef _MSC_VER throw Exception::ForceDispatcherReg(); +#endif } VSyncEnd(vsyncCounter.sCycle); diff --git a/pcsx2/Linux/pcsx2.cbp b/pcsx2/Linux/pcsx2.cbp index 3d6f24b150..7644b5c901 100644 --- a/pcsx2/Linux/pcsx2.cbp +++ b/pcsx2/Linux/pcsx2.cbp @@ -96,7 +96,6 @@ - diff --git a/pcsx2/System/SysThreads.cpp b/pcsx2/System/SysThreads.cpp index 226db482a0..204326fcc8 100644 --- a/pcsx2/System/SysThreads.cpp +++ b/pcsx2/System/SysThreads.cpp @@ -266,7 +266,7 @@ void SysSuspendableThread::StateCheck( bool isCancelable ) // -------------------------------------------------------------------------------------- // EECoreThread *External Thread* Implementations -// (Called form outside the context of this thread) +// (Called from outside the context of this thread) // -------------------------------------------------------------------------------------- SysCoreThread::SysCoreThread() : diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 5b75ebee0d..5d64f48c1f 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -562,17 +562,6 @@ static void __naked DispatcherEvent() } #endif -static void DispatcherRegC() -{ -#ifdef _MSC_VER - __asm jmp DispatcherReg; -#else - __asm__ __volatile__( - "jmp DispatcherReg\n" - ); -#endif -} - static void recExecute() { // Implementation Notes: @@ -611,7 +600,7 @@ static void recExecute() } #else // _MSC_VER - DispatcherRegC(); + DispatcherReg(); #endif } catch( Exception::ForceDispatcherReg& )