Browse Source

revert [jit] Increase x86_64 default code size to full 2GiB hugepage (#318)

revert [jit] Increase x86_64 default code size to full 2GiB hugepage (#318)

Abuses the existence of transparent huge pages on Unix. 4*2 = 8GiB virtual memory used total by JIT. May reduce native host TLB trees.

--------------

WIP: Wasn't meant to be merged, it's going to be refined to be added later when more data/ testing have been made about this approach.
Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/318
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
pull/337/head
CamilleLaVey 7 months ago
parent
commit
285503e83c
  1. 2
      src/core/arm/dynarmic/arm_dynarmic_32.cpp
  2. 2
      src/core/arm/dynarmic/arm_dynarmic_64.cpp

2
src/core/arm/dynarmic/arm_dynarmic_32.cpp

@ -215,7 +215,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ArmDynarmic32::MakeJit(Common::PageTable* pa
#ifdef ARCHITECTURE_arm64 #ifdef ARCHITECTURE_arm64
config.code_cache_size = std::uint32_t(128_MiB); config.code_cache_size = std::uint32_t(128_MiB);
#else #else
config.code_cache_size = std::uint32_t(2_GiB);
config.code_cache_size = std::uint32_t(512_MiB);
#endif #endif
// Allow memory fault handling to work // Allow memory fault handling to work

2
src/core/arm/dynarmic/arm_dynarmic_64.cpp

@ -273,7 +273,7 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa
#ifdef ARCHITECTURE_arm64 #ifdef ARCHITECTURE_arm64
config.code_cache_size = std::uint32_t(128_MiB); config.code_cache_size = std::uint32_t(128_MiB);
#else #else
config.code_cache_size = std::uint32_t(2_GiB);
config.code_cache_size = std::uint32_t(512_MiB);
#endif #endif
// Allow memory fault handling to work // Allow memory fault handling to work

Loading…
Cancel
Save