@scriptc/compiler 0.2.10 → 0.3.1
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/scriptc-node-fallback.d.ts +7 -38
- package/ambient/scriptc-overrides.d.ts +1 -25
- package/ambient/scriptc.d.ts +1 -9
- package/dist/backend/cycle-analysis.test.js +1 -1
- package/dist/backend/cycle-mutability.d.ts +1 -1
- package/dist/backend/cycle-mutability.js +1 -18
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.d.ts +1 -1
- package/dist/backend/executable-features.js +3 -8
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.d.ts +1 -1
- package/dist/backend/immutability.js +1 -1
- package/dist/backend/immutability.test.js +1 -1
- package/dist/backend/library-pack.js +0 -2
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/linker.js +1 -1
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/llvm/bigint-wrap.d.ts +4 -0
- package/dist/backend/llvm/bigint-wrap.js +590 -0
- package/dist/backend/llvm/bigint-wrap.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +2 -0
- package/dist/backend/llvm/blocks.js +4 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.js +15 -4
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +14 -3
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.test.js +2 -2
- package/dist/backend/llvm/checked-narrows.test.js.map +1 -1
- package/dist/backend/llvm/classes.js +60 -21
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +11 -11
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +7 -5
- package/dist/backend/llvm/common.js +7 -5
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +1 -1
- package/dist/backend/llvm/constant-callbacks.js +13 -31
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +1 -1
- package/dist/backend/llvm/dense-array-access.js +133 -45
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +54 -2
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +2 -1
- package/dist/backend/llvm/dyn.js +4 -73
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +123 -23
- package/dist/backend/llvm/emitter.js +729 -258
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +17 -10
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +120 -43
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-async.test.js +2 -2
- package/dist/backend/llvm/expr-async.test.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +51 -36
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +72 -3
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +1 -1
- package/dist/backend/llvm/expr-calls.js +159 -30
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-calls.test.js +132 -0
- package/dist/backend/llvm/expr-calls.test.js.map +1 -0
- package/dist/backend/llvm/expr-containers.js +25 -8
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +2 -0
- package/dist/backend/llvm/expr-control.js +4 -107
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.d.ts +1 -2
- package/dist/backend/llvm/expr-dispatch.js +3 -41
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.d.ts +1 -1
- package/dist/backend/llvm/expr-dynamic.js +39 -31
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +7 -0
- package/dist/backend/llvm/expr-primitives.js +80 -22
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +97 -7
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.d.ts +9 -0
- package/dist/backend/llvm/expr-records.js +134 -16
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +80 -1
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +51 -2
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/int32-abi.d.ts +31 -0
- package/dist/backend/llvm/int32-abi.js +62 -0
- package/dist/backend/llvm/int32-abi.js.map +1 -0
- package/dist/backend/llvm/int32-abi.test.js +107 -0
- package/dist/backend/llvm/int32-abi.test.js.map +1 -0
- package/dist/backend/llvm/int32-locals.d.ts +30 -0
- package/dist/backend/llvm/int32-locals.js +95 -0
- package/dist/backend/llvm/int32-locals.js.map +1 -0
- package/dist/backend/llvm/integer-values.d.ts +4 -0
- package/dist/backend/llvm/integer-values.js +30 -1
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/integer-views.d.ts +8 -1
- package/dist/backend/llvm/integer-views.js +47 -2
- package/dist/backend/llvm/integer-views.js.map +1 -1
- package/dist/backend/llvm/lazy-captures.d.ts +16 -0
- package/dist/backend/llvm/lazy-captures.js +88 -2
- package/dist/backend/llvm/lazy-captures.js.map +1 -1
- package/dist/backend/llvm/lazy-captures.test.js +48 -0
- package/dist/backend/llvm/lazy-captures.test.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +14 -1
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +3 -13
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +7 -8
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +21 -2
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +4 -3
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +3 -3
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +7 -0
- package/dist/backend/llvm/map-number-lookup.js +16 -2
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.js +7 -1
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +25 -8
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/reference-effects.js +2 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +3 -0
- package/dist/backend/llvm/reference-writes.js +10 -2
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.d.ts +39 -0
- package/dist/backend/llvm/regex-matchers.js +1649 -0
- package/dist/backend/llvm/regex-matchers.js.map +1 -0
- package/dist/backend/llvm/regex-matchers.test.js +96 -0
- package/dist/backend/llvm/regex-matchers.test.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +36 -1
- package/dist/backend/llvm/shapes.js +128 -16
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +3 -3
- package/dist/backend/llvm/stack-unions.test.js +2 -2
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.test.js +3 -3
- package/dist/backend/llvm/string-construction.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +6 -6
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-literal-equality.d.ts +22 -0
- package/dist/backend/llvm/string-literal-equality.js +78 -0
- package/dist/backend/llvm/string-literal-equality.js.map +1 -0
- package/dist/backend/llvm/switch-dispatch.js +59 -13
- package/dist/backend/llvm/switch-dispatch.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +72 -7
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
- package/dist/backend/llvm/union-retype.test.d.ts +1 -0
- package/dist/backend/llvm/union-retype.test.js +229 -0
- package/dist/backend/llvm/union-retype.test.js.map +1 -0
- package/dist/backend/llvm/wrapping-sums.d.ts +17 -0
- package/dist/backend/llvm/wrapping-sums.js +113 -0
- package/dist/backend/llvm/wrapping-sums.js.map +1 -0
- package/dist/backend/loop-polls.js +1 -0
- package/dist/backend/loop-polls.js.map +1 -1
- package/dist/backend/mangle.d.ts +9 -0
- package/dist/backend/mangle.js +15 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.js +6 -12
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +1 -1
- package/dist/backend/native/artifact-stamps.js +0 -2
- package/dist/backend/native/artifact-stamps.js.map +1 -1
- package/dist/backend/native/cache-warm.d.ts +1 -1
- package/dist/backend/native/cache-warm.js +2 -3
- package/dist/backend/native/cache-warm.js.map +1 -1
- package/dist/backend/native/compiler-fingerprint.d.ts +1 -1
- package/dist/backend/native/compiler-fingerprint.js +4 -7
- package/dist/backend/native/compiler-fingerprint.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +3 -28
- package/dist/backend/native/driver.js +1 -3
- package/dist/backend/native/driver.js.map +1 -1
- package/dist/backend/native/executable.d.ts +0 -15
- package/dist/backend/native/executable.js +17 -172
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/tool-identity.js +0 -1
- package/dist/backend/native/tool-identity.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-link-info-core.d.ts +0 -2
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +23 -33
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/publication.test.js +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 +1 -2
- package/dist/backend/runtime-pack-core.js +5 -14
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +3 -8
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +22 -19
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-diagnostics.d.ts +0 -5
- package/dist/backend/target-diagnostics.js +1 -11
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +1 -1
- package/dist/backend/vendor-archives.d.ts +1 -7
- package/dist/backend/vendor-archives.js +9 -189
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +0 -1
- package/dist/backend/vendor-inputs.js +0 -1
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/warm-cache.js +3 -5
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +4 -8
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/host.d.ts +1 -1
- package/dist/cli/usage.d.ts +1 -5
- package/dist/cli/usage.js +4 -9
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.d.ts +2 -2
- package/dist/compat/fetch-profile.js +16 -25
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +2 -17
- package/dist/contracts/check.js +6 -6
- package/dist/contracts/check.js.map +1 -1
- package/dist/coverage/report.d.ts +5 -22
- package/dist/coverage/report.js +12 -76
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.d.ts +3 -3
- package/dist/coverage/surface-manifest.js +22 -27
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +1 -3
- package/dist/coverage/verdict-cache.js +2 -7
- package/dist/coverage/verdict-cache.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +11 -60
- package/dist/diagnostics/diagnostic.js +39 -118
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +3 -4
- package/dist/diagnostics/envelope.js +0 -9
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/diagnostics/envelope.test.js +1 -1
- package/dist/diagnostics/envelope.test.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +0 -3
- package/dist/executable/executable-cache.js +2 -4
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +0 -4
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +5 -2
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +10 -10
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +0 -88
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/dts-paths.d.ts +1 -1
- package/dist/frontend/dts-paths.js +1 -1
- package/dist/frontend/lowering/abstract-equality.js +1 -4
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +14 -0
- package/dist/frontend/lowering/array-values.js +33 -11
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtins/arguments.js +0 -13
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +0 -4
- package/dist/frontend/lowering/builtins/crypto.js +0 -4
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +1 -39
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +0 -15
- package/dist/frontend/lowering/builtins/module-resolution.js +5 -44
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/numbers.d.ts +0 -6
- package/dist/frontend/lowering/builtins/numbers.js +6 -57
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +4 -67
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/workers.js +1 -1
- package/dist/frontend/lowering/builtins/workers.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.d.ts +1 -37
- package/dist/frontend/lowering/call-arguments.js +11 -94
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.d.ts +1 -6
- package/dist/frontend/lowering/call-signatures.js +16 -68
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +19 -4
- package/dist/frontend/lowering/class-dynamic-dispatch.js +168 -98
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +44 -4
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-method-mutations.js +0 -2
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.js +1 -1
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/coercions/function-adapters.js +5 -35
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +0 -1
- package/dist/frontend/lowering/coercions/state.js +0 -1
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +2 -4
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +2 -12
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.js +0 -1
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +49 -28
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +2 -3
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +10 -54
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.d.ts +54 -0
- package/dist/frontend/lowering/containers/array-pipelines.js +1827 -0
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -0
- package/dist/frontend/lowering/containers/bytes.js +0 -1
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +2 -10
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +1 -6
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/exec-result-uses.d.ts +10 -0
- package/dist/frontend/lowering/containers/exec-result-uses.js +88 -0
- package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -0
- package/dist/frontend/lowering/containers/indexed-objects.js +0 -2
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +0 -6
- package/dist/frontend/lowering/containers/string-and-regexp.js +17 -17
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.d.ts +2 -1
- package/dist/frontend/lowering/containers/string-replacement.js +32 -136
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/devirtualize.d.ts +33 -0
- package/dist/frontend/lowering/devirtualize.js +199 -0
- package/dist/frontend/lowering/devirtualize.js.map +1 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.js +0 -3
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +55 -8
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +0 -8
- package/dist/frontend/lowering/expressions/object-literals.js +8 -35
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +0 -4
- package/dist/frontend/lowering/expressions/optional-chains.js +3 -66
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/function-context.js +0 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.js +0 -1
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/identifier-uses.d.ts +7 -0
- package/dist/frontend/lowering/identifier-uses.js +23 -0
- package/dist/frontend/lowering/identifier-uses.js.map +1 -0
- package/dist/frontend/lowering/iterator-adapters.js +51 -3
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.js +10 -77
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.js +14 -10
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.test.js +2 -2
- package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +2 -3
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +2 -27
- package/dist/frontend/lowering/lower-calls.js +111 -493
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +12 -60
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.js +2 -3
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-console.d.ts +14 -0
- package/dist/frontend/lowering/lower-console.js +195 -0
- package/dist/frontend/lowering/lower-console.js.map +1 -0
- package/dist/frontend/lowering/lower-enums.js +5 -8
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +3 -4
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +3 -5
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +0 -8
- package/dist/frontend/lowering/lower-exprs.js +180 -905
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +9 -8
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +10 -0
- package/dist/frontend/lowering/lower-generators.js +108 -41
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +1 -50
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +0 -43
- package/dist/frontend/lowering/lower-modules.js +29 -329
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.test.js +5 -5
- package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +0 -30
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +98 -0
- package/dist/frontend/lowering/{lower-island.js → lower-stdlib.js} +97 -1160
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -0
- package/dist/frontend/lowering/lower-stmts.d.ts +0 -16
- package/dist/frontend/lowering/lower-stmts.js +58 -1016
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +14 -13
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +42 -155
- package/dist/frontend/lowering/lowerer.js +192 -816
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +4 -51
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +16 -0
- package/dist/frontend/lowering/nan-coded-reads.js +108 -1
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/narrowing-stability.js +1 -1
- package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.js +0 -2
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-bounds.d.ts +4 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js +2 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-bounds.test.js +27 -0
- package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
- package/dist/frontend/lowering/split-consumers.js +2 -18
- package/dist/frontend/lowering/split-consumers.js.map +1 -1
- package/dist/frontend/lowering/strict-equality.js +1 -1
- package/dist/frontend/lowering/strict-equality.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +6 -45
- package/dist/frontend/lowering/surfaces.js +8 -73
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/union-retag.d.ts +6 -1
- package/dist/frontend/lowering/union-retag.js +64 -1
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +46 -0
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/module-syntax.d.ts +0 -3
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/npm-node.d.ts +0 -7
- package/dist/frontend/npm-node.js +0 -7
- package/dist/frontend/npm-node.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.d.ts +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +6 -82
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +1 -1
- package/dist/frontend/npm-static.js +6 -71
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +3 -319
- package/dist/frontend/npm.js +6 -1007
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +2 -197
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.js +1 -2
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +3 -11
- package/dist/frontend/pipeline.js +37 -56
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +12 -6
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program.d.ts +0 -34
- package/dist/frontend/program.js +12 -97
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/provenance-core.d.ts +0 -4
- package/dist/frontend/provenance-core.js +4 -37
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/provenance-registry.d.ts +0 -4
- package/dist/frontend/provenance-registry.js +0 -20
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/resolve.d.ts +0 -12
- package/dist/frontend/resolve.js +0 -34
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.js +2 -2
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/services-node.js +2 -3
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services.d.ts +1 -8
- package/dist/frontend/services.js +2 -22
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +0 -38
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +0 -11
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +2 -27
- package/dist/frontend/type-mapper.js +58 -156
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -10
- 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/builtin-effects.js +2 -5
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +13 -56
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/constant-globals.test.js +1 -1
- package/dist/ir/constant-tables.test.js +1 -1
- package/dist/ir/final-fields.test.js +1 -1
- package/dist/ir/function-references.d.ts +12 -0
- package/dist/ir/function-references.js +29 -0
- package/dist/ir/function-references.js.map +1 -0
- package/dist/ir/function-references.test.d.ts +1 -0
- package/dist/ir/function-references.test.js +276 -0
- package/dist/ir/function-references.test.js.map +1 -0
- package/dist/ir/initializer-bindings.test.js +1 -1
- package/dist/ir/int32-slots.d.ts +10 -7
- package/dist/ir/int32-slots.js +219 -68
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +39 -2
- package/dist/ir/int32-slots.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +4 -4
- package/dist/ir/integer-ranges.js +89 -64
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +71 -9
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.js +1 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -1
- package/dist/ir/ir.d.ts +64 -290
- package/dist/ir/ir.js +11 -259
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +2 -7
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +3 -30
- package/dist/ir/runtime-features.js +8 -43
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/scalar-records.test.js +1 -1
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +3 -3
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/traverse.js +4 -21
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/unshare.test.js +1 -1
- package/dist/ir/validate.js +66 -213
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +31 -13
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/fence-eval.test.js +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/library-cache.test.js +5 -5
- package/dist/library/prepare.js +5 -20
- package/dist/library/prepare.js.map +1 -1
- package/dist/native/cli.js +0 -2
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.test.js +2 -4
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/prepare.js +2 -4
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.js +2 -16
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +0 -3
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/startup-cache.js +0 -2
- package/dist/startup-cache.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +80 -104
- package/dist/backend/llvm/expr-island.d.ts +0 -15
- package/dist/backend/llvm/expr-island.js +0 -709
- package/dist/backend/llvm/expr-island.js.map +0 -1
- package/dist/frontend/lowering/coercions/island.d.ts +0 -37
- package/dist/frontend/lowering/coercions/island.js +0 -350
- package/dist/frontend/lowering/coercions/island.js.map +0 -1
- package/dist/frontend/lowering/lower-island.d.ts +0 -229
- package/dist/frontend/lowering/lower-island.js.map +0 -1
- package/dist/frontend/lowering/lower-island.test.js +0 -56
- package/dist/frontend/lowering/lower-island.test.js.map +0 -1
- package/dist/frontend/npm-fetch-analysis.d.ts +0 -17
- package/dist/frontend/npm-fetch-analysis.js +0 -109
- package/dist/frontend/npm-fetch-analysis.js.map +0 -1
- package/dist/frontend/npm-fetch-analysis.test.js +0 -130
- package/dist/frontend/npm-fetch-analysis.test.js.map +0 -1
- package/dist/frontend/npm-fetch-node.d.ts +0 -2
- package/dist/frontend/npm-fetch-node.js +0 -12
- package/dist/frontend/npm-fetch-node.js.map +0 -1
- package/dist/frontend/npm-fetch-syntax.d.ts +0 -6
- package/dist/frontend/npm-fetch-syntax.js +0 -202
- package/dist/frontend/npm-fetch-syntax.js.map +0 -1
- package/dist/native/runtime-typescript.d.ts +0 -4
- package/dist/native/runtime-typescript.js +0 -74
- package/dist/native/runtime-typescript.js.map +0 -1
- package/dist/native/runtime-typescript.test.js +0 -41
- package/dist/native/runtime-typescript.test.js.map +0 -1
- /package/dist/{frontend/lowering/lower-island.test.d.ts → backend/llvm/expr-calls.test.d.ts} +0 -0
- /package/dist/{frontend/npm-fetch-analysis.test.d.ts → backend/llvm/int32-abi.test.d.ts} +0 -0
- /package/dist/{native/runtime-typescript.test.d.ts → backend/llvm/regex-matchers.test.d.ts} +0 -0
|
@@ -8,14 +8,14 @@ import { execFileAsync } from "./process.js";
|
|
|
8
8
|
import { parseMakeDependencies, fingerprintDependencyFiles, rememberFingerprintDependencies, } from "./dependency-files.js";
|
|
9
9
|
import { existingDriverTracePaths, normalizedProbeInvocation } from "./trace-paths.js";
|
|
10
10
|
import { stableTestMemo } from "./session.js";
|
|
11
|
-
import {
|
|
11
|
+
import { LRE_SOURCES, ZLIB_SOURCES, vendorEngineDir, vendorTlsDir, vendorZlibDir, } from "./vendor.js";
|
|
12
12
|
import { nativeSourceFiles, runtimeSrcDir } from "./runtime-inputs.js";
|
|
13
13
|
/** The effective cc1 invocation and injected dependencies for the flags used
|
|
14
14
|
* by real runtime/program compiles. The broad implicit-toolchain probe below
|
|
15
15
|
* intentionally uses a target-wide synthetic TU so it can discover every
|
|
16
16
|
* owned system header, but that generic command is not sufficient identity for
|
|
17
17
|
* a wrapper that injects flags or preincluded files only for a particular build
|
|
18
|
-
* flavor (for example, only when it sees -O2
|
|
18
|
+
* flavor (for example, only when it sees -O2). */
|
|
19
19
|
async function effectiveCompilerInvocationFingerprintFresh(driver, environmentFingerprint, compileArgs, sourceExtension = ".c") {
|
|
20
20
|
const compiler = driver.argv[0] ?? "clang";
|
|
21
21
|
const compilerIdentity = await resolvedToolIdentity(compiler);
|
|
@@ -94,10 +94,10 @@ export function effectiveCompilerInvocationFingerprint(driver, environmentFinger
|
|
|
94
94
|
* hashes the resolved files. Runtime-local and vendored source/header bytes
|
|
95
95
|
* have their own content/version identities; scanning every owned file for
|
|
96
96
|
* angle includes closes the system-header gap in separately built QuickJS,
|
|
97
|
-
* libregexp, mbedTLS, zlib,
|
|
97
|
+
* libregexp, mbedTLS, zlib, and Ryū translation units. */
|
|
98
98
|
export async function implicitDependencyProbeIncludes(rtDir) {
|
|
99
99
|
const vendor = join(rtDir, "..", "vendor");
|
|
100
|
-
const quickjsSources = new Set(
|
|
100
|
+
const quickjsSources = new Set(LRE_SOURCES);
|
|
101
101
|
const zlibSources = new Set(ZLIB_SOURCES);
|
|
102
102
|
const fileGroups = await Promise.all([
|
|
103
103
|
nativeSourceFiles(rtDir, false),
|
|
@@ -106,7 +106,6 @@ export async function implicitDependencyProbeIncludes(rtDir) {
|
|
|
106
106
|
nativeSourceFiles(join(vendor, "mbedtls", "include"), true),
|
|
107
107
|
nativeSourceFiles(join(vendor, "mbedtls", "library"), true),
|
|
108
108
|
nativeSourceFiles(join(vendor, "zlib"), false, (name) => name.endsWith(".h") || zlibSources.has(name)),
|
|
109
|
-
nativeSourceFiles(join(vendor, "curl", "include"), true, (name) => name.endsWith(".h")),
|
|
110
109
|
]);
|
|
111
110
|
const includes = new Set();
|
|
112
111
|
for (const path of fileGroups.flat()) {
|
|
@@ -252,8 +251,6 @@ async function implicitToolchainFingerprintsFresh(driver, environmentFingerprint
|
|
|
252
251
|
join(vendorTlsDir(), "library"),
|
|
253
252
|
"-I",
|
|
254
253
|
vendorZlibDir(),
|
|
255
|
-
"-I",
|
|
256
|
-
join(vendorCurlDir(), "include"),
|
|
257
254
|
"-M",
|
|
258
255
|
];
|
|
259
256
|
const [dependencyResults, linker, assembler, compilerInvocation] = await Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler-fingerprint.js","sourceRoot":"","sources":["../../../src/backend/native/compiler-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compiler-fingerprint.js","sourceRoot":"","sources":["../../../src/backend/native/compiler-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,20 +46,8 @@ export interface CcOptions {
|
|
|
46
46
|
systemLibraries?: readonly string[];
|
|
47
47
|
/** Darwin framework names, emitted as distinct driver arguments. */
|
|
48
48
|
frameworks?: readonly string[];
|
|
49
|
-
/** Embed the dynamic-island engine (--dynamic): compiles scr_island.c,
|
|
50
|
-
* defines SCR_DYNAMIC, and links the cached libqjs.a. Off retains the
|
|
51
|
-
* static runtime selection; executable section GC may still remove
|
|
52
|
-
* unreachable static-runtime code. */
|
|
53
|
-
dynamic?: boolean;
|
|
54
49
|
/** Isolated native Worker contexts; every runtime object must use TLS. */
|
|
55
50
|
workers?: boolean;
|
|
56
|
-
/** The program contains a regex construct (index.ts detects it on the
|
|
57
|
-
* IR): compiles scr_regex.c and links the vendored libregexp — as cached
|
|
58
|
-
* standalone objects in static builds, from the engine archive under
|
|
59
|
-
* --dynamic (one libregexp per binary; its host hooks want the island's
|
|
60
|
-
* JSContext there). Off = regex-free: the command line is exactly the
|
|
61
|
-
* historical runtime selection; executable section GC may remove unrelated
|
|
62
|
-
* unreachable code. */
|
|
63
51
|
regex?: boolean;
|
|
64
52
|
/** The program uses one of the copying/typed-array bridge intrinsics
|
|
65
53
|
* implemented in scr_copying.c (index.ts detects them on the IR).
|
|
@@ -79,23 +67,10 @@ export interface CcOptions {
|
|
|
79
67
|
* scr_tls + scr_http's client parser + zlib — the socket units join
|
|
80
68
|
* the link implicitly, no libcurl anywhere), which builds for every
|
|
81
69
|
* target the socket units reach: hosts, linux cross, win32 cross.
|
|
82
|
-
*
|
|
83
|
-
* broader web surface still uses its dynamic half. Fetch-free builds
|
|
84
|
-
* keep their exact link line. SCRIPTC_FETCH_CURL=1 selects the retired
|
|
85
|
-
* curl reference instead
|
|
86
|
-
* (scr_fetch_curl.c + system libcurl on hosts / the generated soname
|
|
87
|
-
* stub on linux cross targets — ensureCurlStub), kept compilable for
|
|
88
|
-
* one release as the flip's reference. */
|
|
70
|
+
* Fetch-free builds keep their exact link line. */
|
|
89
71
|
fetch?: boolean;
|
|
90
|
-
/** The embedded npm graph imports node:http or node:https (index.ts
|
|
91
|
-
* detects it on the IR): compiles the island's http/https client
|
|
92
|
-
* bridge (scr_net_island.c) and implies the socket units into the
|
|
93
|
-
* link, exactly like fetch. The emitted main calls
|
|
94
|
-
* scr_net_island_install on the same predicate (native-fetch builds
|
|
95
|
-
* also register it from scr_fetch_install). */
|
|
96
|
-
netIsland?: boolean;
|
|
97
72
|
/** The program uses zlib (index.ts detects zlib.* libCalls on the IR):
|
|
98
|
-
* compiles scr_zlib.c — the regex
|
|
73
|
+
* compiles scr_zlib.c — the regex gating precedent, so zlib-free
|
|
99
74
|
* binaries keep their exact link line. The default host-clang build links
|
|
100
75
|
* the SYSTEM libz (macOS ships it), byte-identical to the historical line;
|
|
101
76
|
* every Zig build compiles the vendored zlib with the selected driver instead
|
|
@@ -201,7 +176,7 @@ export interface CcOptions {
|
|
|
201
176
|
nodeTest?: boolean;
|
|
202
177
|
/** The program uses the node:tls or node:https surface (moduleUsesTls on
|
|
203
178
|
* the IR): compiles scr_tls.c and links the vendored mbedTLS archive
|
|
204
|
-
* (built lazily
|
|
179
|
+
* (built lazily and cached per flavor). Always
|
|
205
180
|
* alongside scr_net.c and scr_http.c, which moduleUsesNet /
|
|
206
181
|
* moduleUsesHttpServer answer true for whenever this does. TLS-free
|
|
207
182
|
* binaries keep their exact link line and never compile mbedTLS. */
|
|
@@ -16,9 +16,7 @@ import { join } from "node:path";
|
|
|
16
16
|
export function executableSectionEliminationFlags(platform) {
|
|
17
17
|
switch (platform) {
|
|
18
18
|
case "darwin":
|
|
19
|
-
// ld64's symbol subsections
|
|
20
|
-
// objects. Do not attach it only to --dynamic: static programs have the
|
|
21
|
-
// same unreachable runtime sections.
|
|
19
|
+
// ld64's symbol subsections let dead_strip remove unreachable runtime code.
|
|
22
20
|
return { compile: [], link: ["-Wl,-dead_strip"] };
|
|
23
21
|
case "linux":
|
|
24
22
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/backend/native/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAAC,QAAgB;IAIhE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/backend/native/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
1
|
import { type CcOptions } from "./contracts.js";
|
|
2
|
-
/** Compiles one C program together with the runtime sources.
|
|
3
|
-
* With caching disabled, the runtime (a dozen small files) is recompiled on
|
|
4
|
-
* every build — no cached-archive staleness bugs. Sanitized dev builds compile
|
|
5
|
-
* the program separately so its O0 setting does not slow the O1 runtime.
|
|
6
|
-
* Other builds use one clang invocation. --dynamic additionally compiles
|
|
7
|
-
* scr_island.c under SCR_DYNAMIC and links the cached engine archive (built
|
|
8
|
-
* lazily, see above); regex-using programs additionally compile scr_regex.c
|
|
9
|
-
* and link libregexp (the cached objects, or the archive's own copy under
|
|
10
|
-
* --dynamic). Executable links use the target's section-elimination recipe
|
|
11
|
-
* independently of those feature gates.
|
|
12
|
-
*
|
|
13
|
-
* With a caller-supplied dependency identity and an enabled cache root,
|
|
14
|
-
* unchanged programs skip payload code generation/linking via the binary
|
|
15
|
-
* cache after lightweight metadata probes, and misses link the program's own
|
|
16
|
-
* TU against cached per-flavor runtime objects. */
|
|
17
2
|
export declare function compileCInternal(opts: CcOptions, cacheWarmOnly: boolean, cacheWarmPaths?: Set<string>): Promise<void>;
|
|
18
3
|
export declare function compileC(opts: CcOptions): Promise<void>;
|
|
@@ -15,54 +15,24 @@ import { compilerDriverSupportsPersistentCache, resolvedTool, directCompilerSele
|
|
|
15
15
|
import { localArtifactIdentity, localArtifactStampPath, localArtifactHit, nativeMetadataKey, readNativeMetadataStamp, publishNativeMetadataStamp, snapshotLocalArtifactDependencies, nativeArtifactDependenciesStillMatch, publishLocalArtifactStamp, } from "./artifact-stamps.js";
|
|
16
16
|
import { implicitToolchainFingerprints, effectiveCompilerInvocationFingerprint, translationUnitDependencyFingerprint, implicitToolchainFingerprint, } from "./compiler-fingerprint.js";
|
|
17
17
|
import { fingerprintDependencyPaths, fingerprintDependenciesStillMatch, } from "./dependency-files.js";
|
|
18
|
-
import { currentVendorCacheBuildIdentity, vendorBuildCacheRoot,
|
|
18
|
+
import { currentVendorCacheBuildIdentity, vendorBuildCacheRoot, tlsArchivePath, lreObjectPaths, zlibObjectPaths, stageVendorInputs, ensureTlsArchive, ensureLreObjects, ensureZlibObjects, vendorEngineDir, vendorZlibDir, vendorTlsDir, } from "./vendor.js";
|
|
19
19
|
import { execFileAsync, subprocessFailureDetail, CcCompileError } from "./process.js";
|
|
20
20
|
import { implicitLinkerFingerprint } from "./linker-fingerprint.js";
|
|
21
21
|
import { CacheInputsChangedError } from "./session.js";
|
|
22
22
|
import { ensureRuntimeObjects, stageRuntimeObjects, clearCcCaches } from "./runtime-objects.js";
|
|
23
23
|
import { localizeLibraryObjects } from "./object-merge.js";
|
|
24
|
-
/** Compiles one C program together with the runtime sources.
|
|
25
|
-
* With caching disabled, the runtime (a dozen small files) is recompiled on
|
|
26
|
-
* every build — no cached-archive staleness bugs. Sanitized dev builds compile
|
|
27
|
-
* the program separately so its O0 setting does not slow the O1 runtime.
|
|
28
|
-
* Other builds use one clang invocation. --dynamic additionally compiles
|
|
29
|
-
* scr_island.c under SCR_DYNAMIC and links the cached engine archive (built
|
|
30
|
-
* lazily, see above); regex-using programs additionally compile scr_regex.c
|
|
31
|
-
* and link libregexp (the cached objects, or the archive's own copy under
|
|
32
|
-
* --dynamic). Executable links use the target's section-elimination recipe
|
|
33
|
-
* independently of those feature gates.
|
|
34
|
-
*
|
|
35
|
-
* With a caller-supplied dependency identity and an enabled cache root,
|
|
36
|
-
* unchanged programs skip payload code generation/linking via the binary
|
|
37
|
-
* cache after lightweight metadata probes, and misses link the program's own
|
|
38
|
-
* TU against cached per-flavor runtime objects. */
|
|
39
24
|
export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
40
25
|
const rtDir = runtimeSrcDir();
|
|
41
26
|
const sanitize = opts.sanitize ?? false;
|
|
42
27
|
const optimization = opts.optimization ?? "release";
|
|
43
|
-
|
|
44
|
-
if (opts.workers && (dynamic || targetPlatform(resolveCc()) === "wasi"))
|
|
28
|
+
if (opts.workers && targetPlatform(resolveCc()) === "wasi")
|
|
45
29
|
throw new Error("worker threads require a native static executable");
|
|
46
30
|
const regex = opts.regex ?? false;
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
// compilable for one release as the flip's reference.
|
|
53
|
-
const fetchOn = opts.fetch ?? false;
|
|
54
|
-
// The retired curl bridge has only a SCR_DYNAMIC implementation.
|
|
55
|
-
// Static fetch always keeps the native runtime even when a developer
|
|
56
|
-
// has the comparison switch exported in their shell.
|
|
57
|
-
const curlFetch = dynamic && fetchOn && process.env["SCRIPTC_FETCH_CURL"] === "1";
|
|
58
|
-
const nativeFetch = fetchOn && !curlFetch;
|
|
59
|
-
// The island's node:http/https client bridge: embedded graphs that
|
|
60
|
-
// import those builtins get working clients over the same socket units
|
|
61
|
-
// (native-fetch builds always carry it — scr_fetch_install registers it).
|
|
62
|
-
const netIsland = dynamic && ((opts.netIsland ?? false) || nativeFetch);
|
|
63
|
-
const net = (opts.net ?? false) || nativeFetch || netIsland;
|
|
64
|
-
const http = (opts.http ?? false) || nativeFetch || netIsland;
|
|
65
|
-
const tls = (opts.tls ?? false) || nativeFetch || netIsland;
|
|
31
|
+
// Fetch shares the native network, TLS, HTTP, and zlib runtime.
|
|
32
|
+
const nativeFetch = opts.fetch ?? false;
|
|
33
|
+
const net = (opts.net ?? false) || nativeFetch;
|
|
34
|
+
const http = (opts.http ?? false) || nativeFetch;
|
|
35
|
+
const tls = (opts.tls ?? false) || nativeFetch;
|
|
66
36
|
const tlsCa = (opts.tlsCa ?? false) || tls;
|
|
67
37
|
const driver = resolveCc();
|
|
68
38
|
const darwinDebugSymbols = needsDarwinDebugSymbols(targetPlatform(driver), optimization, opts.strip);
|
|
@@ -96,38 +66,6 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
96
66
|
// scr_async.c submits callback-style filesystem work to a native worker.
|
|
97
67
|
// POSIX drivers need the thread compile/link mode; win32 uses CreateThread.
|
|
98
68
|
const threadArgs = targetPlatform(driver) === "win32" || targetPlatform(driver) === "wasi" ? [] : ["-pthread"];
|
|
99
|
-
if (driver.target !== null) {
|
|
100
|
-
// See the resolveCc block: these inputs are built on and for the HOST
|
|
101
|
-
// (vendored archives, system libs). Regex, zlib, and the engine archive
|
|
102
|
-
// are NOT here: their vendored sources are plain C that ensureLreObjects
|
|
103
|
-
// / ensureZlibObjects / buildEngineArchiveDirect compile per target with
|
|
104
|
-
// the driver itself — win32 included (the Windows lane runs the
|
|
105
|
-
// @dynamic corpus and the zlib program against the box's Node). The
|
|
106
|
-
// NATIVE fetch rides the socket units and cross-compiles with them —
|
|
107
|
-
// no gate; only the retired curl REFERENCE (SCRIPTC_FETCH_CURL=1)
|
|
108
|
-
// keeps a linux-only arm (the vendored curl headers + the generated
|
|
109
|
-
// soname stub, ensureCurlStub — win32 has no system libcurl contract
|
|
110
|
-
// to bind at load time). The event-loop units, tls, and dgram cross-compile to Linux
|
|
111
|
-
// AND Windows (scr_platform.h poller + per-target mbedTLS; the
|
|
112
|
-
// loop's win32 arm is WSAPoll, scr_loop_wsapoll.c, and the socket
|
|
113
|
-
// units' win32 arms respell winsock behind POSIX-errno wrappers —
|
|
114
|
-
// scr_net.c/scr_dgram.c/scr_tls.c). The events unit cross-compiles
|
|
115
|
-
// everywhere: its win32 arm is CRT signal() +
|
|
116
|
-
// PeekNamedPipe/WaitForSingleObject probes (scr_events.c), served by
|
|
117
|
-
// the loop's capped win32 idle sleep (scr_async.c).
|
|
118
|
-
const unsupported = [
|
|
119
|
-
// The NATIVE fetch cross-compiles wherever the socket units do
|
|
120
|
-
// (linux and win32 both); only the retired curl reference keeps
|
|
121
|
-
// its linux-only soname-stub arm.
|
|
122
|
-
["fetch (SCRIPTC_FETCH_CURL)", curlFetch && targetPlatform(driver) !== "linux"],
|
|
123
|
-
]
|
|
124
|
-
.filter(([, on]) => on)
|
|
125
|
-
.map(([name]) => name);
|
|
126
|
-
if (unsupported.length > 0) {
|
|
127
|
-
throw new Error(`SCRIPTC_TARGET=${driver.target}: ${unsupported.join(", ")} not supported under a cross target yet ` +
|
|
128
|
-
`(host-built vendor archives / system libs — see docs/linux-port.md).`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
69
|
const cachePolicy = toolchainEnvironmentCachePolicy();
|
|
132
70
|
const configuredCacheRoot = cacheRootDir();
|
|
133
71
|
const toolchainEnv = toolchainEnvironmentFingerprint();
|
|
@@ -283,45 +221,23 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
283
221
|
? null
|
|
284
222
|
: join(tmpdir(), `scriptc-vendor-${process.pid}-${Math.random().toString(36).slice(2)}`);
|
|
285
223
|
const vendorCacheRoot = transientVendorRoot ?? vendorBuildCacheRoot(persistentCache?.root);
|
|
286
|
-
// Every vendor output path is deterministic from pins, flags, driver, and
|
|
287
|
-
// target. Build the command/key from those paths now, but do not materialize
|
|
288
|
-
// them until a complete-binary lookup has missed.
|
|
289
|
-
let engineArchive = dynamic
|
|
290
|
-
? engineArchivePath(sanitize, driver, vendorBuildIdentity, vendorCacheRoot)
|
|
291
|
-
: null;
|
|
292
224
|
let tlsArchive = tls
|
|
293
225
|
? tlsArchivePath(sanitize, driver, vendorBuildIdentity, vendorCacheRoot)
|
|
294
226
|
: null;
|
|
295
|
-
// --dynamic + regex shares the archive's libregexp (its host hooks and
|
|
296
227
|
// ours would collide; see scr_regex.c) — the standalone objects are for
|
|
297
228
|
// static builds only.
|
|
298
|
-
let lreObjects = regex
|
|
229
|
+
let lreObjects = regex
|
|
230
|
+
? lreObjectPaths(sanitize, driver, vendorBuildIdentity, vendorCacheRoot)
|
|
231
|
+
: [];
|
|
299
232
|
// Vendored zlib is the Zig story — default host-clang builds keep the exact
|
|
300
233
|
// historical `-lz` system link (see CcOptions.zlib). The native fetch's
|
|
301
234
|
// gzip decoder rides the same objects/link.
|
|
302
235
|
let zlibObjects = ((opts.zlib ?? false) || nativeFetch) && isZigDriver(driver)
|
|
303
236
|
? zlibObjectPaths(sanitize, driver, vendorBuildIdentity, vendorCacheRoot)
|
|
304
237
|
: [];
|
|
305
|
-
// The libcurl import stub is likewise CROSS-only — host builds keep the
|
|
306
|
-
// exact historical system `-lcurl` link (see CcOptions.fetch). Curl
|
|
307
|
-
// reference builds only.
|
|
308
|
-
let curlStubDir = curlFetch && driver.target !== null
|
|
309
|
-
? curlStubDirPath(driver, vendorBuildIdentity, vendorCacheRoot)
|
|
310
|
-
: null;
|
|
311
238
|
const materializeVendorPrerequisites = async (stageRoot, materializeCacheRoot = vendorCacheRoot) => {
|
|
312
239
|
// Preserve source order to avoid multiplying first-build resource
|
|
313
240
|
// pressure when several large vendor sets are cold simultaneously.
|
|
314
|
-
if (dynamic) {
|
|
315
|
-
const cachedArchive = engineArchivePath(sanitize, driver, vendorBuildIdentity, materializeCacheRoot);
|
|
316
|
-
protectCachedArtifact(cacheWarmPaths, cachedArchive);
|
|
317
|
-
const materialize = async () => [
|
|
318
|
-
await ensureEngineArchive(sanitize, driver, vendorBuildIdentity, materializeCacheRoot),
|
|
319
|
-
];
|
|
320
|
-
const paths = stageRoot === undefined
|
|
321
|
-
? await materialize()
|
|
322
|
-
: await stageVendorInputs(materialize, join(stageRoot, "engine"));
|
|
323
|
-
engineArchive = paths[0];
|
|
324
|
-
}
|
|
325
241
|
if (tls) {
|
|
326
242
|
const cachedArchive = tlsArchivePath(sanitize, driver, vendorBuildIdentity, materializeCacheRoot);
|
|
327
243
|
protectCachedArtifact(cacheWarmPaths, cachedArchive);
|
|
@@ -333,7 +249,7 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
333
249
|
: await stageVendorInputs(materialize, join(stageRoot, "tls"));
|
|
334
250
|
tlsArchive = paths[0];
|
|
335
251
|
}
|
|
336
|
-
if (regex
|
|
252
|
+
if (regex) {
|
|
337
253
|
for (const object of lreObjectPaths(sanitize, driver, vendorBuildIdentity, materializeCacheRoot))
|
|
338
254
|
protectCachedArtifact(cacheWarmPaths, object);
|
|
339
255
|
const materialize = async () => await ensureLreObjects(sanitize, driver, vendorBuildIdentity, materializeCacheRoot);
|
|
@@ -351,16 +267,6 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
351
267
|
? await materialize()
|
|
352
268
|
: await stageVendorInputs(materialize, join(stageRoot, "zlib"));
|
|
353
269
|
}
|
|
354
|
-
if (curlStubDir !== null) {
|
|
355
|
-
protectCachedArtifact(cacheWarmPaths, join(curlStubDirPath(driver, vendorBuildIdentity, materializeCacheRoot), "libcurl.so"));
|
|
356
|
-
const materialize = async () => [
|
|
357
|
-
join(await ensureCurlStub(driver, vendorBuildIdentity, materializeCacheRoot), "libcurl.so"),
|
|
358
|
-
];
|
|
359
|
-
const paths = stageRoot === undefined
|
|
360
|
-
? await materialize()
|
|
361
|
-
: await stageVendorInputs(materialize, join(stageRoot, "curl"));
|
|
362
|
-
curlStubDir = dirname(paths[0]);
|
|
363
|
-
}
|
|
364
270
|
};
|
|
365
271
|
// rt() maps each runtime source's path on the command line: identity for
|
|
366
272
|
// the historical single invocation, cached-.o substitution on cache misses.
|
|
@@ -432,10 +338,8 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
432
338
|
? ["-I", vendorZlibDir(), ...zlibObjects]
|
|
433
339
|
: []
|
|
434
340
|
: []),
|
|
435
|
-
//
|
|
436
|
-
// (the scr_inspect_island.c pattern) — the emitted main calls its
|
|
341
|
+
// through the native installation hooks — the emitted main calls its
|
|
437
342
|
// installer exactly then.
|
|
438
|
-
...(opts.zlib && opts.dynamic ? [rt(join(rtDir, "scr_zlib_island.c"))] : []),
|
|
439
343
|
...(opts.events ? [rt(join(rtDir, "scr_events.c")), rt(join(rtDir, "scr_readline.c"))] : []),
|
|
440
344
|
...(opts.emitter || opts.workers ? [rt(join(rtDir, "scr_events_emitter.c"))] : []),
|
|
441
345
|
// The checked-dynamic HANDLE support unit (listener gate + runtime
|
|
@@ -491,57 +395,8 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
491
395
|
// This is independent of the mbedTLS archive: getCACertificates-only
|
|
492
396
|
// programs need crypt32 too, while TLS programs imply the CA unit.
|
|
493
397
|
...(tlsCa && targetPlatform(driver) === "win32" ? ["-lcrypt32"] : []),
|
|
494
|
-
//
|
|
495
|
-
|
|
496
|
-
// SCR_DYNAMIC half installs the full web surface.
|
|
497
|
-
...(nativeFetch && !dynamic ? [rt(join(rtDir, "scr_fetch.c"))] : []),
|
|
498
|
-
...(engineArchive
|
|
499
|
-
? [
|
|
500
|
-
"-DSCR_DYNAMIC",
|
|
501
|
-
"-I",
|
|
502
|
-
vendorEngineDir(),
|
|
503
|
-
rt(join(rtDir, "scr_island.c")),
|
|
504
|
-
rt(join(rtDir, "scr_web.c")),
|
|
505
|
-
// The one unit referencing BOTH the island and the inspect
|
|
506
|
-
// engine (insp.jsval): linked exactly when both halves are.
|
|
507
|
-
...(opts.inspect ? [rt(join(rtDir, "scr_inspect_island.c"))] : []),
|
|
508
|
-
// fetch: the NATIVE bridge by default (its socket/tls/zlib
|
|
509
|
-
// dependencies joined the link above); the curl REFERENCE
|
|
510
|
-
// (SCRIPTC_FETCH_CURL=1) keeps the historical system -lcurl /
|
|
511
|
-
// linux soname-stub arms for one release.
|
|
512
|
-
...(nativeFetch ? [rt(join(rtDir, "scr_fetch.c"))] : []),
|
|
513
|
-
// The island's node:http/https CLIENT bridge (scr_net_island.c):
|
|
514
|
-
// the one TU referencing both the socket units and the engine —
|
|
515
|
-
// compiled beside the native fetch (scr_fetch_install registers
|
|
516
|
-
// it) and whenever the embedded graph imports node:http/https
|
|
517
|
-
// (the emitted main calls scr_net_island_install exactly then).
|
|
518
|
-
...(netIsland ? [rt(join(rtDir, "scr_net_island.c"))] : []),
|
|
519
|
-
...(curlFetch
|
|
520
|
-
? curlStubDir !== null
|
|
521
|
-
? [
|
|
522
|
-
"-I",
|
|
523
|
-
join(vendorCurlDir(), "include"),
|
|
524
|
-
rt(join(rtDir, "scr_fetch_curl.c")),
|
|
525
|
-
`-L${curlStubDir}`,
|
|
526
|
-
"-lcurl",
|
|
527
|
-
]
|
|
528
|
-
: [rt(join(rtDir, "scr_fetch_curl.c")), "-lcurl"]
|
|
529
|
-
: []),
|
|
530
|
-
engineArchive,
|
|
531
|
-
// Linux's libm is appended after every input below for GNU ld's
|
|
532
|
-
// left-to-right archive resolution. Other dynamic targets keep
|
|
533
|
-
// the historical engine-adjacent spelling.
|
|
534
|
-
...(driver.linkArgs.includes("-lm") ? [] : ["-lm"]),
|
|
535
|
-
// The PE stack reserve, pinned to the 8MB POSIX main-stack
|
|
536
|
-
// geometry ISL_MAIN_STACK_BUDGET is sized against (4MB engine
|
|
537
|
-
// budget + 4MB excursion margin) — quickjs-ng's own CMake makes
|
|
538
|
-
// the same 8MB choice on Windows. Not left to the driver:
|
|
539
|
-
// classic mingw ld defaults to 2MB (which the budget would blow
|
|
540
|
-
// straight past); zig's lld happens to default to 16MB today,
|
|
541
|
-
// but that is nobody's contract.
|
|
542
|
-
...(targetPlatform(driver) === "win32" ? ["-Wl,--stack,8388608"] : []),
|
|
543
|
-
]
|
|
544
|
-
: []),
|
|
398
|
+
// Fetch uses the native network, TLS, and HTTP runtime.
|
|
399
|
+
...(nativeFetch ? [rt(join(rtDir, "scr_fetch.c"))] : []),
|
|
545
400
|
// A .ll program TU (the LLVM backend) deliberately carries no target
|
|
546
401
|
// triple (byte-stable output; clang supplies the host/SCRIPTC_TARGET
|
|
547
402
|
// triple exactly as it does for .c) — silence the -Woverride-module
|
|
@@ -590,11 +445,9 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
590
445
|
"-Wno-deprecated-declarations",
|
|
591
446
|
"-I",
|
|
592
447
|
rtDir,
|
|
593
|
-
...(regex
|
|
448
|
+
...(regex ? ["-I", vendorEngineDir()] : []),
|
|
594
449
|
...(zlibObjects.length > 0 ? ["-I", vendorZlibDir()] : []),
|
|
595
|
-
...(curlStubDir !== null ? ["-I", join(vendorCurlDir(), "include")] : []),
|
|
596
450
|
...(tlsArchive !== null ? ["-I", join(vendorTlsDir(), "include")] : []),
|
|
597
|
-
...(dynamic ? ["-DSCR_DYNAMIC"] : []),
|
|
598
451
|
];
|
|
599
452
|
// Keep sanitizer runtime objects optimized in both postures. Large dev
|
|
600
453
|
// programs still compile at O0, avoiding an expensive LLVM optimization
|
|
@@ -779,24 +632,18 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
779
632
|
...(targetPlatform(driver) === "win32" ? ["-ladvapi32", "-liphlpapi", "-lws2_32"] : []),
|
|
780
633
|
...(tls && targetPlatform(driver) === "win32" ? ["-lbcrypt"] : []),
|
|
781
634
|
...(tlsCa && targetPlatform(driver) === "win32" ? ["-lcrypt32"] : []),
|
|
782
|
-
...(curlFetch && driver.target === null ? ["-lcurl"] : []),
|
|
783
|
-
...(dynamic && !driver.linkArgs.includes("-lm") ? ["-lm"] : []),
|
|
784
635
|
...(((opts.zlib ?? false) || nativeFetch) && !isZigDriver(driver) ? ["-lz"] : []),
|
|
785
636
|
...driver.linkArgs,
|
|
786
637
|
...executableLinkFlags,
|
|
787
638
|
];
|
|
788
639
|
// Both the wrapper dry run and dependency trace need the real build's
|
|
789
640
|
// compile/link flag shape: wrappers commonly inject flags or native inputs
|
|
790
|
-
// conditionally on optimization, sanitizer,
|
|
641
|
+
// conditionally on optimization, sanitizer, or platform switches.
|
|
791
642
|
const effectiveLinkInvocationArgs = [
|
|
792
643
|
...(separateSanitizedProgram ? cflags : programCompilerArgs),
|
|
793
644
|
...(targetPlatform(driver) === "win32" ? ["-ladvapi32", "-liphlpapi", "-lws2_32"] : []),
|
|
794
645
|
...(tls && targetPlatform(driver) === "win32" ? ["-lbcrypt"] : []),
|
|
795
646
|
...(tlsCa && targetPlatform(driver) === "win32" ? ["-lcrypt32"] : []),
|
|
796
|
-
...(curlStubDir !== null ? [`-L${curlStubDir}`] : []),
|
|
797
|
-
...(curlFetch && driver.target === null ? ["-lcurl"] : []),
|
|
798
|
-
...(dynamic && !driver.linkArgs.includes("-lm") ? ["-lm"] : []),
|
|
799
|
-
...(dynamic && targetPlatform(driver) === "win32" ? ["-Wl,--stack,8388608"] : []),
|
|
800
647
|
...(((opts.zlib ?? false) || nativeFetch) && !isZigDriver(driver) ? ["-lz"] : []),
|
|
801
648
|
...driver.linkArgs,
|
|
802
649
|
...executableLinkFlags,
|
|
@@ -804,9 +651,7 @@ export async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
|
|
|
804
651
|
// A complete hit is checked before cross-target curl's generated import stub
|
|
805
652
|
// is materialized. Its -L spelling still joins the dry-run identity, while
|
|
806
653
|
// the real trace omits only that not-yet-existing scriptc-owned directory.
|
|
807
|
-
const linkTraceInvocationArgs =
|
|
808
|
-
? effectiveLinkInvocationArgs
|
|
809
|
-
: effectiveLinkInvocationArgs.filter((arg) => arg !== `-L${curlStubDir}`);
|
|
654
|
+
const linkTraceInvocationArgs = effectiveLinkInvocationArgs;
|
|
810
655
|
let implicitLinker = null;
|
|
811
656
|
let preBuildDependencies = null;
|
|
812
657
|
let localArtifactDependencyPaths = null;
|