template <class Derived, typename MemMapTy>

class ReservedMemory

Defined at line 107 of file ../../third_party/scudo/src/mem_map_base.h

`ReservedMemory` is a special memory handle which can be viewed as a page

allocator. `ReservedMemory` will reserve a contiguous pages and the later

page request can be fulfilled at the designated address. This is used when

we want to ensure the virtual address of the MemMap will be in a known range.

This is implemented in CRTP, so for each

implementation, it has to implement all of the 'Impl' named functions.

Public Methods

void ReservedMemory<Derived, MemMapTy> ()

Defined at line 110 of file ../../third_party/scudo/src/mem_map_base.h

bool create (uptr Addr, uptr Size, const char * Name, uptr Flags)

Reserve a chunk of memory at a suggested address.

Defined at line 113 of file ../../third_party/scudo/src/mem_map_base.h

void release ()

Release the entire reserved memory.

Defined at line 119 of file ../../third_party/scudo/src/mem_map_base.h

MemMapT dispatch (uptr Addr, uptr Size)

Dispatch a sub-range of reserved memory. Note that any fragmentation of

the reserved pages is managed by each implementation.

Defined at line 126 of file ../../third_party/scudo/src/mem_map_base.h

uptr getBase ()

Defined at line 132 of file ../../third_party/scudo/src/mem_map_base.h

uptr getCapacity ()

Defined at line 133 of file ../../third_party/scudo/src/mem_map_base.h

bool isCreated ()

Defined at line 135 of file ../../third_party/scudo/src/mem_map_base.h

Protected Methods

template <typename R, typename... Args>
R invokeImpl (R (Derived::*)(Args...) MemFn, Args... args)

Defined at line 139 of file ../../third_party/scudo/src/mem_map_base.h