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

Method call4

pulley/src/interp.rs:1393–1414  ·  view source on GitHub ↗
(
        &mut self,
        arg1: XReg,
        arg2: XReg,
        arg3: XReg,
        arg4: XReg,
        offset: PcRelOffset,
    )

Source from the content-addressed store, hash-verified

1391 }
1392
1393 fn call4(
1394 &mut self,
1395 arg1: XReg,
1396 arg2: XReg,
1397 arg3: XReg,
1398 arg4: XReg,
1399 offset: PcRelOffset,
1400 ) -> ControlFlow<Done> {
1401 let return_addr = self.pc.as_ptr();
1402 self.state.lr = return_addr.as_ptr();
1403 let (x0, x1, x2, x3) = (
1404 self.state[arg1],
1405 self.state[arg2],
1406 self.state[arg3],
1407 self.state[arg4],
1408 );
1409 self.state[XReg::x0] = x0;
1410 self.state[XReg::x1] = x1;
1411 self.state[XReg::x2] = x2;
1412 self.state[XReg::x3] = x3;
1413 self.pc_rel_jump::<crate::Call4>(offset)
1414 }
1415
1416 fn call_indirect(&mut self, dst: XReg) -> ControlFlow<Done> {
1417 let return_addr = self.pc.as_ptr();

Callers

nothing calls this directly

Calls 1

as_ptrMethod · 0.45

Tested by

no test coverage detected