From a016728a9e0bc9933ee987e5a2685bac4019da52 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Thu, 16 May 2019 04:12:08 +0300 Subject: [PATCH] SPU LLVM: re-enable stack mirror It was disabled due to other bugs which should be fixed now. --- rpcs3/Emu/Cell/SPURecompiler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index c08ba41b3d..a2feadaaea 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -7735,7 +7735,7 @@ public: m_ir->CreateStore(addr.value, spu_ptr(&spu_thread::pc)); const auto type = m_finfo->chunk->getFunctionType()->getPointerTo()->getPointerTo(); - if (ret && g_cfg.core.spu_block_size == spu_block_size_type::mega) + if (ret && g_cfg.core.spu_block_size >= spu_block_size_type::mega) { // Compare address stored in stack mirror with addr const auto stack0 = eval(zext(sp) + ::offset32(&spu_thread::stack_mirror)); @@ -8107,7 +8107,7 @@ public: return; } - if (g_cfg.core.spu_block_size == spu_block_size_type::mega && m_block_info[m_pos / 4 + 1] && m_entry_info[m_pos / 4 + 1]) + if (g_cfg.core.spu_block_size >= spu_block_size_type::mega && m_block_info[m_pos / 4 + 1] && m_entry_info[m_pos / 4 + 1]) { // Store the return function chunk address at the stack mirror const auto pfunc = add_function(m_pos + 4);