![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <WasmDSL.hpp>
Public Member Functions | |
virtual | ~Allocator () |
virtual void * | raw_allocate (uint32_t bytes, uint32_t align=1)=0 |
Pre-allocates memory for bytes consecutive bytes with alignment requirement align and returns a raw pointer to the beginning of this memory. | |
virtual Ptr< void > | pre_allocate (uint32_t bytes, uint32_t align=1)=0 |
Pre-allocates memory for bytes consecutive bytes with alignment requirement align and returns a pointer to the beginning of this memory. | |
virtual Var< Ptr< void > > | allocate (U32x1 bytes, uint32_t align=1)=0 |
Allocates memory for bytes consecutive bytes with alignment requirement align and returns a pointer to the beginning of this memory. | |
virtual void | deallocate (Ptr< void > ptr, U32x1 bytes)=0 |
Deallocates the bytes consecutive bytes of allocated memory at address ptr . | |
virtual uint32_t | perform_pre_allocations ()=0 |
Performs the actual pre-allocations. | |
virtual uint32_t | pre_allocated_memory_consumption () const =0 |
Returns the pre-allocated memory overall consumption. | |
virtual U32x1 | allocated_memory_consumption () const =0 |
Returns the allocated memory overall consumption. | |
virtual U32x1 | allocated_memory_peak () const =0 |
Returns the allocated memory peak consumption. | |
Var< Ptr< void > > | allocate (uint32_t bytes, uint32_t align=1) |
void | deallocate (Ptr< void > ptr, uint32_t bytes) |
template<dsl_primitive T> | |
T * | raw_malloc () |
Pre-allocates memory for exactly one value of type. | |
template<dsl_primitive T, std::size_t L = 1> | |
Ptr< PrimitiveExpr< T, L > > | pre_malloc () |
Pre-allocates memory for exactly one value of type. | |
template<dsl_primitive T, std::size_t L = 1> | |
Var< Ptr< PrimitiveExpr< T, L > > > | malloc () |
Allocates memory for exactly one value of type. | |
template<dsl_primitive T> | |
T * | raw_malloc (uint32_t count) |
Pre-allocates memory for an array of count consecutive values of type. | |
template<dsl_primitive T, std::size_t L = 1> | |
Ptr< PrimitiveExpr< T, L > > | pre_malloc (uint32_t count) |
Pre-allocates memory for an array of count consecutive values of type. | |
template<dsl_primitive T, std::size_t L = 1, typename U > requires requires (U &&u) { U32x1(std::forward<U>(u)); } | |
Var< Ptr< PrimitiveExpr< T, L > > > | malloc (U &&count) |
Allocates memory for an array of count consecutive values of type. | |
template<primitive_convertible T> requires requires (T &&t) { primitive_expr_t<T>(std::forward<T>(t)).template to<void*>(); } | |
void | free (T &&ptr) |
Frees exactly one value of type. | |
void | free (T &&ptr, U &&count) |
Data Fields | |
template<primitive_convertible T, typename U > | |
and { primitive_expr_t<T>(std::forward<T>(t)).template to<void*>() | |
Frees count consecutive values of type. | |
Definition at line 6488 of file WasmDSL.hpp.
|
inlinevirtual |
Definition at line 6491 of file WasmDSL.hpp.
|
pure virtual |
Allocates memory for bytes
consecutive bytes with alignment requirement align
and returns a pointer to the beginning of this memory.
Implemented in LinearAllocator.
|
pure virtual |
Returns the allocated memory overall consumption.
Implemented in LinearAllocator.
|
pure virtual |
Returns the allocated memory peak consumption.
Implemented in LinearAllocator.
|
pure virtual |
Deallocates the bytes
consecutive bytes of allocated memory at address ptr
.
Implemented in LinearAllocator.
|
inline |
|
inline |
Frees exactly one value of type.
T | of allocated memory pointed by ptr . |
Definition at line 6577 of file WasmDSL.hpp.
References free().
Referenced by free().
Definition at line 6583 of file WasmDSL.hpp.
References m::wasm::L, and m::T().
|
inline |
Allocates memory for exactly one value of type.
T | and number of SIMD lanes |
L. | Returns a pointer to this memory. |
Definition at line 6532 of file WasmDSL.hpp.
|
inline |
Allocates memory for an array of count
consecutive values of type.
T | and number of SIMD lanes |
L. | Returns a pointer to this memory. |
Definition at line 6553 of file WasmDSL.hpp.
References m::wasm::L, and m::T().
|
pure virtual |
Performs the actual pre-allocations.
Must be called exactly once after the last pre-allocation was requested. Returns the initial allocation address, i.e. an address after the last pre-allocated address.
Implemented in LinearAllocator.
|
pure virtual |
Pre-allocates memory for bytes
consecutive bytes with alignment requirement align
and returns a pointer to the beginning of this memory.
Implemented in LinearAllocator.
|
pure virtual |
Returns the pre-allocated memory overall consumption.
Implemented in LinearAllocator.
|
inline |
Pre-allocates memory for exactly one value of type.
T | and number of SIMD lanes |
L. | Returns a pointer to this memory. |
Definition at line 6528 of file WasmDSL.hpp.
|
inline |
Pre-allocates memory for an array of count
consecutive values of type.
T | and number of SIMD lanes |
L. | Returns a pointer to this memory. |
Definition at line 6541 of file WasmDSL.hpp.
References m::wasm::L, and m::T().
|
pure virtual |
Pre-allocates memory for bytes
consecutive bytes with alignment requirement align
and returns a raw pointer to the beginning of this memory.
Implemented in LinearAllocator.
|
inline |
Pre-allocates memory for exactly one value of type.
T. | Returns a raw pointer to this memory. |
Definition at line 6524 of file WasmDSL.hpp.
References m::T().
|
inline |
Pre-allocates memory for an array of count
consecutive values of type.
T. | Returns a raw pointer to this memory. |
Definition at line 6537 of file WasmDSL.hpp.
References m::T().
m::wasm::Allocator::and { primitive_expr_t<T>(std::forward<T>(t)).template to<void*>() |
Frees count
consecutive values of type.
T | of allocated memory pointed by ptr . |
Definition at line 6581 of file WasmDSL.hpp.