std::core::mem

Submodules

alignmentallocatormempoolrcrefvmvolatile

Public

Types

NameDescription
AtomicOrderingAll possible atomic orderings

Functions

NameDescription
mem::@tclone_slice
mem::new_array
mem::aligned_pointer
mem::@stack_pool
mem::clear_inline
mem::realloc
mem::@masked_load_alignedLoad a vector from memory according to a mask.
mem::masked_storeStore parts of a vector according to the mask, assuming default alignment.
mem::malloc_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::@pool_init
mem::tnew
mem::copy_inlineCopy memory from src to dst efficiently, assuming the memory ranges do not overlap, it...
mem::equalsTest if n elements are equal in a slice, pointed to by a pointer etc.
mem::free_aligned
mem::set_inlineSets all memory in a region to that of the provided byte. Never calls OS memset.
mem::tmalloc
mem::calloc_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::@unaligned_store
mem::type_alloc_must_be_alignedCheck if an allocation must be aligned given the type.
mem::__memcpy
mem::@report_heap_allocs_in_scopeRun the tracking allocator in the scope, then...
mem::moveCopy memory from src to dst but correctly handle the possibility of overlapping ranges.
mem::trealloc
mem::@clone_aligned
mem::new_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::aligned_offset
mem::get_tracking_env
mem::free
mem::talloc_array
mem::new
mem::new_array_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::@atomic_load
mem::setSets all memory in a region to that of the provided byte.
mem::@scopedRun with a specific allocator inside of the macro body.
mem::@clone_slice
mem::@volatile_load
mem::@assert_leakAssert on memory leak in the scope of the macro body.
mem::ptr_is_aligned
mem::compare_exchange_volatile
mem::temp_array
mem::alloc_with_padding
mem::@clone
mem::alloc_array
mem::alloc_array_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::new_with_padding
mem::@masked_store_aligned
mem::os_pagesize
mem::@scatter_aligned
mem::realloc_aligned
mem::temp_popPop the current temp allocator. A pop must always be balanced with a push.
mem::talloc_with_padding
mem::@volatile_store
mem::calloc
mem::zero_volatile
mem::clear
mem::copyCopy memory from src to dst efficiently, assuming the memory ranges do not overlap.
mem::masked_loadLoad a vector from memory according to a mask assuming default alignment.
mem::@poolCreate a new temporary allocator....
mem::@atomic_store
mem::temp_with_padding
mem::gatherLoad values from a pointer vector, assuming default alignment.
mem::@unaligned_load
mem::@stack_memAllocate [size] bytes on the stack to use for allocation,...
mem::ptr_is_page_aligned
mem::talloc
mem::@tclone
mem::__memset
mem::@gather_alignedLoad values from a pointer vector.
mem::__memcmp
mem::compare_exchange
mem::scatter
mem::@unaligned_addrTakes the address of a possibly unaligned variable or member,...
mem::tcalloc
mem::malloc
mem::alloc
mem::alloc_alignedAllocate using an aligned allocation. This is necessary for types with a default memory alignment...
mem::temp_pushPush the current temp allocator. A push must always be balanced with a pop using the current state.

Globals

NameDescription
__heap_base
KB
MB
GB
DEFAULT_MEM_ALIGNMENT
TB
MAX_MEMORY_ALIGNMENT

Private

Functions

NameDescription
mem::initialize_wasm_mem
mem::@constant_is_power_of_2

Globals

NameDescription
wasm_allocator