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

Method visit_global_get

winch/codegen/src/visitor.rs:2063–2074  ·  view source on GitHub ↗
(&mut self, global_index: u32)

Source from the content-addressed store, hash-verified

2061 }
2062
2063 fn visit_global_get(&mut self, global_index: u32) -> Self::Output {
2064 let index = GlobalIndex::from_u32(global_index);
2065 let (ty, base, offset) = self.emit_get_global_addr(index)?;
2066 let addr = self.masm.address_at_reg(base, offset)?;
2067 let dst = self.context.reg_for_type(ty, self.masm)?;
2068 self.masm.load(addr, writable!(dst), ty.try_into()?)?;
2069 self.context.stack.push(Val::reg(dst, ty));
2070
2071 self.context.free_reg(base);
2072
2073 Ok(())
2074 }
2075
2076 fn visit_global_set(&mut self, global_index: u32) -> Self::Output {
2077 let index = GlobalIndex::from_u32(global_index);

Callers

nothing calls this directly

Calls 8

OkFunction · 0.85
emit_get_global_addrMethod · 0.80
reg_for_typeMethod · 0.80
free_regMethod · 0.80
address_at_regMethod · 0.45
loadMethod · 0.45
try_intoMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected