template <typename AllocatorConfig>

struct PrimaryConfig

Defined at line 56 of file ../../third_party/scudo/src/allocator_config_wrapper.h

Public Methods

bool getMaySupportMemoryTagging ()

TODO: Pass this flag through template argument to remove this hard-coded

function.

Defined at line 59 of file ../../third_party/scudo/src/allocator_config_wrapper.h

bool getQuarantineDisabled ()

Defined at line 63 of file ../../third_party/scudo/src/allocator_config_wrapper.h

removeConst<const uptr>::type getRegionSizeLog ()

PRIMARY_REQUIRED(TYPE, NAME)

Log2 of the size of a size class region, as used by the Primary.

Defined at line 79 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const uptr>::type getGroupSizeLog ()

Conceptually, a region will be divided into groups based on the address

range. Each allocation consumes blocks in the same group until exhaustion

then it pops out blocks in a new group. Therefore, `GroupSizeLog` is always

smaller or equal to `RegionSizeLog`. Note that `GroupSizeLog` needs to be

equal to `RegionSizeLog` for SizeClassAllocator32 because of certain

constraints.

Defined at line 87 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const uptr>::type getMapSizeIncrement ()

Call map for user memory with at least this size. Only used with primary64.

Defined at line 90 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const s32>::type getMinReleaseToOsIntervalMs ()

Defines the minimal

&

maximal release interval that can be set.

Defined at line 93 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const s32>::type getMaxReleaseToOsIntervalMs ()

Defines the minimal

&

maximal release interval that can be set.

Defined at line 94 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const bool>::type getEnableBlockCache ()

Enables/disables primary block caching. Batch class still caches.

Defined at line 100 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const uptr>::type getCompactPtrScale ()

The scale of a compact pointer. E.g., Ptr = Base + (CompactPtr

<

<

Scale).

Defined at line 103 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const bool>::type getEnableRandomOffset ()

Indicates support for offsetting the start of a region by a random number of

pages. This is only used if `EnableContiguousRegions` is enabled.

Defined at line 107 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const s32>::type getDefaultReleaseToOsIntervalMs ()

Indicates support for offsetting the start of a region by a random number of

pages. This is only used if `EnableContiguousRegions` is enabled.

Defined at line 108 of file ../../third_party/scudo/src/allocator_config.def

removeConst<const bool>::type getEnableContiguousRegions ()

When `EnableContiguousRegions` is true, all regions will be be arranged in

adjacency. This will reduce the fragmentation caused by region allocations

but may require a huge amount of contiguous pages at initialization.

Defined at line 113 of file ../../third_party/scudo/src/allocator_config.def

bool hasConditionVariableT ()

PRIMARY_OPTIONAL_TYPE(NAME, DEFAULT)

Use condition variable to shorten the waiting time of refillment of

freelist. Note that this depends on the implementation of condition

variable on each platform and the performance may vary so that it does not

guarantee a performance benefit.

Defined at line 121 of file ../../third_party/scudo/src/allocator_config.def

bool hasCompactPtrT ()

Defines the type and scale of a compact pointer. A compact pointer can

be understood as the offset of a pointer within the region it belongs

to, in increments of a power-of-2 scale. See `CompactPtrScale` also.

Defined at line 126 of file ../../third_party/scudo/src/allocator_config.def

Records