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() }