code wiki / _hdl_build / nx_js_regalloc_probe.nx

nx_js_regalloc_probe.nx

buildroot/runtime/_hdl_build/nx_js_regalloc_probe.nx

4813 B63 linesdepth 8pulls 24 transitivereach 0 importersview sourcekind probetopic js
docsdependenciesstructsconstsfunctions

about

nx_js_regalloc_probe.nx -- validates the register-allocation eligibility DETECTOR (jit_intloop_eligible), step 1 of the sovereign optimizing tier. Compiles each source to bytecode and asks the detector for a verdict (1 eligible / 0 unsafe-op / 2 no-loop / 3 pressure). Confirms it ACCEPTS hot int loops and DECLINES anything with a float/string const, division, call, closure, object, array, or no loop -- i.e. it is decline-safe by construction (the codegen that consumes this only ever sees register-safe int loops). expect_exit: 0 license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_js_vm.nx nx_js_regalloc_probe.nx

imports: nx_js_vm.nx

imported by: nobody (leaf or entry point)

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

main rw check js_regalloc_probe bsl jp_parse_source js_lex js_skip_trivia js_is_space js_lex_one js_is_idstart js_scan_ident js_is_keyword js_emit js_num_starts js_scan_number js_lex_string js_lex_template js_regex_context js_lex_regex js_punct_len jp_parse_program jp_tok_kind jp_pst jp_toks jp_cur jp_pst ↻ jp_err jp_pst ↻ jp_parse_stmt jp_err ↻ jp_error_node jp_is_punct jp_advance jp_new_node jp_pst ↻ jp_parse_block jp_is_kw jp_parse_var_decl jp_parse_return

structs

none

consts

none

functions

8func rw(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 3: vnamecheckmain
9func vname(v: i64) -> i64
called by 1: check calls 1: rw
16func check(src: *u8, expect: i64, tal: *i64) -> i64
called by 1: main calls 3: js_regalloc_proberwvname
28func main(argc: i64, argv: *i64) -> i64
calls 2: rwcheck