123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_PARTITION_ALLOC_H_
- #define BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_PARTITION_ALLOC_H_
- #include "base/allocator/allocator_shim.h"
- #include "base/allocator/partition_allocator/partition_alloc.h"
- #include "base/base_export.h"
- namespace base {
- namespace internal {
- void PartitionAllocSetCallNewHandlerOnMallocFailure(bool value);
- class BASE_EXPORT PartitionAllocMalloc {
- public:
- static partition_alloc::ThreadSafePartitionRoot* Allocator();
- // May return |nullptr|, will never return the same pointer as |Allocator()|.
- static partition_alloc::ThreadSafePartitionRoot* OriginalAllocator();
- // May return the same pointer as |Allocator()|.
- static partition_alloc::ThreadSafePartitionRoot* AlignedAllocator();
- };
- BASE_EXPORT void* PartitionMalloc(const base::allocator::AllocatorDispatch*,
- size_t size,
- void* context);
- BASE_EXPORT void* PartitionMallocUnchecked(
- const base::allocator::AllocatorDispatch*,
- size_t size,
- void* context);
- BASE_EXPORT void* PartitionCalloc(const base::allocator::AllocatorDispatch*,
- size_t n,
- size_t size,
- void* context);
- BASE_EXPORT void* PartitionMemalign(const base::allocator::AllocatorDispatch*,
- size_t alignment,
- size_t size,
- void* context);
- BASE_EXPORT void* PartitionAlignedAlloc(
- const base::allocator::AllocatorDispatch* dispatch,
- size_t size,
- size_t alignment,
- void* context);
- BASE_EXPORT void* PartitionAlignedRealloc(
- const base::allocator::AllocatorDispatch* dispatch,
- void* address,
- size_t size,
- size_t alignment,
- void* context);
- BASE_EXPORT void* PartitionRealloc(const base::allocator::AllocatorDispatch*,
- void* address,
- size_t size,
- void* context);
- BASE_EXPORT void PartitionFree(const base::allocator::AllocatorDispatch*,
- void* object,
- void* context);
- BASE_EXPORT size_t
- PartitionGetSizeEstimate(const base::allocator::AllocatorDispatch*,
- void* address,
- void* context);
- } // namespace internal
- } // namespace base
- #endif // BASE_ALLOCATOR_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_PARTITION_ALLOC_H_
|