diff --git a/core/hw/sh4/dyna/driver.cpp b/core/hw/sh4/dyna/driver.cpp index 61d4a486f..183e0203f 100644 --- a/core/hw/sh4/dyna/driver.cpp +++ b/core/hw/sh4/dyna/driver.cpp @@ -16,8 +16,9 @@ #if FEAT_SHREC != DYNAREC_NONE -constexpr u32 CODE_SIZE = 10_MB; -constexpr u32 TEMP_CODE_SIZE = 1_MB; +// Enlarged to reduce cache evictions and block recompilation +constexpr u32 CODE_SIZE = 128_MB; +constexpr u32 TEMP_CODE_SIZE = 4_MB; constexpr u32 FULL_SIZE = CODE_SIZE + TEMP_CODE_SIZE; #if defined(_WIN32) || FEAT_SHREC != DYNAREC_JIT || defined(TARGET_IPHONE) || defined(TARGET_ARM_MAC) diff --git a/core/hw/sh4/dyna_jitless/driver_jitless.cpp b/core/hw/sh4/dyna_jitless/driver_jitless.cpp index c4119f012..00aabb4ad 100644 --- a/core/hw/sh4/dyna_jitless/driver_jitless.cpp +++ b/core/hw/sh4/dyna_jitless/driver_jitless.cpp @@ -31,8 +31,9 @@ extern bool g_exception_was_raised; #if FEAT_SHREC == DYNAREC_JITLESS -constexpr u32 CODE_SIZE = 10_MB; -constexpr u32 TEMP_CODE_SIZE = 1_MB; +// Enlarged code cache for jitless path to avoid frequent clears +constexpr u32 CODE_SIZE = 32_MB; +constexpr u32 TEMP_CODE_SIZE = 2_MB; constexpr u32 FULL_SIZE = CODE_SIZE + TEMP_CODE_SIZE; #if defined(_WIN32) || FEAT_SHREC != DYNAREC_JIT || defined(TARGET_IPHONE) || defined(TARGET_ARM_MAC)