Memory

CatPrint Funct StrCat(). See StrPrintJoin(). MemCmp Funct Compare chunk of memory. MemCpy Funct Copy chunk of memory. Only goes fwd. MemSet Funct Set chunk of U8s to value. MemSetI64 Funct Set chunk of I64s to value. MemSetU16 Funct Set chunk of U16s to value. MemSetU32 Funct Set chunk of U32s to value. MemSetU8 Funct Set chunk of U8s to value.

Memory/Adam Heap

ACAlloc Funct Alloc and set to zero memory in Adam's heap. AMAlloc Funct Alloc memory in Adam's heap. AMAllocIdent Funct Alloc in Adam's heap, ident copy of heap node. AStrNew Funct Alloc copy of string in Adam's heap.

Memory/BlkPool

The word Pag refers to an arbitrilly created MEM_PAG_SIZE unit of heap allocation. TempleOS does not alter the CPU page tables after setting them up at boot in SYS_INIT_PAGE_TABLES, so the CPU hardware page size is rarely important. BlkPoolAdd Funct Add mem to BlkPool. BlkPoolInit Funct Make mem chunk into a BlkPool. CBlkPool Class class CBlkPool MemPagAlloc Funct Alloc pags from BlkPool. Don't link to task. MemPagFree Funct Return non-task pags to BlkPool. Scale2Mem Funct Helps pick DiskCache and RAMDisk sizes. sys_code_bp GlbVar System's BlkPool for code. sys_data_bp GlbVar System's BlkPool for data.

Memory/Cache

CLFlush Funct Flush cache line inst. sys_cache_line_widthGlbVar I64 sys_cache_line_width; //CPU's Cache line width.

Memory/Debugging

Recompile the kernel with _CFG_HEAP_DBG=TRUE if you want more heap debugging. You are on your own. Recompile the kernel with _CFG_HEAP_DBG=TRUE if you want more heap debugging. You are on your own. HeapCtrlWalk Funct Check integrity of HeapCtrl. HeapLog Funct Turn on. Collect data. Call HeapLogAddrRep() or HeapLogSizeRep(). HeapLog Funct Turn on. Collect data. Call HeapLogAddrRep() or HeapLogSizeRep(). HeapLogAddrRep Funct Call HeapLog() first and collect data. HeapLogAddrRep Funct Call HeapLog() first and collect data. HeapLogSizeRep Funct Call HeapLog() first and collect data. HeapLogSizeRep Funct Call HeapLog() first and collect data. HeapRep Funct Report status of task's heap. HeapWalk Funct Check integrity of task's heaps. IsInHeap Funct Check addr if in task's heaps. IsInHeapCtrl Funct Check addr if in HeapCtrl.

Memory/Heap

CAlloc Funct Accepts a CTask or CHeapCtrl. NULL allocs off current task's heap. CAllocAligned Funct Only powers of two alignment. This is awful. Free Funct Free MAlloc()ed memory chunk. MAlloc Funct Alloc memory chunk. MAllocAligned Funct Only powers of two alignment. This is awful. MAllocIdent Funct Accepts a CTask or CHeapCtrl. NULL allocs off current task's heap. MHeapCtrl Funct CHeapCtrl of object. MSize Funct Size of heap object. MSize2 Funct Internal size of heap object. StrNew Funct Accepts a CTask or CHeapCtrl. NULL allocs off current task's heap.

Memory/HeapCtrl

CHeapCtrl Class class CHeapCtrl HeapCtrlDel Funct Free all blks alloced to a HeapCtrl. HeapCtrlInit Funct See HeapLog() for an example. HeapCtrlWalk Funct Check integrity of HeapCtrl. IsInHeapCtrl Funct Check addr if in HeapCtrl.

Memory/Info

MemBIOSRep Funct Report the memory ranges reported by the BIOS at boot. MemPageRep Funct Page Table Report. MemRep Funct Memory usage report. MemRep Funct Memory usage report.

Memory/Page Tables

CDevGlbls Class class CDevGlbls CSysFixedArea Class class CSysFixedArea InvlPg Funct Invalidate page at addr inst. Mem32DevAlloc Funct Alloc 32-bit addr space for device. (Doesn't work.) Not used. Mem32DevFree Funct Free 32-bit device address space. Mem64DevAlloc Funct Alloc 64-bit addr space for device. Mem64DevFree Funct Free 64-bit device address space. MemPageTable Funct Point to page table entry for addr. dev GlbVar CDevGlbls dev; mem_page_size GlbVar _extern MEM_PAGE_SIZE U64 mem_page_size;

Memory/Task

HeapRep Funct Report status of task's heap. HeapWalk Funct Check integrity of task's heaps. IsInHeap Funct Check addr if in task's heaps. TaskMemAlloced Funct Count of bytes alloced to a task, used+unused. TaskMemUsed Funct Count of bytes alloced to a task and in use.