pub enum Memory {
Alloc,
Free,
Load,
Store,
LoadRange,
StoreRange,
}
Expand description
Operations for memory.
Variants§
Alloc
0x70
: ALOC
Allocate a new block of memory to the end.
Sets new memory to 0.
Returns the index to the start of the new block of memory.
Allocate 0 to get the current length of the memory.
§Stack Input
[size]
§Stack Output
[index]
§Panics
- Max memory size reached.
Free
0x71
Truncate memory to the specified new length, freeing all that follows.
§Stack Input
[new_length]
§Panics
- The new length is negative.
- The new length is greater than the existing length.
Load
0x72
: LOD
Load the value at the given index from memory onto the stack.
§Stack Input
[index]
§Stack Output
[value]
§Panics
- Index is out of bounds.
Store
0x73
: STO
Store the value at the given index within memory.
§Stack Input
[index, value]
§Panics
- Index is out of bounds.
LoadRange
0x74
: LODR
Load a range of words starting at the index within memory.
§Stack Input
[index, len]
§Stack Output
[values]
§Panics
- Index is out of bounds.
- Index + len is out of bounds.
StoreRange
Trait Implementations§
Source§impl Ord for Memory
impl Ord for Memory
Source§impl PartialOrd for Memory
impl PartialOrd for Memory
Source§impl TryFromBytes for Memory
impl TryFromBytes for Memory
impl Copy for Memory
impl Eq for Memory
impl StructuralPartialEq for Memory
Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Send for Memory
impl Sync for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more