template <class Derived, typename MemMapTy>

class ReservedMemory

Defined at line 92 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 95 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 98 of file ../../third_party/scudo/src/mem_map_base.h

void release ()

Release the entire reserved memory.

Defined at line 104 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 111 of file ../../third_party/scudo/src/mem_map_base.h

uptr getBase ()

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

uptr getCapacity ()

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

bool isCreated ()

Defined at line 120 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 124 of file ../../third_party/scudo/src/mem_map_base.h