diff --git a/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp b/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp index 21be3d4af0..4a7caa02ef 100644 --- a/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp @@ -844,11 +844,6 @@ bool spu_recompiler::compile(u64 last_reset_count, const std::vector& func) fs::file(m_spurt->get_cache_path() + "spu.log", fs::write + fs::append).write(log); } - if (m_cache && g_cfg.core.spu_cache) - { - m_cache->add(func); - } - return true; } diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 4af8348625..1f62f3e78a 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -785,6 +785,11 @@ spu_recompiler_base::~spu_recompiler_base() void spu_recompiler_base::make_function(const std::vector& data) { + if (m_cache && g_cfg.core.spu_cache) + { + m_cache->add(data); + } + for (u64 reset_count = m_spurt->get_reset_count();;) { if (LIKELY(compile(reset_count, data))) @@ -3538,11 +3543,6 @@ public: fs::file(m_spurt->get_cache_path() + "spu.log", fs::write + fs::append).write(log); } - if (m_cache && g_cfg.core.spu_cache) - { - m_cache->add(func); - } - return true; }