Struct corundum::alloc::heap::Heap [−][src]
pub struct Heap {}
Expand description
A pass-through allocator for volatile memory
Trait Implementations
Prepares allocation without performing it Read more
Prepares deallocation without performing it Read more
Adds a low-level log to update as 64-bit obj
to val
when
perform()
is called. As an example, please see Log::set()
. Read more
Opens a new pool without any root object. This function is for testing and is not useful in real applications as none of the allocated objects in persistent region is durable. The reason is that they are not reachable from a root object as it doesn’t exists. All objects can live only in the scope of a transaction. Read more
Opens a pool and retrieves the root object Read more
Drops a journal
from memory
Runs a closure with a mutable reference to a thread->journal HashMap
Returns a reference to the offset of the first journal
Commits all changes and clears the logs for all threads Read more
Translates raw pointers to memory offsets Read more
Acquires a reference pointer to the object Read more
Acquires a mutable reference to the object Read more
Acquires a reference to the slice Read more
Acquires a mutable reference to the slice Read more
Acquires a mutable reference pointer to the object
Checks if addr
is in the valid address range if this allocator Read more
Allocate memory as described by the given size
. Read more
Deallocate the block of memory at the given ptr
pointer with the
given size
. Read more
In case of not using pre_alloc
or pre_dealloc
, starts a low-level
atomic section on a given zone. Read more
Behaves like alloc
, but also ensures that the contents
are set to zero before being returned. Read more
Allocates new memory and then places x
into it with DropOnFailure
log
Allocates a new slice and then places x
into it with DropOnAbort
log
Allocates new memory and then copies x
into it with DropOnFailure
log
Allocates new memory and then copies x
into it with DropOnFailure
log
Allocates new memory and then places x
into it without realizing the allocation
Allocates new memory and then places x
into it without realizing the allocation
Allocates new memory without copying data
Allocates new memory without copying data
Allocates new memory without copying data and realizing the allocation
Allocates new memory for value x
Creates a DropOnCommit
log for the value x
Frees the allocation for value x
immediately
Commits all changes without clearing the logs Read more
Discards all changes without clearing the logs Read more
fn transaction<T, F: FnOnce(&'static Journal<Self>) -> T>(body: F) -> Result<T> where
F: TxInSafe + UnwindSafe,
T: TxOutSafe,
fn transaction<T, F: FnOnce(&'static Journal<Self>) -> T>(body: F) -> Result<T> where
F: TxInSafe + UnwindSafe,
T: TxOutSafe,
Executes commands atomically with respect to system crashes Read more
Prints memory information