MCPcopy Create free account
hub / github.com/PLSysSec/wave / wasm2c_marshal_and_writeback_timestamp

Function wasm2c_marshal_and_writeback_timestamp

src/writeback.rs:90–106  ·  view source on GitHub ↗
(
    ctx: &mut VmCtx,
    addr: usize,
    res: RuntimeResult<Timestamp>,
)

Source from the content-addressed store, hash-verified

88#[ensures(ctx_safe(ctx))]
89#[ensures(trace_safe(trace, ctx))]
90pub fn wasm2c_marshal_and_writeback_timestamp(
91 ctx: &mut VmCtx,
92 addr: usize,
93 res: RuntimeResult<Timestamp>,
94) -> u32 {
95 if !ctx.fits_in_lin_mem_usize(addr, 8) {
96 return RuntimeError::Eoverflow.into();
97 }
98 //log::debug!("wasm2c_marshal_and_writeback_timestamp: {:?}", result);
99 match res {
100 Ok(r) => {
101 ctx.write_u64(addr, r.nsec()); // writeback result
102 0
103 }
104 Err(err) => err.into(),
105 }
106}
107
108#[with_ghost_var(trace: &mut Trace)]
109#[requires(ctx_safe(ctx))]

Calls 3

fits_in_lin_mem_usizeMethod · 0.80
write_u64Method · 0.80
nsecMethod · 0.80

Tested by

no test coverage detected