nx_js_eval.nx
buildroot/runtime/nx_js_eval.nx
about
dependencies 11 imports · 57 importers
diagram shows first 10 each side; +1 more imports, +47 more importers in the complete lists below.
imports: nx_js_parse.nxnx_itoa_lib.nxnx_dom_query.nxnx_html_tokenizer.nxnx_html_entities.nxnx_js_f64.nxnx_f64_sqrt.nx_pe_f64pow.nxnx_domtree.nxnx_json.nxnx_rxfull.nx
imported by: nishi.nxnx_browser.nxnx_browser_js_census.nxnx_bulk_index.nxnx_dcl_test.nxnx_ext_test.nxnx_fn7_test.nxnx_fn7b_test.nxnx_gcscope_test.nxnx_js_bom_gate.nxnx_js_bundle_probe.nxnx_js_conformance.nxnx_js_dom_demo.nxnx_js_es_census.nxnx_js_event_loop_gate.nxnx_js_extends_gate.nxnx_js_fetch_gate.nxnx_js_fuel_gate.nxnx_js_headless_render.nxnx_js_headless_render_gate.nxnx_js_hydrate_index_gate.nxnx_js_pending_fetch_gate.nxnx_js_promise_gate.nxnx_js_regex_gate.nxnx_js_render_emit.nxnx_js_render_gate.nxnx_js_run_demo.nxnx_js_speed_bench.nxnx_js_spread_gate.nxnx_js_this_test.nxnx_js_unicode_probe.nxnx_js_vm.nxnx_js_vm_bench.nxnx_js_xhr_gate.nxnx_js_ytsig_gate.nxnx_jsfuel_probe.nxnx_media_jsexec.nxnx_media_jsexec_gate.nxnx_media_multiround_gate.nxnx_multiround_test.nxnx_obj_test.nxnx_parse_probe.nxnx_scope_test.nxnx_sort_test.nxnx_surrogate_diag.nxnx_surrogate_satisfy_gate.nxnx_ui_exec_gate.nxnx_ui_exec_intent_gate.nxnx_umd_test.nxnx_video_sniff.nxnx_video_sniff_api_gate.nxnx_video_sniff_gate.nxnx_video_sniff_guard_gate.nxnx_video_sniff_page_gate.nxnx_video_sniff_wire_gate.nxnx_web_crawl_step.nxnx_yt_nsolve.nx
structs
| none |
consts
| 164 | const EV_ARENA_CHUNK: i64 = 1048576 // 256 chunks = 1 GiB ceiling at the raised fuel |
| 188 | const VAL_UNDEF: i64 = 0 |
| 189 | const VAL_NULL: i64 = 1 |
| 190 | const VAL_BOOL: i64 = 2 |
| 191 | const VAL_NUM: i64 = 3 |
| 192 | const VAL_STR: i64 = 4 |
| 193 | const VAL_FUNC: i64 = 5 |
| 194 | const VAL_OBJECT: i64 = 6 // payload = ptr(as i64) to an object record (property table) |
| 195 | const VAL_ARRAY: i64 = 7 // payload = ptr(as i64) to an array record (length + cells) |
| 197 | const VAL_NATIVE: i64 = 8 // payload = a builtin id (BI_*). A native function value. |
| 198 | const VAL_GLOBALNS: i64 = 9 // payload = a namespace id (NS_*). The Math/Object/console/JSON globals. |
| 199 | const VAL_FLOAT: i64 = 10 // payload = an f64 BIT-PATTERN (software-IEEE). A JS Number with a fraction. |
| 200 | const VAL_REGEX: i64 = 15 // payload = ptr to a regex record [*Regex(nx_rxfull), patptr, patlen, flagbits] (moved up: read before its old decl) |
| 201 | const VAL_PROMISE: i64 = 11 // payload = ptr(as i64) to a promise record (moved up: forward-const fix) |
| 202 | const VAL_RESOLVE: i64 = 12 // internal handler value: promise ptr to FULFILL (moved up: forward-const fix) |
| 203 | const VAL_REJECT: i64 = 13 // internal handler value: promise ptr to REJECT (moved up: forward-const fix) |
| 204 | const VAL_RESPONSE: i64 = 14 // fetch Response record tag (moved up: forward-const fix) |
| 207 | const NS_MATH: i64 = 1 |
| 208 | const NS_OBJECT: i64 = 2 |
| 209 | const NS_CONSOLE: i64 = 3 |
| 210 | const NS_JSON: i64 = 4 |
| 211 | const NS_DOCUMENT: i64 = 5 // the `document` host global (DOM binding) |
| 236 | const BI_STR_CHARAT: i64 = 1 |
| 237 | const BI_STR_INDEXOF: i64 = 2 |
| 238 | const BI_STR_SLICE: i64 = 3 |
| 239 | const BI_STR_UPPER: i64 = 4 |
| 240 | const BI_STR_LOWER: i64 = 5 |
| 241 | const BI_STR_INCLUDES:i64 = 6 |
| 242 | const BI_STR_SEARCH: i64 = 145 // str.search(re) -> match index or -1 |
| 243 | const BI_RE_TEST: i64 = 146 // re.test(str) -> bool (unique in js_native_apply; NOT 103/110-range) |
| 244 | const BI_STR_MATCH: i64 = 147 // str.match(re) -> array (g: full matches; else [full,g1,..]) or null |
| 245 | const BI_STR_REPLACE: i64 = 148 // str.replace(re,repl) -> string (g: all; $& $1..$9 $$ substitution) |
| 246 | const BI_REGEX_CTOR: i64 = 149 // new RegExp(pat,flags) / RegExp(pat,flags) -> a VAL_REGEX |
| 247 | const BI_STR_SPLIT: i64 = 150 // str.split(re) -> array of pieces |
| 248 | const BI_RE_EXEC: i64 = 151 // re.exec(str) -> [full,g1,..] or null; g-flag advances re record's lastIndex (slot 4) |
| 249 | const BI_STR_CHARCODEAT: i64 = 152 // "s".charCodeAt(i) -> byte value (ASCII code unit); OOR -> NaN |
| 250 | const BI_STR_FROMCHARCODE: i64 = 153 // String.fromCharCode(a,b,..) -> string (static on the String native) |
| 251 | const BI_PARSEINT: i64 = 154 // parseInt(str, radix?) -> int (leading-ws/sign/prefix-digits; none -> NaN) |
| 252 | const BI_STR_SUBSTRING: i64 = 155 // s.substring(a,b?) -> clamp+swap slice |
| 253 | const BI_STR_SUBSTR: i64 = 156 // s.substr(a,len?) -> start+length slice |
| 255 | const BI_ARR_PUSH: i64 = 10 |
| 256 | const BI_ARR_POP: i64 = 11 |
| 257 | const BI_ARR_INDEXOF: i64 = 12 |
| 258 | const BI_ARR_JOIN: i64 = 13 |
| 259 | const BI_ARR_SLICE: i64 = 14 |
| 260 | const BI_ARR_REVERSE: i64 = 15 // arr.reverse() -- in-place, returns the array (YouTube sig transform) |
| 261 | const BI_ARR_SPLICE: i64 = 16 // arr.splice(start,deleteCount,...items) -- mutates, returns removed (YouTube sig transform) |
| 262 | const BI_ARR_SORT: i64 = 17 // arr.sort([cmp]) -- STABLE in-place sort (Sizzle sortStable needs stability); cmp is a user closure |
| 263 | const BI_ARR_SHIFT: i64 = 18 // arr.shift() -- remove+return arr[0], shift rest down (jQuery Callbacks/queue) |
| 264 | const BI_ARR_UNSHIFT: i64 = 19 // arr.unshift(...items) -- prepend items, return new length |
| 265 | const BI_STUB_NULL: i64 = 200 // headless element-stub method -> null (getAttribute/closest/querySelector) |
| 266 | const BI_STUB_RETARG: i64 = 201 // headless element-stub method -> arg0 (appendChild/insertBefore are chainable) |
| 267 | const BI_EL_CLONE: i64 = 202 // element-stub cloneNode -> a fresh element stub |
| 268 | const BI_STUB_EMPTYARR: i64 = 203 // -> a fresh empty array (getElementsByTagName/querySelectorAll) |
| 269 | const BI_STUB_FALSE: i64 = 204 // -> false (hasAttribute/contains/matches) |
| 270 | const BI_EL_CLONE_TREE: i64 = 205 // tree Element.cloneNode(deep) -> wrap dt_clone_subtree of this @node |
| 271 | const BI_EL_CMPDOCPOS: i64 = 206 // Element.compareDocumentPosition(other) -> DOM-order bitmask (Sizzle sort) |
| 272 | const BI_ARR_CONCAT: i64 = 207 // arr.concat(...items) -> NEW array (array args spread one level); jQuery flat helper |
| 273 | const BI_STR_CONCAT: i64 = 208 // str.concat(...args) -> this + args coerced to strings |
| 274 | const BI_ARR_ISARRAY: i64 = 209 // Array.isArray(x) -> x is a VAL_ARRAY (static on the Array constructor) |
| 275 | const BI_DOC_CREATE_FRAGMENT: i64 = 210 // document.createDocumentFragment() -> REAL dt container node (nodeType 11) |
| 276 | const BI_DOC_CREATE_TEXT: i64 = 211 // document.createTextNode(s) -> REAL dt text node (nodeType 3) |
| 277 | const BI_EL_GET_BY_TAG: i64 = 212 // element.getElementsByTagName(tag) -> descendant elements (Sizzle .find) |
| 278 | const BI_EL_QSA: i64 = 213 // element.querySelectorAll(sel) -> descendant matches (#id/.class/tag) |
| 279 | const BI_EL_QS: i64 = 214 // element.querySelector(sel) -> first descendant match or null |
| 280 | const BI_EL_GET_BY_CLASS: i64 = 215 // element.getElementsByClassName(cls) -> descendant elements w/ class |
| 281 | const BI_EL_REMOVE_CHILD: i64 = 216 // element.removeChild(child) -> unlink child from tree, return it (.remove()) |
| 282 | const BI_DOC_GET_BY_TAG: i64 = 217 // document.getElementsByTagName(tag) -> whole-tree tag query (Sizzle $('a')) |
| 283 | const BI_DOC_GET_BY_CLASS: i64 = 218 // document.getElementsByClassName(cls) -> whole-tree class query |
| 284 | const BI_EL_MATCHES: i64 = 219 // element.matches(sel) -> CSS complex-selector predicate (Sizzle .is/.filter/.closest) |
| 285 | const BI_EL_GET_ATTR_NODE: i64 = 220 // element.getAttributeNode(name) -> {value,name} or null (Sizzle ID seed-filter + delegation) |
| 286 | const BI_WIN_ADD_LISTENER: i64 = 221 // window.addEventListener(type,fn) -> STORE + fire DOMContentLoaded/load at render end |
| 287 | const WIN_SENTINEL: i64 = 0 - 999 // listener-table `node` value marking a window-level handler (tree=0) |
| 291 | const BI_ARR_FOREACH: i64 = 50 |
| 292 | const BI_ARR_MAP: i64 = 51 |
| 293 | const BI_ARR_FILTER: i64 = 52 |
| 294 | const BI_ARR_REDUCE: i64 = 53 |
| 295 | const BI_ARR_SOME: i64 = 54 |
| 296 | const BI_ARR_EVERY: i64 = 55 |
| 298 | const BI_OBJ_KEYS: i64 = 20 |
| 299 | const BI_OBJ_VALUES: i64 = 21 |
| 300 | const BI_OBJ_DEFINEPROP: i64 = 22 // Object.defineProperty(target, key, {value: v}) -> target[key]=v |
| 304 | const BI_OBJ_TOSTRING: i64 = 23 // ({}).toString() / toString.call(x) -> "[object Type]" (the toType tag) |
| 305 | const BI_OBJ_HASOWN: i64 = 24 // ({}).hasOwnProperty(k) / hasOwn.call(o,k) -> bool (OWN props only) |
| 306 | const BI_OBJ_VALUEOF: i64 = 25 // ({}).valueOf() -> the receiver itself (identity for objects) |
| 307 | const BI_OBJ_ISPROTOTYPEOF: i64 = 26 // proto.isPrototypeOf(o) -> is `this` on o's [[Prototype]] chain |
| 308 | const BI_FN_TOSTRING: i64 = 27 // Function.prototype.toString -> a source-ish string (jQuery fnToString) |
| 309 | const BI_OBJ_GETPROTO: i64 = 28 // Object.getPrototypeOf(o) -> o's [[Prototype]] object or null |
| 310 | const BI_OBJ_CREATE: i64 = 29 // Object.create(proto) -> new object with [[Prototype]]=proto (jQuery event storage: Object.create(null)) |
| 311 | const BI_OBJ_ASSIGN: i64 = 222 // Object.assign(target, ...sources) -> copy own props of sources into target, return target (ES6, ubiquitous) |
| 313 | const BI_MATH_MAX: i64 = 30 |
| 314 | const BI_MATH_MIN: i64 = 31 |
| 315 | const BI_MATH_ABS: i64 = 32 |
| 316 | const BI_MATH_FLOOR: i64 = 33 |
| 317 | const BI_MATH_CEIL: i64 = 34 |
| 318 | const BI_MATH_POW: i64 = 35 |
| 319 | const BI_MATH_RANDOM: i64 = 36 // xorshift64 PRNG -> VAL_FLOAT in [0,1) |
| 320 | const BI_MATH_SQRT: i64 = 37 // Math.sqrt -> VAL_FLOAT (soft-float sqrt) |
| 322 | const BI_CONSOLE_LOG: i64 = 40 |
| 325 | const BI_DOC_GET_BY_ID: i64 = 60 |
| 326 | const BI_DOC_QUERY_SELECTOR: i64 = 61 |
| 327 | const BI_EL_GET_ATTR: i64 = 62 // element.getAttribute(name) (method on a snapshot element) |
| 328 | const BI_DOC_QUERY_SELECTOR_ALL: i64 = 63 // document.querySelectorAll(sel) -> array of elements |
| 330 | const DOM_TREE_SENTINEL: i64 = 0 - 424242 |
| 331 | const BI_DOC_CREATE_ELEMENT: i64 = 64 // document.createElement(tag) (tree mode) |
| 332 | const BI_EL_APPEND_CHILD: i64 = 65 // element.appendChild(child) |
| 333 | const BI_EL_SET_ATTR: i64 = 66 // element.setAttribute(name, value) |
| 334 | const BI_JSON_PARSE: i64 = 67 // JSON.parse(text) |
| 335 | const BI_EL_ADD_LISTENER: i64 = 68 // element.addEventListener(type, fn) -- R-JS-EVENT (execution verify) |
| 336 | const BI_EL_CLICK: i64 = 69 // element.click() -- fire the element's click listeners (test driver) |
| 337 | const BI_CLS_TOGGLE: i64 = 70 // element.classList.toggle(name[, force]) -- R-JS-CLASSLIST |
| 338 | const BI_CLS_ADD: i64 = 71 // element.classList.add(name) |
| 339 | const BI_CLS_REMOVE: i64 = 72 // element.classList.remove(name) |
| 340 | const BI_CLS_CONTAINS: i64 = 73 // element.classList.contains(name) |
| 343 | const CS_NORMAL: i64 = 0 |
| 344 | const CS_ERROR: i64 = 1 |
| 345 | const CS_RETURN: i64 = 2 |
| 346 | const CS_BREAK: i64 = 3 // R-JS-CTRL: nearest enclosing loop stops |
| 347 | const CS_CONTINUE: i64 = 4 // R-JS-CTRL: nearest enclosing loop skips to its update/next iter |
| 349 | const EV_LOOP_CAP: i64 = 10000000 |
| 364 | const EV_FUEL_PAGE_DEFAULT: i64 = 10000000 |
| 448 | const GC_NCLASS: i64 = 8192 // free-list size classes by payload_words (nb/8); >= this = no reuse |
| 449 | const GC_CST: i64 = 3 // chunk-table stride: [base, used_bytes, bitmap_ptr] |
| 463 | const GC_THRESHOLD_DEFAULT: i64 = 16777216 // 16MB = one chunk; small programs never cross it (0 collections) |
| 671 | const CONS_MARK: i64 = 0 - 700701 |
| 1316 | const OBJ_PROTO: i64 = 2 // [[Prototype]] link (set by `new`; walked on property miss) |
| 1317 | const OBJ_CAPF: i64 = 3 // backing capacity (elements) |
| 1318 | const OBJ_BACK: i64 = 4 // backing-block ptr (i64) |
| 1319 | const OBJ_HDRW: i64 = 5 // header word count |
| 1320 | const OBJ_ENT: i64 = 3 |
| 1321 | const OBJ_INITCAP: i64 = 4 // most objects have <=4 props (Vector{x,y,z}, Node{key,value,left,right}); 8 was |
| 1323 | const OBJ_MAXCAP: i64 = 1048576 // 1M props -- runaway guard, not a real-workload limit |
| 1324 | const ARR_HDR: i64 = 1 |
| 1325 | const ARR_ENT: i64 = 2 |
| 1326 | const ARR_CAP: i64 = 4096 |
| 1338 | const SH_ENT: i64 = 5 // [parent, added_key(strrec as i64), nprops, first_child, next_sibling] (0 = none) |
| 1339 | const SH_MAX: i64 = 262144 |
| 1344 | const SH_EMPTY: i64 = 1 |
| 1610 | const ARR_INITCAP: i64 = 8 |
| 1611 | const ARR_MAXCAP: i64 = 67108864 // 64M elements -- runaway guard, NOT a real-workload limit |
| 1678 | const ENV_HDR: i64 = 9 |
| 1679 | const ENV_ENTRY: i64 = 5 // [ns, nl, vt, vp, namesrc] -- namesrc lets names compare ACROSS parse contexts |
| 1680 | const ENV_MAX: i64 = 512 |
| 1681 | const THIS_NS: i64 = 0 - 999999 // sentinel name-offset for the `this` binding (matches only another THIS_NS) |
| 1682 | const SUPER_NS: i64 = 0 - 999998 // sentinel name-offset for the `@super` binding (the parent constructor in an `extends` class body; matches only another SUPER_NS) |
| 1684 | const BI_SETTIMEOUT: i64 = 80 |
| 1685 | const BI_QUEUEMICROTASK: i64 = 81 |
| 1686 | const BI_RAF: i64 = 82 // requestAnimationFrame |
| 1687 | const BI_CLEARTIMEOUT: i64 = 83 // no-op (timers run to completion in the drain; nothing to cancel) |
| 1689 | const EL_HDR: i64 = 4 |
| 1690 | const EL_MAXQ: i64 = 8192 // bounded per-queue depth (named cap; overflow -> drop + honest 1 from el_push) |
| 1693 | const NS_PROMISE: i64 = 6 |
| 1694 | const BI_PROM_RESOLVE: i64 = 90 |
| 1695 | const BI_PROM_REJECT: i64 = 91 |
| 1696 | const BI_PROM_THEN: i64 = 92 |
| 1697 | const BI_PROM_CATCH: i64 = 93 |
| 1700 | const PROM_HDR: i64 = 4 |
| 1701 | const PROM_REACT: i64 = 5 |
| 1702 | const PROM_MAXR: i64 = 64 |
| 1705 | const JOB_SZ: i64 = 8 |
| 1709 | const PEND_BASE: i64 = 16388 // EL_HDR(4) + 2*EL_MAXQ(16384); pending count at [PEND_BASE], entries after |
| 1710 | const PEND_MAX: i64 = 128 |
| 1711 | const PEND_ENT: i64 = 3 // [url-str-rec ptr, promise ptr, serviced flag] |
| 1715 | const RESP_HDR: i64 = 3 |
| 1716 | const BI_FETCH: i64 = 96 |
| 1717 | const BI_RESP_TEXT: i64 = 94 |
| 1718 | const BI_RESP_JSON: i64 = 95 |
| 1720 | const NS_WINDOW: i64 = 7 |
| 1721 | const NS_LOCATION: i64 = 8 |
| 1722 | const NS_NAVIGATOR: i64 = 9 |
| 1723 | const NS_HISTORY: i64 = 10 |
| 1724 | const NS_DATE: i64 = 11 // the Date global (Date.now() -> ms timestamp; new Date()/getTime = follow-on) |
| 1725 | const BI_BOM_NOOP: i64 = 97 // location.reload / history.pushState / window.addEventListener ... -> undefined |
| 1726 | const BI_DATE_NOW: i64 = 98 // Date.now() -> current time in ms (jQuery guid/expando) |
| 1729 | const BI_XHR_NEW: i64 = 100 |
| 1730 | const BI_STRING_CTOR: i64 = 110 // String(x) -- coerce x to a primitive string ("" if no arg). NOT 103 (=BI_XHR_NOOP collision, dispatched in js_native_apply before us). |
| 1734 | const BI_ARRAY_CTOR: i64 = 111 // new Array(n) / new Array(a,b,c) / Array(...) -- native array constructor |
| 1735 | const BI_ERROR_CTOR: i64 = 112 // new Error(msg) / Error(msg) -- object with .message + .name="Error" |
| 1736 | const BI_TYPEERR_CTOR: i64 = 113 // TypeError -> .name="TypeError" |
| 1737 | const BI_RANGEERR_CTOR: i64 = 114 // RangeError -> .name="RangeError" |
| 1738 | const BI_NUM_TOSTRING: i64 = 115 // (n).toString([radix]) -- number/float/bool receiver (Crypto uses radix 16) |
| 1739 | const BI_XHR_OPEN: i64 = 101 |
| 1740 | const BI_XHR_SEND: i64 = 102 |
| 1741 | const BI_XHR_NOOP: i64 = 103 // setRequestHeader / getResponseHeader / abort -> undefined |
| 1810 | const CLOS_SLOTS: i64 = 2 |
| 1819 | const VMF_MAGIC: i64 = 780301 |
| 1828 | const JS_VM_DOC_DECLINE: i64 = 0 - 2 |
functions
| 169 | func ev_cell() -> *i64 |
| 186 | func ev_cell_bytes() -> i64 { return ev_arena_bytes } called by 1: main |
| 221 | func js_set_rt_dbg(v: i64) -> i64 { js_rt_dbg = v; return 0 } |
| 227 | func js_rt_errpos_reset() -> i64 { js_rt_errpos = 0 - 1; return 0 } |
| 228 | func js_rt_errpos_get() -> i64 { return js_rt_errpos } |
| 229 | func js_rt_mark(ctx: *i64, idx: i64) -> i64 |
| 369 | func ev_fuel_arm(n: i64) -> i64 { ev_fuel_max = n; ev_fuel_used = 0; ev_fuel_hit = 0; return 0 } |
| 370 | func ev_fuel_spent() -> i64 { return ev_fuel_used } called by 1: main |
| 371 | func ev_fuel_exhausted() -> i64 { return ev_fuel_hit } called by 1: main |
| 376 | func ev_fuel_run_reset() -> i64 calls 1: ev_fuel_arm |
| 384 | func ev_for_body(ctx: *i64, idx: i64) -> i64 { let nodes: *i64 = jp_nodes(ctx); return nodes[idx * NODE_SLOTS + 4] } |
| 386 | func ev_try_finally(ctx: *i64, idx: i64) -> i64 { let nodes: *i64 = jp_nodes(ctx); return nodes[idx * NODE_SLOTS + 4] } |
| 388 | func ev_throw_set(genv: *i64, t: i64, p: i64) -> i64 { genv[6] = 1; genv[7] = t; genv[8] = p; return 0 } called by 1: vm_ext |
| 389 | func ev_throw_take(genv: *i64, out: *i64) -> i64 calls 1: ev_set |
| 396 | func ev_throw_peek(genv: *i64) -> i64 { return genv[6] } |
| 398 | func ev_set(out: *i64, t: i64, p: i64) -> i64 { out[0] = t; out[1] = p; return 0 } |
| 399 | func ev_copy(out: *i64, src: *i64) -> i64 { out[0] = src[0]; out[1] = src[1]; return 0 } |
| 400 | func ev_b2(cond: i64) -> i64 { if cond == 1 { return 1 } return 0 } |
| 401 | func ev_isnull(e: *i64) -> i64 { if (e as i64) == 0 { return 1 } return 0 } |
| 403 | func ev_atoi(src: *u8, start: i64, len: i64) -> i64 |
| 409 | func ev_tok(ctx: *i64, idx: i64) -> i64 { let nodes: *i64 = jp_nodes(ctx); return nodes[idx * NODE_SLOTS + 4] } |
| 410 | func ev_tok_kind(ctx: *i64, idx: i64) -> i64 { let toks: *i64 = jp_toks(ctx); return toks[ev_tok(ctx, idx) * 3 + 0] } |
| 411 | func ev_tok_start(ctx: *i64, idx: i64) -> i64 { let toks: *i64 = jp_toks(ctx); return toks[ev_tok(ctx, idx) * 3 + 1] } called by 26: js_rt_markev_num_ofev_str_from_litev_key_from_identev_num_nodejs_eval+20 calls 2: jp_toksev_tok |
| 412 | func ev_tok_len(ctx: *i64, idx: i64) -> i64 { let toks: *i64 = jp_toks(ctx); return toks[ev_tok(ctx, idx) * 3 + 2] } called by 22: ev_num_ofev_str_from_litev_key_from_identev_num_nodejs_evaljs_eval_call+16 calls 2: jp_toksev_tok |
| 413 | func ev_num_of(ctx: *i64, idx: i64) -> i64 { return ev_atoi(jp_src(ctx), ev_tok_start(ctx, idx), ev_tok_len(ctx, idx)) } |
| 434 | func nx_dbg_num(v: i64) -> i64 { nxi_out(v); return 0 } |
| 439 | func nx_dbg_num1(v: i64) -> i64 { nxi_out(v); return 0 } calls 1: nxi_out |
| 468 | func gc_init() -> i64 |
| 482 | func gc_setbit(bm: i64, wordidx: i64) -> i64 { let b: *u8 = bm as *u8; let byi: i64 = wordidx / 8; b[byi] = (b[byi] | (1 << (wordidx % 8))) as u8; return 0 } called by 1: nx_pool_alloc |
| 483 | func gc_getbit(bm: i64, wordidx: i64) -> i64 { let b: *u8 = bm as *u8; return (b[wordidx / 8] >> (wordidx % 8)) & 1 } called by 1: gc_is_start |
| 485 | func gc_retire_chunk() -> i64 |
| 504 | func nx_pool_alloc(bytes: i64) -> i64 called by 7: ev_str_newstr_flattenev_str_concatobj_newobj_growarr_new+1 calls 3: gc_initgc_retire_chunkgc_setbit |
| 544 | func gc_is_start(w: i64) -> i64 |
| 563 | func gc_mark_header(h: i64) -> i64 |
| 584 | func gc_scan_region(base_addr: i64, nwords: i64) -> i64 called by 5: gc_trace_allgc_scan_shapesgc_mark_globalsgc_scan_envgc_collect_vm calls 2: gc_is_startgc_mark_header |
| 596 | func gc_trace_all() -> i64 |
| 611 | func gc_sweep_range(base: i64, used: i64) -> i64 called by 1: gc_sweep_all |
| 638 | func gc_sweep_all() -> i64 |
| 647 | func gc_enable(v: i64) -> i64 { gc_init(); gc_enabled = v; if gc_threshold == 0 { gc_threshold = GC_THRESHOLD_DEFAULT }; return 0 } |
| 648 | func gc_configure(threshold: i64) -> i64 { gc_init(); gc_threshold = threshold; return 0 } |
| 649 | func gc_set_nosweep(v: i64) -> i64 { gc_nosweep = v; return 0 } // DIAGNOSTIC toggle |
| 650 | func gc_is_enabled() -> i64 { return gc_enabled } called by 1: jit_compile |
| 651 | func gc_since_bytes() -> i64 { return gc_since } |
| 652 | func gc_collection_count() -> i64 { return gc_collections } |
| 654 | func gc_poll() -> i64 { if gc_enabled == 0 { return 0 } if gc_since >= gc_threshold { return 1 } return 0 } |
| 657 | func gc_since_addr() -> i64 { return (&gc_since) as i64 } called by 1: jit_emit_safepoint |
| 658 | func gc_threshold_addr() -> i64 { return (&gc_threshold) as i64 } called by 1: jit_emit_safepoint |
| 659 | func nx_pool_total_mb() -> i64 { return nx_pool_total / 1048576 } |
| 660 | func nx_pool_total_kb() -> i64 { return nx_pool_total / 1024 } called by 1: run_one |
| 661 | func nx_pool_alloc_count() -> i64 { return nx_pool_count } |
| 662 | func nx_pool_hp_bytes() -> i64 { return nx_pool_hp } // current-chunk bump offset = RESIDENT proxy (plateaus under GC) |
| 663 | func nx_pool_hp_kb() -> i64 { return nx_pool_hp / 1024 } |
| 664 | func gc_chunk_count() -> i64 { return gc_chunk_n } // # retired 16MB chunks (stays low if GC reuses freed blocks) called by 1: gc_collect_vm |
| 665 | func ev_str_new(len: i64) -> *i64 { let rec: *i64 = (nx_pool_alloc(16 + len)) as *i64; rec[0] = len; return rec } called by 13: str_flattenev_str_from_litev_cstrev_num_to_strev_key_from_identev_f64_str+7 calls 1: nx_pool_alloc |
| 672 | func str_leaves(rec: *i64) -> i64 { if rec[0] == CONS_MARK { return rec[5] } return 1 } called by 1: ev_str_concat |
| 673 | func str_flatten(rec: *i64) -> *i64 |
| 699 | func ev_str_len(rec: *i64) -> i64 { if rec[0] == CONS_MARK { return rec[3] } return rec[0] } |
| 700 | func ev_str_bytes(rec: *i64) -> *u8 { if rec[0] == CONS_MARK { let f: *i64 = str_flatten(rec); return (f as i64 + 8) as *u8 } return (rec as i64 + 8) as *u8 } |
| 704 | func ev_hexval(c: i64) -> i64 called by 1: ev_str_from_lit |
| 714 | func ev_utf8_put(dst: *u8, at: i64, cp: i64) -> i64 |
| 731 | func ev_str_from_lit(ctx: *i64, idx: i64, out: *i64) -> i64 called by 3: ev_key_from_strtokjs_evalc_expr calls 7: jp_srcev_tok_startev_tok_lenev_str_newev_str_bytesev_hexval+1 |
| 802 | func ev_str_eq(a: *i64, b: *i64) -> i64 called by 6: ev_strict_eqev_loose_eqsh_transitionobj_findev_is_length_keycells_eq calls 2: ev_str_lenev_str_bytes |
| 815 | func ev_str_cmp(a: *i64, b: *i64) -> i64 |
| 841 | func ev_str_numval(rec: *i64, vout: *i64) -> i64 |
| 863 | func ev_is_relop(op: i64) -> i64 |
| 873 | func ev_is_clean_num(v: *i64) -> i64 |
| 881 | func ev_one_str_one_num(lb: *i64, rb: *i64) -> i64 |
| 889 | func ev_mixed_relnum(v: *i64, vout: *i64) -> i64 |
| 894 | func ev_str_concat(a: *i64, b: *i64, out: *i64) -> i64 |
| 908 | func ev_cstr(s: *u8) -> *i64 called by 17: ev_coerce_strev_typeof_strfunc_prototypebi_xhr_newbi_err_buildjs_construct_native_args+11 calls 2: ev_str_newev_str_bytes |
| 921 | func ev_num_to_str(n: i64) -> *i64 |
| 941 | func ev_coerce_str(v: *i64) -> *i64 |
| 957 | func ev_key_from_ident(ctx: *i64, idx: i64) -> *i64 |
| 970 | func ev_key_from_strtok(ctx: *i64, idx: i64) -> *i64 |
| 978 | func ev_prop_key(ctx: *i64, idx: i64) -> *i64 |
| 983 | func ev_typeof_str(tag: i64) -> *i64 |
| 997 | func ev_truthy(v: *i64) -> i64 called by 5: js_evalbi_arr_filterbi_arr_somevm_unaryvm_loop calls 3: nx_f64_is_nannx_f64_is_zeroev_str_len |
| 1007 | func ev_tonum(v: *i64) -> i64 |
| 1015 | func ev_is_numlike(v: *i64) -> i64 { if v[0] == VAL_NUM { return 1 } if v[0] == VAL_FLOAT { return 1 } return 0 } called by 1: ev_strict_eq |
| 1016 | func ev_strict_eq(l: *i64, r: *i64) -> i64 |
| 1031 | func ev_loose_eq(l: *i64, r: *i64) -> i64 |
| 1083 | func ev_hexdigit(c: i64) -> i64 called by 1: ev_parse_radix |
| 1089 | func ev_parse_radix(src: *u8, s: i64, l: i64, base: i64) -> i64 |
| 1101 | func ev_num_node(ctx: *i64, idx: i64, out: *i64) -> i64 |
| 1122 | func ev_tof64(v: *i64) -> i64 |
| 1128 | func ev_f64_str(bits: i64) -> *i64 |
| 1139 | func ev_binop_f64(op: i64, fa: i64, fb: i64, out: *i64) -> i64 called by 4: ev_num_divev_apply_binopjs_evalvm_binary calls 10: ev_setnx_f64_addnx_f64_negnx_f64_mulnx_f64_divji2f+4 |
| 1159 | func ev_num_div(a: i64, b: i64, out: *i64) -> i64 |
| 1165 | func ev_num_mod(a: i64, b: i64, out: *i64) -> i64 |
| 1172 | func js_toint32(v: i64) -> i64 |
| 1179 | func ev_instanceof(lb: *i64, rb: *i64, out: *i64) -> i64 |
| 1197 | func ev_in(lb: *i64, rb: *i64, out: *i64) -> i64 called by 3: ev_apply_binopjs_evalvm_binary calls 6: ev_cellobj_getev_setobj_proto_lookupev_is_length_keyarr_len |
| 1219 | func ev_ws_byte(c: i64) -> i64 { if c == 32 { return 1 } if c == 9 { return 1 } if c == 10 { return 1 } if c == 13 { return 1 } return 0 } called by 1: ev_coerce_num |
| 1223 | func ev_coerce_num(v: *i64, out: *i64) -> i64 |
| 1270 | func ev_apply_binop(op: i64, lb: *i64, rb: *i64, out: *i64) -> i64 |
| 1345 | func sh_init() -> i64 called by 1: sh_transition |
| 1355 | func sh_rec(id: i64) -> *i64 { return ((sh_arena) + id * SH_ENT * 8) as *i64 } called by 1: sh_transition |
| 1358 | func sh_transition(from: i64, key: *i64) -> i64 |
| 1380 | func obj_shape(o: *i64) -> i64 { return o[1] } called by 1: vm_ext |
| 1385 | func gc_scan_shapes() -> i64 { if sh_arena != 0 { gc_scan_region(sh_arena as i64, sh_count * SH_ENT) } return 0 } |
| 1387 | func obj_new() -> *i64 called by 14: js_globalthisjs_object_prototypejs_string_prototypejs_array_prototypejs_ns_staticsfunc_own+8 calls 1: nx_pool_alloc |
| 1393 | func obj_proto(o: *i64) -> i64 { return o[OBJ_PROTO] } |
| 1394 | func obj_set_proto(o: *i64, p: i64) -> i64 { o[OBJ_PROTO] = p; return 0 } |
| 1397 | func obj_proto_lookup(o: *i64, key: *i64, out: *i64) -> i64 |
| 1416 | func fproto_init() -> i64 |
| 1420 | func fproto_find(fnpay: i64) -> i64 |
| 1427 | func fproto_put(fnpay: i64, protopay: i64) -> i64 |
| 1452 | func js_globalthis() -> i64 |
| 1460 | func js_object_prototype() -> i64 |
| 1468 | func js_string_prototype() -> i64 |
| 1473 | func js_array_prototype() -> i64 |
| 1482 | func js_userproto_method(tag: i64, key: *i64, out: *i64) -> i64 |
| 1496 | func js_ns_statics(ns: i64) -> *i64 |
| 1507 | func gc_mark_globals() -> i64 |
| 1520 | func func_own(fnpay: i64) -> *i64 |
| 1535 | func func_prototype(fnpay: i64) -> i64 |
| 1546 | func obj_count(o: *i64) -> i64 { return o[0] } |
| 1547 | func obj_key(o: *i64, i: i64) -> *i64 { let d: *i64 = (o[OBJ_BACK]) as *i64; return (d[i * OBJ_ENT]) as *i64 } |
| 1549 | func obj_find(o: *i64, key: *i64) -> i64 |
| 1559 | func obj_delete(o: *i64, key: *i64) -> i64 |
| 1570 | func obj_grow(o: *i64) -> i64 |
| 1583 | func obj_set(o: *i64, key: *i64, vt: i64, vp: i64) -> i64 |
| 1597 | func obj_get(o: *i64, key: *i64, out: *i64) -> i64 called by 19: ev_inobj_proto_lookupjs_userproto_methodfunc_prototypejs_evaljs_eval_super_method+13 calls 2: obj_findev_set |
| 1612 | func arr_new() -> *i64 called by 16: js_evaljs_call_corejs_construct_native_argsjs_native_applybi_arr_concatbi_arr_slice+10 calls 1: nx_pool_alloc |
| 1622 | func arr_expando(a: *i64) -> *i64 calls 1: obj_new |
| 1626 | func arr_len(a: *i64) -> i64 { return a[0] } |
| 1628 | func arr_get(a: *i64, i: i64, out: *i64) -> i64 called by 20: js_evaljs_fn_call_applyjs_native_call_applyjs_bind_patternjs_eval_argsbi_arr_pop+14 calls 1: ev_set |
| 1637 | func arr_grow(a: *i64, need: i64) -> i64 |
| 1653 | func arr_set(a: *i64, i: i64, vt: i64, vp: i64) -> i64 called by 19: js_evaljs_call_corejs_construct_native_argsbi_arr_unshiftbi_arr_concatev_arraylike_set+13 calls 1: arr_grow |
| 1742 | func env_new() -> *i64 { let e: *i64 = sys_mmap(8 * (ENV_HDR + ENV_MAX * ENV_ENTRY)) as *i64; e[0] = 0; e[1] = 0; return e } called by 1: cr_core |
| 1745 | func gc_scan_env(envp: i64) -> i64 { if envp != 0 { gc_scan_region(envp as i64, ENV_HDR + ENV_MAX * ENV_ENTRY) } return 0 } |
| 1746 | func env_child(parent: *i64) -> *i64 { let e: *i64 = sys_mmap(8 * (ENV_HDR + ENV_MAX * ENV_ENTRY)) as *i64; e[0] = 0; e[1] = parent as i64; return e } |
| 1747 | func env_name_eq(s1src: *u8, s1: i64, l1: i64, s2src: *u8, s2: i64, l2: i64) -> i64 called by 1: env_find_local |
| 1757 | func env_find_local(env: *i64, src: *u8, ns: i64, nl: i64) -> i64 |
| 1763 | func env_define(env: *i64, src: *u8, ns: i64, nl: i64, vt: i64, vp: i64) -> i64 |
| 1777 | func env_get(env: *i64, src: *u8, ns: i64, nl: i64, out: *i64) -> i64 called by 4: js_evaljs_eval_super_ctorjs_eval_super_methodexpect_g calls 3: ev_isnullenv_find_localev_set |
| 1791 | func env_assign(env: *i64, src: *u8, ns: i64, nl: i64, vt: i64, vp: i64) -> i64 |
| 1822 | func js_vm_bind(hook: i64, vs: i64) -> i64 { js_vm_hook_addr = hook; js_vm_vs_addr = vs; return 0 } called by 1: cr_core |
| 1830 | func js_vm_doc_bind(hook: i64) -> i64 { js_vm_doc_hook = hook; return 0 } |
| 1832 | func clos_new(fnode: i64, defenv: *i64) -> *i64 |
| 1838 | func clos_fnode(c: *i64) -> i64 { return c[0] } |
| 1839 | func clos_defenv(c: *i64) -> *i64 { return (c[1]) as *i64 } called by 1: js_call_core |
| 1843 | func js_eval(ctx: *i64, idx: i64, env: *i64, genv: *i64, out: *i64) -> i64 called by 4: js_evaljs_eval_calljs_call_corejs_eval_args calls 66: ev_setjp_nkindev_num_nodeev_b2jp_nextrajp_na+60 |
| 2391 | func js_eval_super_ctor(ctx: *i64, idx: i64, env: *i64, genv: *i64, out: *i64) -> i64 |
| 2405 | func js_eval_super_method(ctx: *i64, idx: i64, callee: i64, env: *i64, genv: *i64, out: *i64) -> i64 |
| 2423 | func js_fn_call_apply(ctx: *i64, idx: i64, env: *i64, genv: *i64, fnclos: *i64, is_apply: i64, out: *i64) -> i64 |
| 2458 | func js_native_call_apply(ctx: *i64, idx: i64, env: *i64, genv: *i64, bid: i64, is_apply: i64, out: *i64) -> i64 |
| 2488 | func js_eval_call(ctx: *i64, idx: i64, env: *i64, genv: *i64, out: *i64) -> i64 |
| 2601 | func js_call_userfn(ctx: *i64, idx: i64, env: *i64, genv: *i64, clos: *i64, thisval: *i64, out: *i64) -> i64 |
| 2636 | func js_is_pattern_kind(k: i64) -> i64 { if k == ND_ARRAY_PAT { return 1 } if k == ND_OBJ_PAT { return 1 } return 0 } called by 1: js_bind_pattern |
| 2637 | func js_bind_pattern(ctx: *i64, patnode: i64, vt: i64, vp: i64, env: *i64) -> i64 |
| 2675 | func js_call_core(ctx: *i64, clos: *i64, argbuf: *i64, argc: i64, thisval: *i64, genv: *i64, out: *i64) -> i64 |
| 2750 | func js_hoist_body(ctx: *i64, body: i64, callenv: *i64) -> i64 |
| 2776 | func js_eval_args(ctx: *i64, idx: i64, env: *i64, genv: *i64, argbuf: *i64) -> i64 |
| 2812 | func ja_t(argbuf: *i64, k: i64) -> i64 { return argbuf[k * 2 + 0] } |
| 2813 | func ja_p(argbuf: *i64, k: i64) -> i64 { return argbuf[k * 2 + 1] } |
| 2818 | func ev_bid_needs_str(bid: i64) -> i64 |
| 2832 | func ev_bid_needs_arr(bid: i64) -> i64 |
| 2864 | func el_state(genv: *i64) -> *i64 |
| 2872 | func el_push_job(genv: *i64, job: *i64) -> i64 { let s: *i64 = el_state(genv); if s[1] >= EL_MAXQ { return 1 } s[EL_HDR + s[1]] = job as i64; s[1] = s[1] + 1; return 0 } |
| 2874 | func el_push_micro(genv: *i64, clos: i64) -> i64 { let j: *i64 = sys_mmap(8 * JOB_SZ) as *i64; j[0] = 0; j[1] = clos; return el_push_job(genv, j) } |
| 2875 | func el_push_macro(genv: *i64, clos: i64) -> i64 { let s: *i64 = el_state(genv); if s[3] >= EL_MAXQ { return 1 } s[EL_HDR + EL_MAXQ + s[3]] = clos; s[3] = s[3] + 1; return 0 } |
| 2878 | func el_push_reaction(genv: *i64, htag: i64, hpay: i64, vtag: i64, vpay: i64, resultprom: *i64, ptstate: i64) -> i64 |
| 2883 | func prom_new() -> *i64 { let p: *i64 = sys_mmap(8 * (PROM_HDR + PROM_MAXR * PROM_REACT)) as *i64; p[0] = 0; p[1] = 0; p[2] = 0; p[3] = 0; return p } |
| 2885 | func prom_settle(ctx: *i64, genv: *i64, p: *i64, state: i64, vtag: i64, vpay: i64) -> i64 |
| 2901 | func prom_add_reaction(ctx: *i64, genv: *i64, p: *i64, onFtag: i64, onFpay: i64, onRtag: i64, onRpay: i64, resultprom: *i64) -> i64 |
| 2918 | func prom_adopt(ctx: *i64, genv: *i64, R: *i64, inner: *i64) -> i64 |
| 2922 | func prom_resolve_value(ctx: *i64, genv: *i64, R: *i64, tag: i64, pay: i64) -> i64 |
| 2927 | func prom_run_reaction(ctx: *i64, genv: *i64, htag: i64, hpay: i64, vtag: i64, vpay: i64, resultprom: *i64, ptstate: i64) -> i64 |
| 2946 | func el_drain_micro(ctx: *i64, genv: *i64) -> i64 |
| 2963 | func el_drain(ctx: *i64, genv: *i64) -> i64 |
| 2982 | func bi_prom_resolve(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 2988 | func bi_prom_reject(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 2994 | func bi_prom_then(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, iscatch: i64, out: *i64) -> i64 |
| 3009 | func ev_native_promise(key: *i64) -> i64 |
| 3018 | func prom_settle_fresh(p: *i64, state: i64, vtag: i64, vpay: i64) -> i64 { p[0] = state; p[1] = vtag; p[2] = vpay; return 0 } |
| 3019 | func resp_new(status: i64, btag: i64, bpay: i64) -> *i64 { let r: *i64 = sys_mmap(8 * RESP_HDR) as *i64; r[0] = status; r[1] = btag; r[2] = bpay; return r } |
| 3020 | func js_str_from_bytes(b: *u8, n: i64) -> *i64 { let rec: *i64 = ev_str_new(n); let dst: *u8 = ev_str_bytes(rec); var i: i64 = 0; while i < n { dst[i] = b[i]; i = i + 1 } return rec } |
| 3023 | func bi_fetch(genv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 called by 1: js_native_apply calls 8: prom_newprom_settle_freshev_setev_str_bytesev_str_lenjs_str_from_bytes+2 |
| 3051 | func bi_resp_text(thisv: *i64, out: *i64) -> i64 |
| 3059 | func bi_resp_json(thisv: *i64, out: *i64) -> i64 |
| 3069 | func ev_native_response(key: *i64) -> i64 |
| 3079 | func bi_xhr_new(out: *i64) -> i64 |
| 3092 | func js_construct_native(bid: i64, out: *i64) -> i64 |
| 3101 | func bi_err_build(argbuf: *i64, argc: i64) -> *i64 |
| 3118 | func js_construct_native_args(bid: i64, argbuf: *i64, argc: i64, out: *i64) -> i64 called by 4: js_evaljs_native_applyvm_extjit_new_prep calls 8: arr_newev_setarr_setbi_err_buildobj_setev_cstr+2 |
| 3152 | func bi_xhr_open(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3160 | func bi_xhr_send(ctx: *i64, genv: *i64, thisv: *i64, out: *i64) -> i64 |
| 3188 | func pend_record(genv: *i64, urlrec: *i64, prom: *i64) -> i64 |
| 3203 | func js_pending_count(genv: *i64) -> i64 called by 1: main |
| 3213 | func js_pending_total(genv: *i64) -> i64 { if (genv as i64) == 0 { return 0 } if genv[5] == 0 { return 0 } let s: *i64 = (genv[5]) as *i64; return s[PEND_BASE] } // two-step cast: inline `((genv[5]) as *i64)[k]` MISCOMPILES under nx_cc (returns garbage) -- see nx_cc-gotchas |
| 3215 | func js_pending_serviced(genv: *i64, i: i64) -> i64 |
| 3224 | func js_pending_url(genv: *i64, i: i64, buf: *u8, cap: i64) -> i64 |
| 3237 | func js_pending_service(ctx: *i64, genv: *i64, i: i64, status: i64, body: *u8, bodylen: i64) -> i64 |
| 3251 | func js_invoke_native(ctx: *i64, idx: i64, env: *i64, genv: *i64, bid: i64, thisv: *i64, out: *i64) -> i64 called by 1: js_eval_call calls 6: ev_bid_needs_strev_setev_bid_needs_arrjs_eval_argsjs_native_applyjs_rt_mark |
| 3281 | func ev_native_num(key: *i64) -> i64 |
| 3287 | func bi_num_tostring(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3319 | func js_native_apply(ctx: *i64, genv: *i64, bid: i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3466 | func ev_clamp_idx(i: i64, len: i64) -> i64 |
| 3474 | func ev_str_find(hay: *i64, needle: *i64) -> i64 |
| 3495 | func ev_str_substr(rec: *i64, a: i64, b: i64, out: *i64) -> i64 |
| 3508 | func bi_str_charat(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3514 | func bi_str_indexof(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3521 | func bi_str_includes(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3528 | func bi_str_slice(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3539 | func bi_str_case(thisv: *i64, upper: i64, out: *i64) -> i64 |
| 3557 | func ev_coerce_str_arg(argbuf: *i64, k: i64) -> *i64 |
| 3565 | func bi_arr_push(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3576 | func bi_arr_pop(thisv: *i64, out: *i64) -> i64 |
| 3586 | func bi_arr_shift(thisv: *i64, out: *i64) -> i64 |
| 3604 | func bi_arr_unshift(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3628 | func bi_arr_concat(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3652 | func bi_str_concat_m(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3671 | func ev_arraylike_len(v: *i64) -> i64 |
| 3680 | func ev_arraylike_get(v: *i64, i: i64, out: *i64) -> i64 |
| 3689 | func ev_arraylike_set(v: *i64, i: i64, vt: i64, vp: i64) -> i64 |
| 3702 | func bi_arr_indexof(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3718 | func bi_arr_join(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 called by 1: js_native_apply calls 9: arr_lenev_cstrev_coerce_str_argev_str_newev_cellev_str_concat+3 |
| 3739 | func bi_arr_slice(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 called by 1: js_native_apply calls 8: ev_arraylike_lenja_pev_clamp_idxarr_newev_cellev_arraylike_get+2 |
| 3761 | func bi_arr_reverse(thisv: *i64, out: *i64) -> i64 |
| 3780 | func bi_arr_splice(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3818 | func bi_cb_call_ei(ctx: *i64, genv: *i64, cb: *i64, a: *i64, i: i64, res: *i64) -> i64 |
| 3831 | func bi_cb_arg(argbuf: *i64, argc: i64) -> *i64 |
| 3840 | func bi_arr_foreach(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3855 | func bi_arr_map(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3872 | func bi_arr_filter(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3895 | func bi_arr_reduce(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 3939 | func bi_arr_some(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, want_all: i64, out: *i64) -> i64 |
| 3960 | func bi_sort_cmp(ctx: *i64, genv: *i64, cmp: *i64, x: *i64, y: *i64) -> i64 |
| 3977 | func bi_arr_sort(ctx: *i64, genv: *i64, thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4004 | func bi_obj_keys(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4023 | func bi_obj_defineprop(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4036 | func bi_obj_values(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4056 | func bi_obj_tostring(thisv: *i64, out: *i64) -> i64 |
| 4072 | func bi_obj_hasown(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4082 | func bi_obj_isprototypeof(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4100 | func bi_fn_tostring(thisv: *i64, out: *i64) -> i64 |
| 4107 | func bi_obj_getproto(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4118 | func bi_obj_create(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4126 | func bi_obj_assign(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4145 | func bi_math_maxmin(argbuf: *i64, argc: i64, want_max: i64, out: *i64) -> i64 |
| 4160 | func bi_math_abs(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4167 | func bi_math_identity(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4176 | func bi_math_random(out: *i64) -> i64 |
| 4189 | func bi_math_floorceil(argbuf: *i64, argc: i64, is_ceil: i64, out: *i64) -> i64 |
| 4201 | func bi_math_sqrt(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4208 | func bi_math_pow(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4231 | func ev_arg_num(argbuf: *i64, k: i64) -> i64 |
| 4240 | func bi_console_log(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4258 | func ev_is_length_key(key: *i64) -> i64 |
| 4267 | func ev_get_prop(base: *i64, key: *i64, out: *i64) -> i64 |
| 4354 | func ev_key_is(key: *i64, lit: *u8) -> i64 |
| 4365 | func ev_native_str(key: *i64) -> i64 |
| 4384 | func bi_str_charcodeat(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4398 | func bi_str_fromcharcode(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4407 | func bi_str_subcopy(srec: *i64, lo: i64, hi: i64, out: *i64) -> i64 |
| 4413 | func bi_str_substring(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4427 | func bi_str_substr(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4442 | func bi_parseint(argbuf: *i64, argc: i64, out: *i64) -> i64 called by 1: js_native_apply calls 7: ev_setev_coerce_str_argev_str_bytesev_str_lenev_arg_numnx_f64_div+1 |
| 4473 | func js_make_regex_val(patb: *u8, patlen: i64, flb: *u8, fllen: i64, out: *i64) -> i64 |
| 4482 | func bi_regex_ctor(argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4493 | func bi_str_split(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4543 | func js_substr(sb: *u8, lo: i64, hi: i64) -> *i64 |
| 4553 | func js_regex_result(re: *Regex, sb: *u8, saves: *i64) -> *i64 |
| 4566 | func bi_re_exec(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 called by 1: js_native_apply calls 6: ev_setev_coerce_str_argev_str_bytesev_str_lennx_regex_execjs_regex_result |
| 4585 | func bi_str_match(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |
| 4622 | func js_repl_expand(rb: *u8, rl: i64, sb: *u8, saves: *i64, ng: i64, buf: *u8, bpp: *i64) -> i64 |
| 4639 | func bi_str_replace(thisv: *i64, argbuf: *i64, argc: i64, out: *i64) -> i64 |