diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 2dcb8b79fb..6893b990de 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -2783,7 +2783,6 @@ bool ppu_initialize(const ppu_module& info, bool check_only) if (!jit && !check_only) { ppu_log.success("LLVM: Module exists: %s", obj_name); - continue; } continue; @@ -2829,26 +2828,26 @@ bool ppu_initialize(const ppu_module& info, bool check_only) // Set low priority thread_ctrl::scoped_priority low_prio(-1); - for (u32 i = work_cv++; i < workload.size(); i = work_cv++) + for (u32 i = work_cv++; i < workload.size(); i = work_cv++, g_progr_pdone++) { + if (Emu.IsStopped()) + { + continue; + } + // Keep allocating workload const auto [obj_name, part] = std::as_const(workload)[i]; // Allocate "core" std::lock_guard jlock(g_fxo->get()->sem); - if (!Emu.IsStopped()) - { - ppu_log.warning("LLVM: Compiling module %s%s", cache_path, obj_name); + ppu_log.warning("LLVM: Compiling module %s%s", cache_path, obj_name); - // Use another JIT instance - jit_compiler jit2({}, g_cfg.core.llvm_cpu, 0x1); - ppu_initialize2(jit2, part, cache_path, obj_name); + // Use another JIT instance + jit_compiler jit2({}, g_cfg.core.llvm_cpu, 0x1); + ppu_initialize2(jit2, part, cache_path, obj_name); - ppu_log.success("LLVM: Compiled module %s", obj_name); - } - - g_progr_pdone++; + ppu_log.success("LLVM: Compiled module %s", obj_name); } }); diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 1834ec5c62..a9d4163208 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -457,13 +457,12 @@ void spu_cache::initialize() std::vector> ls(0x10000); // Build functions - for (usz func_i = fnext++; func_i < func_list.size(); func_i = fnext++) + for (usz func_i = fnext++; func_i < func_list.size(); func_i = fnext++, g_progr_pdone++) { const spu_program& func = std::as_const(func_list)[func_i]; if (Emu.IsStopped() || fail_flag) { - g_progr_pdone++; continue; } @@ -489,7 +488,6 @@ void spu_cache::initialize() (inverse_bounds && (hash_start < g_cfg.core.spu_llvm_lower_bound && hash_start > g_cfg.core.spu_llvm_upper_bound))) { spu_log.error("[Debug] Skipped function %s", fmt::base57(hash_start)); - g_progr_pdone++; result++; continue; } @@ -516,8 +514,6 @@ void spu_cache::initialize() // Clear fake LS std::memset(ls.data() + start / 4, 0, 4 * (size0 - 1)); - g_progr_pdone++; - result++; }