From 8deb20e92859a44facf48a213745e3476d9f9c8f Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sat, 13 Apr 2019 22:36:33 +0300 Subject: [PATCH] SPU: write cache before compiling --- rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp | 5 ----- rpcs3/Emu/Cell/SPURecompiler.cpp | 10 +++++----- 2 files changed, 5 insertions(+), 10 deletions(-) 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; }