Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
GeneralMemoryAllocator Class Reference

#include <GeneralMemoryAllocator.h>

Collaboration diagram for GeneralMemoryAllocator:
Collaboration graph

Public Member Functions

 GeneralMemoryAllocator ()
 
void * alloc (uint32_t requiredSize, uint32_t *getAllocatedSize=NULL, bool mayDeleteFirstUndoAction=false, bool mayUseOnChipRam=false, bool makeStealable=false, void *thingNotToStealFrom=NULL, bool getBiggestAllocationPossible=false)
 
void dealloc (void *address)
 
uint32_t shortenRight (void *address, uint32_t newSize)
 
uint32_t shortenLeft (void *address, uint32_t amountToShorten, uint32_t numBytesToMoveRightIfSuccessful=0)
 
void extend (void *address, uint32_t minAmountToExtend, uint32_t idealAmountToExtend, uint32_t *getAmountExtendedLeft, uint32_t *getAmountExtendedRight, void *thingNotToStealFrom=NULL)
 
uint32_t extendRightAsMuchAsEasilyPossible (void *address)
 
void test ()
 
uint32_t getAllocatedSize (void *address)
 
void checkStack (char const *caller)
 
void testShorten (int i)
 
int getRegion (void *address)
 
void testMemoryDeallocated (void *address)
 
void putStealableInQueue (Stealable *stealable, int q)
 
void putStealableInAppropriateQueue (Stealable *stealable)
 

Public Attributes

MemoryRegion regions [NUM_MEMORY_REGIONS]
 
bool lock
 

Constructor & Destructor Documentation

◆ GeneralMemoryAllocator()

GeneralMemoryAllocator::GeneralMemoryAllocator ( )

Member Function Documentation

◆ alloc()

void * GeneralMemoryAllocator::alloc ( uint32_t  requiredSize,
uint32_t *  getAllocatedSize = NULL,
bool  mayDeleteFirstUndoAction = false,
bool  mayUseOnChipRam = false,
bool  makeStealable = false,
void *  thingNotToStealFrom = NULL,
bool  getBiggestAllocationPossible = false 
)

◆ checkStack()

void GeneralMemoryAllocator::checkStack ( char const *  caller)

◆ dealloc()

void GeneralMemoryAllocator::dealloc ( void *  address)

◆ extend()

void GeneralMemoryAllocator::extend ( void *  address,
uint32_t  minAmountToExtend,
uint32_t  idealAmountToExtend,
uint32_t *  getAmountExtendedLeft,
uint32_t *  getAmountExtendedRight,
void *  thingNotToStealFrom = NULL 
)

◆ extendRightAsMuchAsEasilyPossible()

uint32_t GeneralMemoryAllocator::extendRightAsMuchAsEasilyPossible ( void *  address)

◆ getAllocatedSize()

uint32_t GeneralMemoryAllocator::getAllocatedSize ( void *  address)

◆ getRegion()

int GeneralMemoryAllocator::getRegion ( void *  address)

◆ putStealableInAppropriateQueue()

void GeneralMemoryAllocator::putStealableInAppropriateQueue ( Stealable stealable)

◆ putStealableInQueue()

void GeneralMemoryAllocator::putStealableInQueue ( Stealable stealable,
int  q 
)

◆ shortenLeft()

uint32_t GeneralMemoryAllocator::shortenLeft ( void *  address,
uint32_t  amountToShorten,
uint32_t  numBytesToMoveRightIfSuccessful = 0 
)

◆ shortenRight()

uint32_t GeneralMemoryAllocator::shortenRight ( void *  address,
uint32_t  newSize 
)

◆ test()

void GeneralMemoryAllocator::test ( )

◆ testMemoryDeallocated()

void GeneralMemoryAllocator::testMemoryDeallocated ( void *  address)

◆ testShorten()

void GeneralMemoryAllocator::testShorten ( int  i)

Member Data Documentation

◆ lock

bool GeneralMemoryAllocator::lock

◆ regions

MemoryRegion GeneralMemoryAllocator::regions[NUM_MEMORY_REGIONS]

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