(&mut self, global_index: u32)
| 2074 | } |
| 2075 | |
| 2076 | fn visit_global_set(&mut self, global_index: u32) -> Self::Output { |
| 2077 | let index = GlobalIndex::from_u32(global_index); |
| 2078 | let (ty, base, offset) = self.emit_get_global_addr(index)?; |
| 2079 | let addr = self.masm.address_at_reg(base, offset)?; |
| 2080 | |
| 2081 | let typed_reg = self.context.pop_to_reg(self.masm, None)?; |
| 2082 | self.masm |
| 2083 | .store(typed_reg.reg.into(), addr, ty.try_into()?)?; |
| 2084 | self.context.free_reg(typed_reg.reg); |
| 2085 | self.context.free_reg(base); |
| 2086 | |
| 2087 | Ok(()) |
| 2088 | } |
| 2089 | |
| 2090 | fn visit_drop(&mut self) -> Self::Output { |
| 2091 | self.context.drop_last(1, |regalloc, val| match val { |
nothing calls this directly
no test coverage detected