mac arm64: Use the correct page size for this platform in PartitionAlloc Cherrypick crrev.com/787452. Bug: chromium:1128457 Change-Id: Ia0628eea8cbcd50369f4c6fb5d4dd207a2ef9c5a Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/73633 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/third_party/base/allocator/partition_allocator/page_allocator_constants.h b/third_party/base/allocator/partition_allocator/page_allocator_constants.h index 567e3a3..77c065a 100644 --- a/third_party/base/allocator/partition_allocator/page_allocator_constants.h +++ b/third_party/base/allocator/partition_allocator/page_allocator_constants.h
@@ -15,6 +15,8 @@ static constexpr size_t kPageAllocationGranularityShift = 16; // 64KB #elif defined(_MIPS_ARCH_LOONGSON) static constexpr size_t kPageAllocationGranularityShift = 14; // 16KB +#elif defined(OS_APPLE) && defined(ARCH_CPU_ARM64) +static constexpr size_t kPageAllocationGranularityShift = 14; // 16KB #else static constexpr size_t kPageAllocationGranularityShift = 12; // 4KB #endif @@ -33,6 +35,8 @@ // and binaries compiled for 64KB are likely to work on 4KB systems, // 64KB is a good choice here. static constexpr size_t kSystemPageSize = 65536; +#elif defined(OS_APPLE) && defined(ARCH_CPU_ARM64) +static constexpr size_t kSystemPageSize = 16384; #else static constexpr size_t kSystemPageSize = 4096; #endif
diff --git a/third_party/base/allocator/partition_allocator/partition_alloc_constants.h b/third_party/base/allocator/partition_allocator/partition_alloc_constants.h index 8ebc4f5..ef39b41 100644 --- a/third_party/base/allocator/partition_allocator/partition_alloc_constants.h +++ b/third_party/base/allocator/partition_allocator/partition_alloc_constants.h
@@ -39,6 +39,8 @@ static const size_t kPartitionPageShift = 16; // 64 KiB #elif defined(ARCH_CPU_PPC64) static const size_t kPartitionPageShift = 18; // 256 KiB +#elif defined(OS_APPLE) && defined(ARCH_CPU_ARM64) +static const size_t kPartitionPageShift = 16; // 64 KiB #else static const size_t kPartitionPageShift = 14; // 16 KiB #endif