rendered paste bodyIndex: Source/Core/Core/Src/CoreParameter.cpp===================================================================--- Source/Core/Core/Src/CoreParameter.cpp (revision 5185)+++ Source/Core/Core/Src/CoreParameter.cpp (working copy)@@ -92,7 +92,7 @@ // Since the reason why 64bit OSX fails out is due to casting (u32)(u64) // Since all 64bit applications are above the 32bit memory boundary bJITLoadStoreOff = true;- bJITLoadStorePairedOff = true;+ //bJITLoadStorePairedOff = true; #endif //#elif defined(__linux__) // Similar to OSX, something with LoadStorePaired seems to causeIndex: Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp===================================================================--- Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp (revision 5185)+++ Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp (working copy)@@ -553,7 +553,7 @@ RI.Jit->BSWAP(Size, ECX); } RI.Jit->MOV(32, R(EAX), M(&GPFifo::m_gatherPipeCount));- RI.Jit->MOV(Size, MDisp(EAX, (u32)(u64)GPFifo::m_gatherPipe), R(ECX));+ RI.Jit->MOV(Size, MDisp(RAX, (u64)GPFifo::m_gatherPipe), R(ECX)); RI.Jit->ADD(32, R(EAX), Imm8(Size >> 3)); RI.Jit->MOV(32, M(&GPFifo::m_gatherPipeCount), R(EAX)); RI.Jit->js.fifoBytesThisBlock += Size >> 3;@@ -636,7 +636,7 @@ } RI.Jit->Cleanup(); RI.Jit->SUB(32, M(&CoreTiming::downcount), Imm32(RI.Jit->js.downcountAmount));- RI.Jit->JMP(((JitIL *)jit)->asm_routines.doReJit, true);+ RI.Jit->JMPptr(M(&((JitIL *)jit)->asm_routines.doReJit)); return; } if (isImm(*dest)) {@@ -1179,27 +1179,11 @@ Jit->MOVZX(32, 16, EAX, M(((char *)&GQR(quantreg)) + 2)); Jit->MOVZX(32, 8, EDX, R(AL)); // FIXME: Fix ModR/M encoding to allow [EDX*4+disp32]! (MComplex can do this, no?)-#ifdef _M_IX86- Jit->SHL(32, R(EDX), Imm8(2));-#else- Jit->SHL(32, R(EDX), Imm8(3));-#endif+ Jit->MOV(32, R(ECX), regLocForInst(RI, getOp1(I)));-#ifdef _M_X64-#if _WIN32- Jit->SUB(64, R(RSP), Imm8(0x28));-#else- Jit->SUB(64, R(RSP), Imm8(0x8));-#endif-#endif- Jit->CALLptr(MDisp(EDX, (u32)(u64)(((JitIL *)jit)->asm_routines.pairedLoadQuantized)));-#ifdef _M_X64-#if _WIN32- Jit->ADD(64, R(RSP), Imm8(0x28));-#else- Jit->ADD(64, R(RSP), Imm8(0x8));-#endif-#endif++ Jit->CALLptr(M(&(((JitIL *)jit)->asm_routines.pairedLoadQuantized)));+ Jit->MOVAPD(reg, R(XMM0)); RI.fregs[reg] = I; regNormalRegClear(RI, I);@@ -1251,28 +1235,12 @@ Jit->MOVZX(32, 16, EAX, M(&PowerPC::ppcState.spr[SPR_GQR0 + quantreg])); Jit->MOVZX(32, 8, EDX, R(AL)); // FIXME: Fix ModR/M encoding to allow [EDX*4+disp32]!-#ifdef _M_IX86- Jit->SHL(32, R(EDX), Imm8(2));-#else- Jit->SHL(32, R(EDX), Imm8(3));-#endif+ Jit->MOV(32, R(ECX), regLocForInst(RI, getOp2(I))); Jit->MOVAPD(XMM0, fregLocForInst(RI, getOp1(I)));-#ifdef _M_X64-#if _WIN32- Jit->SUB(64, R(RSP), Imm8(0x28));-#else- Jit->SUB(64, R(RSP), Imm8(0x8));-#endif-#endif- Jit->CALLptr(MDisp(EDX, (u32)(u64)(((JitIL *)jit)->asm_routines.pairedStoreQuantized)));-#ifdef _M_X64-#if _WIN32- Jit->ADD(64, R(RSP), Imm8(0x28));-#else- Jit->ADD(64, R(RSP), Imm8(0x8));-#endif-#endif++ Jit->CALLptr(M(&(((JitIL *)jit)->asm_routines.pairedStoreQuantized)));+ if (RI.IInfo[I - RI.FirstI] & 4) fregClearInst(RI, getOp1(I)); if (RI.IInfo[I - RI.FirstI] & 8)@@ -1548,7 +1516,7 @@ Jit->ABI_CallFunction((void *)&PowerPC::OnIdleIL); Jit->MOV(32, M(&PC), Imm32(ibuild->GetImmValue( getOp2(I) )));- Jit->JMP(((JitIL *)jit)->asm_routines.testExceptions, true);+ Jit->JMPptr(M(&((JitIL *)jit)->asm_routines.testExceptions)); Jit->SetJumpTarget(cont); if (RI.IInfo[I - RI.FirstI] & 4)@@ -1602,7 +1570,7 @@ unsigned InstLoc = ibuild->GetImmValue(getOp1(I)); Jit->ABI_CallFunction((void *)&CoreTiming::Idle); Jit->MOV(32, M(&PC), Imm32(InstLoc));- Jit->JMP(((JitIL *)jit)->asm_routines.testExceptions, true);+ Jit->JMPptr(M(&((JitIL *)jit)->asm_routines.testExceptions)); break; } case SystemCall: {@@ -1610,7 +1578,7 @@ Jit->Cleanup(); Jit->OR(32, M(&PowerPC::ppcState.Exceptions), Imm32(EXCEPTION_SYSCALL)); Jit->MOV(32, M(&PC), Imm32(InstLoc + 4));- Jit->JMP(((JitIL *)jit)->asm_routines.testExceptions, true);+ Jit->JMPptr(M(&((JitIL *)jit)->asm_routines.testExceptions)); break; } case InterpreterBranch: {Index: Source/Core/Core/Src/PowerPC/JitCommon/JitAsmCommon.cpp===================================================================--- Source/Core/Core/Src/PowerPC/JitCommon/JitAsmCommon.cpp (revision 5185)+++ Source/Core/Core/Src/PowerPC/JitCommon/JitAsmCommon.cpp (working copy)@@ -201,7 +201,7 @@ const u8* storePairedU8 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); #ifdef QUANTIZE_OVERFLOW_SAFE@@ -219,7 +219,7 @@ const u8* storePairedS8 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); #ifdef QUANTIZE_OVERFLOW_SAFE @@ -238,7 +238,7 @@ const u8* storePairedU16 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); @@ -264,7 +264,7 @@ const u8* storePairedS16 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); // SHUFPS or UNPCKLPS might be a better choice here. The last one might just be an alias though. PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1));@@ -316,7 +316,7 @@ const u8* storeSingleU8 = AlignCode4(); // Used by MKWii SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); MULSS(XMM0, R(XMM1)); PXOR(XMM1, R(XMM1)); MAXSS(XMM0, R(XMM1));@@ -327,7 +327,7 @@ const u8* storeSingleS8 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); MULSS(XMM0, R(XMM1)); MAXSS(XMM0, M((void *)&m_m128)); MINSS(XMM0, M((void *)&m_127));@@ -337,7 +337,7 @@ const u8* storeSingleU16 = AlignCode4(); // Used by MKWii SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); MULSS(XMM0, R(XMM1)); PXOR(XMM1, R(XMM1)); MAXSS(XMM0, R(XMM1));@@ -348,7 +348,7 @@ const u8* storeSingleS16 = AlignCode4(); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_quantizeTableS));+ MOVSS(XMM1, M((void*)&m_quantizeTableS)); MULSS(XMM0, R(XMM1)); MAXSS(XMM0, M((void *)&m_m32768)); MINSS(XMM0, M((void *)&m_32767));@@ -416,7 +416,7 @@ PUNPCKLWD(XMM0, R(XMM1)); CVTDQ2PS(XMM0, R(XMM0)); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_dequantizeTableS));+ MOVSS(XMM1, M((void*)&m_dequantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); RET();@@ -429,7 +429,7 @@ PSRAD(XMM0, 24); CVTDQ2PS(XMM0, R(XMM0)); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_dequantizeTableS));+ MOVSS(XMM1, M((void*)&m_dequantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); RET();@@ -442,7 +442,7 @@ PUNPCKLWD(XMM0, R(XMM1)); CVTDQ2PS(XMM0, R(XMM0)); SHR(32, R(EAX), Imm8(6));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_dequantizeTableS));+ MOVSS(XMM1, M((void*)&m_dequantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); RET();@@ -456,7 +456,7 @@ CVTDQ2PS(XMM0, R(XMM0)); SHR(32, R(EAX), Imm8(6)); AND(32, R(EAX), Imm32(0xFC));- MOVSS(XMM1, MDisp(EAX, (u32)(u64)m_dequantizeTableS));+ MOVSS(XMM1, M((void*)&m_dequantizeTableS)); PUNPCKLDQ(XMM1, R(XMM1)); MULPS(XMM0, R(XMM1)); RET();Index: Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp===================================================================--- Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp (revision 5185)+++ Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp (working copy)@@ -124,7 +124,8 @@ SUB(64, R(RSP), Imm8(0x8)); #endif #endif- CALLptr(MDisp(EDX, (u32)(u64)asm_routines.singleStoreQuantized));+ CALLptr(M(&asm_routines.singleStoreQuantized));+ //CALLptr(MDisp(RDX, (u64)asm_routines.singleStoreQuantized)); #ifdef _M_X64 #if _WIN32 ADD(64, R(RSP), Imm8(0x28));@@ -142,7 +143,8 @@ SUB(64, R(RSP), Imm8(0x8)); #endif #endif- CALLptr(MDisp(EDX, (u32)(u64)asm_routines.pairedStoreQuantized));+ CALLptr(M(&asm_routines.pairedStoreQuantized));+ // CALLptr(MDisp(RDX, (u32)(u64)asm_routines.pairedStoreQuantized)); #ifdef _M_X64 #if _WIN32 ADD(64, R(RSP), Imm8(0x28));@@ -202,7 +204,8 @@ SUB(64, R(RSP), Imm8(0x8)); #endif #endif- CALLptr(MDisp(EDX, (u32)(u64)asm_routines.pairedLoadQuantized));+ CALLptr(M(&asm_routines.pairedLoadQuantized));+ //CALLptr(MDisp(RDX, (u64)asm_routines.pairedLoadQuantized)); #ifdef _M_X64 #if _WIN32 ADD(64, R(RSP), Imm8(0x28));Index: Source/Core/DolphinWX/Src/FrameTools.cpp===================================================================--- Source/Core/DolphinWX/Src/FrameTools.cpp (revision 5185)+++ Source/Core/DolphinWX/Src/FrameTools.cpp (working copy)@@ -1187,7 +1187,11 @@ break; } - if (m_GameListCtrl) m_GameListCtrl->Update();+ if (m_GameListCtrl) + {+ m_GameListCtrl->Reparent(m_Panel);+ m_GameListCtrl->Update();+ } } // Enable and disable the toolbar