MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / load_impl

Method load_impl

winch/codegen/src/isa/x64/masm.rs:3365–3380  ·  view source on GitHub ↗

A common implementation for zero-extend stack loads.

(
        &mut self,
        src: Address,
        dst: WritableReg,
        size: OperandSize,
        flags: MemFlagsData,
    )

Source from the content-addressed store, hash-verified

3363
3364 /// A common implementation for zero-extend stack loads.
3365 fn load_impl(
3366 &mut self,
3367 src: Address,
3368 dst: WritableReg,
3369 size: OperandSize,
3370 flags: MemFlagsData,
3371 ) -> Result<()> {
3372 if dst.to_reg().is_int() {
3373 let ext = size.extend_to::<Zero>(OperandSize::S64);
3374 self.asm.movzx_mr(&src, dst, ext, flags);
3375 } else {
3376 self.asm.xmm_mov_mr(&src, dst, size, flags);
3377 }
3378
3379 Ok(())
3380 }
3381
3382 /// A common implementation for stack stores.
3383 fn store_impl(

Callers 2

loadMethod · 0.80
wasm_loadMethod · 0.80

Calls 5

OkFunction · 0.85
to_regMethod · 0.80
movzx_mrMethod · 0.80
xmm_mov_mrMethod · 0.80
is_intMethod · 0.45

Tested by

no test coverage detected