code wiki / _hdl_build / _wasmmap_probe.nx

_wasmmap_probe.nx source

↩ module page · 15 lines · 500 B

1import "nx_syscalls.nx" 2// probe: two wasm sys_mmaps must be DISTINCT and non-clobbering (old chain: both alias 0 -> RED) 3func wm_probe() -> i64 { 4 let a: *u8 = sys_mmap(100) 5 let b: *u8 = sys_mmap(100) 6 if (a as i64) == 0 { return 1 } 7 if (b as i64) == 0 { return 2 } 8 if (a as i64) == (b as i64) { return 3 } 9 a[0] = 65 as u8 10 b[0] = 66 as u8 11 if a[0] != (65 as u8) { return 4 } 12 if b[0] != (66 as u8) { return 5 } 13 return 0 14} 15func main() -> i64 { return wm_probe() }