![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <WasmDSL.hpp>
Public Member Functions | |
| virtual | ~Allocator () |
| virtual void * | raw_allocate (uint64_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 (uint64_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 (U64x1 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, U64x1 bytes)=0 |
Deallocates the bytes consecutive bytes of allocated memory at address ptr. | |
| virtual uint64_t | perform_pre_allocations ()=0 |
| Performs the actual pre-allocations. | |
| virtual uint64_t | pre_allocated_memory_consumption () const =0 |
| Returns the pre-allocated memory overall consumption. | |
| virtual U64x1 | allocated_memory_consumption () const =0 |
| Returns the allocated memory overall consumption. | |
| virtual U64x1 | allocated_memory_peak () const =0 |
| Returns the allocated memory peak consumption. | |
| Var< Ptr< void > > | allocate (uint64_t bytes, uint32_t align=1) |
| void | deallocate (Ptr< void > ptr, uint64_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 (uint64_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 (uint64_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) { U64x1(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 6489 of file WasmDSL.hpp.
|
inlinevirtual |
Definition at line 6492 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.