pub struct AddrG32Bne {
pub host_heap_base: XReg,
pub host_heap_bound_addr: XReg,
pub host_heap_bound_offset: u8,
pub wasm_addr: XReg,
pub offset: u8,
}
Expand description
Fields§
§host_heap_base: XReg
The register holding the base address of the linear memory that is being accessed.
host_heap_bound_addr: XReg
The register holding the address of where the heap bound is located in host memory.
host_heap_bound_offset: u8
The static offset from self.host_heap_bound_addr
that the bound is
located at.
wasm_addr: XReg
The register holding a 32-bit WebAssembly address into linear memory.
This is zero-extended on 64-bit platforms when performing the bounds check.
offset: u8
A static byte offset from host_heap_base
that is added to wasm_addr
when computing the bounds check.
Note that this is an 8-bit immediate instead of a 16-bit immediate
unlike AddrG32
. That’s just to pack this structure into a 32-bit
value for now but otherwise should be reasonable to extend to a larger
width in the future if necessary.
Implementations§
Source§impl AddrG32Bne
impl AddrG32Bne
Sourcepub fn from_bits(bits: u32) -> AddrG32Bne
pub fn from_bits(bits: u32) -> AddrG32Bne
Decodes AddrG32Bne
from the 32-bit immediate provided.
Trait Implementations§
Source§impl Clone for AddrG32Bne
impl Clone for AddrG32Bne
Source§fn clone(&self) -> AddrG32Bne
fn clone(&self) -> AddrG32Bne
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more