diff options
-rw-r--r-- | AUTHORS | 2 | ||||
-rw-r--r-- | third_party/base/allocator/partition_allocator/page_allocator.h | 7 | ||||
-rw-r--r-- | third_party/base/allocator/partition_allocator/partition_alloc.h | 4 |
3 files changed, 13 insertions, 0 deletions
@@ -39,9 +39,11 @@ Ryan Wiley <wileyrr@gmail.com> Robert Sesek <rsesek@chromium.org> Sam Clegg <sbc@chromium.org> Thomas Sepez <tsepez@chromium.org> +Wang Qing <wangqing-hf@loongson.cn> Collabora Ltd. <*@collabora.co.uk> DocsCorp Pty Ltd. <*@docscorp.com> Foxit Software Inc <*@foxitsoftware.com> Google Inc. <*@google.com> LG Electronics, Inc. <*@lge.com> +Loongson Technology Corporation Limited. <*@loongson.cn> diff --git a/third_party/base/allocator/partition_allocator/page_allocator.h b/third_party/base/allocator/partition_allocator/page_allocator.h index be733634c7..aee2532485 100644 --- a/third_party/base/allocator/partition_allocator/page_allocator.h +++ b/third_party/base/allocator/partition_allocator/page_allocator.h @@ -18,6 +18,8 @@ namespace base { #if defined(OS_WIN) static const size_t kPageAllocationGranularityShift = 16; // 64KB +#elif defined(_MIPS_ARCH_LOONGSON) +static const size_t kPageAllocationGranularityShift = 14; // 16KB #else static const size_t kPageAllocationGranularityShift = 12; // 4KB #endif @@ -30,7 +32,12 @@ static const size_t kPageAllocationGranularityBaseMask = // All Blink-supported systems have 4096 sized system pages and can handle // permissions and commit / decommit at this granularity. +// Loongson have 16384 sized system pages. +#if defined(_MIPS_ARCH_LOONGSON) +static const size_t kSystemPageSize = 16384; +#else static const size_t kSystemPageSize = 4096; +#endif static const size_t kSystemPageOffsetMask = kSystemPageSize - 1; static const size_t kSystemPageBaseMask = ~kSystemPageOffsetMask; diff --git a/third_party/base/allocator/partition_allocator/partition_alloc.h b/third_party/base/allocator/partition_allocator/partition_alloc.h index 5832b9f4be..7e8415c760 100644 --- a/third_party/base/allocator/partition_allocator/partition_alloc.h +++ b/third_party/base/allocator/partition_allocator/partition_alloc.h @@ -95,7 +95,11 @@ static const size_t kBucketShift = (kAllocationGranularity == 8) ? 3 : 2; // system page of the span. For our current max slot span size of 64k and other // constant values, we pack _all_ PartitionAllocGeneric() sizes perfectly up // against the end of a system page. +#if defined(_MIPS_ARCH_LOONGSON) +static const size_t kPartitionPageShift = 16; // 64KB +#else static const size_t kPartitionPageShift = 14; // 16KB +#endif static const size_t kPartitionPageSize = 1 << kPartitionPageShift; static const size_t kPartitionPageOffsetMask = kPartitionPageSize - 1; static const size_t kPartitionPageBaseMask = ~kPartitionPageOffsetMask; |