Memory-related utility functions. More...
#include <stdlib.h>
#include "skinkit.h"
#include "kit.h"
#include "mem.h"
#include "mpscmvff.h"
#include "mpsavm.h"
#include "mpsacl.h"
#include "skinmon.h"
#include "mps.h"
#include "mpslib.h"
#include "hqmemcpy.h"
#include "hqmemset.h"
#include "swcopyf.h"
#include "swdevice.h"
Data Structures | |
struct | header_s |
Each block allocated needs to remember its size, so we add a header to keep it in. HEADER_BLOCK and BLOCK_HEADER translate between a pointer to the header and a pointer to the block (what the caller of malloc gets). More... | |
Macros | |
#define | OTHER_MEMORY_IN_BYTES ((size_t)74 * (size_t)1024 * (size_t)1024) |
#define | OTHER_ADDRESS_SPACE_IN_BYTES ((size_t)24 * (size_t)1024 * (size_t)1024) |
Typedefs | |
typedef struct header_s | header_s |
Each block allocated needs to remember its size, so we add a header to keep it in. HEADER_BLOCK and BLOCK_HEADER translate between a pointer to the header and a pointer to the block (what the caller of malloc gets). | |
Functions | |
void | MemLogInit (const char *mps_log, unsigned long mps_telemetry) |
Set up the memory system to log to a file. More... | |
HqBool | MemInit (size_t *RIP_maxAddressSpaceInBytes, size_t *RIP_workingSizeInBytes, void *pMemory, SysMemFns *pSysMemFns) |
Initialise the memory arena and create the memory pool for use in skin. More... | |
void | MemFinish (int32 fError) |
Release the arena of managed memory. More... | |
void * | MemAlloc (size_t cbSize, HqBool fZero, int actionOnFail) |
Allocate a block of memory for use by the skin layer. More... | |
void * | MemRealloc (void *ptr, size_t cbSize) |
Reallocate a block of memory that was allocated by a prior call to MemAlloc(). More... | |
void | MemFree (void *ptr) |
Free a block of memory that was allocated by a prior call to MemAlloc(). More... | |
void * | SysAlloc (size_t cbSize) |
Allocate a block of system memory for use by the skin layer. More... | |
void | SysFree (void *ptr) |
Free a block of memory that was allocated by a prior call to SysAlloc(). More... | |
mps_arena_t | MemGetArena (void) |
Returns the single arena of managed memory that is shared between the core RIP and the skin layer. | |
size_t | GetPeakArenaSize (void) |
Obtain the peak arena size in bytes. More... | |
size_t | GetArenaCommitLimit (void) |
Obtain the commit limit of the arena in bytes. More... | |
Variables | |
static mps_arena_t | mem_arena = ((void*)0) |
The single MPS arena used by both core and skin. | |
static mps_pool_t | skin_pool = ((void*)0) |
The memory pool for use in skin. | |
Memory-related utility functions.
#define OTHER_ADDRESS_SPACE_IN_BYTES ((size_t)24 * (size_t)1024 * (size_t)1024) |
Address space left for other allocations (libraries).
#define OTHER_MEMORY_IN_BYTES ((size_t)74 * (size_t)1024 * (size_t)1024) |
Memory left for other allocations (OS and libraries).