Defines functions for memory allocation, alignment, copying, and comparing.
Porters
All of the "Unchecked" and "Free" functions must be implemented, but they should not be called directly. The Starboard platform wraps them with extra accounting under certain circumstances.
Porters and Application Developers
Nobody should call the "Checked", "Unchecked" or "Free" functions directly because that evades Starboard's memory tracking. In both port implementations and Starboard client application code, you should always call SbMemoryAllocate and SbMemoryDeallocate rather than SbMemoryAllocateUnchecked and SbMemoryFree.
The "checked" functions are SbMemoryAllocateChecked(), SbMemoryReallocateChecked(), and SbMemoryAllocateAlignedChecked().
The "unchecked" functions are SbMemoryAllocateUnchecked(), SbMemoryReallocateUnchecked(), and SbMemoryAllocateAlignedUnchecked().
The "free" functions are SbMemoryFree() and SbMemoryFreeAligned().
Enums
SbMemoryMapFlags
The bitwise OR of these flags should be passed to SbMemoryMap to indicate how the mapped memory can be used.
Values
kSbMemoryMapProtectReserved
No flags set: Reserves virtual address space. SbMemoryProtect() can later make it accessible.
kSbMemoryMapProtectRead
kSbMemoryMapProtectWrite
kSbMemoryMapProtectExec
kSbMemoryMapProtectReadWrite