@scriptc/compiler 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ambient/node-fallback/assert-strict.d.ts +47 -0
- package/ambient/node-fallback/assert.d.ts +86 -0
- package/ambient/node-fallback/async_hooks.d.ts +41 -0
- package/ambient/node-fallback/buffer.d.ts +23 -0
- package/ambient/node-fallback/child_process.d.ts +242 -0
- package/ambient/node-fallback/cluster.d.ts +17 -0
- package/ambient/node-fallback/constants.d.ts +15 -0
- package/ambient/node-fallback/crypto.d.ts +837 -0
- package/ambient/node-fallback/dgram.d.ts +58 -0
- package/ambient/node-fallback/diagnostics_channel.d.ts +87 -0
- package/ambient/node-fallback/dns-promises.d.ts +27 -0
- package/ambient/node-fallback/dns.d.ts +65 -0
- package/ambient/node-fallback/events.d.ts +60 -0
- package/ambient/node-fallback/fs-promises.d.ts +225 -0
- package/ambient/node-fallback/fs.d.ts +641 -0
- package/ambient/node-fallback/graceful-fs.d.ts +9 -0
- package/ambient/node-fallback/http.d.ts +326 -0
- package/ambient/node-fallback/http2.d.ts +816 -0
- package/ambient/node-fallback/https.d.ts +59 -0
- package/ambient/node-fallback/module.d.ts +10 -0
- package/ambient/node-fallback/net.d.ts +374 -0
- package/ambient/node-fallback/os.d.ts +288 -0
- package/ambient/node-fallback/path-posix.d.ts +22 -0
- package/ambient/node-fallback/path-win32.d.ts +22 -0
- package/ambient/node-fallback/path.d.ts +55 -0
- package/ambient/node-fallback/process.d.ts +11 -0
- package/ambient/node-fallback/punycode.d.ts +18 -0
- package/ambient/node-fallback/querystring.d.ts +55 -0
- package/ambient/node-fallback/stream-consumers.d.ts +21 -0
- package/ambient/node-fallback/stream-promises.d.ts +28 -0
- package/ambient/node-fallback/stream-web.d.ts +36 -0
- package/ambient/node-fallback/stream.d.ts +644 -0
- package/ambient/node-fallback/string_decoder.d.ts +20 -0
- package/ambient/node-fallback/test.d.ts +236 -0
- package/ambient/node-fallback/timers-promises.d.ts +31 -0
- package/ambient/node-fallback/timers.d.ts +28 -0
- package/ambient/node-fallback/tls.d.ts +169 -0
- package/ambient/node-fallback/url.d.ts +95 -0
- package/ambient/node-fallback/util-types.d.ts +50 -0
- package/ambient/node-fallback/util.d.ts +416 -0
- package/ambient/node-fallback/v8.d.ts +43 -0
- package/ambient/node-fallback/worker_threads.d.ts +113 -0
- package/ambient/node-fallback/zlib.d.ts +422 -0
- package/ambient/scriptc-node-fallback.d.ts +224 -6688
- package/dist/backend/cycle-analysis.js +4 -0
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/executable-features.d.ts +1 -1
- package/dist/backend/executable-features.js +15 -2
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/huge-text.d.ts +16 -0
- package/dist/backend/huge-text.js +103 -0
- package/dist/backend/huge-text.js.map +1 -0
- package/dist/backend/huge-text.test.d.ts +1 -0
- package/dist/backend/huge-text.test.js +73 -0
- package/dist/backend/huge-text.test.js.map +1 -0
- package/dist/backend/library-pack.js +1 -1
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/link-plan-core.d.ts +10 -0
- package/dist/backend/link-plan-core.js +14 -2
- package/dist/backend/link-plan-core.js.map +1 -1
- package/dist/backend/link-plan-core.test.d.ts +1 -0
- package/dist/backend/link-plan-core.test.js +20 -0
- package/dist/backend/link-plan-core.test.js.map +1 -0
- package/dist/backend/link-plan.d.ts +8 -0
- package/dist/backend/link-plan.js +7 -0
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/linker.js +37 -14
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/lld.d.ts +13 -0
- package/dist/backend/lld.js +18 -1
- package/dist/backend/lld.js.map +1 -1
- package/dist/backend/lld.test.js +7 -1
- package/dist/backend/lld.test.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +2 -0
- package/dist/backend/llvm/alloc.js +1 -1
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/arenas.d.ts +78 -0
- package/dist/backend/llvm/arenas.js +313 -0
- package/dist/backend/llvm/arenas.js.map +1 -0
- package/dist/backend/llvm/arenas.test.d.ts +1 -0
- package/dist/backend/llvm/arenas.test.js +140 -0
- package/dist/backend/llvm/arenas.test.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +11 -1
- package/dist/backend/llvm/blocks.js +23 -5
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/bytes-headers.d.ts +19 -0
- package/dist/backend/llvm/bytes-headers.js +55 -0
- package/dist/backend/llvm/bytes-headers.js.map +1 -0
- package/dist/backend/llvm/bytes-loop-versions.d.ts +4 -3
- package/dist/backend/llvm/bytes-loop-versions.js +42 -7
- package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.test.js +39 -4
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.d.ts +5 -0
- package/dist/backend/llvm/call-lifetimes.js +43 -8
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +26 -0
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.d.ts +3 -0
- package/dist/backend/llvm/checked-narrows.js +8 -1
- package/dist/backend/llvm/checked-narrows.js.map +1 -1
- package/dist/backend/llvm/class-unions.d.ts +21 -0
- package/dist/backend/llvm/class-unions.js +141 -0
- package/dist/backend/llvm/class-unions.js.map +1 -0
- package/dist/backend/llvm/class-unions.test.d.ts +1 -0
- package/dist/backend/llvm/class-unions.test.js +137 -0
- package/dist/backend/llvm/class-unions.test.js.map +1 -0
- package/dist/backend/llvm/classes.d.ts +46 -8
- package/dist/backend/llvm/classes.js +259 -32
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +4 -0
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +23 -0
- package/dist/backend/llvm/common.js +34 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +39 -0
- package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
- package/dist/backend/llvm/constant-choices.d.ts +32 -0
- package/dist/backend/llvm/constant-choices.js +209 -0
- package/dist/backend/llvm/constant-choices.js.map +1 -0
- package/dist/backend/llvm/constant-choices.test.d.ts +1 -0
- package/dist/backend/llvm/constant-choices.test.js +94 -0
- package/dist/backend/llvm/constant-choices.test.js.map +1 -0
- package/dist/backend/llvm/counted-loops.d.ts +14 -2
- package/dist/backend/llvm/counted-loops.js +60 -7
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/counted-loops.test.d.ts +1 -0
- package/dist/backend/llvm/counted-loops.test.js +34 -0
- package/dist/backend/llvm/counted-loops.test.js.map +1 -0
- package/dist/backend/llvm/cpu-dispatch.d.ts +26 -0
- package/dist/backend/llvm/cpu-dispatch.js +279 -0
- package/dist/backend/llvm/cpu-dispatch.js.map +1 -0
- package/dist/backend/llvm/dense-array-access.d.ts +13 -2
- package/dist/backend/llvm/dense-array-access.js +60 -6
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dyn-handle-tags.test.js +40 -14
- package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +28 -2
- package/dist/backend/llvm/dyn.js +176 -27
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +25 -3
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-journal.d.ts +1 -0
- package/dist/backend/llvm/emit-journal.js.map +1 -1
- package/dist/backend/llvm/emit-module.d.ts +5 -3
- package/dist/backend/llvm/emit-module.js +362 -74
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-statements.js +327 -59
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +223 -33
- package/dist/backend/llvm/emitter.js +713 -100
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +20 -1
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +32 -6
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +9 -1
- package/dist/backend/llvm/expr-bytes.js +105 -9
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.d.ts +1 -1
- package/dist/backend/llvm/expr-callbacks.js +29 -22
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +0 -4
- package/dist/backend/llvm/expr-calls.js +116 -14
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +77 -12
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +22 -0
- package/dist/backend/llvm/expr-control.d.ts +4 -0
- package/dist/backend/llvm/expr-control.js +485 -426
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +4 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +3 -3
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +6 -0
- package/dist/backend/llvm/expr-primitives.js +119 -58
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +11 -2
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.d.ts +36 -4
- package/dist/backend/llvm/expr-records.js +249 -37
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +124 -7
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +13 -14
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/frame-escapes.d.ts +11 -0
- package/dist/backend/llvm/frame-escapes.js +219 -0
- package/dist/backend/llvm/frame-escapes.js.map +1 -0
- package/dist/backend/llvm/function-layout.d.ts +15 -0
- package/dist/backend/llvm/function-layout.js +40 -0
- package/dist/backend/llvm/function-layout.js.map +1 -0
- package/dist/backend/llvm/heap-census.d.ts +34 -0
- package/dist/backend/llvm/heap-census.js +163 -0
- package/dist/backend/llvm/heap-census.js.map +1 -0
- package/dist/backend/llvm/inline-arrays.d.ts +41 -0
- package/dist/backend/llvm/inline-arrays.js +195 -0
- package/dist/backend/llvm/inline-arrays.js.map +1 -0
- package/dist/backend/llvm/int32-kind-loops.js +2 -0
- package/dist/backend/llvm/int32-kind-loops.js.map +1 -1
- package/dist/backend/llvm/integer-clones.d.ts +32 -5
- package/dist/backend/llvm/integer-clones.js +237 -44
- package/dist/backend/llvm/integer-clones.js.map +1 -1
- package/dist/backend/llvm/integer-clones.test.js +120 -0
- package/dist/backend/llvm/integer-clones.test.js.map +1 -1
- package/dist/backend/llvm/iterative-teardown.test.d.ts +1 -0
- package/dist/backend/llvm/iterative-teardown.test.js +62 -0
- package/dist/backend/llvm/iterative-teardown.test.js.map +1 -0
- package/dist/backend/llvm/js-ic.js +246 -62
- package/dist/backend/llvm/js-ic.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +1 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +2 -2
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +153 -16
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.d.ts +8 -0
- package/dist/backend/llvm/lib-filesystem.js +48 -4
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +4 -3
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +1 -1
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +15 -1
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +32 -8
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.d.ts +3 -0
- package/dist/backend/llvm/lib-shared.js +191 -28
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +1 -1
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +15 -1
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +1 -1
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-extents.d.ts +22 -0
- package/dist/backend/llvm/local-extents.js +102 -0
- package/dist/backend/llvm/local-extents.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.js +15 -2
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +1 -1
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/loop-callees.d.ts +21 -0
- package/dist/backend/llvm/loop-callees.js +119 -0
- package/dist/backend/llvm/loop-callees.js.map +1 -0
- package/dist/backend/llvm/loop-callees.test.d.ts +1 -0
- package/dist/backend/llvm/loop-callees.test.js +65 -0
- package/dist/backend/llvm/loop-callees.test.js.map +1 -0
- package/dist/backend/llvm/loop-entry-versions.d.ts +17 -0
- package/dist/backend/llvm/loop-entry-versions.js +185 -0
- package/dist/backend/llvm/loop-entry-versions.js.map +1 -0
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.test.js +13 -4
- package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.d.ts +11 -0
- package/dist/backend/llvm/map-read-lifetimes.js +51 -1
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +6 -3
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.d.ts +67 -10
- package/dist/backend/llvm/nullable-unions.js +218 -22
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.test.js +124 -1
- package/dist/backend/llvm/nullable-unions.test.js.map +1 -1
- package/dist/backend/llvm/periodic-guards.d.ts +16 -0
- package/dist/backend/llvm/periodic-guards.js +91 -0
- package/dist/backend/llvm/periodic-guards.js.map +1 -0
- package/dist/backend/llvm/periodic-guards.test.d.ts +1 -0
- package/dist/backend/llvm/periodic-guards.test.js +64 -0
- package/dist/backend/llvm/periodic-guards.test.js.map +1 -0
- package/dist/backend/llvm/publish.d.ts +12 -2
- package/dist/backend/llvm/publish.js +15 -8
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/rebound-parameters.d.ts +4 -1
- package/dist/backend/llvm/rebound-parameters.js +17 -1
- package/dist/backend/llvm/rebound-parameters.js.map +1 -1
- package/dist/backend/llvm/receivers.d.ts +7 -0
- package/dist/backend/llvm/receivers.js +77 -10
- package/dist/backend/llvm/receivers.js.map +1 -1
- package/dist/backend/llvm/record-union-keys.test.js +29 -0
- package/dist/backend/llvm/record-union-keys.test.js.map +1 -1
- package/dist/backend/llvm/record-views.d.ts +29 -0
- package/dist/backend/llvm/record-views.js +249 -0
- package/dist/backend/llvm/record-views.js.map +1 -0
- package/dist/backend/llvm/record-views.test.d.ts +1 -0
- package/dist/backend/llvm/record-views.test.js +118 -0
- package/dist/backend/llvm/record-views.test.js.map +1 -0
- package/dist/backend/llvm/reference-writes.js +21 -0
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/reference-writes.test.js +42 -0
- package/dist/backend/llvm/reference-writes.test.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.d.ts +5 -1
- package/dist/backend/llvm/regex-matchers.js +173 -21
- package/dist/backend/llvm/regex-matchers.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.test.js +39 -1
- package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
- package/dist/backend/llvm/region-groups.d.ts +67 -0
- package/dist/backend/llvm/region-groups.js +1719 -0
- package/dist/backend/llvm/region-groups.js.map +1 -0
- package/dist/backend/llvm/region-groups.test.d.ts +1 -0
- package/dist/backend/llvm/region-groups.test.js +197 -0
- package/dist/backend/llvm/region-groups.test.js.map +1 -0
- package/dist/backend/llvm/region-ir.d.ts +31 -0
- package/dist/backend/llvm/region-ir.js +256 -0
- package/dist/backend/llvm/region-ir.js.map +1 -0
- package/dist/backend/llvm/region-sites.d.ts +20 -0
- package/dist/backend/llvm/region-sites.js +327 -0
- package/dist/backend/llvm/region-sites.js.map +1 -0
- package/dist/backend/llvm/region-sites.test.d.ts +1 -0
- package/dist/backend/llvm/region-sites.test.js +216 -0
- package/dist/backend/llvm/region-sites.test.js.map +1 -0
- package/dist/backend/llvm/repr-report.d.ts +9 -0
- package/dist/backend/llvm/repr-report.js +143 -0
- package/dist/backend/llvm/repr-report.js.map +1 -0
- package/dist/backend/llvm/repr-report.test.d.ts +1 -0
- package/dist/backend/llvm/repr-report.test.js +62 -0
- package/dist/backend/llvm/repr-report.test.js.map +1 -0
- package/dist/backend/llvm/runtime-registries.test.d.ts +1 -0
- package/dist/backend/llvm/runtime-registries.test.js +88 -0
- package/dist/backend/llvm/runtime-registries.test.js.map +1 -0
- package/dist/backend/llvm/serialized-ir-emission.test.js +1 -0
- package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
- package/dist/backend/llvm/shape-union-tags.test.d.ts +1 -0
- package/dist/backend/llvm/shape-union-tags.test.js +75 -0
- package/dist/backend/llvm/shape-union-tags.test.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +60 -10
- package/dist/backend/llvm/shapes.js +233 -51
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +37 -18
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.d.ts +3 -0
- package/dist/backend/llvm/speculative-integers.js +20 -8
- package/dist/backend/llvm/speculative-integers.js.map +1 -1
- package/dist/backend/llvm/split.js +6 -1
- package/dist/backend/llvm/split.js.map +1 -1
- package/dist/backend/llvm/split.test.js +23 -0
- package/dist/backend/llvm/split.test.js.map +1 -1
- package/dist/backend/llvm/stack-callbacks.js +4 -2
- package/dist/backend/llvm/stack-callbacks.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +12 -3
- package/dist/backend/llvm/stack-objects.js +110 -22
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/stack-objects.test.js +144 -0
- package/dist/backend/llvm/stack-objects.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +24 -1
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.js +2 -1
- package/dist/backend/llvm/string-lifetimes.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +4 -0
- package/dist/backend/llvm/string-reads.js +27 -0
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/test-boxed-unions.d.ts +10 -8
- package/dist/backend/llvm/test-boxed-unions.js +20 -25
- package/dist/backend/llvm/test-boxed-unions.js.map +1 -1
- package/dist/backend/llvm/union-repr.js +9 -8
- package/dist/backend/llvm/union-repr.js.map +1 -1
- package/dist/backend/llvm/union-retype.test.js +45 -2
- package/dist/backend/llvm/union-retype.test.js.map +1 -1
- package/dist/backend/llvm/unwind-abi.d.ts +20 -8
- package/dist/backend/llvm/unwind-abi.js +177 -70
- package/dist/backend/llvm/unwind-abi.js.map +1 -1
- package/dist/backend/llvm/unwind-abi.test.js +90 -3
- package/dist/backend/llvm/unwind-abi.test.js.map +1 -1
- package/dist/backend/llvm/walk-borrows.d.ts +3 -2
- package/dist/backend/llvm/walk-borrows.js +2 -2
- package/dist/backend/llvm/walk-borrows.js.map +1 -1
- package/dist/backend/llvm/walk-borrows.test.js +18 -0
- package/dist/backend/llvm/walk-borrows.test.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +14 -1
- package/dist/backend/llvm/walkers.js +103 -11
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/llvm/wrapping-sums.d.ts +26 -6
- package/dist/backend/llvm/wrapping-sums.js +64 -12
- package/dist/backend/llvm/wrapping-sums.js.map +1 -1
- package/dist/backend/loop-polls.d.ts +4 -2
- package/dist/backend/loop-polls.js +11 -2
- package/dist/backend/loop-polls.js.map +1 -1
- package/dist/backend/mangle.d.ts +0 -5
- package/dist/backend/mangle.js +0 -9
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.d.ts +10 -9
- package/dist/backend/may-throw.js +189 -27
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +44 -7
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/compiler-fingerprint.d.ts +5 -0
- package/dist/backend/native/compiler-fingerprint.js +62 -16
- package/dist/backend/native/compiler-fingerprint.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +31 -8
- package/dist/backend/native/executable.js +56 -32
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +3 -4
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/object-merge.d.ts +3 -1
- package/dist/backend/native/object-merge.js +24 -11
- package/dist/backend/native/object-merge.js.map +1 -1
- package/dist/backend/native/program-shards.js +6 -3
- package/dist/backend/native/program-shards.js.map +1 -1
- package/dist/backend/native/runtime-inputs.d.ts +1 -1
- package/dist/backend/native/runtime-inputs.js +3 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native/vendor.d.ts +1 -1
- package/dist/backend/native-codegen-core.d.ts +15 -6
- package/dist/backend/native-codegen-core.js +20 -9
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.js +51 -5
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +82 -8
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +30 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-profile.d.ts +68 -4
- package/dist/backend/native-profile.js +86 -14
- package/dist/backend/native-profile.js.map +1 -1
- package/dist/backend/native-profile.test.js +127 -4
- package/dist/backend/native-profile.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +1 -1
- package/dist/backend/native-toolchain.js +1 -1
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +58 -4
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/native-tools.d.ts +17 -3
- package/dist/backend/native-tools.js +12 -4
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/native-tools.test.d.ts +1 -0
- package/dist/backend/native-tools.test.js +76 -0
- package/dist/backend/native-tools.test.js.map +1 -0
- package/dist/backend/object-localize.js +69 -9
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +99 -10
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/backend/publication.d.ts +2 -0
- package/dist/backend/publication.js +4 -0
- package/dist/backend/publication.js.map +1 -1
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-pack-core.d.ts +19 -0
- package/dist/backend/runtime-pack-core.js +23 -3
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +1 -1
- package/dist/backend/runtime-pack.test.js +48 -2
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-cpu.d.ts +2 -0
- package/dist/backend/target-cpu.js +4 -0
- package/dist/backend/target-cpu.js.map +1 -1
- package/dist/backend/target-diagnostics.js +1 -19
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +1 -1
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/backend/targets.d.ts +28 -0
- package/dist/backend/targets.js +70 -0
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +75 -1
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/vendor-archives.d.ts +1 -1
- package/dist/backend/vendor-archives.js +25 -12
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +15 -2
- package/dist/backend/vendor-inputs.js +59 -3
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/vendor-inputs.test.d.ts +1 -0
- package/dist/backend/vendor-inputs.test.js +74 -0
- package/dist/backend/vendor-inputs.test.js.map +1 -0
- package/dist/cli/command.js +95 -5
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/host.d.ts +3 -0
- package/dist/cli/output-options.d.ts +3 -0
- package/dist/cli/output-options.js +8 -2
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/usage.d.ts +28 -1
- package/dist/cli/usage.js +56 -6
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.d.ts +3 -0
- package/dist/compat/fetch-profile.js +23 -3
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +45 -0
- package/dist/contracts/check.js +70 -2
- package/dist/contracts/check.js.map +1 -1
- package/dist/contracts/int32-elements.d.ts +2 -1
- package/dist/contracts/int32-elements.js.map +1 -1
- package/dist/coverage/report.d.ts +5 -1
- package/dist/coverage/report.js +83 -2
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +2 -0
- package/dist/coverage/verdict-cache.js +5 -10
- package/dist/coverage/verdict-cache.js.map +1 -1
- package/dist/diagnostics/codes.d.ts +145 -0
- package/dist/diagnostics/codes.js +159 -0
- package/dist/diagnostics/codes.js.map +1 -0
- package/dist/diagnostics/codes.test.d.ts +1 -0
- package/dist/diagnostics/codes.test.js +78 -0
- package/dist/diagnostics/codes.test.js.map +1 -0
- package/dist/diagnostics/diagnostic.d.ts +101 -2
- package/dist/diagnostics/diagnostic.js +155 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/dynamic-slots.d.ts +23 -0
- package/dist/diagnostics/dynamic-slots.js +29 -0
- package/dist/diagnostics/dynamic-slots.js.map +1 -0
- package/dist/diagnostics/dynamic-tier.d.ts +6 -0
- package/dist/diagnostics/dynamic-tier.js +8 -1
- package/dist/diagnostics/dynamic-tier.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +43 -1
- package/dist/diagnostics/envelope.js +19 -1
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/diagnostics/envelope.test.js.map +1 -1
- package/dist/diagnostics/render.d.ts +3 -1
- package/dist/diagnostics/render.js +27 -6
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +41 -0
- package/dist/executable/executable-cache.js +39 -1
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +4 -1
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.d.ts +2 -1
- package/dist/executable/prepare.js +421 -10
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +1 -0
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/canon-map.d.ts +17 -0
- package/dist/frontend/canon-map.js +177 -0
- package/dist/frontend/canon-map.js.map +1 -0
- package/dist/frontend/canon.d.ts +122 -0
- package/dist/frontend/canon.js +462 -0
- package/dist/frontend/canon.js.map +1 -0
- package/dist/frontend/contract-types.d.ts +9 -1
- package/dist/frontend/contract-types.js +46 -4
- package/dist/frontend/contract-types.js.map +1 -1
- package/dist/frontend/decl-projection.d.ts +3 -0
- package/dist/frontend/decl-projection.js +121 -3
- package/dist/frontend/decl-projection.js.map +1 -1
- package/dist/frontend/dts-paths.d.ts +17 -4
- package/dist/frontend/dts-paths.js +149 -5
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/fork-target.js +4 -4
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/fork-target.test.js +3 -3
- package/dist/frontend/fork-target.test.js.map +1 -1
- package/dist/frontend/heritage-elements.d.ts +15 -0
- package/dist/frontend/heritage-elements.js +18 -0
- package/dist/frontend/heritage-elements.js.map +1 -0
- package/dist/frontend/heritage-elements.test.d.ts +1 -0
- package/dist/frontend/heritage-elements.test.js +68 -0
- package/dist/frontend/heritage-elements.test.js.map +1 -0
- package/dist/frontend/input-tracker.d.ts +20 -0
- package/dist/frontend/input-tracker.js +74 -4
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +66 -0
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lowering/any-collection-residue.d.ts +9 -0
- package/dist/frontend/lowering/any-collection-residue.js +42 -0
- package/dist/frontend/lowering/any-collection-residue.js.map +1 -0
- package/dist/frontend/lowering/array-values.d.ts +44 -2
- package/dist/frontend/lowering/array-values.js +193 -3
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtin-namespaces.d.ts +6 -2
- package/dist/frontend/lowering/builtin-namespaces.js +28 -6
- package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
- package/dist/frontend/lowering/builtins/array-classes.d.ts +69 -0
- package/dist/frontend/lowering/builtins/array-classes.js +729 -0
- package/dist/frontend/lowering/builtins/array-classes.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +4 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.js +34 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/disposable-stack.js +1 -3
- package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -1
- package/dist/frontend/lowering/builtins/errors.d.ts +13 -9
- package/dist/frontend/lowering/builtins/errors.js +136 -56
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +85 -4
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.d.ts +11 -6
- package/dist/frontend/lowering/builtins/filesystem.js +270 -24
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +7 -1
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/mime.d.ts +25 -0
- package/dist/frontend/lowering/builtins/mime.js +167 -0
- package/dist/frontend/lowering/builtins/mime.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +3 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +6 -0
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +79 -12
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +7 -4
- package/dist/frontend/lowering/builtins/module-resolution.js +115 -13
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/navigator.d.ts +3 -1
- package/dist/frontend/lowering/builtins/navigator.js +22 -8
- package/dist/frontend/lowering/builtins/navigator.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.js +49 -9
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +18 -3
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/promisify-callback.d.ts +6 -2
- package/dist/frontend/lowering/builtins/promisify-callback.js +19 -6
- package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -1
- package/dist/frontend/lowering/builtins/properties.js +23 -5
- package/dist/frontend/lowering/builtins/properties.js.map +1 -1
- package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +42 -0
- package/dist/frontend/lowering/builtins/web-streams-dyn.js +321 -0
- package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -0
- package/dist/frontend/lowering/builtins/x509.js +35 -5
- package/dist/frontend/lowering/builtins/x509.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.d.ts +14 -1
- package/dist/frontend/lowering/call-arguments.js +84 -70
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.js +108 -24
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/class-attributes.js +6 -5
- package/dist/frontend/lowering/class-attributes.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +40 -19
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-protocol-dispatch.js +4 -0
- package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.d.ts +61 -1
- package/dist/frontend/lowering/class-protocols.js +297 -21
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-to-primitive.d.ts +3 -2
- package/dist/frontend/lowering/class-to-primitive.js +15 -5
- package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
- package/dist/frontend/lowering/coercions/asserted.d.ts +16 -0
- package/dist/frontend/lowering/coercions/asserted.js +79 -0
- package/dist/frontend/lowering/coercions/asserted.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +13 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +70 -3
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +23 -0
- package/dist/frontend/lowering/coercions/state.js +9 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +67 -1
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.d.ts +10 -0
- package/dist/frontend/lowering/coercions/structural.js +134 -4
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +11 -0
- package/dist/frontend/lowering/coercions/unions.js +83 -4
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/completion-callbacks.js +3 -2
- package/dist/frontend/lowering/completion-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +10 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +224 -81
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-concat.d.ts +5 -2
- package/dist/frontend/lowering/containers/array-concat.js +76 -7
- package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.d.ts +9 -4
- package/dist/frontend/lowering/containers/array-construction.js +112 -100
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +193 -45
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.d.ts +3 -0
- package/dist/frontend/lowering/containers/array-pipelines.js +81 -13
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +1 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +28 -2
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +13 -3
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/filter-predicates.js +34 -3
- package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +34 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +131 -72
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.js +43 -6
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/decl-origin.d.ts +49 -0
- package/dist/frontend/lowering/decl-origin.js +402 -0
- package/dist/frontend/lowering/decl-origin.js.map +1 -0
- package/dist/frontend/lowering/deferred-module-initializers.d.ts +2 -0
- package/dist/frontend/lowering/deferred-module-initializers.js +7 -0
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/divergences.js +5 -0
- package/dist/frontend/lowering/divergences.js.map +1 -1
- package/dist/frontend/lowering/dynamic-tier.d.ts +8 -2
- package/dist/frontend/lowering/dynamic-tier.js +111 -3
- package/dist/frontend/lowering/dynamic-tier.js.map +1 -1
- package/dist/frontend/lowering/expressions/array-literals.d.ts +14 -1
- package/dist/frontend/lowering/expressions/array-literals.js +43 -5
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/asserted-receiver.d.ts +48 -0
- package/dist/frontend/lowering/expressions/asserted-receiver.js +233 -0
- package/dist/frontend/lowering/expressions/asserted-receiver.js.map +1 -0
- package/dist/frontend/lowering/expressions/binary.js +136 -1
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.d.ts +7 -0
- package/dist/frontend/lowering/expressions/element-access.js +363 -12
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/identifiers.d.ts +3 -0
- package/dist/frontend/lowering/expressions/identifiers.js +78 -62
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
- package/dist/frontend/lowering/expressions/message-listeners.d.ts +3 -0
- package/dist/frontend/lowering/expressions/message-listeners.js +19 -0
- package/dist/frontend/lowering/expressions/message-listeners.js.map +1 -0
- package/dist/frontend/lowering/expressions/narrowing.js +224 -6
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +5 -2
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +282 -24
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +15 -3
- package/dist/frontend/lowering/expressions/property-access.js +397 -74
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.js +202 -70
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/typeof.js +9 -1
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-fields.d.ts +28 -8
- package/dist/frontend/lowering/expressions/union-fields.js +168 -14
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/frozen-records.d.ts +8 -0
- package/dist/frontend/lowering/frozen-records.js +56 -9
- package/dist/frontend/lowering/frozen-records.js.map +1 -1
- package/dist/frontend/lowering/function-context.d.ts +3 -0
- package/dist/frontend/lowering/function-context.js +4 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.d.ts +4 -0
- package/dist/frontend/lowering/function-returns.js +231 -2
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/generator-delegation.js +3 -2
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +26 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +294 -2
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +10 -0
- package/dist/frontend/lowering/generic-functions.js +67 -7
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/global-values.d.ts +37 -0
- package/dist/frontend/lowering/global-values.js +395 -0
- package/dist/frontend/lowering/global-values.js.map +1 -0
- package/dist/frontend/lowering/handle-properties.js +3 -2
- package/dist/frontend/lowering/handle-properties.js.map +1 -1
- package/dist/frontend/lowering/handle-properties.test.d.ts +1 -0
- package/dist/frontend/lowering/handle-properties.test.js +25 -0
- package/dist/frontend/lowering/handle-properties.test.js.map +1 -0
- package/dist/frontend/lowering/import-meta.d.ts +3 -0
- package/dist/frontend/lowering/import-meta.js +8 -3
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/iterator-adapters.js +3 -3
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/key-order-witness.d.ts +2 -0
- package/dist/frontend/lowering/key-order-witness.js +10 -0
- package/dist/frontend/lowering/key-order-witness.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +5 -1
- package/dist/frontend/lowering/lower-array-sort.js +16 -2
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +7 -0
- package/dist/frontend/lowering/lower-builtin-values.js +65 -16
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +222 -24
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +6 -0
- package/dist/frontend/lowering/lower-classes.js +154 -20
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-console.js +25 -2
- package/dist/frontend/lowering/lower-console.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +29 -0
- package/dist/frontend/lowering/lower-exprs.js +544 -24
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +93 -18
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.d.ts +4 -1
- package/dist/frontend/lowering/lower-global-value.js +10 -3
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +44 -4
- package/dist/frontend/lowering/lower-inspect.js +723 -26
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +3 -1
- package/dist/frontend/lowering/lower-modules.js +189 -24
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +7 -0
- package/dist/frontend/lowering/lower-namespaces.js +23 -0
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-island.d.ts +74 -0
- package/dist/frontend/lowering/lower-node-island.js +1931 -0
- package/dist/frontend/lowering/lower-node-island.js.map +1 -0
- package/dist/frontend/lowering/lower-server.js +44 -0
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-shared-modules.d.ts +27 -0
- package/dist/frontend/lowering/lower-shared-modules.js +611 -0
- package/dist/frontend/lowering/lower-shared-modules.js.map +1 -0
- package/dist/frontend/lowering/lower-stdlib.js +85 -9
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +2 -6
- package/dist/frontend/lowering/lower-stmts.js +781 -143
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +548 -36
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +9 -0
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +514 -10
- package/dist/frontend/lowering/lowerer.js +2667 -163
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +44 -1
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/maybe-promise.d.ts +6 -0
- package/dist/frontend/lowering/maybe-promise.js +13 -0
- package/dist/frontend/lowering/maybe-promise.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.d.ts +12 -0
- package/dist/frontend/lowering/module-namespace-elements.js +114 -18
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +11 -0
- package/dist/frontend/lowering/nan-coded-reads.js +45 -2
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/narrowing-stability.d.ts +4 -0
- package/dist/frontend/lowering/narrowing-stability.js +14 -6
- package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
- package/dist/frontend/lowering/receiver-returns.d.ts +3 -0
- package/dist/frontend/lowering/receiver-returns.js +134 -0
- package/dist/frontend/lowering/receiver-returns.js.map +1 -0
- package/dist/frontend/lowering/record-inherited.d.ts +26 -0
- package/dist/frontend/lowering/record-inherited.js +807 -0
- package/dist/frontend/lowering/record-inherited.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-elements.d.ts +31 -1
- package/dist/frontend/lowering/runtime-optional-elements.js +105 -13
- package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.d.ts +3 -0
- package/dist/frontend/lowering/runtime-optional-guards.js +35 -7
- package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js +59 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
- package/dist/frontend/lowering/stable-names.d.ts +8 -0
- package/dist/frontend/lowering/stable-names.js +22 -0
- package/dist/frontend/lowering/stable-names.js.map +1 -1
- package/dist/frontend/lowering/stable-names.test.d.ts +1 -0
- package/dist/frontend/lowering/stable-names.test.js +16 -0
- package/dist/frontend/lowering/stable-names.test.js.map +1 -0
- package/dist/frontend/lowering/static-typeof.d.ts +5 -4
- package/dist/frontend/lowering/static-typeof.js +10 -4
- package/dist/frontend/lowering/static-typeof.js.map +1 -1
- package/dist/frontend/lowering/structural-instances.d.ts +22 -0
- package/dist/frontend/lowering/structural-instances.js +282 -0
- package/dist/frontend/lowering/structural-instances.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +3 -0
- package/dist/frontend/lowering/surfaces.js +108 -12
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
- package/dist/frontend/lowering/symbol-fields.js +32 -0
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/type-failure.d.ts +17 -0
- package/dist/frontend/lowering/type-failure.js +163 -0
- package/dist/frontend/lowering/type-failure.js.map +1 -0
- package/dist/frontend/lowering/typed-arguments.d.ts +5 -6
- package/dist/frontend/lowering/typed-arguments.js +10 -2
- package/dist/frontend/lowering/typed-arguments.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.d.ts +9 -1
- package/dist/frontend/lowering/union-narrow.js +31 -2
- package/dist/frontend/lowering/union-narrow.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +42 -2
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/unit-journal.d.ts +194 -0
- package/dist/frontend/lowering/unit-journal.js +556 -0
- package/dist/frontend/lowering/unit-journal.js.map +1 -0
- package/dist/frontend/lowering/unit-journal.test.d.ts +1 -0
- package/dist/frontend/lowering/unit-journal.test.js +335 -0
- package/dist/frontend/lowering/unit-journal.test.js.map +1 -0
- package/dist/frontend/lowering/width-lift.d.ts +19 -0
- package/dist/frontend/node-api-import.d.ts +21 -0
- package/dist/frontend/node-api-import.js +88 -0
- package/dist/frontend/node-api-import.js.map +1 -0
- package/dist/frontend/npm-static-type-exports-host.js +4 -3
- package/dist/frontend/npm-static-type-exports-host.js.map +1 -1
- package/dist/frontend/npm-static.js +9 -2
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/package-shims.d.ts +6 -2
- package/dist/frontend/package-shims.js +13 -2
- package/dist/frontend/package-shims.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +11 -4
- package/dist/frontend/pipeline.js +249 -26
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/process-fork.d.ts +3 -0
- package/dist/frontend/process-fork.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +6 -0
- package/dist/frontend/program-analysis.js +4 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program.d.ts +12 -1
- package/dist/frontend/program.js +256 -36
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/resolve.js +8 -2
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/shape-inference/analyze.d.ts +23 -1
- package/dist/frontend/shape-inference/analyze.js +982 -97
- package/dist/frontend/shape-inference/analyze.js.map +1 -1
- package/dist/frontend/shape-inference/constant-graphs.d.ts +2 -0
- package/dist/frontend/shape-inference/constant-graphs.js +39 -4
- package/dist/frontend/shape-inference/constant-graphs.js.map +1 -1
- package/dist/frontend/shape-inference/domain.d.ts +2 -0
- package/dist/frontend/shape-inference/domain.js.map +1 -1
- package/dist/frontend/shape-inference/fallback.d.ts +17 -0
- package/dist/frontend/shape-inference/fallback.js +303 -0
- package/dist/frontend/shape-inference/fallback.js.map +1 -0
- package/dist/frontend/shape-inference/index.d.ts +75 -1
- package/dist/frontend/shape-inference/index.js +531 -2
- package/dist/frontend/shape-inference/index.js.map +1 -1
- package/dist/frontend/shape-inference/inferred-checks.d.ts +2 -0
- package/dist/frontend/shape-inference/inferred-checks.js +90 -0
- package/dist/frontend/shape-inference/inferred-checks.js.map +1 -0
- package/dist/frontend/shape-inference/memo.d.ts +30 -0
- package/dist/frontend/shape-inference/memo.js +99 -0
- package/dist/frontend/shape-inference/memo.js.map +1 -0
- package/dist/frontend/shape-inference/overlay.d.ts +81 -0
- package/dist/frontend/shape-inference/overlay.js +1160 -0
- package/dist/frontend/shape-inference/overlay.js.map +1 -0
- package/dist/frontend/shape-inference/registry.test.d.ts +1 -0
- package/dist/frontend/shape-inference/registry.test.js +34 -0
- package/dist/frontend/shape-inference/registry.test.js.map +1 -0
- package/dist/frontend/shape-inference/report.js +42 -8
- package/dist/frontend/shape-inference/report.js.map +1 -1
- package/dist/frontend/shape-inference/static-objects.d.ts +29 -0
- package/dist/frontend/shape-inference/static-objects.js +1951 -0
- package/dist/frontend/shape-inference/static-objects.js.map +1 -0
- package/dist/frontend/tier-analysis.d.ts +53 -1
- package/dist/frontend/tier-analysis.js +133 -0
- package/dist/frontend/tier-analysis.js.map +1 -1
- package/dist/frontend/ts7/api.js +4 -2
- package/dist/frontend/ts7/api.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +9 -0
- package/dist/frontend/ts7/ast-node.js +42 -10
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +23 -0
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-wire-protocols.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-wire-protocols.test.js +93 -0
- package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -0
- package/dist/frontend/ts7/ast-wire.d.ts +18 -0
- package/dist/frontend/ts7/ast-wire.js +66 -4
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/checker-server.d.ts +12 -11
- package/dist/frontend/ts7/checker-server.js +28 -12
- package/dist/frontend/ts7/checker-server.js.map +1 -1
- package/dist/frontend/ts7/checker-server.test.js +8 -3
- package/dist/frontend/ts7/checker-server.test.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +4 -0
- package/dist/frontend/ts7/checker.js +9 -0
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +216 -205
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/lib-diagnostics.d.ts +71 -4
- package/dist/frontend/ts7/lib-diagnostics.js +337 -20
- package/dist/frontend/ts7/lib-diagnostics.js.map +1 -1
- package/dist/frontend/ts7/lib-diagnostics.test.js +268 -5
- package/dist/frontend/ts7/lib-diagnostics.test.js.map +1 -1
- package/dist/frontend/ts7/native-api.d.ts +4 -0
- package/dist/frontend/ts7/native-api.js +36 -1
- package/dist/frontend/ts7/native-api.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +19 -2
- package/dist/frontend/ts7/program-host.js +69 -9
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +42 -1
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.d.ts +4 -2
- package/dist/frontend/ts7/rpc-filesystem.js +23 -2
- package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.test.js +28 -2
- package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.js +73 -5
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +106 -74
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.d.ts +2 -6
- package/dist/frontend/ts7/semantic-model-71.test.d.ts +1 -0
- package/dist/frontend/ts7/semantic-model-71.test.js +131 -0
- package/dist/frontend/ts7/semantic-model-71.test.js.map +1 -0
- package/dist/frontend/ts7/semantic-model.d.ts +121 -3
- package/dist/frontend/ts7/semantic-model.js +245 -8
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +19 -1
- package/dist/frontend/ts7/session.js +111 -11
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +259 -239
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/test-servers.d.ts +12 -0
- package/dist/frontend/ts7/test-servers.js +16 -0
- package/dist/frontend/ts7/test-servers.js.map +1 -0
- package/dist/frontend/tsc-codes.js +6 -3
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +61 -1
- package/dist/frontend/type-mapper.js +577 -28
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-patches/command.d.ts +19 -0
- package/dist/frontend/type-patches/command.js +352 -0
- package/dist/frontend/type-patches/command.js.map +1 -0
- package/dist/frontend/type-patches/layer.d.ts +45 -0
- package/dist/frontend/type-patches/layer.js +409 -0
- package/dist/frontend/type-patches/layer.js.map +1 -0
- package/dist/frontend/type-patches/locate.d.ts +41 -0
- package/dist/frontend/type-patches/locate.js +914 -0
- package/dist/frontend/type-patches/locate.js.map +1 -0
- package/dist/frontend/type-patches/locate.test.d.ts +1 -0
- package/dist/frontend/type-patches/locate.test.js +179 -0
- package/dist/frontend/type-patches/locate.test.js.map +1 -0
- package/dist/frontend/type-patches/selector.d.ts +43 -0
- package/dist/frontend/type-patches/selector.js +126 -0
- package/dist/frontend/type-patches/selector.js.map +1 -0
- package/dist/frontend/type-patches/selector.test.d.ts +1 -0
- package/dist/frontend/type-patches/selector.test.js +56 -0
- package/dist/frontend/type-patches/selector.test.js.map +1 -0
- package/dist/frontend/type-patches/semver.d.ts +19 -0
- package/dist/frontend/type-patches/semver.js +221 -0
- package/dist/frontend/type-patches/semver.js.map +1 -0
- package/dist/frontend/type-patches/semver.test.d.ts +1 -0
- package/dist/frontend/type-patches/semver.test.js +47 -0
- package/dist/frontend/type-patches/semver.test.js.map +1 -0
- package/dist/frontend/worker-target.test.js +2 -2
- package/dist/frontend/worker-target.test.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +292 -27
- package/dist/index.js.map +1 -1
- package/dist/ir/builtin-effects.js +51 -5
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +4 -3
- package/dist/ir/builtin-signatures.js +277 -12
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/callback-specialization.js +108 -67
- package/dist/ir/callback-specialization.js.map +1 -1
- package/dist/ir/capture-values.d.ts +7 -1
- package/dist/ir/capture-values.js +28 -5
- package/dist/ir/capture-values.js.map +1 -1
- package/dist/ir/char-unit-locals.js +38 -42
- package/dist/ir/char-unit-locals.js.map +1 -1
- package/dist/ir/expression-inlining.js +12 -6
- package/dist/ir/expression-inlining.js.map +1 -1
- package/dist/ir/fields.generated.d.ts +751 -0
- package/dist/ir/fields.generated.js +2071 -0
- package/dist/ir/fields.generated.js.map +1 -0
- package/dist/ir/fields.test.d.ts +1 -0
- package/dist/ir/fields.test.js +113 -0
- package/dist/ir/fields.test.js.map +1 -0
- package/dist/ir/function-references.js +4 -0
- package/dist/ir/function-references.js.map +1 -1
- package/dist/ir/function-references.test.js +25 -0
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/inline-array-sources.d.ts +15 -0
- package/dist/ir/inline-array-sources.js +1825 -0
- package/dist/ir/inline-array-sources.js.map +1 -0
- package/dist/ir/inline-arrays.d.ts +41 -0
- package/dist/ir/inline-arrays.js +533 -0
- package/dist/ir/inline-arrays.js.map +1 -0
- package/dist/ir/inline-arrays.test.d.ts +1 -0
- package/dist/ir/inline-arrays.test.js +225 -0
- package/dist/ir/inline-arrays.test.js.map +1 -0
- package/dist/ir/int32-slots.d.ts +6 -0
- package/dist/ir/int32-slots.js +154 -16
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +48 -0
- package/dist/ir/int32-slots.test.js.map +1 -1
- package/dist/ir/integer-loops.d.ts +12 -0
- package/dist/ir/integer-loops.js +23 -0
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +7 -1
- package/dist/ir/integer-ranges.js +29 -2
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/intrinsic-signatures.js +2 -1
- package/dist/ir/intrinsic-signatures.js.map +1 -1
- package/dist/ir/ir.d.ts +103 -5
- package/dist/ir/ir.js +38 -4
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +134 -1
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/jsval.js +211 -29
- package/dist/ir/jsval.js.map +1 -1
- package/dist/ir/jsval.test.js +120 -0
- package/dist/ir/jsval.test.js.map +1 -1
- package/dist/ir/loop-entry-ranges.d.ts +38 -0
- package/dist/ir/loop-entry-ranges.js +259 -0
- package/dist/ir/loop-entry-ranges.js.map +1 -0
- package/dist/ir/loop-entry-ranges.test.d.ts +1 -0
- package/dist/ir/loop-entry-ranges.test.js +191 -0
- package/dist/ir/loop-entry-ranges.test.js.map +1 -0
- package/dist/ir/node-index.d.ts +3 -0
- package/dist/ir/node-index.js +6 -0
- package/dist/ir/node-index.js.map +1 -1
- package/dist/ir/numeric-call-specialization.d.ts +9 -6
- package/dist/ir/numeric-call-specialization.js +164 -34
- package/dist/ir/numeric-call-specialization.js.map +1 -1
- package/dist/ir/paired-while-loops.js +23 -19
- package/dist/ir/paired-while-loops.js.map +1 -1
- package/dist/ir/parameter-versions.js +6 -3
- package/dist/ir/parameter-versions.js.map +1 -1
- package/dist/ir/receiver-readers.d.ts +10 -0
- package/dist/ir/receiver-readers.js +65 -28
- package/dist/ir/receiver-readers.js.map +1 -1
- package/dist/ir/row-pairs.d.ts +9 -1
- package/dist/ir/row-pairs.js +136 -43
- package/dist/ir/row-pairs.js.map +1 -1
- package/dist/ir/row-pairs.test.js +25 -5
- package/dist/ir/row-pairs.test.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +33 -1
- package/dist/ir/runtime-features.js +104 -6
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/runtime-features.test.js +13 -0
- package/dist/ir/runtime-features.test.js.map +1 -1
- package/dist/ir/saturating-loop-jams.d.ts +24 -0
- package/dist/ir/saturating-loop-jams.js +420 -0
- package/dist/ir/saturating-loop-jams.js.map +1 -0
- package/dist/ir/saturating-loop-jams.test.d.ts +1 -0
- package/dist/ir/saturating-loop-jams.test.js +196 -0
- package/dist/ir/saturating-loop-jams.test.js.map +1 -0
- package/dist/ir/scalar-records.js +9 -3
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/self-captures.js +2 -1
- package/dist/ir/self-captures.js.map +1 -1
- package/dist/ir/serialize.d.ts +5 -1
- package/dist/ir/serialize.js +7 -1
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/traverse.js +3 -0
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/validate.js +91 -9
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/ir-policy.js +1 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/native/cache.js +2 -0
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cli.js +54 -7
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.d.ts +3 -0
- package/dist/native/compiler.js +173 -36
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +86 -3
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/executable-cache.d.ts +20 -2
- package/dist/native/executable-cache.js +17 -10
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/executable-cache.test.js +38 -1
- package/dist/native/executable-cache.test.js.map +1 -1
- package/dist/native/linker-job.d.ts +71 -0
- package/dist/native/linker-job.js +242 -0
- package/dist/native/linker-job.js.map +1 -0
- package/dist/native/linker-job.test.d.ts +1 -0
- package/dist/native/linker-job.test.js +349 -0
- package/dist/native/linker-job.test.js.map +1 -0
- package/dist/native/prepare.js +15 -2
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.js +10 -15
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +152 -66
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/toolchain.d.ts +11 -2
- package/dist/native/toolchain.js +43 -17
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +75 -0
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/node-islands/boundary.d.ts +37 -0
- package/dist/node-islands/boundary.js +135 -0
- package/dist/node-islands/boundary.js.map +1 -0
- package/dist/node-islands/classify.js +1 -1
- package/dist/node-islands/classify.js.map +1 -1
- package/dist/node-islands/effect-gate.d.ts +11 -0
- package/dist/node-islands/effect-gate.js +746 -0
- package/dist/node-islands/effect-gate.js.map +1 -0
- package/dist/node-islands/effect-gate.test.d.ts +1 -0
- package/dist/node-islands/effect-gate.test.js +152 -0
- package/dist/node-islands/effect-gate.test.js.map +1 -0
- package/dist/node-islands/libnode-pack.d.ts +68 -0
- package/dist/node-islands/libnode-pack.js +199 -0
- package/dist/node-islands/libnode-pack.js.map +1 -0
- package/dist/node-islands/libnode-pack.test.d.ts +1 -0
- package/dist/node-islands/libnode-pack.test.js +258 -0
- package/dist/node-islands/libnode-pack.test.js.map +1 -0
- package/dist/node-islands/libnode.d.ts +32 -0
- package/dist/node-islands/libnode.js +212 -0
- package/dist/node-islands/libnode.js.map +1 -0
- package/dist/node-islands/libnode.test.d.ts +1 -0
- package/dist/node-islands/libnode.test.js +170 -0
- package/dist/node-islands/libnode.test.js.map +1 -0
- package/dist/node-islands/modules.d.ts +96 -0
- package/dist/node-islands/modules.js +803 -0
- package/dist/node-islands/modules.js.map +1 -0
- package/dist/node-islands/modules.test.d.ts +1 -0
- package/dist/node-islands/modules.test.js +276 -0
- package/dist/node-islands/modules.test.js.map +1 -0
- package/dist/node-islands/resolve.d.ts +8 -0
- package/dist/node-islands/resolve.js +10 -0
- package/dist/node-islands/resolve.js.map +1 -0
- package/dist/node-islands/snapshot.d.ts +16 -0
- package/dist/node-islands/snapshot.js +486 -0
- package/dist/node-islands/snapshot.js.map +1 -0
- package/dist/node-islands/snapshot.test.d.ts +1 -0
- package/dist/node-islands/snapshot.test.js +56 -0
- package/dist/node-islands/snapshot.test.js.map +1 -0
- package/dist/project-config.d.ts +37 -1
- package/dist/project-config.js +159 -7
- package/dist/project-config.js.map +1 -1
- package/dist/project-config.test.js +153 -0
- package/dist/project-config.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -0
- package/dist/startup-cache.js +1 -0
- package/dist/startup-cache.js.map +1 -1
- package/package.json +24 -21
- package/surface-manifest.json +47 -7
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import type { TargetCpu } from "../target-cpu.js";
|
|
2
|
+
import type { FunctionLayout } from "./function-layout.js";
|
|
3
|
+
import type { CompilationTiming } from "../../timing.js";
|
|
4
|
+
import { type FrameEscapes } from "./frame-escapes.js";
|
|
2
5
|
import { JsIcSites } from "../../ir/js-ic.js";
|
|
3
6
|
import { type ArraySearchKind } from "./array-search.js";
|
|
4
7
|
import type { IrBytesElem, IrExpr, IrFfiCallbackParam, IrFfiImport, IrFunction, IrGlobal, IrLocal, IrModule, IrRecordShape, IrStmt, IrType, IrUnionDef, SrcLoc } from "../../ir/ir.js";
|
|
5
8
|
import { type RuntimeFeatures } from "../../ir/runtime-features.js";
|
|
6
9
|
import { matchBytesLoopVersion } from "./bytes-loop-versions.js";
|
|
10
|
+
import type { BytesHeaderScope } from "./bytes-headers.js";
|
|
7
11
|
import type { IntegerCountedForLoop, IntegerPairedForLoop } from "../../ir/integer-loops.js";
|
|
8
12
|
import { type SplitSpan, type StoredSplitSnapshot } from "./split-loops.js";
|
|
9
13
|
import { type ChunkResult, EmitJournal } from "./emit-journal.js";
|
|
14
|
+
import { type InlineArrayPlan } from "../../ir/inline-arrays.js";
|
|
10
15
|
import { type IntegerRange, type IntegerRanges } from "../../ir/integer-ranges.js";
|
|
11
16
|
import { type DynamicFieldStores, Int32Slots } from "../../ir/int32-slots.js";
|
|
12
17
|
import { type FinalFields } from "../../ir/final-fields.js";
|
|
13
18
|
import { type Int32Abi } from "./int32-abi.js";
|
|
14
19
|
import { type Int32Local } from "./int32-locals.js";
|
|
15
|
-
import { type IntegerClones } from "./integer-clones.js";
|
|
20
|
+
import { type CloneReferences, type IntegerClones } from "./integer-clones.js";
|
|
21
|
+
import { type HeapCensus } from "./heap-census.js";
|
|
16
22
|
import { findInitializerBindings } from "../../ir/initializer-bindings.js";
|
|
17
23
|
import { type ConstantNumericTable } from "../../ir/constant-tables.js";
|
|
18
24
|
import { type FfiCallbackAdapter } from "../ffi-callbacks.js";
|
|
@@ -40,8 +46,10 @@ import { StackCaptures } from "./stack-captures.js";
|
|
|
40
46
|
import { PublishWalkers } from "./publish.js";
|
|
41
47
|
import { type PublishedTypes } from "../publication.js";
|
|
42
48
|
import { type BytesThunkValue } from "./expr-stream-callbacks.js";
|
|
43
|
-
import { type LlClassMeta } from "./classes.js";
|
|
49
|
+
import { type LlClassMeta, type LlInlineTail } from "./classes.js";
|
|
44
50
|
import { LifetimeRegions } from "./regions.js";
|
|
51
|
+
import { type ArenaPlan } from "./arenas.js";
|
|
52
|
+
import { type Node } from "./region-ir.js";
|
|
45
53
|
import { LlDyn, type DynHost } from "./dyn.js";
|
|
46
54
|
import { LlWalkers } from "./walkers.js";
|
|
47
55
|
import { NullableUnions } from "./nullable-unions.js";
|
|
@@ -64,6 +72,9 @@ export interface LlScopeEntry {
|
|
|
64
72
|
slot: string;
|
|
65
73
|
type: IrType;
|
|
66
74
|
boxed?: boolean;
|
|
75
|
+
/** A group arena list slot (arenas.ts), dropped after the scope's other
|
|
76
|
+
* entries. */
|
|
77
|
+
arena?: boolean;
|
|
67
78
|
/** A lazily created box: the slot stays null on paths that build no
|
|
68
79
|
* environment, which skip the release call. */
|
|
69
80
|
lazy?: boolean;
|
|
@@ -76,6 +87,10 @@ export interface ForkPrimitives {
|
|
|
76
87
|
exit(code: number): void;
|
|
77
88
|
/** The worker's exit status, 128 plus a signal number, or -1. */
|
|
78
89
|
wait(pid: number): number;
|
|
90
|
+
/** The pid of a child process that has ended, waiting for one if none
|
|
91
|
+
* has, or -1, without reaping it. Without it, workers are waited for in
|
|
92
|
+
* order. */
|
|
93
|
+
exited?(): number;
|
|
79
94
|
}
|
|
80
95
|
export interface LlvmTargetOptions {
|
|
81
96
|
/** C ABI target; omitted direct emission uses the host ABI. */
|
|
@@ -98,10 +113,21 @@ export interface LlvmTargetOptions {
|
|
|
98
113
|
/** The host's process primitives, where it can fork (the native
|
|
99
114
|
* compiler's). */
|
|
100
115
|
forkPrimitives?: ForkPrimitives | undefined;
|
|
116
|
+
/** Functions to write first, by tier (function-layout.ts). */
|
|
117
|
+
functionLayout?: FunctionLayout;
|
|
118
|
+
/** Marks emission's serial steps: `llvm-emit-rewrites` after the module
|
|
119
|
+
* passes, `llvm-emit-int32` after int32 selection, and
|
|
120
|
+
* `llvm-emit-analyses` after the emitter's whole-program analyses. The
|
|
121
|
+
* caller's next phase is the function bodies. */
|
|
122
|
+
timing?: CompilationTiming;
|
|
101
123
|
/** Exact frontend sources for dev-build locations and variable metadata. */
|
|
102
124
|
debugSources?: ReadonlyMap<string, string>;
|
|
103
125
|
/** Pointer width of the target C ABI. Native targets are 64-bit today. */
|
|
104
126
|
pointerBits?: 32 | 64;
|
|
127
|
+
/** Unions emitted as tagged boxes whatever their arms, for tests of the
|
|
128
|
+
* box paths: in a program, a union that has a pointer representation
|
|
129
|
+
* (nullable-unions.ts) never holds a box. */
|
|
130
|
+
boxedUnions?: ReadonlySet<string>;
|
|
105
131
|
/** Select the WASI libc entry-point convention. */
|
|
106
132
|
wasi?: boolean;
|
|
107
133
|
/** Library archive assembly may move the volatile identity getters into a
|
|
@@ -122,10 +148,22 @@ export interface LlvmTargetOptions {
|
|
|
122
148
|
inlineRc?: InlineRcMode;
|
|
123
149
|
/** Define the inline RC fast-path helpers `noinline` (sanitized builds). */
|
|
124
150
|
rcHelpersNoinline?: boolean;
|
|
151
|
+
/** Mark every emitted function `sanitize_address`, which the sanitized
|
|
152
|
+
* lane's `-fsanitize=address` link needs to instrument it. Without a
|
|
153
|
+
* sanitizer pass the attribute still turns off shrink-wrapping and
|
|
154
|
+
* speculative loads, so plain builds pass false. Defaults to true for
|
|
155
|
+
* direct emission. */
|
|
156
|
+
sanitizeAttributes?: boolean;
|
|
125
157
|
/** Define `scr_detached_exit` so the Linux runtime hands the address-space
|
|
126
158
|
* teardown after `process.exit` to a helper process (`--detached-exit`).
|
|
127
159
|
* Executables only; the runtime's weak default keeps it off. */
|
|
128
160
|
detachedExit?: boolean;
|
|
161
|
+
/** The files of the program's Node island module tree, in manifest order
|
|
162
|
+
* (node-islands/modules.ts), when the executable carries the tree. */
|
|
163
|
+
nodeIslandModuleData?: Uint8Array;
|
|
164
|
+
/** The program throws rarely (`--exceptions=rare`): recursive functions
|
|
165
|
+
* and those near a `throw` also unwind (unwindAbiFunctions). */
|
|
166
|
+
rareExceptions?: boolean;
|
|
129
167
|
/** Translated WebAssembly memories check bounds explicitly instead of
|
|
130
168
|
* relying on guard pages (wasm-modules.ts wasmBoundsChecks). */
|
|
131
169
|
wasmBoundsChecks?: boolean;
|
|
@@ -138,6 +176,11 @@ export interface LlvmTargetOptions {
|
|
|
138
176
|
* every emitted function carries it as its `target-cpu`. Unset, code
|
|
139
177
|
* runs on any x86-64 CPU. */
|
|
140
178
|
targetCpu?: TargetCpu;
|
|
179
|
+
/** Give an x86-64 executable without a `targetCpu` an x86-64-v3 copy of
|
|
180
|
+
* each program function, which it runs on CPUs at that level
|
|
181
|
+
* (cpu-dispatch.ts). Ignored for other targets, libraries and builds
|
|
182
|
+
* with debug information. */
|
|
183
|
+
cpuDispatch?: boolean;
|
|
141
184
|
}
|
|
142
185
|
/** LlvmTargetOptions.lowRegion for an executable: Linux targets without
|
|
143
186
|
* sanitizers, whose address space below 32 GiB is free (ASan keeps its
|
|
@@ -163,7 +206,10 @@ export declare function emitLlvmModuleParts(input: IrModule, options?: LlvmTarge
|
|
|
163
206
|
export declare function emitLlvmModuleSource(input: IrModule, options?: LlvmTargetOptions): string | readonly string[];
|
|
164
207
|
export declare function llStrBytes(text: string): string;
|
|
165
208
|
/** Runtime entry points (and await-call entries) that may park the running
|
|
166
|
-
* execution context, as they appear in emitted function text.
|
|
209
|
+
* execution context, as they appear in emitted function text. An async
|
|
210
|
+
* generator's next, return and throw only queue a request and run its body
|
|
211
|
+
* to its next suspension, which returns to the caller, and the body's own
|
|
212
|
+
* bookkeeping calls do not suspend it. */
|
|
167
213
|
export declare const SUSPENDS: RegExp;
|
|
168
214
|
/** Captured bindings (boxes a body declares or receives) from which a
|
|
169
215
|
* function compiles without LLVM optimization (see boxSlotCount). */
|
|
@@ -365,11 +411,13 @@ export declare class LlEmitter {
|
|
|
365
411
|
* generator stacks) and so do debug builds (the debugger reads locals
|
|
366
412
|
* from the native frame). */
|
|
367
413
|
private stacklessGenerators;
|
|
368
|
-
/** Async bodies that suspend only at their own awaits
|
|
369
|
-
* switched coroutines on native
|
|
370
|
-
* generators' conditions;
|
|
414
|
+
/** Async bodies that suspend only at their own awaits (and an async
|
|
415
|
+
* generator's yields) compile to the same switched coroutines on native
|
|
416
|
+
* targets (selectStacklessAsync), under the generators' conditions;
|
|
417
|
+
* library and Windows builds keep fibers. */
|
|
371
418
|
private stacklessAsyncAllowed;
|
|
372
|
-
/** The async functions
|
|
419
|
+
/** The async functions and async generators selectStacklessAsync lowered
|
|
420
|
+
* as coroutines. */
|
|
373
421
|
readonly stacklessAsync: Set<string>;
|
|
374
422
|
/** Some function in the module is lowered as a coroutine. */
|
|
375
423
|
usesCoroutines: boolean;
|
|
@@ -389,7 +437,12 @@ export declare class LlEmitter {
|
|
|
389
437
|
readonly emitLibraryIdentity: boolean;
|
|
390
438
|
readonly runtimeAbiMarker: boolean;
|
|
391
439
|
readonly detachedExit: boolean;
|
|
440
|
+
readonly nodeIslandModuleData: Uint8Array | null;
|
|
392
441
|
readonly targetCpu: TargetCpu | undefined;
|
|
442
|
+
/** Emitted functions carry `sanitize_address` (LlvmTargetOptions). */
|
|
443
|
+
readonly sanitizeAttributes: boolean;
|
|
444
|
+
/** LlvmTargetOptions.cpuDispatch, where it applies. */
|
|
445
|
+
readonly cpuDispatch: boolean;
|
|
393
446
|
readonly wasmBoundsChecks: boolean;
|
|
394
447
|
/** Interned string literals: UTF-8 text → { symbol, byte length } —
|
|
395
448
|
* first-use order, the runtime ABI’s determinism discipline. */
|
|
@@ -433,6 +486,14 @@ export declare class LlEmitter {
|
|
|
433
486
|
pattern: string;
|
|
434
487
|
flags: string;
|
|
435
488
|
}>;
|
|
489
|
+
/** Build-time replacers: one per (pattern, flags, replacement) of a
|
|
490
|
+
* global substitution with a literal replacement (regex-matchers.ts). */
|
|
491
|
+
readonly regexReplacers: Map<string, {
|
|
492
|
+
sym: string;
|
|
493
|
+
pattern: string;
|
|
494
|
+
flags: string;
|
|
495
|
+
replacement: string;
|
|
496
|
+
}>;
|
|
436
497
|
/** Interned tagged-template strings objects: per-site key → { symbol,
|
|
437
498
|
* interned cooked-literal refs }. One immortal ScrArr of string slots
|
|
438
499
|
* per template SITE (the spec's per-occurrence identity — the C
|
|
@@ -462,6 +523,8 @@ export declare class LlEmitter {
|
|
|
462
523
|
readonly dyn: LlDyn;
|
|
463
524
|
/** Explicit callback boundary for standalone layout and walker stages. */
|
|
464
525
|
readonly shapeHost: DynHost;
|
|
526
|
+
/** The record view plan's target set (record-views.ts), shared by reference. */
|
|
527
|
+
private recordViewTargets;
|
|
465
528
|
/** External declarations, in first-use order. */
|
|
466
529
|
readonly decls: Set<string>;
|
|
467
530
|
/** Declared functions referenced as values: each needs an env-signature
|
|
@@ -510,6 +573,9 @@ export declare class LlEmitter {
|
|
|
510
573
|
/** The current function's fused string-key Map get-then-set pairs (map-entry-fusion.ts). */
|
|
511
574
|
mapEntryFusion: MapEntryFusion | null;
|
|
512
575
|
readonly callLifetimes: CallLifetimes;
|
|
576
|
+
/** The locals whose value never leaves its frame (frame-escapes.ts), for
|
|
577
|
+
* class instances with reference fields in frame storage. */
|
|
578
|
+
frameEscapes: FrameEscapes | null;
|
|
513
579
|
readonly constantCallbacks: Map<string, Map<string, string>>;
|
|
514
580
|
currentConstantCallbacks: ReadonlyMap<string, string>;
|
|
515
581
|
/** The current function's running maximum and minimum updates, whose
|
|
@@ -587,6 +653,9 @@ export declare class LlEmitter {
|
|
|
587
653
|
/** Functions that check the native stack guard on entry
|
|
588
654
|
* (stackCheckedFunctions); null where the runtime has no guard. */
|
|
589
655
|
readonly stackChecks: ReadonlySet<string> | null;
|
|
656
|
+
/** Small leaf functions called only from loops, whose direct calls are
|
|
657
|
+
* `alwaysinline` (loop-callees.ts). */
|
|
658
|
+
readonly loopCallees: ReadonlySet<string>;
|
|
590
659
|
/** Static types whose values can be published (@scriptc/threads): their
|
|
591
660
|
* stores carry the frozen-object guard. Null without publish calls. */
|
|
592
661
|
readonly publishedTypes: PublishedTypes | null;
|
|
@@ -640,6 +709,10 @@ export declare class LlEmitter {
|
|
|
640
709
|
/** setTimeout and friends appeared somewhere: main must run the event
|
|
641
710
|
* loop even in programs with no async functions. */
|
|
642
711
|
usesTimers: boolean;
|
|
712
|
+
/** A promise is made somewhere (Promise statics, `new Promise`,
|
|
713
|
+
* Promise.withResolvers): main runs the event loop, whose end reports an
|
|
714
|
+
* unhandled rejection as Node does, even without async functions. */
|
|
715
|
+
usesPromises: boolean;
|
|
643
716
|
/** The program calls mock.timers members (moduleUsesMockTimers): timer
|
|
644
717
|
* calls emit scr_test.c's mock-aware entry points. */
|
|
645
718
|
readonly mockTimers: boolean;
|
|
@@ -677,6 +750,8 @@ export declare class LlEmitter {
|
|
|
677
750
|
readonly inlineUnions: InlineUnionFields;
|
|
678
751
|
/** Unions whose values are nullable arm pointers (nullable-unions.ts). */
|
|
679
752
|
readonly nullableUnions: NullableUnions;
|
|
753
|
+
/** The counters of a build instrumented for the heap census, or null. */
|
|
754
|
+
readonly heapCensus: HeapCensus | null;
|
|
680
755
|
/** The union table without nullable unions: the stack-box analyses. */
|
|
681
756
|
readonly boxedUnionsById: Map<string, IrUnionDef>;
|
|
682
757
|
readonly recordsById: Map<string, IrRecordShape>;
|
|
@@ -781,6 +856,11 @@ export declare class LlEmitter {
|
|
|
781
856
|
* commit back into their objects. Library builds keep their commits:
|
|
782
857
|
* their values cross a native boundary. */
|
|
783
858
|
readonly liveViewsReadOnly: boolean;
|
|
859
|
+
/** IrModule.sloppyDynWrites: untyped writes in sloppy-mode code. */
|
|
860
|
+
readonly sloppyDynWrites: ReadonlySet<string>;
|
|
861
|
+
/** IrModule.foreignElementKeys: element keys whose arrays can hold
|
|
862
|
+
* SCR_ARR_FOREIGN elements. */
|
|
863
|
+
readonly foreignElementKeys: ReadonlySet<string>;
|
|
784
864
|
/** The program freezes, seals or prevents extensions of untyped values
|
|
785
865
|
* (IrModule.untypedIntegrity): the commits of class views store the
|
|
786
866
|
* view's integrity state in the instance's integrity word. */
|
|
@@ -789,6 +869,8 @@ export declare class LlEmitter {
|
|
|
789
869
|
readonly int32Abis: ReadonlyMap<string, Int32Abi>;
|
|
790
870
|
/** Pure number functions with speculative integer clones. */
|
|
791
871
|
readonly integerClones: IntegerClones;
|
|
872
|
+
/** The records integer clones read (64-bit layouts). */
|
|
873
|
+
readonly cloneReferences: CloneReferences | undefined;
|
|
792
874
|
/** The IR function being emitted. */
|
|
793
875
|
currentFunctionName: string;
|
|
794
876
|
integerParamRange(fnName: string, localId: string): IntegerRange | null;
|
|
@@ -798,6 +880,9 @@ export declare class LlEmitter {
|
|
|
798
880
|
/** ProgramLifetime hierarchy roots (contract types): their instances are
|
|
799
881
|
* immortal from construction (classes.ts programLifetimeClass). */
|
|
800
882
|
readonly programLifetime: ReadonlySet<string>;
|
|
883
|
+
/** Inline array fields this emission may keep inline (ir/inline-arrays.ts);
|
|
884
|
+
* the classes that do have LlClassMeta.inlineTail. */
|
|
885
|
+
readonly inlineArrays: InlineArrayPlan;
|
|
801
886
|
numericLocals: Map<string, IrLocal>;
|
|
802
887
|
captureIds: Set<string>;
|
|
803
888
|
/** Active induction bindings retain their width independently of size_t. */
|
|
@@ -842,6 +927,9 @@ export declare class LlEmitter {
|
|
|
842
927
|
ran?: string;
|
|
843
928
|
/** Writes that speculate a rewritten value (rewriteSpeculable). */
|
|
844
929
|
values?: ReadonlyMap<IrStmt, SpeculativeValue>;
|
|
930
|
+
/** A proven integer loop's expression-position `++`/`--` of its
|
|
931
|
+
* shadowed bindings (ProvenLoopPlan.increments). */
|
|
932
|
+
increments?: ReadonlySet<IrExpr>;
|
|
845
933
|
} | null;
|
|
846
934
|
/** Speculative loop sites numbered so far in the module. */
|
|
847
935
|
speculativeLoopSites: number;
|
|
@@ -910,15 +998,33 @@ export declare class LlEmitter {
|
|
|
910
998
|
/** Worker programs: typed-array accesses whose views an enclosing version
|
|
911
999
|
* guard proved thread-owned. */
|
|
912
1000
|
bytesOwned: ReadonlySet<IrExpr | IrStmt>;
|
|
1001
|
+
/** Worker programs: the strip-mined counted loop whose body is being
|
|
1002
|
+
* emitted (emitStripMinedCountedLoop), with its counter, its jump target
|
|
1003
|
+
* and its loopDepth. An element access of a view that may be shared, at
|
|
1004
|
+
* the counter and directly in that loop's body, is a plain load or store
|
|
1005
|
+
* (plainSharedElement in expr-bytes.ts). */
|
|
1006
|
+
plainSharedLoop: {
|
|
1007
|
+
counter: string;
|
|
1008
|
+
target: LlEmitter["jumpTargets"][number];
|
|
1009
|
+
depth: number;
|
|
1010
|
+
} | null;
|
|
913
1011
|
/** The alias-scope attachment of each typed-array element read and write
|
|
914
1012
|
* in the current loop version's fast copy (emitVersionedLoop), and the
|
|
915
1013
|
* one the element access being emitted carries (bytesElementAlias). */
|
|
916
1014
|
bytesAliasScopes: ReadonlyMap<IrExpr | IrStmt, string>;
|
|
917
1015
|
bytesAccessScope: string;
|
|
1016
|
+
/** Header fields a speculative loop's entry read for its views
|
|
1017
|
+
* (bytes-headers.ts), while its copies are emitted. */
|
|
1018
|
+
bytesHeaders: BytesHeaderScope | null;
|
|
1019
|
+
/** The parameters of the function being emitted. */
|
|
1020
|
+
currentParameters: ReadonlySet<string>;
|
|
918
1021
|
/** Loop versions with alias scopes in the current function; it names
|
|
919
1022
|
* their scopes. */
|
|
920
1023
|
aliasScopedVersions: number;
|
|
921
1024
|
integerViews: Map<string, string>;
|
|
1025
|
+
/** The i1 slot beside an integer view of a local that only holds exact
|
|
1026
|
+
* integers or NaN: true when the local is not NaN. */
|
|
1027
|
+
orderedViews: Map<string, string>;
|
|
922
1028
|
/** Module globals the current function owns outright (initializer
|
|
923
1029
|
* bindings): their function-local slot, which stands in for the global. */
|
|
924
1030
|
privateGlobalSlots: Map<string, string>;
|
|
@@ -963,9 +1069,12 @@ export declare class LlEmitter {
|
|
|
963
1069
|
currentUnionResult: boolean;
|
|
964
1070
|
/** Active only while emitting a body lowered with LLVM's
|
|
965
1071
|
* switched-coroutine intrinsics (wasm32 async bodies and generators,
|
|
966
|
-
* native synchronous generators
|
|
1072
|
+
* native synchronous generators, and the native async bodies
|
|
1073
|
+
* selectStacklessAsync chose; see coroLowered). */
|
|
967
1074
|
currentCoro: {
|
|
968
1075
|
kind: "async" | "generator";
|
|
1076
|
+
/** The body awaits: an async function or an async generator. */
|
|
1077
|
+
awaits: boolean;
|
|
969
1078
|
id: string;
|
|
970
1079
|
handle: string;
|
|
971
1080
|
self: string;
|
|
@@ -1053,19 +1162,21 @@ export declare class LlEmitter {
|
|
|
1053
1162
|
private mangledFunctions;
|
|
1054
1163
|
/** The module functions whose ordinary or borrowed body `text` mentions. */
|
|
1055
1164
|
mentionedFunctions(text: string): Generator<string>;
|
|
1056
|
-
/** Chooses the native async functions
|
|
1057
|
-
* coroutines instead of running on a fiber: a
|
|
1058
|
-
* heap frame of the values live across its
|
|
1059
|
-
*
|
|
1060
|
-
*
|
|
1061
|
-
*
|
|
1062
|
-
*
|
|
1063
|
-
*
|
|
1064
|
-
*
|
|
1065
|
-
*
|
|
1066
|
-
*
|
|
1067
|
-
*
|
|
1068
|
-
*
|
|
1165
|
+
/** Chooses the native async functions and async generators whose bodies
|
|
1166
|
+
* compile to switched coroutines instead of running on a fiber: a
|
|
1167
|
+
* suspended call then keeps a heap frame of the values live across its
|
|
1168
|
+
* awaits and yields rather than a fiber and its stack. A body qualifies
|
|
1169
|
+
* when its only suspension points are its own awaits and yields, which
|
|
1170
|
+
* the coroutine form suspends itself at (emitCoroAwait,
|
|
1171
|
+
* emitCoroSuspendPrepared), so nothing it runs can park the stack it
|
|
1172
|
+
* borrows. It is first emitted as usual: that text may suspend only
|
|
1173
|
+
* through await and yield runtime calls and await-call entries, which the
|
|
1174
|
+
* coroutine form replaces, and may call no function that parks. The
|
|
1175
|
+
* coroutine form is then emitted and must pass the same test with no
|
|
1176
|
+
* exceptions (its frame bookkeeping excepted); otherwise the fiber form
|
|
1177
|
+
* stays. Bodies that never suspend stay fiberless, and module evaluation
|
|
1178
|
+
* bodies and async functions with `dyn` results keep fibers as they do
|
|
1179
|
+
* there. The runtime traps if a stackless body ever parks. */
|
|
1069
1180
|
selectStacklessAsync(fnDefs: string[]): void;
|
|
1070
1181
|
/** Whether a fiberless body running on its caller's stack needs the
|
|
1071
1182
|
* frame scr_async_inline_enter/exit keep: it isolates the Error.stack
|
|
@@ -1147,12 +1258,13 @@ export declare class LlEmitter {
|
|
|
1147
1258
|
* native async bodies selectStacklessAsync chose. */
|
|
1148
1259
|
coroLowered(fn: IrFunction): boolean;
|
|
1149
1260
|
emitGenScaffolding(): string[];
|
|
1150
|
-
/** A symbol derived from
|
|
1151
|
-
* index, so an edit that interns one more string
|
|
1152
|
-
*
|
|
1153
|
-
* native builds reuse the compiled partitions an
|
|
1154
|
-
* collision retries with a counter, still in
|
|
1155
|
-
|
|
1261
|
+
/** A symbol derived from a constant's text, or a helper's key, rather
|
|
1262
|
+
* than its first-use index, so an edit that interns one more string or
|
|
1263
|
+
* helper leaves every other symbol, and the code referencing it,
|
|
1264
|
+
* unchanged. This lets native builds reuse the compiled partitions an
|
|
1265
|
+
* edit does not touch. A collision retries with a counter, still in
|
|
1266
|
+
* first-use order. */
|
|
1267
|
+
contentSymbol(prefix: string, text: string): string;
|
|
1156
1268
|
internLiteral(text: string): string;
|
|
1157
1269
|
/** The inline equality test against one string literal (an
|
|
1158
1270
|
* `i1 (ptr)` helper LLVM inlines at each site), by literal symbol. */
|
|
@@ -1205,7 +1317,7 @@ export declare class LlEmitter {
|
|
|
1205
1317
|
own(v: LlValue): LlValue;
|
|
1206
1318
|
/** Registers a SLOT whose current contents the frame owns (conditional
|
|
1207
1319
|
* results: optional chains, branch joins that park ownership). */
|
|
1208
|
-
ownSlot(slot: string, type: IrType): void;
|
|
1320
|
+
ownSlot(slot: string, type: IrType, rarelyFilled?: boolean): void;
|
|
1209
1321
|
/** The innermost lexical scope releases a frame object's reference
|
|
1210
1322
|
* fields when it exits, as it releases its bindings. */
|
|
1211
1323
|
ownScopeFields(fields: readonly StackObjectField[]): void;
|
|
@@ -1290,7 +1402,10 @@ export declare class LlEmitter {
|
|
|
1290
1402
|
emitPendingCheck(passThrough?: {
|
|
1291
1403
|
name: string;
|
|
1292
1404
|
type: IrType;
|
|
1293
|
-
}, poll?: boolean, guard?: string
|
|
1405
|
+
}, poll?: boolean, guard?: string,
|
|
1406
|
+
/** Runs at the start of the cold unwind block, before the unwind (a
|
|
1407
|
+
* package-declared check's origin note). */
|
|
1408
|
+
onUnwind?: () => void): void;
|
|
1294
1409
|
/** After a runtime call that ALWAYS leaves an exception pending (the
|
|
1295
1410
|
* compiler-resolved Node throws): the pending test would always answer
|
|
1296
1411
|
* true, so unwind unconditionally. Emission continues in a block with no
|
|
@@ -1322,6 +1437,13 @@ export declare class LlEmitter {
|
|
|
1322
1437
|
workerLoopPolls(loop: Extract<IrStmt, {
|
|
1323
1438
|
kind: "while" | "doWhile" | "for" | "forOf";
|
|
1324
1439
|
}>): boolean;
|
|
1440
|
+
/** The countdown slot of `loop`'s cancellation poll (emitWorkerLoopCheck),
|
|
1441
|
+
* or null when the loop does not poll. An ELF worker executable's poll is
|
|
1442
|
+
* one ordered load of the thread's own pending word. A loop nest keeps
|
|
1443
|
+
* one countdown per loop, which its register pressure often leaves in
|
|
1444
|
+
* memory, so the loops of a nest there poll on every iteration and get
|
|
1445
|
+
* POLL_EVERY_ITERATION instead of a slot. A loop on its own keeps its
|
|
1446
|
+
* countdown in a register, which costs less than the load. */
|
|
1325
1447
|
workerLoopBudget(loop: Extract<IrStmt, {
|
|
1326
1448
|
kind: "while" | "doWhile" | "for" | "forOf";
|
|
1327
1449
|
}>): string | null;
|
|
@@ -1353,9 +1475,9 @@ export declare class LlEmitter {
|
|
|
1353
1475
|
* stay in the loop. */
|
|
1354
1476
|
emitWorkerLoopCheck(slot: string | null): void;
|
|
1355
1477
|
/** The cancellation poll itself. Calls and throwing operations retain
|
|
1356
|
-
* their own checks.
|
|
1357
|
-
* batches of iterations so scalar work does not
|
|
1358
|
-
* every iteration. */
|
|
1478
|
+
* their own checks. Outside ELF worker executables, loops amortize this
|
|
1479
|
+
* extra poll across bounded batches of iterations so scalar work does not
|
|
1480
|
+
* cross the runtime ABI on every iteration. */
|
|
1359
1481
|
emitWorkerPoll(): void;
|
|
1360
1482
|
/** Moves an already-evaluated value into the runtime's exception cell —
|
|
1361
1483
|
* the `throw` statement's kind dispatch (stmts.ts's), shared with
|
|
@@ -1444,6 +1566,11 @@ export declare class LlEmitter {
|
|
|
1444
1566
|
unionNoneRef(): string;
|
|
1445
1567
|
/** The field-slot pointer of a record member (rc header at index 0).
|
|
1446
1568
|
* `inline`: the slot stores a scalar union's tag and bits. */
|
|
1569
|
+
/** The record layouts integer clones read in place: record pointers,
|
|
1570
|
+
* `R | null` unions of a record (NULL is `null`), and fields stored as a
|
|
1571
|
+
* double, an i8 boolean or such a pointer. Records that may be views
|
|
1572
|
+
* (record-views.ts) are not among them. */
|
|
1573
|
+
private recordCloneReferences;
|
|
1447
1574
|
recordFieldPtr(objName: string, shapeId: string, field: string): {
|
|
1448
1575
|
ptr: string;
|
|
1449
1576
|
type: IrType;
|
|
@@ -1826,6 +1953,8 @@ export declare class LlEmitter {
|
|
|
1826
1953
|
* table neither retains nor releases. Lookups and inserts of array keys
|
|
1827
1954
|
* throw a TypeError for keys longer than a table accepts. */
|
|
1828
1955
|
private emitInternTableIntrinsic;
|
|
1956
|
+
/** Arrays of this element type can hold SCR_ARR_FOREIGN elements. */
|
|
1957
|
+
mayHoldForeign(elem: IrType): boolean;
|
|
1829
1958
|
/** Lifetime regions in modules with lifetimeRegions (llvm/regions.ts).
|
|
1830
1959
|
* Created with the class graph; null elsewhere. */
|
|
1831
1960
|
regions: LifetimeRegions | null;
|
|
@@ -1870,6 +1999,9 @@ export declare class LlEmitter {
|
|
|
1870
1999
|
emitSerializationExpr(e: ExprOf<"jsonStringify" | "dynCheck">): LlValue;
|
|
1871
2000
|
emitAsyncExpr(e: ExprOf<"yieldExpr" | "genResume" | "awaitExpr" | "awaitUnionExpr" | "newPromise" | "promiseWithResolvers">): LlValue;
|
|
1872
2001
|
emitReadReceiver(e: IrExpr): LlValue;
|
|
2002
|
+
/** The inline array field of `className`'s instances, where they keep it
|
|
2003
|
+
* inline (LlClassMeta.inlineTail; classes.ts gives their `new` the count). */
|
|
2004
|
+
inlineTailOf(className: string): LlInlineTail | undefined;
|
|
1873
2005
|
/** The frame slot a reassigned stack-object local keeps for its value. */
|
|
1874
2006
|
stackObjectSlot(localId: string, type: IrType): string;
|
|
1875
2007
|
canStackReceiver(e: IrExpr): boolean;
|
|
@@ -1915,6 +2047,12 @@ export declare class LlEmitter {
|
|
|
1915
2047
|
/** The instance of a capsule known to hold exactly this class (borrowed). */
|
|
1916
2048
|
emitExactCapsuleObject(value: IrExpr, type: IrType): LlValue;
|
|
1917
2049
|
canBorrowReceiver(e: IrExpr): boolean;
|
|
2050
|
+
/** A read of an inline array field (ir/inline-arrays.ts). It makes a view
|
|
2051
|
+
* of the elements that the read owns: no field holds an array that could
|
|
2052
|
+
* keep a borrowed copy alive. Known before the class layouts are, from
|
|
2053
|
+
* the module's plan; layouts that keep the field an ordinary array only
|
|
2054
|
+
* lose the borrow. */
|
|
2055
|
+
inlineArrayRead(e: IrExpr): boolean;
|
|
1918
2056
|
/** A reference held as one plain pointer that emitReadReceiver can read
|
|
1919
2057
|
* without owning: class instances, records, arrays, strings, typed arrays
|
|
1920
2058
|
* and nullable-pointer unions. Tagged union boxes, closures and dynamic
|
|
@@ -1935,6 +2073,54 @@ export declare class LlEmitter {
|
|
|
1935
2073
|
borrowableNullableWrap(e: IrExpr): "unit" | "ref" | null;
|
|
1936
2074
|
materializeSplitLocal(localId: string): void;
|
|
1937
2075
|
emitExpr(e: IrExpr): LlValue;
|
|
2076
|
+
/** emitExpr when group arenas are planned. Kept out of emitExpr, whose
|
|
2077
|
+
* frame each level of a nested expression holds while it is emitted. */
|
|
2078
|
+
private emitArenaExpr;
|
|
2079
|
+
/** Group arenas (arenas.ts): the plan, the list slot of each root and
|
|
2080
|
+
* call region, and which locals' scopes drop which roots' arenas. */
|
|
2081
|
+
arenas: ArenaPlan | null;
|
|
2082
|
+
private arenaSlots;
|
|
2083
|
+
/** The frames emitStmtBody opens for whole statements (arenas only). */
|
|
2084
|
+
readonly statementFrames: Set<LlValue[]>;
|
|
2085
|
+
/** The frame of the statement being emitted: a nested frame (call
|
|
2086
|
+
* arguments, branches) ends before the values built in it do. */
|
|
2087
|
+
statementFrame(): LlValue[];
|
|
2088
|
+
/** The arena list slot of root or call region `e`: allocated, cleared and
|
|
2089
|
+
* (for a root dropped with a local) owned by that local's scope when the
|
|
2090
|
+
* function starts or the local is declared. */
|
|
2091
|
+
arenaSlot(e: Node): string;
|
|
2092
|
+
/** Whether emitExpr opens an arena for `e`: a root call or `new` of a
|
|
2093
|
+
* counted value. */
|
|
2094
|
+
opensArena(e: Node): e is Extract<IrExpr, {
|
|
2095
|
+
kind: "call" | "new";
|
|
2096
|
+
}>;
|
|
2097
|
+
/** 1 when the group of root or call region `e` is closed: its objects
|
|
2098
|
+
* hold only each other and immortal values. */
|
|
2099
|
+
arenaClosed(e: Node): number;
|
|
2100
|
+
/** Registers on the innermost scope the arena lists of the roots whose
|
|
2101
|
+
* arenas `localId`'s scope drops. */
|
|
2102
|
+
ownArenasOf(localId: string): void;
|
|
2103
|
+
/** The roots of the function being emitted, by the local that drops
|
|
2104
|
+
* them; set when a function's emission starts. */
|
|
2105
|
+
arenaDropsByLocal: Map<string, {
|
|
2106
|
+
root: Node;
|
|
2107
|
+
type: IrType;
|
|
2108
|
+
}[]>;
|
|
2109
|
+
/** Starts a function's arena bookkeeping: its roots by dropping local,
|
|
2110
|
+
* with the lists of locals the body never declares (parameters, loop
|
|
2111
|
+
* and catch bindings) owned by the function's own scope. */
|
|
2112
|
+
beginArenaFunction(fn: IrFunction): void;
|
|
2113
|
+
/** Whether allocation site `e` (null: any) in the function being
|
|
2114
|
+
* emitted takes the open arena: the function is arena-aware and the group
|
|
2115
|
+
* keeps the site's value (region-sites.ts). */
|
|
2116
|
+
arenaSite(e: IrExpr | null): boolean;
|
|
2117
|
+
/** Stops any arena being the allocation target; returns what restores it. */
|
|
2118
|
+
suspendArena(): string;
|
|
2119
|
+
/** Makes the arena suspendArena stopped (`saved`) the target again. */
|
|
2120
|
+
resumeArena(saved: string): void;
|
|
2121
|
+
/** The arena-aware constructor of `newSym` for an allocation of a
|
|
2122
|
+
* record shape or class in the function being emitted, or `newSym`. */
|
|
2123
|
+
allocSym(newSym: string, e: IrExpr): string;
|
|
1938
2124
|
/** The helper classification of this module's inline-cache sites. */
|
|
1939
2125
|
get jsIcSites(): JsIcSites;
|
|
1940
2126
|
jsIcSite(): string;
|
|
@@ -1976,7 +2162,11 @@ export declare class LlEmitter {
|
|
|
1976
2162
|
shim: string;
|
|
1977
2163
|
};
|
|
1978
2164
|
wrapEmitterListener(target: string, adapterFn: string): string;
|
|
1979
|
-
|
|
2165
|
+
/** ScrClosure.function_kind for a closure over `fn`: its generator,
|
|
2166
|
+
* async and own prototype bits, and RECEIVER_FREE when its body never
|
|
2167
|
+
* observes the ambient receiver, so indirect callers skip the bracket. */
|
|
2168
|
+
closureFunctionKind(fn: IrFunction): number;
|
|
2169
|
+
unwrapNullableClosure(u: string, unionId: string, funcTag: number): string;
|
|
1980
2170
|
closeBindThunkFor(cbUnion: IrType, retServer: boolean): string;
|
|
1981
2171
|
closeOverrideWrapFor(cbUnion: IrType, retServer: boolean): string;
|
|
1982
2172
|
streamDataAdapter(cbT: IrType & {
|