Struct cranelift_wasm::wasmparser::MemArg
source · pub struct MemArg {
pub align: u8,
pub max_align: u8,
pub offset: u64,
pub memory: u32,
}
Expand description
Represents a memory immediate in a WebAssembly memory instruction.
Fields§
§align: u8
Alignment, stored as n
where the actual alignment is 2^n
max_align: u8
Maximum alignment, stored as n
where the actual alignment is 2^n
.
Note that this field is not actually read from the binary format, it
will be a constant depending on which instruction this MemArg
is a
payload for.
offset: u64
A fixed byte-offset that this memory immediate specifies.
Note that the memory64 proposal can specify a full 64-bit byte offset
while otherwise only 32-bit offsets are allowed. Once validated
memory immediates for 32-bit memories are guaranteed to be at most
u32::MAX
whereas 64-bit memories can use the full 64-bits.
memory: u32
The index of the memory this immediate points to.
Note that this points within the module’s own memory index space, and is always zero unless the multi-memory proposal of WebAssembly is enabled.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemArg
impl RefUnwindSafe for MemArg
impl Send for MemArg
impl Sync for MemArg
impl Unpin for MemArg
impl UnwindSafe for MemArg
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
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more