diff --git a/rpcs3/util/vm_native.cpp b/rpcs3/util/vm_native.cpp index ed1e0060c9..f1083b927c 100644 --- a/rpcs3/util/vm_native.cpp +++ b/rpcs3/util/vm_native.cpp @@ -342,16 +342,7 @@ namespace utils ensure(::VirtualFree(pointer, size, MEM_DECOMMIT)); #else const u64 ptr64 = reinterpret_cast(pointer); -#if defined(__APPLE__) && defined(ARCH_ARM64) - // Hack: on macOS, Apple explicitly fails mmap if you combine MAP_FIXED and MAP_JIT. - // So we unmap the space and just hope it maps to the same address we got before instead. - // The Xcode manpage says the pointer is a hint and the OS will try to map at the hint location - // so this isn't completely undefined behavior. - ensure(::munmap(pointer, size) != -1); - ensure(::mmap(pointer, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | MAP_JIT, -1, 0) == pointer); -#else ensure(::mmap(pointer, size, PROT_NONE, MAP_FIXED | MAP_ANON | MAP_PRIVATE | c_map_noreserve, -1, 0) != reinterpret_cast(uptr{umax})); -#endif if constexpr (c_madv_no_dump != 0) { @@ -376,12 +367,7 @@ namespace utils memory_commit(pointer, size, prot); #else const u64 ptr64 = reinterpret_cast(pointer); -#if defined(__APPLE__) && defined(ARCH_ARM64) - ensure(::munmap(pointer, size) != -1); - ensure(::mmap(pointer, size, +prot, MAP_ANON | MAP_PRIVATE | MAP_JIT, -1, 0) == pointer); -#else ensure(::mmap(pointer, size, +prot, MAP_FIXED | MAP_ANON | MAP_PRIVATE, -1, 0) != reinterpret_cast(uptr{umax})); -#endif if constexpr (c_madv_hugepage != 0) {