diff --git a/src/base/platform/platform-posix.cc b/src/base/platform/platform-posix.cc
index 0fe4aba59a9e80e429ecf76b8e721cc6c63cadfb..b469f6254fad4ce7b2c14aa1476e81d103091e79 100644
--- a/src/base/platform/platform-posix.cc
+++ b/src/base/platform/platform-posix.cc
@@ -270,9 +270,13 @@ void* OS::GetRandomMmapAddr() {
     MutexGuard guard(rng_mutex.Pointer());
     GetPlatformRandomNumberGenerator()->NextBytes(&raw_addr, sizeof(raw_addr));
   }
-#if defined(__APPLE__) && V8_TARGET_ARCH_ARM64
+#if V8_TARGET_ARCH_ARM64
+#if defined(__APPLE__)
   DCHECK_EQ(1 << 14, AllocatePageSize());
-  raw_addr = RoundDown(raw_addr, 1 << 14);
+#endif
+  // Keep the address page-aligned, AArch64 supports 4K, 16K and 64K
+  // configurations.
+  raw_addr = RoundDown(raw_addr, AllocatePageSize());
 #endif
 #if defined(V8_USE_ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
     defined(THREAD_SANITIZER) || defined(LEAK_SANITIZER)