code wiki / (root) / nx_body_pointer_abi_gate_t345.nx

nx_body_pointer_abi_gate_t345.nx

buildroot/runtime/nx_body_pointer_abi_gate_t345.nx

411 B2 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tooltopic body
docsdependenciesstructsconstsfunctions

dependencies 1 imports · 0 importers

nx_gate_verdict.nx nx_body_pointer_abi_gate_t345.

imports: nx_gate_verdict.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ gv_check gv_puts ↻ gv_verdict gv_note_bare_rate gv_bare_rate gv_at gv_obj_has_n gv_at ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap gv_puts ↻ gv_num ↻ gv_journal sys_openat_append sys_mmap ↻ gv_catn sys_mmap ↻

structs

none

consts

none

functions

2func main()->i64{let c:*i64=gv_ctr();gv_head("BODY-POINTER-ABI");let a:*i64=sys_mmap(24) as *i64;let p:*i64=a+1;let q:*i64=((a as i64)+8) as *i64;a[0]=11;a[1]=22;gv_check("pointer addition is byte-address arithmetic",(p as i64)-(a as i64)==1,c);gv_check("explicit i64 word offset reads second word",q[0]==22,c);return gv_verdict("BODY-POINTER-ABI",c,"native pointer contract only")}