Bug 1091515 - Don't set 64KB page size on aarch64. r?glandium draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Tue, 05 Apr 2016 18:54:42 +0900
changeset 347585 ec33b797dc9ca316e7c4add423ea406a18f5c02e
parent 347582 d9f50aa0a1aaf90499b85c31e0f329b762e80fdd
child 517659 b895904e0926ace29f178696125c5adf5d4b803a
push id14611
push userm_kato@ga2.so-net.ne.jp
push dateTue, 05 Apr 2016 09:56:02 +0000
reviewersglandium
bugs1091515
milestone48.0a1
Bug 1091515 - Don't set 64KB page size on aarch64. r?glandium Linux/aarch64 supports vairous page size configuration. (From https://www.kernel.org/doc/Documentation/arm64/memory.txt) - 4KB + 3 levels - 4KB + 4 levels - 64KB + 2 leves So we shouldn't set fixed 64KB page size on aarch64. MozReview-Commit-ID: 8IdwBMUW4me
memory/mozjemalloc/jemalloc.c
--- a/memory/mozjemalloc/jemalloc.c
+++ b/memory/mozjemalloc/jemalloc.c
@@ -1085,31 +1085,31 @@ static const bool config_recycle = true;
 static const bool config_recycle = false;
 #endif
 
 /*
  * When MALLOC_STATIC_SIZES is defined most of the parameters
  * controlling the malloc behavior are defined as compile-time constants
  * for best performance and cannot be altered at runtime.
  */
-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
 #define MALLOC_STATIC_SIZES 1
 #endif
 
 #ifdef MALLOC_STATIC_SIZES
 
 /*
  * VM page size. It must divide the runtime CPU page size or the code
  * will abort.
  * Platform specific page size conditions copied from js/public/HeapAPI.h
  */
 #if (defined(SOLARIS) || defined(__FreeBSD__)) && \
     (defined(__sparc) || defined(__sparcv9) || defined(__ia64))
 #define pagesize_2pow			((size_t) 13)
-#elif defined(__powerpc64__) || defined(__aarch64__)
+#elif defined(__powerpc64__)
 #define pagesize_2pow			((size_t) 16)
 #else
 #define pagesize_2pow			((size_t) 12)
 #endif
 #define pagesize			((size_t) 1 << pagesize_2pow)
 #define pagesize_mask			(pagesize - 1)
 
 /* Various quantum-related settings. */