diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index a1d5a22f63..80f7a62e7f 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -1371,7 +1371,6 @@ const auto ppu_stcx_accurate_tx = build_function_asm(cpu_flag::pause)); - c.mov(x86::eax, _XABORT_EXPLICIT); c.jc(fall); c.xbegin(tx0); c.mov(x86::rax, x86::qword_ptr(x86::rbx)); @@ -1453,18 +1452,10 @@ const auto ppu_stcx_accurate_tx = build_function_asm(cpu_flag::pause)); - c.mov(x86::eax, _XABORT_EXPLICIT); c.jc(fall); c.xbegin(tx0); c.mov(x86::rax, x86::qword_ptr(x86::rbx)); @@ -576,18 +575,10 @@ const auto spu_putllc_tx = build_function_asm perf1; + + utils::memory_lock(g_base_addr + addr, size); } bool page_protect(u32 addr, u32 size, u8 flags_test, u8 flags_set, u8 flags_clear) diff --git a/rpcs3/Emu/Memory/vm_reservation.h b/rpcs3/Emu/Memory/vm_reservation.h index 7d313e8d5a..fec751b5c5 100644 --- a/rpcs3/Emu/Memory/vm_reservation.h +++ b/rpcs3/Emu/Memory/vm_reservation.h @@ -160,12 +160,6 @@ namespace vm #endif stamp1 = __rdtsc(); - // Touch memory if transaction failed with status 0 - if (!status) - { - reinterpret_cast*>(sptr)->fetch_add(0); - } - // Stage 2: try to lock reservation first _old = res.fetch_add(1); diff --git a/rpcs3/main.cpp b/rpcs3/main.cpp index 3f9a826208..45cd8bc159 100644 --- a/rpcs3/main.cpp +++ b/rpcs3/main.cpp @@ -292,6 +292,7 @@ int main(int argc, char** argv) #ifdef _WIN32 ULONG64 intro_cycles{}; QueryThreadCycleTime(GetCurrentThread(), &intro_cycles); + verify("SetProcessWorkingSetSize" HERE), SetProcessWorkingSetSize(GetCurrentProcess(), 0x60000000, 0x80000000); // 2GiB #elif defined(RUSAGE_THREAD) struct ::rusage intro_stats{}; ::getrusage(RUSAGE_THREAD, &intro_stats);