Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::ReplicatedHeap Class Reference

#include <repl_heap.h>

Collaboration diagram for Realm::ReplicatedHeap:

Classes

class  Listener
 
struct  ObjectHeader
 

Public Member Functions

 ReplicatedHeap ()
 
 ~ReplicatedHeap ()
 
void init (size_t _chunk_size, size_t _max_chunks)
 
void cleanup ()
 
virtual void * alloc_obj (size_t bytes, size_t alignment)
 
virtual void free_obj (void *ptr)
 
void commit_writes (void *start, size_t bytes)
 
void add_listener (Listener *listener)
 
void remove_listener (Listener *listener)
 

Protected Attributes

Mutex mutex
 
uintptr_t base
 
size_t chunk_size
 
size_t cur_chunks
 
size_t max_chunks
 
size_t cur_bytes
 
size_t peak_bytes
 
std::map< uint64_t, uint64_t > free_by_start
 
std::multimap< uint64_t, uint64_t > free_by_size
 
std::set< Listener * > listeners
 

Constructor & Destructor Documentation

◆ ReplicatedHeap()

Realm::ReplicatedHeap::ReplicatedHeap ( )

◆ ~ReplicatedHeap()

Realm::ReplicatedHeap::~ReplicatedHeap ( )

Member Function Documentation

◆ add_listener()

void Realm::ReplicatedHeap::add_listener ( Listener listener)

◆ alloc_obj()

virtual void * Realm::ReplicatedHeap::alloc_obj ( size_t  bytes,
size_t  alignment 
)
virtual

◆ cleanup()

void Realm::ReplicatedHeap::cleanup ( )

◆ commit_writes()

void Realm::ReplicatedHeap::commit_writes ( void *  start,
size_t  bytes 
)

◆ free_obj()

virtual void Realm::ReplicatedHeap::free_obj ( void *  ptr)
virtual

◆ init()

void Realm::ReplicatedHeap::init ( size_t  _chunk_size,
size_t  _max_chunks 
)

◆ remove_listener()

void Realm::ReplicatedHeap::remove_listener ( Listener listener)

Member Data Documentation

◆ base

uintptr_t Realm::ReplicatedHeap::base
protected

◆ chunk_size

size_t Realm::ReplicatedHeap::chunk_size
protected

◆ cur_bytes

size_t Realm::ReplicatedHeap::cur_bytes
protected

◆ cur_chunks

size_t Realm::ReplicatedHeap::cur_chunks
protected

◆ free_by_size

std::multimap<uint64_t, uint64_t> Realm::ReplicatedHeap::free_by_size
protected

◆ free_by_start

std::map<uint64_t, uint64_t> Realm::ReplicatedHeap::free_by_start
protected

◆ listeners

std::set<Listener *> Realm::ReplicatedHeap::listeners
protected

◆ max_chunks

size_t Realm::ReplicatedHeap::max_chunks
protected

◆ mutex

Mutex Realm::ReplicatedHeap::mutex
protected

◆ peak_bytes

size_t Realm::ReplicatedHeap::peak_bytes
protected

The documentation for this class was generated from the following file: