nx_wasm_vm.nx
buildroot/runtime/nx_wasm_vm.nx
about
dependencies 2 imports · 48 importers
diagram shows first 10 each side; +0 more imports, +38 more importers in the complete lists below.
imports: nx_syscalls.nxnx_f32_hw.nx
imported by: nx_ballistics_wasm_vm_gate.nxnx_beach_wasm_residency_gate_t45.nxnx_charlab_wasm_vet.nxnx_chip8_wasm_gate.nxnx_connect_keyx_vm_gate.nxnx_craft_erosion_shot.nxnx_craft_placement_wasm_gate_t316.nxnx_emu_probe_wasm_gate.nxnx_explodelab_wasm_vet.nxnx_faithdiff.nxnx_frame_raw_wasm_gate.nxnx_gassim_wasm_vm_gate.nxnx_imported_body_domain_gate_t342.nxnx_imported_body_factor_gate_t361.nxnx_imported_body_placement_gate_t316.nxnx_imported_body_vm_bounds_20260912.nxnx_imported_body_wasm_gate_t137.nxnx_imported_body_wasm_gate_t262.nxnx_imported_body_wasm_gate_t44.nxnx_imported_body_wasm_gate_t49.nxnx_imported_current_exports_t262.nxnx_kinetics_wasm_vm_gate.nxnx_media_crypt_wasm_gate.nxnx_meshview_vm_probe.nxnx_meshview_wasm_gate.nxnx_mineworld_autotest.nxnx_mineworld_wasm_vet.nxnx_pendulum_wasm_vm_gate.nxnx_physlab_wasm_vet.nxnx_scratch_wasm_gate.nxnx_sext_wasm_kat_gate.nxnx_sha256_wasm_vm_gate.nxnx_simlab_wasm_vm_gate.nxnx_skincube_anim_gate.nxnx_solarsim_wasm_vm_gate.nxnx_v128_gate.nxnx_video_client_live_verify.nxnx_video_client_wasm_vm_gate.nxnx_vmleak_gate.nxnx_vmtest_vm_gate.nxnx_wasm_call_simd_gate_t143.nxnx_wasm_craft_vm_gate.nxnx_wasm_threads_gate.nxnx_wasm_vm_gate.nxnx_wasm_vm_verify.nxnx_wasmfit.nxnx_wat_data_artifact_gate.nxnx_x25519_wasm_vm_gate.nx
structs
| 40 | struct WasmMod |
| 102 | struct WmReader { bytes: *u8, pos: i64, end: i64, error: i64 } |
consts
| 18 | const K_MAGIC_65536: i64 = 65536 |
| 19 | const K_MAGIC_1024: i64 = 1024 |
| 20 | const K_MAGIC_2048: i64 = 2048 |
| 21 | const K_MAGIC_262144: i64 = 262144 |
| 22 | const K_MAGIC_4096: i64 = 4096 |
| 23 | const K_MAGIC_131072: i64 = 131072 |
| 24 | const K_MAGIC_2654435761: i64 = 2654435761 |
| 25 | const K_MAGIC_4000000: i64 = 4000000 |
| 26 | const K_MAGIC_32768: i64 = 32768 |
| 27 | const K_MAGIC_2147483648: i64 = 2147483648 |
| 28 | const K_MAGIC_4294967296: i64 = 4294967296 |
| 29 | const K_MAGIC_4090: i64 = 4090 |
| 30 | const K_MAGIC_65530: i64 = 65530 |
| 31 | const K_MAGIC_262140: i64 = 262140 |
| 32 | const K_MAGIC_999999: i64 = 999999 |
| 99 | const WMP_U32_BYTES: i64 = 5 |
| 100 | const WMP_PAGE_BYTES: i64 = 65536 |
| 101 | const WMP_WASM32_PAGES: i64 = 65536 |
functions
| 72 | func wv_u8(b: *u8, pos: *i64) -> i64 { let p: i64 = pos[0]; pos[0] = p + 1; return b[p] as i64 } |
| 73 | func wv_uleb(b: *u8, pos: *i64) -> i64 |
| 83 | func wv_sleb(b: *u8, pos: *i64) -> i64 |
| 103 | func wmp_u8(r: *WmReader) -> i64 |
| 110 | func wmp_u32(r: *WmReader) -> i64 |
| 122 | func wmp_skip(r: *WmReader, n: i64) -> i64 |
| 127 | func wmp_count(r: *WmReader, minimum_bytes: i64) -> i64 |
| 132 | func wmp_valtype(v: i64) -> i64 |
| 136 | func wmp_limits(r: *WmReader, memory: i64) -> i64 |
| 149 | func wmp_params(b: *u8, start: i64, end: i64, wanted: i64, r: *WmReader) -> i64 |
| 162 | func wmp_scan(mod: *WasmMod, fill: i64) -> i64 |
| 281 | func wmp_array(count: i64) -> *i64 { return sys_mmap((count + 1) * 8) as *i64 } |
| 282 | func wm_parse(mod: *WasmMod) -> i64 |
| 300 | func wm_name_eq(b: *u8, off: i64, len: i64, needle: *u8) -> i64 |
| 307 | func wm_find_export(mod: *WasmMod, needle: *u8) -> i64 |
| 318 | func wm_new(bytes: *u8, len: i64) -> *WasmMod |
| 338 | func wm_memo_get(mod: *WasmMod, key: i64) -> i64 |
| 351 | func wm_memo_put(mod: *WasmMod, key: i64, val: i64) -> i64 |
| 367 | func wm_ld64(m: *u8, a: i64) -> i64 { var v: i64=0; var i: i64=0; while i<8 { v = v | ((m[a+i] as i64) << (i*8)); i=i+1 } return v } |
| 368 | func wm_st64(m: *u8, a: i64, v: i64) -> i64 { var i: i64=0; while i<8 { m[a+i] = ((v >> (i*8)) & 0xFF) as u8; i=i+1 } return 0 } |
| 370 | func wm_ld32(m: *u8, a: i64) -> i64 { var v: i64=0; var i: i64=0; while i<4 { v = v | ((m[a+i] as i64) << (i*8)); i=i+1 } return v } |
| 371 | func wm_st32(m: *u8, a: i64, v: i64) -> i64 { var i: i64=0; while i<4 { m[a+i] = ((v >> (i*8)) & 0xFF) as u8; i=i+1 } return 0 } |
| 374 | func wm_skip_imm(b: *u8, op: i64, pos: *i64) -> i64 |
| 404 | func wm_match_end(b: *u8, startpos: i64) -> i64 |
| 430 | func wm_match_else(b: *u8, startpos: i64) -> i64 |
| 450 | func wm_do_br(mod: *WasmMod, pos: *i64, lbl: i64) -> i64 |
| 459 | func wm_phexf(v: i64, fd: i64) -> i64 |
| 465 | func wm_pn2f(v: i64, fd: i64) -> i64 |
| 475 | func wm_pn2(v: i64) -> i64 { return wm_pn2f(v, 2) } |
| 476 | func wm_phex(v: i64) -> i64 { return wm_phexf(v, 2) } |
| 477 | func wm_trap1(code: i64, op: i64, a: i64, bb: i64, fd: i64) -> i64 |
| 485 | func wm_trap(code: i64, op: i64, a: i64, bb: i64) -> i64 |
| 491 | func wm_call(mod: *WasmMod, fidx: i64, args: *i64, nargs: i64) -> i64 |
| 751 | func wm_run(mod: *WasmMod, name: *u8, a0: i64, a1: i64, a2: i64, a3: i64, a4: i64, na: i64) -> i64 |