@scriptc/compiler 0.4.6 → 0.4.7
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/events.d.ts +6 -1
- package/ambient/node-fallback/fs-promises.d.ts +1 -1
- package/ambient/node-fallback/fs.d.ts +54 -10
- package/ambient/node-fallback/http.d.ts +3 -1
- package/ambient/node-fallback/net.d.ts +19 -0
- package/ambient/node-fallback/querystring.d.ts +3 -3
- package/ambient/scriptc-node-fallback.d.ts +58 -13
- package/dist/backend/executable-features.js +13 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.d.ts +12 -1
- package/dist/backend/immutability.js +50 -4
- package/dist/backend/immutability.js.map +1 -1
- package/dist/backend/immutability.test.js +95 -1
- package/dist/backend/immutability.test.js.map +1 -1
- package/dist/backend/library-pack.js +2 -0
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/linker.d.ts +11 -0
- package/dist/backend/linker.js +31 -3
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/lld.d.ts +7 -2
- package/dist/backend/lld.js +5 -3
- package/dist/backend/lld.js.map +1 -1
- package/dist/backend/lld.test.js +10 -4
- package/dist/backend/lld.test.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +50 -1
- package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
- package/dist/backend/llvm/cpu-dispatch.js +6 -5
- package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +53 -1
- package/dist/backend/llvm/dyn.js +221 -9
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +1 -1
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-module.js +148 -50
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-statements.js +39 -19
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +29 -2
- package/dist/backend/llvm/emitter.js +86 -7
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +4 -1
- package/dist/backend/llvm/expr-calls.js +20 -4
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +209 -16
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +94 -11
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +8 -0
- package/dist/backend/llvm/expr-stream-bridges.js +42 -2
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +16 -0
- package/dist/backend/llvm/expr-stream-callbacks.js +206 -20
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/integer-values.d.ts +2 -0
- package/dist/backend/llvm/integer-values.js +6 -0
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/js-ic.d.ts +38 -0
- package/dist/backend/llvm/js-ic.js +295 -1
- package/dist/backend/llvm/js-ic.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +20 -0
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +116 -11
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +136 -24
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +70 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +67 -0
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/loop-entry-versions.d.ts +2 -2
- package/dist/backend/llvm/loop-entry-versions.js +43 -21
- package/dist/backend/llvm/loop-entry-versions.js.map +1 -1
- package/dist/backend/llvm/loop-state.d.ts +7 -1
- package/dist/backend/llvm/loop-state.js +20 -2
- package/dist/backend/llvm/loop-state.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +3 -1
- package/dist/backend/llvm/map-number-lookup.js +7 -3
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.test.js +52 -11
- package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
- package/dist/backend/llvm/receiver-brackets.test.d.ts +1 -0
- package/dist/backend/llvm/receiver-brackets.test.js +68 -0
- package/dist/backend/llvm/receiver-brackets.test.js.map +1 -0
- package/dist/backend/llvm/record-views.d.ts +22 -2
- package/dist/backend/llvm/record-views.js +139 -10
- package/dist/backend/llvm/record-views.js.map +1 -1
- package/dist/backend/llvm/record-views.test.js +76 -0
- package/dist/backend/llvm/record-views.test.js.map +1 -1
- package/dist/backend/llvm/reference-writes.js +1 -0
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +3 -0
- package/dist/backend/llvm/shapes.js +18 -3
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +4 -0
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.d.ts +10 -1
- package/dist/backend/llvm/speculative-integers.js +59 -8
- package/dist/backend/llvm/speculative-integers.js.map +1 -1
- package/dist/backend/llvm/unwind-abi.d.ts +3 -3
- package/dist/backend/llvm/unwind-abi.js +8 -3
- package/dist/backend/llvm/unwind-abi.js.map +1 -1
- package/dist/backend/llvm/walkers.js +1 -1
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +54 -0
- package/dist/backend/native/executable.js +87 -5
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +1 -1
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/runtime-inputs.js +5 -1
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native/vendor.d.ts +1 -1
- package/dist/backend/native/vendor.js +1 -1
- package/dist/backend/native/vendor.js.map +1 -1
- package/dist/backend/native-codegen.js +3 -0
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +43 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-link-info.js +1 -0
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-profile.d.ts +4 -1
- package/dist/backend/native-profile.js +12 -1
- package/dist/backend/native-profile.js.map +1 -1
- package/dist/backend/native-profile.test.js +10 -0
- package/dist/backend/native-profile.test.js.map +1 -1
- package/dist/backend/publication.d.ts +4 -1
- package/dist/backend/publication.js +4 -2
- 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 +31 -7
- package/dist/backend/runtime-pack-core.js +21 -1
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.d.ts +18 -1
- package/dist/backend/runtime-pack-native.js +138 -29
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-native.test.js +166 -4
- package/dist/backend/runtime-pack-native.test.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +3 -1
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.d.ts +7 -0
- package/dist/backend/runtime-pack.js +25 -3
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +3 -11
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/vendor-archives.d.ts +4 -1
- package/dist/backend/vendor-archives.js +264 -3
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +36 -0
- package/dist/backend/vendor-inputs.js +42 -0
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/vendor-inputs.test.js +28 -1
- package/dist/backend/vendor-inputs.test.js.map +1 -1
- package/dist/backend/warm-cache.js +2 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/compat/fetch-profile.d.ts +7 -1
- package/dist/compat/fetch-profile.js +23 -10
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +7 -0
- package/dist/contracts/check.d.ts +3 -0
- package/dist/contracts/check.js +18 -5
- package/dist/contracts/check.js.map +1 -1
- package/dist/coverage/surface-manifest.js +1 -1
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/codes.d.ts +6 -0
- package/dist/diagnostics/codes.js +6 -0
- package/dist/diagnostics/codes.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +50 -0
- package/dist/diagnostics/diagnostic.js +142 -3
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/dynamic-tier.js +3 -1
- package/dist/diagnostics/dynamic-tier.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +29 -0
- package/dist/executable/executable-cache.js +18 -0
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +5 -1
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.d.ts +13 -3
- package/dist/executable/prepare.js +271 -18
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/early-errors.d.ts +14 -0
- package/dist/frontend/early-errors.js +305 -0
- package/dist/frontend/early-errors.js.map +1 -0
- package/dist/frontend/early-errors.test.d.ts +1 -0
- package/dist/frontend/early-errors.test.js +42 -0
- package/dist/frontend/early-errors.test.js.map +1 -0
- package/dist/frontend/inferred-js-diagnostics.test.js +23 -0
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +47 -0
- package/dist/frontend/input-tracker.js +173 -36
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +86 -2
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/js-inference.d.ts +2 -0
- package/dist/frontend/js-inference.js +18 -0
- package/dist/frontend/js-inference.js.map +1 -0
- package/dist/frontend/lowering/binding-analysis.d.ts +2 -1
- package/dist/frontend/lowering/binding-analysis.js +65 -1
- package/dist/frontend/lowering/binding-analysis.js.map +1 -1
- package/dist/frontend/lowering/builtin-calls.js +9 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -1
- package/dist/frontend/lowering/builtin-namespaces.d.ts +1 -1
- package/dist/frontend/lowering/builtin-namespaces.js +19 -2
- package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +7 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js +50 -10
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.js +5 -1
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/dates.d.ts +1 -1
- package/dist/frontend/lowering/builtins/dates.js +23 -1
- package/dist/frontend/lowering/builtins/dates.js.map +1 -1
- package/dist/frontend/lowering/builtins/environment.d.ts +55 -0
- package/dist/frontend/lowering/builtins/environment.js +213 -2
- package/dist/frontend/lowering/builtins/environment.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.js +47 -16
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.d.ts +25 -7
- package/dist/frontend/lowering/builtins/filesystem.js +185 -16
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +39 -2
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-resolution.js +31 -5
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/operating-system.d.ts +3 -2
- package/dist/frontend/lowering/builtins/operating-system.js +5 -4
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +17 -1
- package/dist/frontend/lowering/builtins/process.js +285 -19
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/querystring.d.ts +8 -0
- package/dist/frontend/lowering/builtins/querystring.js +202 -18
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.js +21 -3
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/reflection.js +60 -1
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
- package/dist/frontend/lowering/builtins/text-codecs.js +208 -59
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.js +20 -1
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/builtins/v8.d.ts +5 -5
- package/dist/frontend/lowering/builtins/v8.js +7 -5
- package/dist/frontend/lowering/builtins/v8.js.map +1 -1
- package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +17 -2
- package/dist/frontend/lowering/builtins/web-streams-dyn.js +97 -9
- package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.js +77 -0
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/cjs-exports-object.d.ts +3 -0
- package/dist/frontend/lowering/cjs-exports-object.js +1 -1
- package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
- package/dist/frontend/lowering/cjs-inline-require.js +5 -0
- package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +5 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +114 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.js +59 -10
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +15 -0
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-views.d.ts +13 -0
- package/dist/frontend/lowering/class-views.js +51 -0
- package/dist/frontend/lowering/class-views.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +15 -1
- package/dist/frontend/lowering/coercions/function-adapters.js +54 -10
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +7 -0
- package/dist/frontend/lowering/coercions/state.js +7 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +60 -3
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +29 -1
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +132 -28
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +16 -5
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +16 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +4 -0
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +11 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +53 -0
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/filter-predicates.d.ts +10 -0
- package/dist/frontend/lowering/containers/filter-predicates.js +69 -3
- package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +46 -2
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/expressions/array-literals.d.ts +14 -0
- package/dist/frontend/lowering/expressions/array-literals.js +26 -10
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/binary.js +104 -12
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.js +121 -4
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/identifiers.js +143 -3
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
- package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +11 -1
- package/dist/frontend/lowering/expressions/keyed-field-targets.js +22 -1
- package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
- package/dist/frontend/lowering/expressions/narrowing.js +25 -1
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +5 -1
- package/dist/frontend/lowering/expressions/object-literals.js +778 -229
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +66 -20
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +31 -0
- package/dist/frontend/lowering/expressions/property-access.js +796 -12
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.js +29 -1
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/typeof.js +17 -0
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.js +132 -17
- package/dist/frontend/lowering/expressions/updates.js.map +1 -1
- package/dist/frontend/lowering/frozen-records.d.ts +6 -0
- package/dist/frontend/lowering/frozen-records.js +10 -4
- package/dist/frontend/lowering/frozen-records.js.map +1 -1
- package/dist/frontend/lowering/frozen-records.test.d.ts +1 -0
- package/dist/frontend/lowering/frozen-records.test.js +44 -0
- package/dist/frontend/lowering/frozen-records.test.js.map +1 -0
- package/dist/frontend/lowering/function-names.d.ts +9 -0
- package/dist/frontend/lowering/function-names.js +95 -0
- package/dist/frontend/lowering/function-names.js.map +1 -0
- package/dist/frontend/lowering/function-returns.js +5 -3
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +49 -0
- package/dist/frontend/lowering/generic-functions.js +365 -7
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/global-values.d.ts +9 -0
- package/dist/frontend/lowering/global-values.js +44 -0
- package/dist/frontend/lowering/global-values.js.map +1 -1
- package/dist/frontend/lowering/handle-properties.js +34 -1
- package/dist/frontend/lowering/handle-properties.js.map +1 -1
- package/dist/frontend/lowering/key-order-witness.d.ts +54 -0
- package/dist/frontend/lowering/key-order-witness.js +546 -5
- package/dist/frontend/lowering/key-order-witness.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.js +14 -0
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +110 -1
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +36 -6
- package/dist/frontend/lowering/lower-builtin-values.js +332 -58
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +22 -1
- package/dist/frontend/lowering/lower-calls.js +427 -48
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.test.d.ts +1 -0
- package/dist/frontend/lowering/lower-calls.test.js +78 -0
- package/dist/frontend/lowering/lower-calls.test.js.map +1 -0
- package/dist/frontend/lowering/lower-classes.d.ts +16 -5
- package/dist/frontend/lowering/lower-classes.js +168 -51
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -0
- package/dist/frontend/lowering/lower-event-emitter.js +383 -41
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +14 -0
- package/dist/frontend/lowering/lower-exprs.js +25 -0
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +2 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +80 -33
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +87 -25
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-node-island.d.ts +35 -4
- package/dist/frontend/lowering/lower-node-island.js +456 -61
- package/dist/frontend/lowering/lower-node-island.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +160 -9
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-shared-modules.js +13 -1
- package/dist/frontend/lowering/lower-shared-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +3 -2
- package/dist/frontend/lowering/lower-stdlib.js +32 -18
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +21 -4
- package/dist/frontend/lowering/lower-stmts.js +580 -103
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +126 -8
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +133 -21
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +139 -3
- package/dist/frontend/lowering/lowerer.js +579 -43
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +1 -1
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js +15 -0
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/new-target.js +2 -2
- package/dist/frontend/lowering/nullish-empty-pattern.d.ts +17 -0
- package/dist/frontend/lowering/nullish-empty-pattern.js +118 -0
- package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -0
- package/dist/frontend/lowering/partial-assertions.d.ts +39 -0
- package/dist/frontend/lowering/partial-assertions.js +195 -0
- package/dist/frontend/lowering/partial-assertions.js.map +1 -0
- package/dist/frontend/lowering/primitive-wrappers.d.ts +34 -0
- package/dist/frontend/lowering/primitive-wrappers.js +220 -0
- package/dist/frontend/lowering/primitive-wrappers.js.map +1 -0
- package/dist/frontend/lowering/private-statics.d.ts +46 -0
- package/dist/frontend/lowering/private-statics.js +322 -0
- package/dist/frontend/lowering/private-statics.js.map +1 -0
- package/dist/frontend/lowering/record-sources.d.ts +12 -1
- package/dist/frontend/lowering/record-sources.js +60 -0
- package/dist/frontend/lowering/record-sources.js.map +1 -1
- package/dist/frontend/lowering/strict-equality.d.ts +4 -0
- package/dist/frontend/lowering/strict-equality.js +14 -0
- package/dist/frontend/lowering/strict-equality.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +27 -0
- package/dist/frontend/lowering/surfaces.js +135 -62
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/unit-journal.d.ts +128 -17
- package/dist/frontend/lowering/unit-journal.js +310 -53
- package/dist/frontend/lowering/unit-journal.js.map +1 -1
- package/dist/frontend/lowering/unit-journal.test.js +91 -3
- package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
- package/dist/frontend/lowering/unit-reuse.d.ts +92 -0
- package/dist/frontend/lowering/unit-reuse.js +1008 -0
- package/dist/frontend/lowering/unit-reuse.js.map +1 -0
- package/dist/frontend/lowering/width-lift.d.ts +12 -0
- package/dist/frontend/npm-file-import.test.d.ts +1 -0
- package/dist/frontend/npm-file-import.test.js +76 -0
- package/dist/frontend/npm-file-import.test.js.map +1 -0
- package/dist/frontend/npm-static.js +17 -2
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +9 -0
- package/dist/frontend/npm.js +82 -0
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/pipeline-native.js +2 -1
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +4 -0
- package/dist/frontend/pipeline.js +68 -7
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/program-node.d.ts +3 -0
- package/dist/frontend/program-node.js +13 -6
- package/dist/frontend/program-node.js.map +1 -1
- package/dist/frontend/program.d.ts +9 -0
- package/dist/frontend/program.js +159 -7
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/provenance-core.js +4 -0
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/services.d.ts +14 -0
- package/dist/frontend/services.js +52 -2
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +61 -1
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/shape-inference/analyze.d.ts +5 -0
- package/dist/frontend/shape-inference/analyze.js +104 -4
- package/dist/frontend/shape-inference/analyze.js.map +1 -1
- package/dist/frontend/shape-inference/domain.js +0 -1
- package/dist/frontend/shape-inference/domain.js.map +1 -1
- package/dist/frontend/shape-inference/index.js +5 -1
- package/dist/frontend/shape-inference/index.js.map +1 -1
- package/dist/frontend/shape-inference/memo.d.ts +2 -1
- package/dist/frontend/shape-inference/memo.js +6 -2
- package/dist/frontend/shape-inference/memo.js.map +1 -1
- package/dist/frontend/shape-inference/overlay.d.ts +1 -1
- package/dist/frontend/shape-inference/overlay.js +116 -2
- package/dist/frontend/shape-inference/overlay.js.map +1 -1
- package/dist/frontend/shape-inference/static-objects.js +11 -6
- package/dist/frontend/shape-inference/static-objects.js.map +1 -1
- package/dist/frontend/source-phase-imports.test.d.ts +1 -0
- package/dist/frontend/source-phase-imports.test.js +37 -0
- package/dist/frontend/source-phase-imports.test.js.map +1 -0
- package/dist/frontend/ts7/ast-node.d.ts +6 -1
- package/dist/frontend/ts7/ast-node.js +12 -0
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-wire-protocols.test.js +11 -3
- package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.js +3 -5
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.d.ts +13 -0
- package/dist/frontend/ts7/checker-backend.js +84 -2
- package/dist/frontend/ts7/checker-backend.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.test.js +126 -2
- package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +22 -1
- package/dist/frontend/ts7/program-host.js +49 -4
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +83 -0
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.d.ts +16 -1
- package/dist/frontend/ts7/rpc-process.js +170 -92
- package/dist/frontend/ts7/rpc-process.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.test.js +49 -21
- package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +70 -0
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +7 -2
- package/dist/frontend/type-mapper.js +148 -1
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +152 -8
- package/dist/index.js.map +1 -1
- package/dist/ir/api.d.ts +1 -1
- package/dist/ir/api.js +1 -1
- package/dist/ir/api.js.map +1 -1
- package/dist/ir/build.d.ts +3 -2
- package/dist/ir/build.js +4 -2
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.js +53 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +211 -10
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/codec.d.ts +82 -0
- package/dist/ir/codec.generated.d.ts +13 -0
- package/dist/ir/codec.generated.js +5274 -0
- package/dist/ir/codec.generated.js.map +1 -0
- package/dist/ir/codec.js +325 -0
- package/dist/ir/codec.js.map +1 -0
- package/dist/ir/codec.test.d.ts +1 -0
- package/dist/ir/codec.test.js +225 -0
- package/dist/ir/codec.test.js.map +1 -0
- package/dist/ir/fields.generated.d.ts +20 -10
- package/dist/ir/fields.generated.js +1031 -11
- package/dist/ir/fields.generated.js.map +1 -1
- package/dist/ir/fields.test.js +46 -2
- package/dist/ir/fields.test.js.map +1 -1
- package/dist/ir/function-references.d.ts +5 -4
- package/dist/ir/function-references.js +8 -4
- package/dist/ir/function-references.js.map +1 -1
- package/dist/ir/function-references.test.js +7 -0
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/inline-array-sources.js +4 -1
- package/dist/ir/inline-array-sources.js.map +1 -1
- package/dist/ir/inline-array-views.d.ts +13 -0
- package/dist/ir/inline-array-views.js +944 -0
- package/dist/ir/inline-array-views.js.map +1 -0
- package/dist/ir/inline-arrays.d.ts +7 -0
- package/dist/ir/inline-arrays.js +190 -55
- package/dist/ir/inline-arrays.js.map +1 -1
- package/dist/ir/inline-arrays.test.js +140 -2
- package/dist/ir/inline-arrays.test.js.map +1 -1
- package/dist/ir/integer-ranges.js +16 -6
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/ir.d.ts +75 -44
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/js-ic.d.ts +10 -9
- package/dist/ir/js-ic.js +28 -20
- package/dist/ir/js-ic.js.map +1 -1
- package/dist/ir/js-ic.test.js +10 -2
- package/dist/ir/js-ic.test.js.map +1 -1
- package/dist/ir/jsval.js +374 -63
- package/dist/ir/jsval.js.map +1 -1
- package/dist/ir/jsval.test.js +96 -2
- package/dist/ir/jsval.test.js.map +1 -1
- package/dist/ir/loop-entry-ranges.js +112 -9
- package/dist/ir/loop-entry-ranges.js.map +1 -1
- package/dist/ir/loop-entry-ranges.test.js +40 -0
- package/dist/ir/loop-entry-ranges.test.js.map +1 -1
- package/dist/ir/parameter-versions.d.ts +2 -1
- package/dist/ir/parameter-versions.js +3 -1
- package/dist/ir/parameter-versions.js.map +1 -1
- package/dist/ir/receiver-readers.js +58 -2
- package/dist/ir/receiver-readers.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +60 -1
- package/dist/ir/runtime-features.js +277 -2
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/runtime-features.test.js +165 -1
- package/dist/ir/runtime-features.test.js.map +1 -1
- package/dist/ir/saturating-loop-jams.d.ts +8 -1
- package/dist/ir/saturating-loop-jams.js +46 -7
- package/dist/ir/saturating-loop-jams.js.map +1 -1
- package/dist/ir/saturating-loop-jams.test.js +39 -1
- package/dist/ir/saturating-loop-jams.test.js.map +1 -1
- package/dist/ir/self-captures.js +8 -1
- package/dist/ir/self-captures.js.map +1 -1
- package/dist/ir/self-captures.test.js +15 -0
- package/dist/ir/self-captures.test.js.map +1 -1
- package/dist/ir/serialize.d.ts +3 -2
- package/dist/ir/serialize.js +6 -2
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/validate.js +82 -4
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +46 -0
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/ir-policy.js +3 -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 +2 -0
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +8 -2
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/prepare.js +32 -3
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.js +53 -3
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +88 -2
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/toolchain.js +9 -2
- package/dist/native/toolchain.js.map +1 -1
- package/dist/node-islands/boundary.d.ts +25 -1
- package/dist/node-islands/boundary.js +28 -2
- package/dist/node-islands/boundary.js.map +1 -1
- package/dist/node-islands/detect.d.ts +18 -1
- package/dist/node-islands/detect.js +365 -40
- package/dist/node-islands/detect.js.map +1 -1
- package/dist/node-islands/detect.test.js +151 -4
- package/dist/node-islands/detect.test.js.map +1 -1
- package/dist/node-islands/effect-gate.js +30 -20
- package/dist/node-islands/effect-gate.js.map +1 -1
- package/dist/node-islands/effect-gate.test.js +4 -1
- package/dist/node-islands/effect-gate.test.js.map +1 -1
- package/dist/node-islands/libnode.d.ts +1 -1
- package/dist/node-islands/libnode.js +1 -1
- package/dist/node-islands/libnode.js.map +1 -1
- package/dist/node-islands/modules.d.ts +28 -0
- package/dist/node-islands/modules.js +156 -0
- package/dist/node-islands/modules.js.map +1 -1
- package/dist/node-islands/modules.test.js +105 -1
- package/dist/node-islands/modules.test.js.map +1 -1
- package/dist/node-islands/policy.js +2 -3
- package/dist/node-islands/policy.js.map +1 -1
- package/dist/node-islands/probe-recorder.d.ts +1 -0
- package/dist/node-islands/probe-recorder.js +596 -0
- package/dist/node-islands/probe-recorder.js.map +1 -0
- package/dist/node-islands/probe-recorder.test.d.ts +1 -0
- package/dist/node-islands/probe-recorder.test.js +80 -0
- package/dist/node-islands/probe-recorder.test.js.map +1 -0
- package/dist/node-islands/report.test.js +2 -0
- package/dist/node-islands/report.test.js.map +1 -1
- package/dist/node-islands/rules.js +4 -0
- package/dist/node-islands/rules.js.map +1 -1
- package/dist/node-islands/scan.d.ts +7 -1
- package/dist/node-islands/scan.js +51 -2
- package/dist/node-islands/scan.js.map +1 -1
- package/dist/node-islands/snapshot.d.ts +38 -1
- package/dist/node-islands/snapshot.js +165 -161
- package/dist/node-islands/snapshot.js.map +1 -1
- package/dist/node-islands/snapshot.test.js +63 -2
- package/dist/node-islands/snapshot.test.js.map +1 -1
- package/dist/node-islands/summary.js +8 -0
- package/dist/node-islands/summary.js.map +1 -1
- package/dist/node-islands/type-strip.d.ts +11 -0
- package/dist/node-islands/type-strip.js +157 -0
- package/dist/node-islands/type-strip.js.map +1 -0
- package/dist/node-islands/type-strip.test.d.ts +1 -0
- package/dist/node-islands/type-strip.test.js +31 -0
- package/dist/node-islands/type-strip.test.js.map +1 -0
- package/dist/project-config.d.ts +4 -0
- package/dist/project-config.js +19 -0
- package/dist/project-config.js.map +1 -1
- package/dist/project-config.test.js +10 -0
- package/dist/project-config.test.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +43 -11
|
@@ -82,6 +82,7 @@ const DYN_ASYNC_LIB_FNS = new Set([
|
|
|
82
82
|
"process.offWarning",
|
|
83
83
|
"process.onRejectionHandled",
|
|
84
84
|
"process.onUncaughtException",
|
|
85
|
+
"process.prependUncaughtException",
|
|
85
86
|
"process.onUnhandledRejection",
|
|
86
87
|
"process.onWarning",
|
|
87
88
|
"process.setDeprecationFlag",
|
|
@@ -301,18 +302,24 @@ const READABLE_DYN_ASYNC_PREFIXES = ["readable.fromGen", "readable.op"];
|
|
|
301
302
|
/** Entry points that link the dyn-invoke unit. */
|
|
302
303
|
const DYN_INVOKE_LIB_FNS = new Set([
|
|
303
304
|
"dyn.arrayProtoCall",
|
|
305
|
+
"dyn.arrayLikeProtoCall",
|
|
306
|
+
"dyn.builtinPrototype",
|
|
304
307
|
"dyn.arrayPrototype",
|
|
305
308
|
"dyn.builtinFunction",
|
|
306
309
|
"dyn.builtinMethod",
|
|
310
|
+
"dyn.stdlibPrototype",
|
|
307
311
|
"dyn.defineProperty",
|
|
312
|
+
"dyn.definePropertyShapes",
|
|
308
313
|
"child.propsDefine",
|
|
309
314
|
"dyn.defineProps",
|
|
315
|
+
"dyn.definePropsShapes",
|
|
310
316
|
"dyn.definePrototypeProps",
|
|
311
317
|
"dyn.functionApply",
|
|
312
318
|
"dyn.globalConstructor",
|
|
313
319
|
"dyn.namespaceDefine",
|
|
314
320
|
"dyn.namespaceNew",
|
|
315
321
|
"dyn.objCreateWithProperties",
|
|
322
|
+
"dyn.objCreateWithPropertiesShapes",
|
|
316
323
|
"dyn.objectTag",
|
|
317
324
|
"stream.dynNative",
|
|
318
325
|
"stream.dynNativePipe",
|
|
@@ -369,7 +376,15 @@ const SYMBOL_LIB_FNS = new Set([
|
|
|
369
376
|
"buffer.prototypeMember",
|
|
370
377
|
]);
|
|
371
378
|
/** Entry points that link the querystring unit. */
|
|
372
|
-
const QS_LIB_FNS = new Set([
|
|
379
|
+
const QS_LIB_FNS = new Set([
|
|
380
|
+
"qs.parse",
|
|
381
|
+
"qs.parseCustom",
|
|
382
|
+
"qs.stringify",
|
|
383
|
+
"qs.stringifyCustom",
|
|
384
|
+
"qs.separator",
|
|
385
|
+
"qs.unescape",
|
|
386
|
+
"qs.unescapeBuffer",
|
|
387
|
+
]);
|
|
373
388
|
/** Entry points that link the parseArgs unit. */
|
|
374
389
|
const PARSE_ARGS_LIB_FNS = new Set([
|
|
375
390
|
"util.isDeepStrictEqual",
|
|
@@ -560,7 +575,12 @@ const PROCESS_EVENT_LIB_FNS = new Set([
|
|
|
560
575
|
"process.offSignal",
|
|
561
576
|
"process.onExit",
|
|
562
577
|
"process.onSignal",
|
|
578
|
+
"process.prependExit",
|
|
579
|
+
"process.prependSignal",
|
|
563
580
|
"process.stdio",
|
|
581
|
+
"process.stdinIsRaw",
|
|
582
|
+
"process.stdioSlot",
|
|
583
|
+
"process.stdioWriteDyn",
|
|
564
584
|
"stdin.nextChunk",
|
|
565
585
|
"stdin.onData",
|
|
566
586
|
"stdin.onEnd",
|
|
@@ -713,6 +733,147 @@ export function moduleUsesWebCryptoAsymmetric(mod) {
|
|
|
713
733
|
});
|
|
714
734
|
return webcrypto && named;
|
|
715
735
|
}
|
|
736
|
+
/** The typed file reads that answer a ScrBytes: Node answers a Buffer, but
|
|
737
|
+
* scr_lib.c brands it only in the SCR_FS_BUFFER_BRAND build, so a program
|
|
738
|
+
* that can observe the difference links that build. */
|
|
739
|
+
const FS_READ_BYTES_FNS = new Set([
|
|
740
|
+
"fs.readFileSyncBuf",
|
|
741
|
+
"fs.readFileSyncBytes",
|
|
742
|
+
"fs.readFdSyncBytes",
|
|
743
|
+
"fsp.readFileBytes",
|
|
744
|
+
"fileHandle.readFileBytes",
|
|
745
|
+
]);
|
|
746
|
+
/** The bytesIntrinsic searches whose runtime branch reads the brand: a
|
|
747
|
+
* Buffer viewed as a Uint8Array searches bytes, a plain Uint8Array compares
|
|
748
|
+
* element values (NaN and out-of-range needles differ). */
|
|
749
|
+
const FS_BUFFER_SEARCH_METHODS = new Set([
|
|
750
|
+
"indexOfElem",
|
|
751
|
+
"lastIndexOfElem",
|
|
752
|
+
"includesElem",
|
|
753
|
+
]);
|
|
754
|
+
/** Whether a type holds bytes without passing another declaration, collecting
|
|
755
|
+
* the record and union declarations it references. A boxed function's call
|
|
756
|
+
* thunk boxes its result, and a checked function's thunk boxes its
|
|
757
|
+
* arguments, with no dynFrom in the IR. */
|
|
758
|
+
function reachesBytesDirect(t, deps) {
|
|
759
|
+
switch (t.kind) {
|
|
760
|
+
case "bytes":
|
|
761
|
+
return true;
|
|
762
|
+
case "array":
|
|
763
|
+
case "set":
|
|
764
|
+
return reachesBytesDirect(t.elem, deps);
|
|
765
|
+
case "map":
|
|
766
|
+
return reachesBytesDirect(t.key, deps) || reachesBytesDirect(t.value, deps);
|
|
767
|
+
case "promise":
|
|
768
|
+
return reachesBytesDirect(t.inner, deps);
|
|
769
|
+
case "func":
|
|
770
|
+
return reachesBytesDirect(t.ret, deps) || t.params.some((p) => reachesBytesDirect(p, deps));
|
|
771
|
+
case "record":
|
|
772
|
+
deps.push(`r:${t.shapeId}`);
|
|
773
|
+
return false;
|
|
774
|
+
case "union":
|
|
775
|
+
deps.push(`u:${t.unionId}`);
|
|
776
|
+
return false;
|
|
777
|
+
default:
|
|
778
|
+
return false;
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
/** The module's declarations that can hold bytes, resolved to a fixpoint: a
|
|
782
|
+
* record or union that references another declaration holding bytes holds
|
|
783
|
+
* bytes, and a recursive declaration resolves like a non-recursive one. The
|
|
784
|
+
* closure answers each reference from one pass over the declarations instead
|
|
785
|
+
* of walking the shape tree at every reference. */
|
|
786
|
+
function bytesCarryingDecls(mod) {
|
|
787
|
+
const referrers = new Map();
|
|
788
|
+
const carrying = new Set();
|
|
789
|
+
const queue = [];
|
|
790
|
+
const direct = (id, t) => {
|
|
791
|
+
const deps = [];
|
|
792
|
+
if (reachesBytesDirect(t, deps)) {
|
|
793
|
+
if (!carrying.has(id)) {
|
|
794
|
+
carrying.add(id);
|
|
795
|
+
queue.push(id);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
for (const dep of deps) {
|
|
799
|
+
const list = referrers.get(dep);
|
|
800
|
+
if (list === undefined)
|
|
801
|
+
referrers.set(dep, [id]);
|
|
802
|
+
else
|
|
803
|
+
list.push(id);
|
|
804
|
+
}
|
|
805
|
+
};
|
|
806
|
+
for (const record of mod.records ?? []) {
|
|
807
|
+
for (const field of record.fields)
|
|
808
|
+
direct(`r:${record.id}`, field.type);
|
|
809
|
+
if (record.indexValue !== undefined)
|
|
810
|
+
direct(`r:${record.id}`, record.indexValue);
|
|
811
|
+
}
|
|
812
|
+
for (const union of mod.unions ?? []) {
|
|
813
|
+
for (const arm of union.arms)
|
|
814
|
+
direct(`u:${union.id}`, arm);
|
|
815
|
+
}
|
|
816
|
+
for (let i = 0; i < queue.length; i++) {
|
|
817
|
+
for (const from of referrers.get(queue[i]) ?? []) {
|
|
818
|
+
if (carrying.has(from))
|
|
819
|
+
continue;
|
|
820
|
+
carrying.add(from);
|
|
821
|
+
queue.push(from);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
const deps = [];
|
|
825
|
+
const holdsBytes = (t) => {
|
|
826
|
+
deps.length = 0;
|
|
827
|
+
if (reachesBytesDirect(t, deps))
|
|
828
|
+
return true;
|
|
829
|
+
for (const dep of deps)
|
|
830
|
+
if (carrying.has(dep))
|
|
831
|
+
return true;
|
|
832
|
+
return false;
|
|
833
|
+
};
|
|
834
|
+
return holdsBytes;
|
|
835
|
+
}
|
|
836
|
+
/** fsBufferBrand's condition as a scan over the module: it reads file bytes
|
|
837
|
+
* through a typed read and can observe their Buffer-ness. scr_lib.c's read
|
|
838
|
+
* entries set is_buffer only under SCR_FS_BUFFER_BRAND, so this conjunction
|
|
839
|
+
* selects that variant; a program that reads bytes without observing them
|
|
840
|
+
* keeps the default object. */
|
|
841
|
+
function fsBufferBrandScan(mod) {
|
|
842
|
+
let reads = false;
|
|
843
|
+
let observes = false;
|
|
844
|
+
let holdsBytes;
|
|
845
|
+
return {
|
|
846
|
+
expr: (node) => {
|
|
847
|
+
if (reads && observes)
|
|
848
|
+
return;
|
|
849
|
+
if (node.kind === "libCall" && FS_READ_BYTES_FNS.has(node.fn)) {
|
|
850
|
+
reads = true;
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
853
|
+
if (observes)
|
|
854
|
+
return;
|
|
855
|
+
switch (node.kind) {
|
|
856
|
+
case "dynFrom":
|
|
857
|
+
observes = (holdsBytes ??= bytesCarryingDecls(mod))(node.value.type);
|
|
858
|
+
return;
|
|
859
|
+
case "dynCheck":
|
|
860
|
+
if (node.type.kind === "func") {
|
|
861
|
+
observes = (holdsBytes ??= bytesCarryingDecls(mod))(node.type);
|
|
862
|
+
}
|
|
863
|
+
return;
|
|
864
|
+
case "bytesIntrinsic":
|
|
865
|
+
observes = FS_BUFFER_SEARCH_METHODS.has(node.method);
|
|
866
|
+
return;
|
|
867
|
+
case "libCall":
|
|
868
|
+
observes = node.fn === "buffer.isBranded" || node.fn === "insp.bytes";
|
|
869
|
+
return;
|
|
870
|
+
default:
|
|
871
|
+
return;
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
result: () => reads && observes,
|
|
875
|
+
};
|
|
876
|
+
}
|
|
716
877
|
/** One rule per runtime feature, sorted by name. A new feature is an
|
|
717
878
|
* entry here and its line in noRuntimeFeatures; RuntimeFeatures, the scan
|
|
718
879
|
* and its early exit derive from this table. The lists above keep one
|
|
@@ -832,6 +993,16 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
832
993
|
* half (scr_dyn_builtin_stream.c): native stream state for constructor
|
|
833
994
|
* functions, over the stream unit. */
|
|
834
995
|
dynBuiltinStream: rule({ fns: ["dyn.builtinStreamClass"] }),
|
|
996
|
+
/** A standard library prototype object read as a value in a JavaScript
|
|
997
|
+
* source (scr_dyn_stdlib_prototype.c): `Date.prototype`. */
|
|
998
|
+
stdlibPrototypeValue: rule({ fns: ["dyn.stdlibPrototype"] }),
|
|
999
|
+
/** Array.prototype's generic algorithms over array-like receivers
|
|
1000
|
+
* (scr_dyn_array_like.c), which delegates every other name to the
|
|
1001
|
+
* dyn-invoke unit's array dispatch. */
|
|
1002
|
+
arrayLikeDispatch: rule({ fns: ["dyn.arrayLikeProtoCall"] }),
|
|
1003
|
+
/** Number.prototype and Boolean.prototype as values
|
|
1004
|
+
* (scr_dyn_builtin_prototype.c). */
|
|
1005
|
+
builtinPrototypeValue: rule({ fns: ["dyn.builtinPrototype"] }),
|
|
835
1006
|
dynInvoke: rule({
|
|
836
1007
|
initial: (mod) => mod.workers === true,
|
|
837
1008
|
fns: [
|
|
@@ -844,6 +1015,11 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
844
1015
|
"webstream.class",
|
|
845
1016
|
"webstream.instanceOf",
|
|
846
1017
|
"webstream.install",
|
|
1018
|
+
// scr_js_wrapper.c answers other values' tags through
|
|
1019
|
+
// scr_dyn_object_tag_of, and its prototype methods call scr_dyn_invoke.
|
|
1020
|
+
"wrapper.objectTag",
|
|
1021
|
+
"wrapper.new",
|
|
1022
|
+
"wrapper.toObject",
|
|
847
1023
|
],
|
|
848
1024
|
// Constant-key reads of Object.prototype member names answer the
|
|
849
1025
|
// inherited member through scr_dyn_invoke.c.
|
|
@@ -894,6 +1070,12 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
894
1070
|
"buffer.installValue",
|
|
895
1071
|
"buffer.staticValue",
|
|
896
1072
|
"buffer.prototypeMember",
|
|
1073
|
+
"dyn.validateString",
|
|
1074
|
+
"dyn.validateStrings",
|
|
1075
|
+
"path.resolveValue",
|
|
1076
|
+
"path.parseValue",
|
|
1077
|
+
"path.formatValue",
|
|
1078
|
+
"path.toNamespacedValue",
|
|
897
1079
|
],
|
|
898
1080
|
}),
|
|
899
1081
|
/** The stream unit emits through the emitter unit, also when the
|
|
@@ -938,7 +1120,14 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
938
1120
|
eventsOnceSignal: rule({ fns: ["events.onceSignal"] }),
|
|
939
1121
|
fetch: rule({ prefixes: ["fetch."] }),
|
|
940
1122
|
fileHandle: rule({ types: ["fileHandle"] }),
|
|
1123
|
+
/** A typed fs read whose bytes value the program can observe as a Buffer:
|
|
1124
|
+
* scr_lib.c's SCR_FS_BUFFER_BRAND build, so programs that never see the
|
|
1125
|
+
* brand keep the default object. */
|
|
1126
|
+
fsBufferBrand: rule({ scan: fsBufferBrandScan }),
|
|
941
1127
|
fsWatch: rule({ prefixes: ["fs.watch", "watcher."], types: ["fsWatcher"] }),
|
|
1128
|
+
/** fs.watchFile / fs.unwatchFile (scr_watch_file.c): the stat-polling
|
|
1129
|
+
* half of the watching surface, gated on its own unit. */
|
|
1130
|
+
fsWatchFile: rule({ fns: ["fs.watchFile", "fs.unwatchFile"] }),
|
|
942
1131
|
/** A socket 'lookup' listener: the C main installs the net unit's
|
|
943
1132
|
* lookup records (scr_net_lookup_install). */
|
|
944
1133
|
netLookup: rule({ fns: ["net.sockOnLookup"] }),
|
|
@@ -952,6 +1141,12 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
952
1141
|
libCall: (node) => node.fn.startsWith("http2.") && !HTTP2_LEGACY_FNS.has(node.fn),
|
|
953
1142
|
types: ["http2Session", "http2Stream"],
|
|
954
1143
|
}),
|
|
1144
|
+
/** Intl over ICU: scr_intl.c plus the ICU archive and the data
|
|
1145
|
+
* file that ships beside the executable. The prefix is `icu.` because the
|
|
1146
|
+
* `intl.` libCalls are the engine-free fast paths — the embedded en-US
|
|
1147
|
+
* number format and the table-driven grapheme segmenter — which must keep
|
|
1148
|
+
* linking no ICU code. */
|
|
1149
|
+
icu: rule({ prefixes: ["icu."] }),
|
|
955
1150
|
/** scr_test.c renders thrown strings with the inspect unit's string
|
|
956
1151
|
* formatting; scr_util_callable.c wraps the inspect unit; readline's
|
|
957
1152
|
* terminal unit prints completion errors through it when there is a
|
|
@@ -961,8 +1156,12 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
961
1156
|
"global.native",
|
|
962
1157
|
// ERR_ARG_NOT_ITERABLE renders the value as util.format's %s does.
|
|
963
1158
|
"webstream.class",
|
|
1159
|
+
// ERR_UNKNOWN_ENCODING formats an encoding that is not a string with %s.
|
|
1160
|
+
"strdec.encodingValue",
|
|
964
1161
|
"webstream.install",
|
|
965
1162
|
"util.styleText",
|
|
1163
|
+
// ERR_UNHANDLED_ERROR quotes util.inspect of a non-Error payload.
|
|
1164
|
+
"emitter.emitErrorValue",
|
|
966
1165
|
"crypto.cipherNew",
|
|
967
1166
|
"webcrypto.encrypt",
|
|
968
1167
|
"webcrypto.decrypt",
|
|
@@ -1029,6 +1228,9 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
1029
1228
|
...UTIL_CALLABLE_LIB_FNS,
|
|
1030
1229
|
"rl.terminal",
|
|
1031
1230
|
"str.localeCase",
|
|
1231
|
+
// win32.relative compares with String.prototype.toLowerCase's
|
|
1232
|
+
// Unicode case mapping.
|
|
1233
|
+
"path.win32Relative",
|
|
1032
1234
|
],
|
|
1033
1235
|
prefixes: URL_PREFIXES,
|
|
1034
1236
|
expr: (node, _tables) => node.kind === "regexLit" ||
|
|
@@ -1051,6 +1253,18 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
1051
1253
|
expr: (node, _tables) => (node.kind === "dynInvoke" && STDIO_EXTENDED_NAMES.has(node.method)) ||
|
|
1052
1254
|
(node.kind === "strLit" && STDIO_EXTENDED_NAMES.has(node.value)),
|
|
1053
1255
|
}),
|
|
1256
|
+
/** A write completion callback that takes the error argument lowers
|
|
1257
|
+
* through writable.writeEcb: the SCR_STREAM_WRITE_ERRORS stream unit
|
|
1258
|
+
* publishes the error the adapter delivers. */
|
|
1259
|
+
streamWriteErrors: rule({ fns: ["writable.writeEcb"] }),
|
|
1260
|
+
/** The program reaches the process output streams' write slot — the
|
|
1261
|
+
* write method as a value (process.stdioSlot), its replacement, a patched
|
|
1262
|
+
* program's typed writes, or a run-time-typed chunk
|
|
1263
|
+
* (process.stdioWriteDyn): the SCR_STDIO_WRITE_SLOT build of the events
|
|
1264
|
+
* unit carries the shared write body, the dynamic-chunk entry point and
|
|
1265
|
+
* Node's anonymous write function. Every other program links the default
|
|
1266
|
+
* object, byte for byte. */
|
|
1267
|
+
stdioWriteSlot: rule({ fns: ["process.stdioSlot", "process.stdioWriteDyn"] }),
|
|
1054
1268
|
stream: rule({
|
|
1055
1269
|
initial: (mod) => (mod.classes ?? []).some((c) => RUNTIME_STREAM_CLASSES.has(c.name)),
|
|
1056
1270
|
fns: [...STREAM_LIB_FNS, "dyn.builtinStreamClass"],
|
|
@@ -1072,11 +1286,19 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
1072
1286
|
utilPromisify: rule({ fns: ["util.promisifyDyn"] }),
|
|
1073
1287
|
/** process.emitWarning is assigned (process.setEmitWarning). */
|
|
1074
1288
|
warningReplace: rule({ fns: ["process.setEmitWarning"] }),
|
|
1289
|
+
/** A record literal asserted to a wider record type answers a partial
|
|
1290
|
+
* record view (record-views.ts): the SIZE_MAX sentinel and its trap live in
|
|
1291
|
+
* the SCR_RECORD_VIEW_PARTIAL build of scr_json.c. */
|
|
1292
|
+
recordViewPartial: rule({
|
|
1293
|
+
expr: (node) => node.kind === "dynCheck" && node.partialView === true,
|
|
1294
|
+
}),
|
|
1075
1295
|
/** Module namespace objects as checked-dynamic values
|
|
1076
1296
|
* (scr_module_namespace.c). */
|
|
1077
1297
|
moduleNamespace: rule({ fns: ["module.namespaceValue"] }),
|
|
1078
1298
|
/** A module namespace boxed for typed code (scr_module_namespace_dyn.c). */
|
|
1079
1299
|
moduleNamespaceDyn: rule({ fns: ["module.namespaceDyn"] }),
|
|
1300
|
+
/** Primitive wrapper objects (scr_js_wrapper.c). */
|
|
1301
|
+
primitiveWrapper: rule({ prefixes: ["wrapper."] }),
|
|
1080
1302
|
/** The WebAssembly API (scr_wasm.c). */
|
|
1081
1303
|
wasm: rule({ prefixes: ["wasm."] }),
|
|
1082
1304
|
/** crypto.subtle importKey/sign/verify/digest and CryptoKey:
|
|
@@ -1110,6 +1332,33 @@ const RUNTIME_FEATURE_RULES = {
|
|
|
1110
1332
|
"tls.sockGetCertificate",
|
|
1111
1333
|
],
|
|
1112
1334
|
}),
|
|
1335
|
+
/** writeFile's `flag` disposition ("w" / "wx") and copyFile's mode
|
|
1336
|
+
* argument: scr_fs_flags.c and the SCR_FS_FLAGS build of scr_fs_cp.c.
|
|
1337
|
+
* Programs that never pass either keep both units' default objects. */
|
|
1338
|
+
fsFlags: rule({
|
|
1339
|
+
fns: [
|
|
1340
|
+
"fs.copyFileFlagsSync",
|
|
1341
|
+
"fs.writeFileFlagsSync",
|
|
1342
|
+
"fsp.copyFileFlags",
|
|
1343
|
+
"fsp.writeFileFlags",
|
|
1344
|
+
],
|
|
1345
|
+
}),
|
|
1346
|
+
/** string_decoder's checked-dynamic chunk forms (a stream "data" payload):
|
|
1347
|
+
* scr_bytes_strdec_dyn.c. */
|
|
1348
|
+
strdecDyn: rule({ fns: ["strdec.nextDyn", "strdec.writeDyn"] }),
|
|
1349
|
+
/** The process and stream event registries' extras — prependListener for
|
|
1350
|
+
* signals, 'exit' and uncaught exceptions, stdin.isRaw, and server.off:
|
|
1351
|
+
* the SCR_PROCESS_EXTRAS builds of scr_events.c and scr_async_dyn.c and
|
|
1352
|
+
* the SCR_NET_SERVER_OFF build of scr_net.c. */
|
|
1353
|
+
processExtras: rule({
|
|
1354
|
+
fns: [
|
|
1355
|
+
"net.serverOff",
|
|
1356
|
+
"process.prependExit",
|
|
1357
|
+
"process.prependSignal",
|
|
1358
|
+
"process.prependUncaughtException",
|
|
1359
|
+
"process.stdinIsRaw",
|
|
1360
|
+
],
|
|
1361
|
+
}),
|
|
1113
1362
|
zlib: rule({ prefixes: ["zlib."] }),
|
|
1114
1363
|
/** node:zlib's Brotli forms: zlib.brotliInstall, which %main calls when
|
|
1115
1364
|
* the program uses Brotli (scr_brotli.c). */
|
|
@@ -1137,7 +1386,10 @@ function noRuntimeFeatures() {
|
|
|
1137
1386
|
dynAsync: false,
|
|
1138
1387
|
dynBuiltinClass: false,
|
|
1139
1388
|
dynBuiltinStream: false,
|
|
1389
|
+
stdlibPrototypeValue: false,
|
|
1140
1390
|
dynInvoke: false,
|
|
1391
|
+
arrayLikeDispatch: false,
|
|
1392
|
+
builtinPrototypeValue: false,
|
|
1141
1393
|
dynTier: false,
|
|
1142
1394
|
ecdh: false,
|
|
1143
1395
|
x509: false,
|
|
@@ -1147,9 +1399,13 @@ function noRuntimeFeatures() {
|
|
|
1147
1399
|
eventsOnceSignal: false,
|
|
1148
1400
|
fetch: false,
|
|
1149
1401
|
fileHandle: false,
|
|
1402
|
+
fsBufferBrand: false,
|
|
1403
|
+
fsFlags: false,
|
|
1150
1404
|
fsWatch: false,
|
|
1405
|
+
fsWatchFile: false,
|
|
1151
1406
|
http2: false,
|
|
1152
1407
|
http: false,
|
|
1408
|
+
icu: false,
|
|
1153
1409
|
inspect: false,
|
|
1154
1410
|
legacyTextDecoder: false,
|
|
1155
1411
|
mime: false,
|
|
@@ -1166,14 +1422,19 @@ function noRuntimeFeatures() {
|
|
|
1166
1422
|
pki: false,
|
|
1167
1423
|
ed25519: false,
|
|
1168
1424
|
processEvents: false,
|
|
1425
|
+
processExtras: false,
|
|
1169
1426
|
qs: false,
|
|
1170
1427
|
regex: false,
|
|
1171
1428
|
searchParams: false,
|
|
1172
1429
|
urlIdna: false,
|
|
1173
1430
|
stdioExtended: false,
|
|
1431
|
+
stdioWriteSlot: false,
|
|
1432
|
+
streamWriteErrors: false,
|
|
1174
1433
|
moduleNamespace: false,
|
|
1175
1434
|
moduleNamespaceDyn: false,
|
|
1435
|
+
primitiveWrapper: false,
|
|
1176
1436
|
stream: false,
|
|
1437
|
+
strdecDyn: false,
|
|
1177
1438
|
streamDyn: false,
|
|
1178
1439
|
handleProps: false,
|
|
1179
1440
|
childLifecycle: false,
|
|
@@ -1188,6 +1449,7 @@ function noRuntimeFeatures() {
|
|
|
1188
1449
|
tlsCa: false,
|
|
1189
1450
|
utilPromisify: false,
|
|
1190
1451
|
warningReplace: false,
|
|
1452
|
+
recordViewPartial: false,
|
|
1191
1453
|
wasm: false,
|
|
1192
1454
|
webcrypto: false,
|
|
1193
1455
|
zlib: false,
|
|
@@ -1233,7 +1495,7 @@ function scanRuntimeFeatures(mod, stopAt, nodes) {
|
|
|
1233
1495
|
if (initial && initial(mod))
|
|
1234
1496
|
features[name] = true;
|
|
1235
1497
|
if (scan)
|
|
1236
|
-
scans.push({ name, scan: scan() });
|
|
1498
|
+
scans.push({ name, scan: scan(mod) });
|
|
1237
1499
|
}
|
|
1238
1500
|
const keepGoing = () => stopAt === undefined || !features[stopAt];
|
|
1239
1501
|
let tables;
|
|
@@ -1292,6 +1554,11 @@ function scanRuntimeFeatures(mod, stopAt, nodes) {
|
|
|
1292
1554
|
const sites = new JsIcSites(mod);
|
|
1293
1555
|
features.dynTier = mod.functions.some((fn) => fn.tier === "dynamic" && hasJsIcSite(fn, sites));
|
|
1294
1556
|
}
|
|
1557
|
+
// A jsval parameter or result (ir/jsval.ts) is retained and released
|
|
1558
|
+
// through the tier's word reference counting, with or without a js.*
|
|
1559
|
+
// operation in the body.
|
|
1560
|
+
if (!features.dynTier)
|
|
1561
|
+
features.dynTier = mod.functions.some((fn) => fn.returnType.kind === "jsval" || fn.params.some((p) => p.type.kind === "jsval"));
|
|
1295
1562
|
return features;
|
|
1296
1563
|
}
|
|
1297
1564
|
/** True when the module contains any regex construct — a regexLit /
|
|
@@ -1480,6 +1747,14 @@ export function moduleUsesParseArgs(mod) {
|
|
|
1480
1747
|
export function moduleUsesFsWatch(mod) {
|
|
1481
1748
|
return scanRuntimeFeatures(mod, "fsWatch").fsWatch;
|
|
1482
1749
|
}
|
|
1750
|
+
/** True when the module contains an fs.watchFile/fs.unwatchFile libCall —
|
|
1751
|
+
* the link switch that pulls scr_watch_file.c into the binary and has the
|
|
1752
|
+
* emitted main call scr_watch_file_install (the moduleUsesFsWatch
|
|
1753
|
+
* precedent, one unit of its own). Programs that never poll pay zero bytes
|
|
1754
|
+
* and keep their exact link line. */
|
|
1755
|
+
export function moduleUsesFsWatchFile(mod) {
|
|
1756
|
+
return scanRuntimeFeatures(mod, "fsWatchFile").fsWatchFile;
|
|
1757
|
+
}
|
|
1483
1758
|
/** True when the module contains any test.* libCall or a testCtx handle
|
|
1484
1759
|
* type — the link switch that pulls scr_test.c into the binary and has
|
|
1485
1760
|
* the emitted main return scr_test_exit_code() after the loop drains
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-features.js","sourceRoot":"","sources":["../../src/ir/runtime-features.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-features.js","sourceRoot":"","sources":["../../src/ir/runtime-features.ts"],"names":[],"mappings":"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"}
|