wasmtime 21.0.1 → 22.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Cargo.lock +80 -87
- data/ext/Cargo.toml +4 -4
- data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +41 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +193 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +384 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/dominator_tree.rs +727 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/egraph.rs +835 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/inst_predicates.rs +230 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +1777 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/extfunc.rs +402 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +1612 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/stackslot.rs +208 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +627 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/abi.rs +1556 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/args.rs +711 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +3584 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +7901 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/imms.rs +1213 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +3060 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/regs.rs +269 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +4218 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/pcc.rs +568 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/abi.rs +1029 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/args.rs +2054 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +2682 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +2215 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/encode.rs +675 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/imms.rs +374 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +1938 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/vector.rs +1150 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +3127 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst_vector.isle +1907 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +649 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +2923 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +260 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/abi.rs +1016 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/args.rs +298 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +3401 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit_tests.rs +13388 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/imms.rs +202 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +3401 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/regs.rs +169 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/unwind/systemv.rs +212 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst.isle +5028 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +3995 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/abi.rs +1390 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/args.rs +2240 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +4287 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +52 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_tests.rs +5171 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +2821 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/regs.rs +275 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/unwind/systemv.rs +198 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +5289 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +4810 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/pcc.rs +1014 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +986 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +106 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +2419 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/blockorder.rs +465 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +2508 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +909 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +1432 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +551 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/reg.rs +479 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/valueregs.rs +138 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +1741 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/cprop.isle +297 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/shifts.isle +307 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +664 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +1073 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/timing.rs +296 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/traversals.rs +216 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/verifier/mod.rs +1957 -0
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +638 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +36 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +496 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isa/riscv64.rs +174 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +22 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/src/constants.rs +28 -0
- data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +30 -0
- data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +53 -0
- data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +290 -0
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +68 -0
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +1857 -0
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/lib.rs +187 -0
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/ssa.rs +1328 -0
- data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +47 -0
- data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +2492 -0
- data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +43 -0
- data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +188 -0
- data/ext/cargo-vendor/cranelift-native-0.109.0/src/riscv.rs +128 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +110 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +3695 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/func_translator.rs +296 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/module_translator.rs +120 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +343 -0
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/state.rs +522 -0
- data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
- data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
- data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
- data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
- data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
- data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
- data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
- data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
- data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
- data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
- data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
- data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
- data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
- data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
- data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
- data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
- data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
- data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +224 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_0.rs +1080 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_1.rs +1562 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/src/string_array.rs +75 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/src/sync/sched/windows.rs +221 -0
- data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/file.rs +247 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +662 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +109 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +1929 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/hash.rs +120 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/detail.rs +1094 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/tests.rs +183 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map.rs +656 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_set.rs +316 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/map.rs +840 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/mod.rs +24 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/set.rs +660 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +164 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +814 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/limits.rs +79 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +1682 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/imports.rs +130 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/instances.rs +166 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/names.rs +99 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/types.rs +553 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/branch_hinting.rs +59 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/code.rs +142 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/coredumps.rs +278 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/custom.rs +128 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/data.rs +96 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/elements.rs +146 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/globals.rs +61 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/init.rs +57 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/linking.rs +457 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/names.rs +159 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +423 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/producers.rs +84 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/reloc.rs +300 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +1788 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers.rs +315 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +3236 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core/canonical.rs +233 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +1464 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/func.rs +331 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/names.rs +1016 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +4231 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +4550 -0
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +1633 -0
- data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +51 -0
- data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +3225 -0
- data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +1171 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +387 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +42 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +167 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +917 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +2943 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +890 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +389 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +67 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +48 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code.rs +102 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +338 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +489 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +656 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +2498 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +689 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +810 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +854 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +217 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +657 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resource_table.rs +355 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/types.rs +897 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +166 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +310 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +481 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +780 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +2564 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/anyref.rs +410 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +592 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/i31.rs +299 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/noextern.rs +154 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc.rs +92 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +992 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +337 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +1499 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +353 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +1322 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/func_refs.rs +90 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +2824 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +94 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +287 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/type_registry.rs +1015 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +2580 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/v128.rs +116 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +966 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +352 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +857 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +972 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/export.rs +108 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +491 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +220 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +194 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +94 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +707 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +975 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +278 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +794 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +801 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +1514 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +736 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/capi.rs +200 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +105 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/vm.rs +59 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/mod.rs +36 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +407 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/vm.rs +190 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/vm.rs +75 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +899 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +768 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +1302 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +277 -0
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +113 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +22 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +89 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/config.rs +584 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/lib.rs +235 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/tests.rs +91 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker/tests.rs +758 -0
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker.rs +890 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +86 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +493 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/component.rs +1330 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +651 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +198 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +215 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +586 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +631 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +165 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +178 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +91 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +97 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +45 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +45 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +637 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +679 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +255 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +282 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +59 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +62 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +722 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +819 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +1743 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +1927 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +543 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +561 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +270 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +298 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +251 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +270 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +815 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +877 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +154 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +167 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +467 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +516 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +1014 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +1086 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +249 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +265 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +313 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +347 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +350 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +381 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +216 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +229 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +275 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +287 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +59 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +62 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +86 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +89 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +104 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +111 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +247 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +269 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +136 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +143 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +288 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +314 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +1750 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +1867 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +84 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +84 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +138 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +148 -0
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded.rs +65 -0
- data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +25 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +115 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler/component.rs +957 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +1067 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +783 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +256 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +411 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +529 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +186 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +196 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +2910 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +648 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +462 -0
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/obj.rs +545 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +774 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +161 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/address_map.rs +73 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +374 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_artifacts.rs +315 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +1348 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_types.rs +455 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/artifacts.rs +68 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +672 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/adapt.rs +455 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +985 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +1038 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder/resources.rs +233 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +1004 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/trampoline.rs +3234 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/transcode.rs +90 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact.rs +714 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +151 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +704 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_artifacts.rs +144 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_types.rs +139 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/ref_bits.rs +36 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +175 -0
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +989 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +65 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/build.rs +39 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/lib.rs +340 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/unix.rs +494 -0
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/windows.rs +170 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +68 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/gdb_jit_int.rs +130 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/perf_jitdump.rs +293 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +52 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/libc.rs +164 -0
- data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +21 -0
- data/ext/cargo-vendor/wasmtime-slab-22.0.0/src/lib.rs +498 -0
- data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +56 -0
- data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +1737 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +32 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +201 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +289 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ctx.rs +704 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +446 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/clocks.rs +109 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/env.rs +18 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/exit.rs +14 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem/sync.rs +525 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +1091 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/instance_network.rs +18 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +388 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/network.rs +545 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/random.rs +45 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp.rs +547 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp_create_socket.rs +18 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp.rs +762 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp_create_socket.rs +18 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ip_name_lookup.rs +132 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +417 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/network.rs +113 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/pipe.rs +826 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/poll.rs +245 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview0.rs +983 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +2801 -0
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +533 -0
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +82 -0
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +239 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +47 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +2639 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/rust.rs +427 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/types.rs +202 -0
- data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +124 -0
- data/ext/cargo-vendor/wiggle-22.0.0/src/guest_type.rs +200 -0
- data/ext/cargo-vendor/wiggle-22.0.0/src/lib.rs +605 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +67 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/funcs.rs +434 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/module_trait.rs +89 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/names.rs +299 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/flags.rs +92 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/handle.rs +84 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/mod.rs +129 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/record.rs +129 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/variant.rs +186 -0
- data/ext/cargo-vendor/wiggle-generate-22.0.0/src/wasmtime.rs +172 -0
- data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +51 -0
- data/ext/cargo-vendor/wiggle-macro-22.0.0/build.rs +5 -0
- data/ext/cargo-vendor/wiggle-macro-22.0.0/src/lib.rs +233 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +77 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/abi/mod.rs +671 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/context.rs +536 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/control.rs +972 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +448 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +882 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/frame/mod.rs +258 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/asm.rs +430 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/masm.rs +572 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/regs.rs +161 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/asm.rs +1423 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/masm.rs +1120 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/masm.rs +941 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/regalloc.rs +65 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/stack.rs +439 -0
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +2149 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +112 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +1524 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +1668 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +1795 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +873 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/live.rs +126 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/metadata.rs +772 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +2498 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/src/serde_.rs +124 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/all.rs +154 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/complex-include.wit.json +200 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/diamond1.wit.json +59 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/disambiguate-diamond.wit.json +115 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit +118 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +288 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps-union.wit.json +410 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps.wit.json +362 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/ignore-files-deps.wit.json +41 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/import-export-overlap2.wit.json +43 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/include-reps.wit.json +68 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/kinds-of-deps.wit.json +95 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/many-names.wit.json +42 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/multi-file.wit.json +304 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit +6 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit +11 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit +4 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit +5 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/shared-types.wit.json +87 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit +89 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +549 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/stress-export-elaborate.wit.json +1156 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-diamond.wit.json +124 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-iface-no-collide.wit.json +68 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import1.wit.json +81 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import2.wit.json +72 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import3.wit.json +73 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-same-fields4.wit.json +82 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-top-level-resources.wit.json +237 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-union-dedup.wit.json +112 -0
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-with-types.wit.json +204 -0
- data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
- data/lib/wasmtime/version.rb +1 -1
- metadata +1525 -1459
- data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +0 -40
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +0 -189
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +0 -395
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dce.rs +0 -37
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dominator_tree.rs +0 -803
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +0 -839
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/inst_predicates.rs +0 -236
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/dfg.rs +0 -1777
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/extfunc.rs +0 -411
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/immediates.rs +0 -1612
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/stackslot.rs +0 -216
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/types.rs +0 -629
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +0 -1580
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +0 -721
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +0 -3846
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +0 -7902
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +0 -1213
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +0 -3094
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +0 -288
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +0 -4225
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +0 -568
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +0 -1051
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +0 -1938
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +0 -2681
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +0 -2197
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/encode.rs +0 -654
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/imms.rs +0 -374
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +0 -1975
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +0 -1144
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +0 -2969
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst_vector.isle +0 -1899
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +0 -625
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +0 -2883
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/mod.rs +0 -260
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +0 -1037
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +0 -314
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +0 -3646
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit_tests.rs +0 -13389
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +0 -202
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +0 -3421
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +0 -180
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/unwind/systemv.rs +0 -212
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst.isle +0 -5033
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/lower.isle +0 -3995
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +0 -1410
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +0 -2256
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +0 -4311
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_state.rs +0 -74
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +0 -5171
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +0 -2838
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +0 -276
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/unwind/systemv.rs +0 -198
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +0 -5294
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +0 -4808
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +0 -1014
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isle_prelude.rs +0 -957
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +0 -106
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +0 -2506
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +0 -465
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/buffer.rs +0 -2512
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +0 -903
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +0 -1432
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +0 -555
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +0 -522
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +0 -138
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +0 -1741
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/cprop.isle +0 -281
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/shifts.isle +0 -307
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude.isle +0 -646
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude_lower.isle +0 -1073
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/timing.rs +0 -297
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/verifier/mod.rs +0 -1957
- data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/write.rs +0 -631
- data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +0 -35
- data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/types.rs +0 -496
- data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +0 -168
- data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +0 -22
- data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/src/constants.rs +0 -28
- data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +0 -30
- data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +0 -52
- data/ext/cargo-vendor/cranelift-entity-0.108.1/src/set.rs +0 -290
- data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +0 -67
- data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/frontend.rs +0 -1854
- data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/lib.rs +0 -189
- data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/ssa.rs +0 -1328
- data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +0 -46
- data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +0 -2492
- data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +0 -43
- data/ext/cargo-vendor/cranelift-native-0.108.1/src/lib.rs +0 -188
- data/ext/cargo-vendor/cranelift-native-0.108.1/src/riscv.rs +0 -128
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +0 -109
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +0 -3687
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/func_translator.rs +0 -296
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/module_translator.rs +0 -128
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +0 -389
- data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/state.rs +0 -522
- data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
- data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
- data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
- data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
- data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
- data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
- data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
- data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
- data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
- data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
- data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
- data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
- data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
- data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
- data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
- data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
- data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
- data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
- data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
- data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
- data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
- data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
- data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
- data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
- data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
- data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
- data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
- data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
- data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
- data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
- data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
- data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
- data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
- data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
- data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
- data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
- data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
- data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
- data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
- data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
- data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
- data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
- data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +0 -223
- data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_0.rs +0 -1145
- data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_1.rs +0 -1497
- data/ext/cargo-vendor/wasi-common-21.0.1/src/string_array.rs +0 -74
- data/ext/cargo-vendor/wasi-common-21.0.1/src/sync/sched/windows.rs +0 -221
- data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/file.rs +0 -247
- data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +0 -45
- data/ext/cargo-vendor/wasm-encoder-0.207.0/README.md +0 -80
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/aliases.rs +0 -160
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/builder.rs +0 -455
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/canonicals.rs +0 -159
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/components.rs +0 -29
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/exports.rs +0 -124
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/imports.rs +0 -175
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/instances.rs +0 -200
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/modules.rs +0 -29
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/names.rs +0 -149
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/start.rs +0 -52
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/types.rs +0 -792
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component.rs +0 -168
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +0 -3502
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/custom.rs +0 -73
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/data.rs +0 -186
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/dump.rs +0 -627
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/elements.rs +0 -221
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/exports.rs +0 -98
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/functions.rs +0 -63
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +0 -112
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +0 -157
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/linking.rs +0 -263
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +0 -128
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/names.rs +0 -298
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/producers.rs +0 -180
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/start.rs +0 -39
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +0 -134
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tags.rs +0 -104
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +0 -678
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core.rs +0 -168
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/lib.rs +0 -215
- data/ext/cargo-vendor/wasm-encoder-0.207.0/src/raw.rs +0 -30
- data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +0 -659
- data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +0 -95
- data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +0 -1867
- data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +0 -805
- data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +0 -78
- data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +0 -137
- data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +0 -1636
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/imports.rs +0 -129
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +0 -164
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +0 -102
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +0 -551
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/branch_hinting.rs +0 -59
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +0 -146
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +0 -244
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +0 -64
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +0 -96
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +0 -152
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +0 -51
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/init.rs +0 -51
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +0 -450
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +0 -159
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +0 -430
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/producers.rs +0 -83
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +0 -301
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +0 -1773
- data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +0 -316
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +0 -3242
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +0 -233
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +0 -1450
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +0 -331
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +0 -947
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +0 -4117
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +0 -4492
- data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +0 -1786
- data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +0 -50
- data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +0 -3226
- data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +0 -1164
- data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +0 -386
- data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +0 -37
- data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +0 -176
- data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +0 -910
- data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +0 -2904
- data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +0 -887
- data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +0 -328
- data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +0 -67
- data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +0 -48
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +0 -102
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +0 -337
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +0 -661
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +0 -2498
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +0 -746
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +0 -814
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +0 -783
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +0 -217
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +0 -783
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +0 -355
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +0 -892
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +0 -166
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +0 -310
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +0 -477
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +0 -899
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +0 -2627
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +0 -473
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +0 -650
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +0 -346
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +0 -89
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +0 -992
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +0 -346
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +0 -1506
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +0 -353
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +0 -1295
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +0 -90
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +0 -2820
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +0 -139
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +0 -287
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +0 -807
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +0 -2239
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +0 -131
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +0 -966
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +0 -352
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +0 -860
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +0 -893
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +0 -108
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +0 -491
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +0 -218
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -66
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -705
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1000
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -233
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -245
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +0 -656
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +0 -798
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +0 -1519
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +0 -744
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +0 -200
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +0 -109
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/vm.rs +0 -63
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +0 -25
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +0 -401
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +0 -215
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/vm.rs +0 -79
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +0 -847
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +0 -768
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -138
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +0 -1337
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +0 -287
- data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +0 -110
- data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +0 -22
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +0 -88
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/config.rs +0 -584
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +0 -235
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/tests.rs +0 -91
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker/tests.rs +0 -758
- data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker.rs +0 -890
- data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +0 -79
- data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +0 -436
- data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +0 -1295
- data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +0 -576
- data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +0 -25
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +0 -114
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +0 -968
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +0 -1383
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/address_transform.rs +0 -783
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +0 -256
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/simulate.rs +0 -411
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +0 -529
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +0 -186
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +0 -196
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +0 -2888
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +0 -648
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +0 -511
- data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/obj.rs +0 -545
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +0 -772
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +0 -154
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +0 -73
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +0 -419
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +0 -315
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +0 -1337
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +0 -362
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/artifacts.rs +0 -72
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +0 -672
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +0 -455
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +0 -978
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +0 -1029
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +0 -233
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +0 -997
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +0 -3234
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +0 -90
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +0 -714
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +0 -161
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +0 -697
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +0 -146
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +0 -91
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/ref_bits.rs +0 -36
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +0 -168
- data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +0 -1015
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +0 -64
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +0 -38
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +0 -328
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +0 -490
- data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +0 -166
- data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +0 -67
- data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/gdb_jit_int.rs +0 -130
- data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/perf_jitdump.rs +0 -293
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +0 -51
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +0 -163
- data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +0 -21
- data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +0 -498
- data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +0 -55
- data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +0 -1572
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +0 -32
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +0 -200
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +0 -280
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +0 -667
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +0 -446
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/clocks.rs +0 -103
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/env.rs +0 -15
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/exit.rs +0 -11
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem/sync.rs +0 -518
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem.rs +0 -1079
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/instance_network.rs +0 -15
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/io.rs +0 -367
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/network.rs +0 -539
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/random.rs +0 -36
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp.rs +0 -306
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp_create_socket.rs +0 -15
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp.rs +0 -532
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp_create_socket.rs +0 -15
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ip_name_lookup.rs +0 -126
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +0 -426
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/network.rs +0 -107
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/pipe.rs +0 -826
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/poll.rs +0 -233
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +0 -877
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +0 -2660
- data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/stdio.rs +0 -507
- data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +0 -81
- data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +0 -261
- data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +0 -46
- data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +0 -2541
- data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +0 -421
- data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/types.rs +0 -202
- data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +0 -123
- data/ext/cargo-vendor/wiggle-21.0.1/src/borrow.rs +0 -113
- data/ext/cargo-vendor/wiggle-21.0.1/src/guest_type.rs +0 -237
- data/ext/cargo-vendor/wiggle-21.0.1/src/lib.rs +0 -1184
- data/ext/cargo-vendor/wiggle-21.0.1/src/wasmtime.rs +0 -97
- data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +0 -66
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/funcs.rs +0 -435
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/module_trait.rs +0 -102
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/names.rs +0 -303
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/flags.rs +0 -92
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/handle.rs +0 -84
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/mod.rs +0 -129
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/record.rs +0 -132
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/variant.rs +0 -191
- data/ext/cargo-vendor/wiggle-generate-21.0.1/src/wasmtime.rs +0 -170
- data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +0 -55
- data/ext/cargo-vendor/wiggle-macro-21.0.1/LICENSE +0 -220
- data/ext/cargo-vendor/wiggle-macro-21.0.1/src/lib.rs +0 -210
- data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +0 -76
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/abi/mod.rs +0 -671
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +0 -534
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/control.rs +0 -972
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +0 -440
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +0 -882
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/frame/mod.rs +0 -258
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +0 -380
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +0 -566
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +0 -161
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +0 -1423
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +0 -1120
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +0 -941
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +0 -65
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/stack.rs +0 -439
- data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +0 -2144
- data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +0 -109
- data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +0 -1442
- data/ext/cargo-vendor/wit-parser-0.207.0/src/ast.rs +0 -1348
- data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +0 -1764
- data/ext/cargo-vendor/wit-parser-0.207.0/src/docs.rs +0 -389
- data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +0 -777
- data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +0 -126
- data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +0 -2337
- data/ext/cargo-vendor/wit-parser-0.207.0/src/serde_.rs +0 -108
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/all.rs +0 -153
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/complex-include.wit.json +0 -168
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/diamond1.wit.json +0 -55
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/disambiguate-diamond.wit.json +0 -107
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps-union.wit.json +0 -380
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps.wit.json +0 -344
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/ignore-files-deps.wit.json +0 -39
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/import-export-overlap2.wit.json +0 -41
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/include-reps.wit.json +0 -60
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/kinds-of-deps.wit.json +0 -87
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/many-names.wit.json +0 -40
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/multi-file.wit.json +0 -298
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -5
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -8
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/shared-types.wit.json +0 -83
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-diamond.wit.json +0 -118
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-iface-no-collide.wit.json +0 -66
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import1.wit.json +0 -75
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import2.wit.json +0 -70
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import3.wit.json +0 -71
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-same-fields4.wit.json +0 -76
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +0 -231
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-union-dedup.wit.json +0 -100
- data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-with-types.wit.json +0 -202
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/node.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/path.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/pool.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/set.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/benches/x64-evex-encoding.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/alias_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/stack_map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/bitset.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cfg_printer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ctxhash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cursor.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/data_value.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/dbg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/cost.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/elaborate.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/flowgraph.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/incremental_cache.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/atomic_rmw_op.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/builder.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/condcodes.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/constant.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/dynamic_type.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/extname.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/function.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/globalvalue.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/jumptable.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/known_symbol.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/layout.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/libcall.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memflags.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memtype.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/progpoint.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/sourceloc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/trapcode.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/call_conv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/evex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/rex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/vex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/iterators.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/globalvalue.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/loop_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/helpers.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/inst_common.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/nan_canonicalization.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/arithmetic.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/bitops.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/extends.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/icmp.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/remat.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/selects.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spaceship.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spectre.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/vector.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/prelude_opt.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/print_errors.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ranges.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/remove_constant_phis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/result.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/scoped_hash_map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/souper_harvest.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unionfind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unreachable_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/value_label.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/isa.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/operands.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/typevar.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_inst.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/arm64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/s390x.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/x86.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/immediates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/srcgen.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/unique_table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/chaos.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/zero_sized.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/boxed_slice.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/iter.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/keys.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/list.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/packed_option.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/primary.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/sparse.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/unsigned.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/switch.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/variable.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bad_converters.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/error1.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/extra_parens.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_expression.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_rhs.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_prio.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/bound_var.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/construct_and_extract.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions_extern.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/let.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/nodebug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test2.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test3.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test4.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/tutorial.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/ast.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/codegen.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/disjointsets.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lexer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/log.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/overlap.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/parser.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/serialize.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/stablemapset.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/trie_again.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/tests/run_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/code_translator/bounds_checks.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/dummy.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/spec.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/heap.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/translation_utils.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
- /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/ctx.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/pipe.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/random.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched/subscription.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/preview_1/error.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/net.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/net.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/async_.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/main.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/sync.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/benches/benchmark.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/examples/simple.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/aliases.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/canonicals.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/exports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/start.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/dylink0.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/exports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/functions.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/memories.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tables.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tags.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/types/matches.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/tests/big-module.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasmprinter-0.209.1}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/tests/all.rs +0 -0
- /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmtime-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/compile/code_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/engine.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent/vtune.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/host.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/options.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/storage.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/store.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/values.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/coredump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/externals.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/anyref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/externref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/i31.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/rooting.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled/rooting.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/limits.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/memory.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/profiling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/signatures.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/stack.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/context.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/data.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/global.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/types/matching.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/uninhabited.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/async_yield.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/component/libcalls.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/const_expr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/debug_builtins.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/drc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/externref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/gc_runtime.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/host_data.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/i31.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/helpers.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/libcalls.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap_vec.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/module_id.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/pkru.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/sys.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/send_sync_ptr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/store_box.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/machports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/parking_spot.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory_disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_nostd.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_std.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-asm-macros-21.0.1 → wasmtime-asm-macros-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-cache-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/config/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/worker/tests/system_time_stub.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/tests/cache_write_default_config.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/char.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/conventions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/dead-code.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/direct-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/empty.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/flags.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/floats.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/function-new.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/integers.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/many-arguments.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multi-return.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/records.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/rename.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/share-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-functions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-wasi.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/small-anonymous.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-default.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/strings.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/unversioned-foo.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/use-paths.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/variants.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/wat.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/worlds-with-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen_no_std.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-util-21.0.1 → wasmtime-component-util-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cranelift-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/SECURITY.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/compiled_function.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/attr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/expression.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/line_program.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/range_info_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/refs.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/isa_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-environ-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/examples/factc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/address_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/builtin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/compile/trap_encoding.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/dfg.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/translate/inline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/vmcomponent_offsets.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/demangling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/core_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/signature.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/traps.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/obj.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/scopevec.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/stack_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/trap_encoding.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-fiber-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/arm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/windows.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/miri.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/win.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-types-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-types-22.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-21.0.1 → wasmtime-versioned-export-macros-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-wasi-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks/host.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/host/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/random.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/runtime.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stdio/worker_thread_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stream.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/tcp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/udp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/write_stream.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/api.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/async_.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/main.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/preview1.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/sync.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/process_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/command-extended.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/command.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/environment.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/exit.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/imports.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/run.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/stdio.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/terminal.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/monotonic-clock.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/wall-clock.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/preopens.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/handler.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/proxy.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/error.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/poll.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/streams.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure-seed.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/random.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/instance-network.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/ip-name-lookup.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/network.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp-create-socket.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp-create-socket.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/test.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-21.0.1 → wasmtime-wit-bindgen-22.0.0}/src/source.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wiggle-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/region.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-generate-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/codegen_settings.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/config.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lifetimes.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/types/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-macro-22.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/abi/local.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/bounds.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/builtin.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/call.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/reg.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/regs.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/regset.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/README.md +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/abi.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/lex.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/toposort.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/sizealign.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/bar/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/baz/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/join.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/world.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/world.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/include-reps.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow6.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/shared-types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wat +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/stress-export-elaborate.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a1/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a2/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-diamond.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-iface-no-collide.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-same-fields4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-resources.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-union-dedup.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-with-types.wit +0 -0
@@ -0,0 +1,2943 @@
|
|
1
|
+
use crate::prelude::*;
|
2
|
+
use alloc::sync::Arc;
|
3
|
+
use anyhow::{bail, ensure, Result};
|
4
|
+
use core::fmt;
|
5
|
+
use core::str::FromStr;
|
6
|
+
use hashbrown::{HashMap, HashSet};
|
7
|
+
use serde_derive::{Deserialize, Serialize};
|
8
|
+
#[cfg(any(feature = "cache", feature = "cranelift", feature = "winch"))]
|
9
|
+
use std::path::Path;
|
10
|
+
use target_lexicon::Architecture;
|
11
|
+
use wasmparser::WasmFeatures;
|
12
|
+
#[cfg(feature = "cache")]
|
13
|
+
use wasmtime_cache::CacheConfig;
|
14
|
+
use wasmtime_environ::Tunables;
|
15
|
+
|
16
|
+
#[cfg(feature = "runtime")]
|
17
|
+
use crate::memory::MemoryCreator;
|
18
|
+
#[cfg(feature = "runtime")]
|
19
|
+
use crate::profiling_agent::{self, ProfilingAgent};
|
20
|
+
#[cfg(feature = "runtime")]
|
21
|
+
use crate::runtime::vm::{
|
22
|
+
GcRuntime, InstanceAllocator, OnDemandInstanceAllocator, RuntimeMemoryCreator,
|
23
|
+
};
|
24
|
+
#[cfg(feature = "runtime")]
|
25
|
+
use crate::trampoline::MemoryCreatorProxy;
|
26
|
+
|
27
|
+
#[cfg(feature = "async")]
|
28
|
+
use crate::stack::{StackCreator, StackCreatorProxy};
|
29
|
+
#[cfg(feature = "async")]
|
30
|
+
use wasmtime_fiber::RuntimeFiberStackCreator;
|
31
|
+
|
32
|
+
#[cfg(feature = "pooling-allocator")]
|
33
|
+
use crate::runtime::vm::mpk;
|
34
|
+
#[cfg(feature = "pooling-allocator")]
|
35
|
+
pub use crate::runtime::vm::MpkEnabled;
|
36
|
+
#[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
|
37
|
+
pub use wasmtime_environ::CacheStore;
|
38
|
+
|
39
|
+
/// Represents the module instance allocation strategy to use.
|
40
|
+
#[derive(Clone)]
|
41
|
+
pub enum InstanceAllocationStrategy {
|
42
|
+
/// The on-demand instance allocation strategy.
|
43
|
+
///
|
44
|
+
/// Resources related to a module instance are allocated at instantiation time and
|
45
|
+
/// immediately deallocated when the `Store` referencing the instance is dropped.
|
46
|
+
///
|
47
|
+
/// This is the default allocation strategy for Wasmtime.
|
48
|
+
OnDemand,
|
49
|
+
/// The pooling instance allocation strategy.
|
50
|
+
///
|
51
|
+
/// A pool of resources is created in advance and module instantiation reuses resources
|
52
|
+
/// from the pool. Resources are returned to the pool when the `Store` referencing the instance
|
53
|
+
/// is dropped.
|
54
|
+
#[cfg(feature = "pooling-allocator")]
|
55
|
+
Pooling(PoolingAllocationConfig),
|
56
|
+
}
|
57
|
+
|
58
|
+
impl InstanceAllocationStrategy {
|
59
|
+
/// The default pooling instance allocation strategy.
|
60
|
+
#[cfg(feature = "pooling-allocator")]
|
61
|
+
pub fn pooling() -> Self {
|
62
|
+
Self::Pooling(Default::default())
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
impl Default for InstanceAllocationStrategy {
|
67
|
+
fn default() -> Self {
|
68
|
+
Self::OnDemand
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
#[derive(Clone)]
|
73
|
+
/// Configure the strategy used for versioning in serializing and deserializing [`crate::Module`].
|
74
|
+
pub enum ModuleVersionStrategy {
|
75
|
+
/// Use the wasmtime crate's Cargo package version.
|
76
|
+
WasmtimeVersion,
|
77
|
+
/// Use a custom version string. Must be at most 255 bytes.
|
78
|
+
Custom(String),
|
79
|
+
/// Emit no version string in serialization, and accept all version strings in deserialization.
|
80
|
+
None,
|
81
|
+
}
|
82
|
+
|
83
|
+
impl Default for ModuleVersionStrategy {
|
84
|
+
fn default() -> Self {
|
85
|
+
ModuleVersionStrategy::WasmtimeVersion
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
impl core::hash::Hash for ModuleVersionStrategy {
|
90
|
+
fn hash<H: core::hash::Hasher>(&self, hasher: &mut H) {
|
91
|
+
match self {
|
92
|
+
Self::WasmtimeVersion => env!("CARGO_PKG_VERSION").hash(hasher),
|
93
|
+
Self::Custom(s) => s.hash(hasher),
|
94
|
+
Self::None => {}
|
95
|
+
};
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
/// Global configuration options used to create an [`Engine`](crate::Engine)
|
100
|
+
/// and customize its behavior.
|
101
|
+
///
|
102
|
+
/// This structure exposed a builder-like interface and is primarily consumed by
|
103
|
+
/// [`Engine::new()`](crate::Engine::new).
|
104
|
+
///
|
105
|
+
/// The validation of `Config` is deferred until the engine is being built, thus
|
106
|
+
/// a problematic config may cause `Engine::new` to fail.
|
107
|
+
#[derive(Clone)]
|
108
|
+
pub struct Config {
|
109
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
110
|
+
compiler_config: CompilerConfig,
|
111
|
+
profiling_strategy: ProfilingStrategy,
|
112
|
+
tunables: ConfigTunables,
|
113
|
+
|
114
|
+
#[cfg(feature = "cache")]
|
115
|
+
pub(crate) cache_config: CacheConfig,
|
116
|
+
#[cfg(feature = "runtime")]
|
117
|
+
pub(crate) mem_creator: Option<Arc<dyn RuntimeMemoryCreator>>,
|
118
|
+
pub(crate) allocation_strategy: InstanceAllocationStrategy,
|
119
|
+
pub(crate) max_wasm_stack: usize,
|
120
|
+
pub(crate) features: WasmFeatures,
|
121
|
+
pub(crate) wasm_backtrace: bool,
|
122
|
+
pub(crate) wasm_backtrace_details_env_used: bool,
|
123
|
+
pub(crate) native_unwind_info: Option<bool>,
|
124
|
+
#[cfg(feature = "async")]
|
125
|
+
pub(crate) async_stack_size: usize,
|
126
|
+
#[cfg(feature = "async")]
|
127
|
+
pub(crate) stack_creator: Option<Arc<dyn RuntimeFiberStackCreator>>,
|
128
|
+
pub(crate) async_support: bool,
|
129
|
+
pub(crate) module_version: ModuleVersionStrategy,
|
130
|
+
pub(crate) parallel_compilation: bool,
|
131
|
+
pub(crate) memory_init_cow: bool,
|
132
|
+
pub(crate) memory_guaranteed_dense_image_size: u64,
|
133
|
+
pub(crate) force_memory_init_memfd: bool,
|
134
|
+
pub(crate) wmemcheck: bool,
|
135
|
+
pub(crate) coredump_on_trap: bool,
|
136
|
+
pub(crate) macos_use_mach_ports: bool,
|
137
|
+
pub(crate) detect_host_feature: Option<fn(&str) -> Option<bool>>,
|
138
|
+
}
|
139
|
+
|
140
|
+
#[derive(Default, Clone)]
|
141
|
+
struct ConfigTunables {
|
142
|
+
static_memory_reservation: Option<u64>,
|
143
|
+
static_memory_offset_guard_size: Option<u64>,
|
144
|
+
dynamic_memory_offset_guard_size: Option<u64>,
|
145
|
+
dynamic_memory_growth_reserve: Option<u64>,
|
146
|
+
generate_native_debuginfo: Option<bool>,
|
147
|
+
parse_wasm_debuginfo: Option<bool>,
|
148
|
+
consume_fuel: Option<bool>,
|
149
|
+
epoch_interruption: Option<bool>,
|
150
|
+
static_memory_bound_is_maximum: Option<bool>,
|
151
|
+
guard_before_linear_memory: Option<bool>,
|
152
|
+
table_lazy_init: Option<bool>,
|
153
|
+
generate_address_map: Option<bool>,
|
154
|
+
debug_adapter_modules: Option<bool>,
|
155
|
+
relaxed_simd_deterministic: Option<bool>,
|
156
|
+
tail_callable: Option<bool>,
|
157
|
+
cache_call_indirects: Option<bool>,
|
158
|
+
max_call_indirect_cache_slots: Option<usize>,
|
159
|
+
}
|
160
|
+
|
161
|
+
/// User-provided configuration for the compiler.
|
162
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
163
|
+
#[derive(Debug, Clone)]
|
164
|
+
struct CompilerConfig {
|
165
|
+
strategy: Option<Strategy>,
|
166
|
+
target: Option<target_lexicon::Triple>,
|
167
|
+
settings: HashMap<String, String>,
|
168
|
+
flags: HashSet<String>,
|
169
|
+
#[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
|
170
|
+
cache_store: Option<Arc<dyn CacheStore>>,
|
171
|
+
clif_dir: Option<std::path::PathBuf>,
|
172
|
+
wmemcheck: bool,
|
173
|
+
}
|
174
|
+
|
175
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
176
|
+
impl CompilerConfig {
|
177
|
+
fn new() -> Self {
|
178
|
+
Self {
|
179
|
+
strategy: Strategy::Auto.not_auto(),
|
180
|
+
target: None,
|
181
|
+
settings: HashMap::new(),
|
182
|
+
flags: HashSet::new(),
|
183
|
+
#[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
|
184
|
+
cache_store: None,
|
185
|
+
clif_dir: None,
|
186
|
+
wmemcheck: false,
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
/// Ensures that the key is not set or equals to the given value.
|
191
|
+
/// If the key is not set, it will be set to the given value.
|
192
|
+
///
|
193
|
+
/// # Returns
|
194
|
+
///
|
195
|
+
/// Returns true if successfully set or already had the given setting
|
196
|
+
/// value, or false if the setting was explicitly set to something
|
197
|
+
/// else previously.
|
198
|
+
fn ensure_setting_unset_or_given(&mut self, k: &str, v: &str) -> bool {
|
199
|
+
if let Some(value) = self.settings.get(k) {
|
200
|
+
if value != v {
|
201
|
+
return false;
|
202
|
+
}
|
203
|
+
} else {
|
204
|
+
self.settings.insert(k.to_string(), v.to_string());
|
205
|
+
}
|
206
|
+
true
|
207
|
+
}
|
208
|
+
}
|
209
|
+
|
210
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
211
|
+
impl Default for CompilerConfig {
|
212
|
+
fn default() -> Self {
|
213
|
+
Self::new()
|
214
|
+
}
|
215
|
+
}
|
216
|
+
|
217
|
+
impl Config {
|
218
|
+
/// Creates a new configuration object with the default configuration
|
219
|
+
/// specified.
|
220
|
+
pub fn new() -> Self {
|
221
|
+
let mut ret = Self {
|
222
|
+
tunables: ConfigTunables::default(),
|
223
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
224
|
+
compiler_config: CompilerConfig::default(),
|
225
|
+
#[cfg(feature = "cache")]
|
226
|
+
cache_config: CacheConfig::new_cache_disabled(),
|
227
|
+
profiling_strategy: ProfilingStrategy::None,
|
228
|
+
#[cfg(feature = "runtime")]
|
229
|
+
mem_creator: None,
|
230
|
+
allocation_strategy: InstanceAllocationStrategy::OnDemand,
|
231
|
+
// 512k of stack -- note that this is chosen currently to not be too
|
232
|
+
// big, not be too small, and be a good default for most platforms.
|
233
|
+
// One platform of particular note is Windows where the stack size
|
234
|
+
// of the main thread seems to, by default, be smaller than that of
|
235
|
+
// Linux and macOS. This 512k value at least lets our current test
|
236
|
+
// suite pass on the main thread of Windows (using `--test-threads
|
237
|
+
// 1` forces this), or at least it passed when this change was
|
238
|
+
// committed.
|
239
|
+
max_wasm_stack: 512 * 1024,
|
240
|
+
wasm_backtrace: true,
|
241
|
+
wasm_backtrace_details_env_used: false,
|
242
|
+
native_unwind_info: None,
|
243
|
+
features: WasmFeatures::default(),
|
244
|
+
#[cfg(feature = "async")]
|
245
|
+
async_stack_size: 2 << 20,
|
246
|
+
#[cfg(feature = "async")]
|
247
|
+
stack_creator: None,
|
248
|
+
async_support: false,
|
249
|
+
module_version: ModuleVersionStrategy::default(),
|
250
|
+
parallel_compilation: !cfg!(miri),
|
251
|
+
memory_init_cow: true,
|
252
|
+
memory_guaranteed_dense_image_size: 16 << 20,
|
253
|
+
force_memory_init_memfd: false,
|
254
|
+
wmemcheck: false,
|
255
|
+
coredump_on_trap: false,
|
256
|
+
macos_use_mach_ports: !cfg!(miri),
|
257
|
+
#[cfg(feature = "std")]
|
258
|
+
detect_host_feature: Some(detect_host_feature),
|
259
|
+
#[cfg(not(feature = "std"))]
|
260
|
+
detect_host_feature: None,
|
261
|
+
};
|
262
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
263
|
+
{
|
264
|
+
ret.cranelift_debug_verifier(false);
|
265
|
+
ret.cranelift_opt_level(OptLevel::Speed);
|
266
|
+
}
|
267
|
+
|
268
|
+
// Not yet implemented in Wasmtime
|
269
|
+
ret.features.set(WasmFeatures::EXTENDED_CONST, false);
|
270
|
+
|
271
|
+
// Conditionally enabled features depending on compile-time crate
|
272
|
+
// features. Note that if these features are disabled then `Config` has
|
273
|
+
// no way of re-enabling them.
|
274
|
+
ret.features
|
275
|
+
.set(WasmFeatures::REFERENCE_TYPES, cfg!(feature = "gc"));
|
276
|
+
ret.features
|
277
|
+
.set(WasmFeatures::THREADS, cfg!(feature = "threads"));
|
278
|
+
ret.features.set(
|
279
|
+
WasmFeatures::COMPONENT_MODEL,
|
280
|
+
cfg!(feature = "component-model"),
|
281
|
+
);
|
282
|
+
|
283
|
+
// If GC is disabled at compile time also disable it in features
|
284
|
+
// forcibly irrespective of `wasmparser` defaults. Note that these also
|
285
|
+
// aren't yet fully implemented in Wasmtime.
|
286
|
+
if !cfg!(feature = "gc") {
|
287
|
+
ret.features.set(WasmFeatures::FUNCTION_REFERENCES, false);
|
288
|
+
ret.features.set(WasmFeatures::GC, false);
|
289
|
+
}
|
290
|
+
|
291
|
+
ret.wasm_multi_value(true);
|
292
|
+
ret.wasm_bulk_memory(true);
|
293
|
+
ret.wasm_simd(true);
|
294
|
+
ret.wasm_backtrace_details(WasmBacktraceDetails::Environment);
|
295
|
+
|
296
|
+
// This is on-by-default in `wasmparser` since it's a stage 4+ proposal
|
297
|
+
// but it's not implemented in Wasmtime yet so disable it.
|
298
|
+
ret.features.set(WasmFeatures::TAIL_CALL, false);
|
299
|
+
|
300
|
+
ret
|
301
|
+
}
|
302
|
+
|
303
|
+
/// Sets the target triple for the [`Config`].
|
304
|
+
///
|
305
|
+
/// By default, the host target triple is used for the [`Config`].
|
306
|
+
///
|
307
|
+
/// This method can be used to change the target triple.
|
308
|
+
///
|
309
|
+
/// Cranelift flags will not be inferred for the given target and any
|
310
|
+
/// existing target-specific Cranelift flags will be cleared.
|
311
|
+
///
|
312
|
+
/// # Errors
|
313
|
+
///
|
314
|
+
/// This method will error if the given target triple is not supported.
|
315
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
316
|
+
pub fn target(&mut self, target: &str) -> Result<&mut Self> {
|
317
|
+
self.compiler_config.target =
|
318
|
+
Some(target_lexicon::Triple::from_str(target).map_err(|e| anyhow::anyhow!(e))?);
|
319
|
+
|
320
|
+
Ok(self)
|
321
|
+
}
|
322
|
+
|
323
|
+
/// Enables the incremental compilation cache in Cranelift, using the provided `CacheStore`
|
324
|
+
/// backend for storage.
|
325
|
+
#[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
|
326
|
+
pub fn enable_incremental_compilation(
|
327
|
+
&mut self,
|
328
|
+
cache_store: Arc<dyn CacheStore>,
|
329
|
+
) -> Result<&mut Self> {
|
330
|
+
self.compiler_config.cache_store = Some(cache_store);
|
331
|
+
Ok(self)
|
332
|
+
}
|
333
|
+
|
334
|
+
/// Whether or not to enable support for asynchronous functions in Wasmtime.
|
335
|
+
///
|
336
|
+
/// When enabled, the config can optionally define host functions with `async`.
|
337
|
+
/// Instances created and functions called with this `Config` *must* be called
|
338
|
+
/// through their asynchronous APIs, however. For example using
|
339
|
+
/// [`Func::call`](crate::Func::call) will panic when used with this config.
|
340
|
+
///
|
341
|
+
/// # Asynchronous Wasm
|
342
|
+
///
|
343
|
+
/// WebAssembly does not currently have a way to specify at the bytecode
|
344
|
+
/// level what is and isn't async. Host-defined functions, however, may be
|
345
|
+
/// defined as `async`. WebAssembly imports always appear synchronous, which
|
346
|
+
/// gives rise to a bit of an impedance mismatch here. To solve this
|
347
|
+
/// Wasmtime supports "asynchronous configs" which enables calling these
|
348
|
+
/// asynchronous functions in a way that looks synchronous to the executing
|
349
|
+
/// WebAssembly code.
|
350
|
+
///
|
351
|
+
/// An asynchronous config must always invoke wasm code asynchronously,
|
352
|
+
/// meaning we'll always represent its computation as a
|
353
|
+
/// [`Future`](std::future::Future). The `poll` method of the futures
|
354
|
+
/// returned by Wasmtime will perform the actual work of calling the
|
355
|
+
/// WebAssembly. Wasmtime won't manage its own thread pools or similar,
|
356
|
+
/// that's left up to the embedder.
|
357
|
+
///
|
358
|
+
/// To implement futures in a way that WebAssembly sees asynchronous host
|
359
|
+
/// functions as synchronous, all async Wasmtime futures will execute on a
|
360
|
+
/// separately allocated native stack from the thread otherwise executing
|
361
|
+
/// Wasmtime. This separate native stack can then be switched to and from.
|
362
|
+
/// Using this whenever an `async` host function returns a future that
|
363
|
+
/// resolves to `Pending` we switch away from the temporary stack back to
|
364
|
+
/// the main stack and propagate the `Pending` status.
|
365
|
+
///
|
366
|
+
/// In general it's encouraged that the integration with `async` and
|
367
|
+
/// wasmtime is designed early on in your embedding of Wasmtime to ensure
|
368
|
+
/// that it's planned that WebAssembly executes in the right context of your
|
369
|
+
/// application.
|
370
|
+
///
|
371
|
+
/// # Execution in `poll`
|
372
|
+
///
|
373
|
+
/// The [`Future::poll`](std::future::Future::poll) method is the main
|
374
|
+
/// driving force behind Rust's futures. That method's own documentation
|
375
|
+
/// states "an implementation of `poll` should strive to return quickly, and
|
376
|
+
/// should not block". This, however, can be at odds with executing
|
377
|
+
/// WebAssembly code as part of the `poll` method itself. If your
|
378
|
+
/// WebAssembly is untrusted then this could allow the `poll` method to take
|
379
|
+
/// arbitrarily long in the worst case, likely blocking all other
|
380
|
+
/// asynchronous tasks.
|
381
|
+
///
|
382
|
+
/// To remedy this situation you have a a few possible ways to solve this:
|
383
|
+
///
|
384
|
+
/// * The most efficient solution is to enable
|
385
|
+
/// [`Config::epoch_interruption`] in conjunction with
|
386
|
+
/// [`crate::Store::epoch_deadline_async_yield_and_update`]. Coupled with
|
387
|
+
/// periodic calls to [`crate::Engine::increment_epoch`] this will cause
|
388
|
+
/// executing WebAssembly to periodically yield back according to the
|
389
|
+
/// epoch configuration settings. This enables `Future::poll` to take at
|
390
|
+
/// most a certain amount of time according to epoch configuration
|
391
|
+
/// settings and when increments happen. The benefit of this approach is
|
392
|
+
/// that the instrumentation in compiled code is quite lightweight, but a
|
393
|
+
/// downside can be that the scheduling is somewhat nondeterministic since
|
394
|
+
/// increments are usually timer-based which are not always deterministic.
|
395
|
+
///
|
396
|
+
/// Note that to prevent infinite execution of wasm it's recommended to
|
397
|
+
/// place a timeout on the entire future representing executing wasm code
|
398
|
+
/// and the periodic yields with epochs should ensure that when the
|
399
|
+
/// timeout is reached it's appropriately recognized.
|
400
|
+
///
|
401
|
+
/// * Alternatively you can enable the
|
402
|
+
/// [`Config::consume_fuel`](crate::Config::consume_fuel) method as well
|
403
|
+
/// as [`crate::Store::fuel_async_yield_interval`] When doing so this will
|
404
|
+
/// configure Wasmtime futures to yield periodically while they're
|
405
|
+
/// executing WebAssembly code. After consuming the specified amount of
|
406
|
+
/// fuel wasm futures will return `Poll::Pending` from their `poll`
|
407
|
+
/// method, and will get automatically re-polled later. This enables the
|
408
|
+
/// `Future::poll` method to take roughly a fixed amount of time since
|
409
|
+
/// fuel is guaranteed to get consumed while wasm is executing. Unlike
|
410
|
+
/// epoch-based preemption this is deterministic since wasm always
|
411
|
+
/// consumes a fixed amount of fuel per-operation. The downside of this
|
412
|
+
/// approach, however, is that the compiled code instrumentation is
|
413
|
+
/// significantly more expensive than epoch checks.
|
414
|
+
///
|
415
|
+
/// Note that to prevent infinite execution of wasm it's recommended to
|
416
|
+
/// place a timeout on the entire future representing executing wasm code
|
417
|
+
/// and the periodic yields with epochs should ensure that when the
|
418
|
+
/// timeout is reached it's appropriately recognized.
|
419
|
+
///
|
420
|
+
/// In all cases special care needs to be taken when integrating
|
421
|
+
/// asynchronous wasm into your application. You should carefully plan where
|
422
|
+
/// WebAssembly will execute and what compute resources will be allotted to
|
423
|
+
/// it. If Wasmtime doesn't support exactly what you'd like just yet, please
|
424
|
+
/// feel free to open an issue!
|
425
|
+
#[cfg(feature = "async")]
|
426
|
+
pub fn async_support(&mut self, enable: bool) -> &mut Self {
|
427
|
+
self.async_support = enable;
|
428
|
+
self
|
429
|
+
}
|
430
|
+
|
431
|
+
/// Configures whether DWARF debug information will be emitted during
|
432
|
+
/// compilation.
|
433
|
+
///
|
434
|
+
/// Note that the `debug-builtins` compile-time Cargo feature must also be
|
435
|
+
/// enabled for native debuggers such as GDB or LLDB to be able to debug
|
436
|
+
/// guest WebAssembly programs.
|
437
|
+
///
|
438
|
+
/// By default this option is `false`.
|
439
|
+
pub fn debug_info(&mut self, enable: bool) -> &mut Self {
|
440
|
+
self.tunables.generate_native_debuginfo = Some(enable);
|
441
|
+
self
|
442
|
+
}
|
443
|
+
|
444
|
+
/// Configures whether [`WasmBacktrace`] will be present in the context of
|
445
|
+
/// errors returned from Wasmtime.
|
446
|
+
///
|
447
|
+
/// A backtrace may be collected whenever an error is returned from a host
|
448
|
+
/// function call through to WebAssembly or when WebAssembly itself hits a
|
449
|
+
/// trap condition, such as an out-of-bounds memory access. This flag
|
450
|
+
/// indicates, in these conditions, whether the backtrace is collected or
|
451
|
+
/// not.
|
452
|
+
///
|
453
|
+
/// Currently wasm backtraces are implemented through frame pointer walking.
|
454
|
+
/// This means that collecting a backtrace is expected to be a fast and
|
455
|
+
/// relatively cheap operation. Additionally backtrace collection is
|
456
|
+
/// suitable in concurrent environments since one thread capturing a
|
457
|
+
/// backtrace won't block other threads.
|
458
|
+
///
|
459
|
+
/// Collected backtraces are attached via [`anyhow::Error::context`] to
|
460
|
+
/// errors returned from host functions. The [`WasmBacktrace`] type can be
|
461
|
+
/// acquired via [`anyhow::Error::downcast_ref`] to inspect the backtrace.
|
462
|
+
/// When this option is disabled then this context is never applied to
|
463
|
+
/// errors coming out of wasm.
|
464
|
+
///
|
465
|
+
/// This option is `true` by default.
|
466
|
+
///
|
467
|
+
/// [`WasmBacktrace`]: crate::WasmBacktrace
|
468
|
+
pub fn wasm_backtrace(&mut self, enable: bool) -> &mut Self {
|
469
|
+
self.wasm_backtrace = enable;
|
470
|
+
self
|
471
|
+
}
|
472
|
+
|
473
|
+
/// Configures whether backtraces in `Trap` will parse debug info in the wasm file to
|
474
|
+
/// have filename/line number information.
|
475
|
+
///
|
476
|
+
/// When enabled this will causes modules to retain debugging information
|
477
|
+
/// found in wasm binaries. This debug information will be used when a trap
|
478
|
+
/// happens to symbolicate each stack frame and attempt to print a
|
479
|
+
/// filename/line number for each wasm frame in the stack trace.
|
480
|
+
///
|
481
|
+
/// By default this option is `WasmBacktraceDetails::Environment`, meaning
|
482
|
+
/// that wasm will read `WASMTIME_BACKTRACE_DETAILS` to indicate whether
|
483
|
+
/// details should be parsed. Note that the `std` feature of this crate must
|
484
|
+
/// be active to read environment variables, otherwise this is disabled by
|
485
|
+
/// default.
|
486
|
+
pub fn wasm_backtrace_details(&mut self, enable: WasmBacktraceDetails) -> &mut Self {
|
487
|
+
self.wasm_backtrace_details_env_used = false;
|
488
|
+
self.tunables.parse_wasm_debuginfo = match enable {
|
489
|
+
WasmBacktraceDetails::Enable => Some(true),
|
490
|
+
WasmBacktraceDetails::Disable => Some(false),
|
491
|
+
WasmBacktraceDetails::Environment => {
|
492
|
+
self.wasm_backtrace_details_env_used = true;
|
493
|
+
#[cfg(feature = "std")]
|
494
|
+
{
|
495
|
+
std::env::var("WASMTIME_BACKTRACE_DETAILS")
|
496
|
+
.map(|s| Some(s == "1"))
|
497
|
+
.unwrap_or(Some(false))
|
498
|
+
}
|
499
|
+
#[cfg(not(feature = "std"))]
|
500
|
+
{
|
501
|
+
Some(false)
|
502
|
+
}
|
503
|
+
}
|
504
|
+
};
|
505
|
+
self
|
506
|
+
}
|
507
|
+
|
508
|
+
/// Configures whether to generate native unwind information
|
509
|
+
/// (e.g. `.eh_frame` on Linux).
|
510
|
+
///
|
511
|
+
/// This configuration option only exists to help third-party stack
|
512
|
+
/// capturing mechanisms, such as the system's unwinder or the `backtrace`
|
513
|
+
/// crate, determine how to unwind through Wasm frames. It does not affect
|
514
|
+
/// whether Wasmtime can capture Wasm backtraces or not. The presence of
|
515
|
+
/// [`WasmBacktrace`] is controlled by the [`Config::wasm_backtrace`]
|
516
|
+
/// option.
|
517
|
+
///
|
518
|
+
/// Native unwind information is included:
|
519
|
+
/// - When targeting Windows, since the Windows ABI requires it.
|
520
|
+
/// - By default.
|
521
|
+
///
|
522
|
+
/// [`WasmBacktrace`]: crate::WasmBacktrace
|
523
|
+
pub fn native_unwind_info(&mut self, enable: bool) -> &mut Self {
|
524
|
+
self.native_unwind_info = Some(enable);
|
525
|
+
self
|
526
|
+
}
|
527
|
+
|
528
|
+
/// Configures whether execution of WebAssembly will "consume fuel" to
|
529
|
+
/// either halt or yield execution as desired.
|
530
|
+
///
|
531
|
+
/// This can be used to deterministically prevent infinitely-executing
|
532
|
+
/// WebAssembly code by instrumenting generated code to consume fuel as it
|
533
|
+
/// executes. When fuel runs out a trap is raised, however [`Store`] can be
|
534
|
+
/// configured to yield execution periodically via
|
535
|
+
/// [`crate::Store::fuel_async_yield_interval`].
|
536
|
+
///
|
537
|
+
/// Note that a [`Store`] starts with no fuel, so if you enable this option
|
538
|
+
/// you'll have to be sure to pour some fuel into [`Store`] before
|
539
|
+
/// executing some code.
|
540
|
+
///
|
541
|
+
/// By default this option is `false`.
|
542
|
+
///
|
543
|
+
/// [`Store`]: crate::Store
|
544
|
+
pub fn consume_fuel(&mut self, enable: bool) -> &mut Self {
|
545
|
+
self.tunables.consume_fuel = Some(enable);
|
546
|
+
self
|
547
|
+
}
|
548
|
+
|
549
|
+
/// Enables epoch-based interruption.
|
550
|
+
///
|
551
|
+
/// When executing code in async mode, we sometimes want to
|
552
|
+
/// implement a form of cooperative timeslicing: long-running Wasm
|
553
|
+
/// guest code should periodically yield to the executor
|
554
|
+
/// loop. This yielding could be implemented by using "fuel" (see
|
555
|
+
/// [`consume_fuel`](Config::consume_fuel)). However, fuel
|
556
|
+
/// instrumentation is somewhat expensive: it modifies the
|
557
|
+
/// compiled form of the Wasm code so that it maintains a precise
|
558
|
+
/// instruction count, frequently checking this count against the
|
559
|
+
/// remaining fuel. If one does not need this precise count or
|
560
|
+
/// deterministic interruptions, and only needs a periodic
|
561
|
+
/// interrupt of some form, then It would be better to have a more
|
562
|
+
/// lightweight mechanism.
|
563
|
+
///
|
564
|
+
/// Epoch-based interruption is that mechanism. There is a global
|
565
|
+
/// "epoch", which is a counter that divides time into arbitrary
|
566
|
+
/// periods (or epochs). This counter lives on the
|
567
|
+
/// [`Engine`](crate::Engine) and can be incremented by calling
|
568
|
+
/// [`Engine::increment_epoch`](crate::Engine::increment_epoch).
|
569
|
+
/// Epoch-based instrumentation works by setting a "deadline
|
570
|
+
/// epoch". The compiled code knows the deadline, and at certain
|
571
|
+
/// points, checks the current epoch against that deadline. It
|
572
|
+
/// will yield if the deadline has been reached.
|
573
|
+
///
|
574
|
+
/// The idea is that checking an infrequently-changing counter is
|
575
|
+
/// cheaper than counting and frequently storing a precise metric
|
576
|
+
/// (instructions executed) locally. The interruptions are not
|
577
|
+
/// deterministic, but if the embedder increments the epoch in a
|
578
|
+
/// periodic way (say, every regular timer tick by a thread or
|
579
|
+
/// signal handler), then we can ensure that all async code will
|
580
|
+
/// yield to the executor within a bounded time.
|
581
|
+
///
|
582
|
+
/// The deadline check cannot be avoided by malicious wasm code. It is safe
|
583
|
+
/// to use epoch deadlines to limit the execution time of untrusted
|
584
|
+
/// code.
|
585
|
+
///
|
586
|
+
/// The [`Store`](crate::Store) tracks the deadline, and controls
|
587
|
+
/// what happens when the deadline is reached during
|
588
|
+
/// execution. Several behaviors are possible:
|
589
|
+
///
|
590
|
+
/// - Trap if code is executing when the epoch deadline is
|
591
|
+
/// met. See
|
592
|
+
/// [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap).
|
593
|
+
///
|
594
|
+
/// - Call an arbitrary function. This function may chose to trap or
|
595
|
+
/// increment the epoch. See
|
596
|
+
/// [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback).
|
597
|
+
///
|
598
|
+
/// - Yield to the executor loop, then resume when the future is
|
599
|
+
/// next polled. See
|
600
|
+
/// [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update).
|
601
|
+
///
|
602
|
+
/// Trapping is the default. The yielding behaviour may be used for
|
603
|
+
/// the timeslicing behavior described above.
|
604
|
+
///
|
605
|
+
/// This feature is available with or without async support.
|
606
|
+
/// However, without async support, the timeslicing behaviour is
|
607
|
+
/// not available. This means epoch-based interruption can only
|
608
|
+
/// serve as a simple external-interruption mechanism.
|
609
|
+
///
|
610
|
+
/// An initial deadline must be set before executing code by calling
|
611
|
+
/// [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline). If this
|
612
|
+
/// deadline is not configured then wasm will immediately trap.
|
613
|
+
///
|
614
|
+
/// ## When to use fuel vs. epochs
|
615
|
+
///
|
616
|
+
/// In general, epoch-based interruption results in faster
|
617
|
+
/// execution. This difference is sometimes significant: in some
|
618
|
+
/// measurements, up to 2-3x. This is because epoch-based
|
619
|
+
/// interruption does less work: it only watches for a global
|
620
|
+
/// rarely-changing counter to increment, rather than keeping a
|
621
|
+
/// local frequently-changing counter and comparing it to a
|
622
|
+
/// deadline.
|
623
|
+
///
|
624
|
+
/// Fuel, in contrast, should be used when *deterministic*
|
625
|
+
/// yielding or trapping is needed. For example, if it is required
|
626
|
+
/// that the same function call with the same starting state will
|
627
|
+
/// always either complete or trap with an out-of-fuel error,
|
628
|
+
/// deterministically, then fuel with a fixed bound should be
|
629
|
+
/// used.
|
630
|
+
///
|
631
|
+
/// # See Also
|
632
|
+
///
|
633
|
+
/// - [`Engine::increment_epoch`](crate::Engine::increment_epoch)
|
634
|
+
/// - [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline)
|
635
|
+
/// - [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap)
|
636
|
+
/// - [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback)
|
637
|
+
/// - [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update)
|
638
|
+
pub fn epoch_interruption(&mut self, enable: bool) -> &mut Self {
|
639
|
+
self.tunables.epoch_interruption = Some(enable);
|
640
|
+
self
|
641
|
+
}
|
642
|
+
|
643
|
+
/// Configures the maximum amount of stack space available for
|
644
|
+
/// executing WebAssembly code.
|
645
|
+
///
|
646
|
+
/// WebAssembly has well-defined semantics on stack overflow. This is
|
647
|
+
/// intended to be a knob which can help configure how much stack space
|
648
|
+
/// wasm execution is allowed to consume. Note that the number here is not
|
649
|
+
/// super-precise, but rather wasm will take at most "pretty close to this
|
650
|
+
/// much" stack space.
|
651
|
+
///
|
652
|
+
/// If a wasm call (or series of nested wasm calls) take more stack space
|
653
|
+
/// than the `size` specified then a stack overflow trap will be raised.
|
654
|
+
///
|
655
|
+
/// Caveat: this knob only limits the stack space consumed by wasm code.
|
656
|
+
/// More importantly, it does not ensure that this much stack space is
|
657
|
+
/// available on the calling thread stack. Exhausting the thread stack
|
658
|
+
/// typically leads to an **abort** of the process.
|
659
|
+
///
|
660
|
+
/// Here are some examples of how that could happen:
|
661
|
+
///
|
662
|
+
/// - Let's assume this option is set to 2 MiB and then a thread that has
|
663
|
+
/// a stack with 512 KiB left.
|
664
|
+
///
|
665
|
+
/// If wasm code consumes more than 512 KiB then the process will be aborted.
|
666
|
+
///
|
667
|
+
/// - Assuming the same conditions, but this time wasm code does not consume
|
668
|
+
/// any stack but calls into a host function. The host function consumes
|
669
|
+
/// more than 512 KiB of stack space. The process will be aborted.
|
670
|
+
///
|
671
|
+
/// There's another gotcha related to recursive calling into wasm: the stack
|
672
|
+
/// space consumed by a host function is counted towards this limit. The
|
673
|
+
/// host functions are not prevented from consuming more than this limit.
|
674
|
+
/// However, if the host function that used more than this limit and called
|
675
|
+
/// back into wasm, then the execution will trap immediately because of
|
676
|
+
/// stack overflow.
|
677
|
+
///
|
678
|
+
/// When the `async` feature is enabled, this value cannot exceed the
|
679
|
+
/// `async_stack_size` option. Be careful not to set this value too close
|
680
|
+
/// to `async_stack_size` as doing so may limit how much stack space
|
681
|
+
/// is available for host functions.
|
682
|
+
///
|
683
|
+
/// By default this option is 512 KiB.
|
684
|
+
///
|
685
|
+
/// # Errors
|
686
|
+
///
|
687
|
+
/// The `Engine::new` method will fail if the `size` specified here is
|
688
|
+
/// either 0 or larger than the [`Config::async_stack_size`] configuration.
|
689
|
+
pub fn max_wasm_stack(&mut self, size: usize) -> &mut Self {
|
690
|
+
self.max_wasm_stack = size;
|
691
|
+
self
|
692
|
+
}
|
693
|
+
|
694
|
+
/// Configures the size of the stacks used for asynchronous execution.
|
695
|
+
///
|
696
|
+
/// This setting configures the size of the stacks that are allocated for
|
697
|
+
/// asynchronous execution. The value cannot be less than `max_wasm_stack`.
|
698
|
+
///
|
699
|
+
/// The amount of stack space guaranteed for host functions is
|
700
|
+
/// `async_stack_size - max_wasm_stack`, so take care not to set these two values
|
701
|
+
/// close to one another; doing so may cause host functions to overflow the
|
702
|
+
/// stack and abort the process.
|
703
|
+
///
|
704
|
+
/// By default this option is 2 MiB.
|
705
|
+
///
|
706
|
+
/// # Errors
|
707
|
+
///
|
708
|
+
/// The `Engine::new` method will fail if the value for this option is
|
709
|
+
/// smaller than the [`Config::max_wasm_stack`] option.
|
710
|
+
#[cfg(feature = "async")]
|
711
|
+
pub fn async_stack_size(&mut self, size: usize) -> &mut Self {
|
712
|
+
self.async_stack_size = size;
|
713
|
+
self
|
714
|
+
}
|
715
|
+
|
716
|
+
/// Configures whether the WebAssembly tail calls proposal will be enabled
|
717
|
+
/// for compilation or not.
|
718
|
+
///
|
719
|
+
/// The [WebAssembly tail calls proposal] introduces the `return_call` and
|
720
|
+
/// `return_call_indirect` instructions. These instructions allow for Wasm
|
721
|
+
/// programs to implement some recursive algorithms with *O(1)* stack space
|
722
|
+
/// usage.
|
723
|
+
///
|
724
|
+
/// This is `true` by default except on s390x or when the Winch compiler is
|
725
|
+
/// enabled.
|
726
|
+
///
|
727
|
+
/// [WebAssembly tail calls proposal]: https://github.com/WebAssembly/tail-call
|
728
|
+
pub fn wasm_tail_call(&mut self, enable: bool) -> &mut Self {
|
729
|
+
self.features.set(WasmFeatures::TAIL_CALL, enable);
|
730
|
+
self.tunables.tail_callable = Some(enable);
|
731
|
+
self
|
732
|
+
}
|
733
|
+
|
734
|
+
/// Configures whether the WebAssembly [threads] proposal will be enabled
|
735
|
+
/// for compilation.
|
736
|
+
///
|
737
|
+
/// This feature gates items such as shared memories and atomic
|
738
|
+
/// instructions. Note that the threads feature depends on the bulk memory
|
739
|
+
/// feature, which is enabled by default. Additionally note that while the
|
740
|
+
/// wasm feature is called "threads" it does not actually include the
|
741
|
+
/// ability to spawn threads. Spawning threads is part of the [wasi-threads]
|
742
|
+
/// proposal which is a separately gated feature in Wasmtime.
|
743
|
+
///
|
744
|
+
/// Embeddings of Wasmtime are able to build their own custom threading
|
745
|
+
/// scheme on top of the core wasm threads proposal, however.
|
746
|
+
///
|
747
|
+
/// This is `true` by default.
|
748
|
+
///
|
749
|
+
/// [threads]: https://github.com/webassembly/threads
|
750
|
+
/// [wasi-threads]: https://github.com/webassembly/wasi-threads
|
751
|
+
#[cfg(feature = "threads")]
|
752
|
+
pub fn wasm_threads(&mut self, enable: bool) -> &mut Self {
|
753
|
+
self.features.set(WasmFeatures::THREADS, enable);
|
754
|
+
self
|
755
|
+
}
|
756
|
+
|
757
|
+
/// Configures whether the [WebAssembly reference types proposal][proposal]
|
758
|
+
/// will be enabled for compilation.
|
759
|
+
///
|
760
|
+
/// This feature gates items such as the `externref` and `funcref` types as
|
761
|
+
/// well as allowing a module to define multiple tables.
|
762
|
+
///
|
763
|
+
/// Note that the reference types proposal depends on the bulk memory proposal.
|
764
|
+
///
|
765
|
+
/// This feature is `true` by default.
|
766
|
+
///
|
767
|
+
/// # Errors
|
768
|
+
///
|
769
|
+
/// The validation of this feature are deferred until the engine is being built,
|
770
|
+
/// and thus may cause `Engine::new` fail if the `bulk_memory` feature is disabled.
|
771
|
+
///
|
772
|
+
/// [proposal]: https://github.com/webassembly/reference-types
|
773
|
+
#[cfg(feature = "gc")]
|
774
|
+
pub fn wasm_reference_types(&mut self, enable: bool) -> &mut Self {
|
775
|
+
self.features.set(WasmFeatures::REFERENCE_TYPES, enable);
|
776
|
+
self
|
777
|
+
}
|
778
|
+
|
779
|
+
/// Configures whether the [WebAssembly function references
|
780
|
+
/// proposal][proposal] will be enabled for compilation.
|
781
|
+
///
|
782
|
+
/// This feature gates non-nullable reference types, function reference
|
783
|
+
/// types, `call_ref`, `ref.func`, and non-nullable reference related
|
784
|
+
/// instructions.
|
785
|
+
///
|
786
|
+
/// Note that the function references proposal depends on the reference
|
787
|
+
/// types proposal.
|
788
|
+
///
|
789
|
+
/// This feature is `false` by default.
|
790
|
+
///
|
791
|
+
/// [proposal]: https://github.com/WebAssembly/function-references
|
792
|
+
#[cfg(feature = "gc")]
|
793
|
+
pub fn wasm_function_references(&mut self, enable: bool) -> &mut Self {
|
794
|
+
self.features.set(WasmFeatures::FUNCTION_REFERENCES, enable);
|
795
|
+
self
|
796
|
+
}
|
797
|
+
|
798
|
+
/// Configures whether the [WebAssembly Garbage Collection
|
799
|
+
/// proposal][proposal] will be enabled for compilation.
|
800
|
+
///
|
801
|
+
/// This feature gates `struct` and `array` type definitions and references,
|
802
|
+
/// the `i31ref` type, and all related instructions.
|
803
|
+
///
|
804
|
+
/// Note that the function references proposal depends on the typed function
|
805
|
+
/// references proposal.
|
806
|
+
///
|
807
|
+
/// This feature is `false` by default.
|
808
|
+
///
|
809
|
+
/// **Warning: Wasmtime's implementation of the GC proposal is still in
|
810
|
+
/// progress and generally not ready for primetime.**
|
811
|
+
///
|
812
|
+
/// [proposal]: https://github.com/WebAssembly/gc
|
813
|
+
#[cfg(feature = "gc")]
|
814
|
+
pub fn wasm_gc(&mut self, enable: bool) -> &mut Self {
|
815
|
+
self.features.set(WasmFeatures::GC, enable);
|
816
|
+
self
|
817
|
+
}
|
818
|
+
|
819
|
+
/// Configures whether the WebAssembly SIMD proposal will be
|
820
|
+
/// enabled for compilation.
|
821
|
+
///
|
822
|
+
/// The [WebAssembly SIMD proposal][proposal]. This feature gates items such
|
823
|
+
/// as the `v128` type and all of its operators being in a module. Note that
|
824
|
+
/// this does not enable the [relaxed simd proposal].
|
825
|
+
///
|
826
|
+
/// On x86_64 platforms note that enabling this feature requires SSE 4.2 and
|
827
|
+
/// below to be available on the target platform. Compilation will fail if
|
828
|
+
/// the compile target does not include SSE 4.2.
|
829
|
+
///
|
830
|
+
/// This is `true` by default.
|
831
|
+
///
|
832
|
+
/// [proposal]: https://github.com/webassembly/simd
|
833
|
+
/// [relaxed simd proposal]: https://github.com/WebAssembly/relaxed-simd
|
834
|
+
pub fn wasm_simd(&mut self, enable: bool) -> &mut Self {
|
835
|
+
self.features.set(WasmFeatures::SIMD, enable);
|
836
|
+
self
|
837
|
+
}
|
838
|
+
|
839
|
+
/// Configures whether the WebAssembly Relaxed SIMD proposal will be
|
840
|
+
/// enabled for compilation.
|
841
|
+
///
|
842
|
+
/// The relaxed SIMD proposal adds new instructions to WebAssembly which,
|
843
|
+
/// for some specific inputs, are allowed to produce different results on
|
844
|
+
/// different hosts. More-or-less this proposal enables exposing
|
845
|
+
/// platform-specific semantics of SIMD instructions in a controlled
|
846
|
+
/// fashion to a WebAssembly program. From an embedder's perspective this
|
847
|
+
/// means that WebAssembly programs may execute differently depending on
|
848
|
+
/// whether the host is x86_64 or AArch64, for example.
|
849
|
+
///
|
850
|
+
/// By default Wasmtime lowers relaxed SIMD instructions to the fastest
|
851
|
+
/// lowering for the platform it's running on. This means that, by default,
|
852
|
+
/// some relaxed SIMD instructions may have different results for the same
|
853
|
+
/// inputs across x86_64 and AArch64. This behavior can be disabled through
|
854
|
+
/// the [`Config::relaxed_simd_deterministic`] option which will force
|
855
|
+
/// deterministic behavior across all platforms, as classified by the
|
856
|
+
/// specification, at the cost of performance.
|
857
|
+
///
|
858
|
+
/// This is `true` by default.
|
859
|
+
///
|
860
|
+
/// [proposal]: https://github.com/webassembly/relaxed-simd
|
861
|
+
pub fn wasm_relaxed_simd(&mut self, enable: bool) -> &mut Self {
|
862
|
+
self.features.set(WasmFeatures::RELAXED_SIMD, enable);
|
863
|
+
self
|
864
|
+
}
|
865
|
+
|
866
|
+
/// This option can be used to control the behavior of the [relaxed SIMD
|
867
|
+
/// proposal's][proposal] instructions.
|
868
|
+
///
|
869
|
+
/// The relaxed SIMD proposal introduces instructions that are allowed to
|
870
|
+
/// have different behavior on different architectures, primarily to afford
|
871
|
+
/// an efficient implementation on all architectures. This means, however,
|
872
|
+
/// that the same module may execute differently on one host than another,
|
873
|
+
/// which typically is not otherwise the case. This option is provided to
|
874
|
+
/// force Wasmtime to generate deterministic code for all relaxed simd
|
875
|
+
/// instructions, at the cost of performance, for all architectures. When
|
876
|
+
/// this option is enabled then the deterministic behavior of all
|
877
|
+
/// instructions in the relaxed SIMD proposal is selected.
|
878
|
+
///
|
879
|
+
/// This is `false` by default.
|
880
|
+
///
|
881
|
+
/// [proposal]: https://github.com/webassembly/relaxed-simd
|
882
|
+
pub fn relaxed_simd_deterministic(&mut self, enable: bool) -> &mut Self {
|
883
|
+
self.tunables.relaxed_simd_deterministic = Some(enable);
|
884
|
+
self
|
885
|
+
}
|
886
|
+
|
887
|
+
/// Configures whether the [WebAssembly bulk memory operations
|
888
|
+
/// proposal][proposal] will be enabled for compilation.
|
889
|
+
///
|
890
|
+
/// This feature gates items such as the `memory.copy` instruction, passive
|
891
|
+
/// data/table segments, etc, being in a module.
|
892
|
+
///
|
893
|
+
/// This is `true` by default.
|
894
|
+
///
|
895
|
+
/// Feature `reference_types`, which is also `true` by default, requires
|
896
|
+
/// this feature to be enabled. Thus disabling this feature must also disable
|
897
|
+
/// `reference_types` as well using [`wasm_reference_types`](crate::Config::wasm_reference_types).
|
898
|
+
///
|
899
|
+
/// # Errors
|
900
|
+
///
|
901
|
+
/// Disabling this feature without disabling `reference_types` will cause
|
902
|
+
/// `Engine::new` to fail.
|
903
|
+
///
|
904
|
+
/// [proposal]: https://github.com/webassembly/bulk-memory-operations
|
905
|
+
pub fn wasm_bulk_memory(&mut self, enable: bool) -> &mut Self {
|
906
|
+
self.features.set(WasmFeatures::BULK_MEMORY, enable);
|
907
|
+
self
|
908
|
+
}
|
909
|
+
|
910
|
+
/// Configures whether the WebAssembly multi-value [proposal] will
|
911
|
+
/// be enabled for compilation.
|
912
|
+
///
|
913
|
+
/// This feature gates functions and blocks returning multiple values in a
|
914
|
+
/// module, for example.
|
915
|
+
///
|
916
|
+
/// This is `true` by default.
|
917
|
+
///
|
918
|
+
/// [proposal]: https://github.com/webassembly/multi-value
|
919
|
+
pub fn wasm_multi_value(&mut self, enable: bool) -> &mut Self {
|
920
|
+
self.features.set(WasmFeatures::MULTI_VALUE, enable);
|
921
|
+
self
|
922
|
+
}
|
923
|
+
|
924
|
+
/// Configures whether the WebAssembly multi-memory [proposal] will
|
925
|
+
/// be enabled for compilation.
|
926
|
+
///
|
927
|
+
/// This feature gates modules having more than one linear memory
|
928
|
+
/// declaration or import.
|
929
|
+
///
|
930
|
+
/// This is `true` by default.
|
931
|
+
///
|
932
|
+
/// [proposal]: https://github.com/webassembly/multi-memory
|
933
|
+
pub fn wasm_multi_memory(&mut self, enable: bool) -> &mut Self {
|
934
|
+
self.features.set(WasmFeatures::MULTI_MEMORY, enable);
|
935
|
+
self
|
936
|
+
}
|
937
|
+
|
938
|
+
/// Configures whether the WebAssembly memory64 [proposal] will
|
939
|
+
/// be enabled for compilation.
|
940
|
+
///
|
941
|
+
/// Note that this the upstream specification is not finalized and Wasmtime
|
942
|
+
/// may also have bugs for this feature since it hasn't been exercised
|
943
|
+
/// much.
|
944
|
+
///
|
945
|
+
/// This is `false` by default.
|
946
|
+
///
|
947
|
+
/// [proposal]: https://github.com/webassembly/memory64
|
948
|
+
pub fn wasm_memory64(&mut self, enable: bool) -> &mut Self {
|
949
|
+
self.features.set(WasmFeatures::MEMORY64, enable);
|
950
|
+
self
|
951
|
+
}
|
952
|
+
|
953
|
+
/// Configures whether the WebAssembly component-model [proposal] will
|
954
|
+
/// be enabled for compilation.
|
955
|
+
///
|
956
|
+
/// Note that this feature is a work-in-progress and is incomplete.
|
957
|
+
///
|
958
|
+
/// This is `false` by default.
|
959
|
+
///
|
960
|
+
/// [proposal]: https://github.com/webassembly/component-model
|
961
|
+
#[cfg(feature = "component-model")]
|
962
|
+
pub fn wasm_component_model(&mut self, enable: bool) -> &mut Self {
|
963
|
+
self.features.set(WasmFeatures::COMPONENT_MODEL, enable);
|
964
|
+
self
|
965
|
+
}
|
966
|
+
|
967
|
+
/// Configures whether we enable the "indirect call cache" optimization.
|
968
|
+
///
|
969
|
+
/// This feature adds, for each `call_indirect` instruction in a
|
970
|
+
/// Wasm module (i.e., a function-pointer call in guest code), a
|
971
|
+
/// one-entry cache that speeds up the translation from a table
|
972
|
+
/// index to the actual machine code. By default, the VM's
|
973
|
+
/// implementation of this translation requires several
|
974
|
+
/// indirections and checks (table bounds-check, function
|
975
|
+
/// signature-check, table lazy-initialization logic). The intent
|
976
|
+
/// of this feature is to speed up indirect calls substantially
|
977
|
+
/// when they are repeated frequently in hot code.
|
978
|
+
///
|
979
|
+
/// While it accelerates repeated calls, this feature has the
|
980
|
+
/// potential to slow down instantiation slightly, because it adds
|
981
|
+
/// additional state (the cache storage -- usually 16 bytes per
|
982
|
+
/// `call_indirect` instruction for each instance) that has to be
|
983
|
+
/// initialized. In practice, we have not seen
|
984
|
+
/// measurable/statistically-significant impact from this, though.
|
985
|
+
///
|
986
|
+
/// Until we have further experience with this feature, it will
|
987
|
+
/// remain off: it is `false` by default.
|
988
|
+
pub fn cache_call_indirects(&mut self, enable: bool) -> &mut Self {
|
989
|
+
self.tunables.cache_call_indirects = Some(enable);
|
990
|
+
self
|
991
|
+
}
|
992
|
+
|
993
|
+
/// Configures the "indirect call cache" maximum capacity.
|
994
|
+
///
|
995
|
+
/// If the [`Config::cache_call_indirects`] configuration option
|
996
|
+
/// is enabled, the engine allocates "cache slots" directly in its
|
997
|
+
/// per-instance state struct for each `call_indirect` in the
|
998
|
+
/// module's code. We place a limit on this count in order to
|
999
|
+
/// avoid inflating the state too much with very large modules. If
|
1000
|
+
/// a module exceeds the limit, the first `max` indirect
|
1001
|
+
/// call-sites will still have a one-entry cache, but any indirect
|
1002
|
+
/// call-sites beyond the limit (in linear order in the module's
|
1003
|
+
/// code section) do not participate in the caching, as if the
|
1004
|
+
/// option were turned off.
|
1005
|
+
///
|
1006
|
+
/// There is also an internal hard cap to this limit:
|
1007
|
+
/// configurations with `max` beyond `50_000` will effectively cap
|
1008
|
+
/// the limit at `50_000`. This is so that instance state does not
|
1009
|
+
/// become unreasonably large.
|
1010
|
+
///
|
1011
|
+
/// This is `50_000` by default.
|
1012
|
+
pub fn max_call_indirect_cache_slots(&mut self, max: usize) -> &mut Self {
|
1013
|
+
const HARD_CAP: usize = 50_000; // See doc-comment above.
|
1014
|
+
self.tunables.max_call_indirect_cache_slots = Some(core::cmp::min(max, HARD_CAP));
|
1015
|
+
self
|
1016
|
+
}
|
1017
|
+
|
1018
|
+
/// Configures which compilation strategy will be used for wasm modules.
|
1019
|
+
///
|
1020
|
+
/// This method can be used to configure which compiler is used for wasm
|
1021
|
+
/// modules, and for more documentation consult the [`Strategy`] enumeration
|
1022
|
+
/// and its documentation.
|
1023
|
+
///
|
1024
|
+
/// The default value for this is `Strategy::Auto`.
|
1025
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1026
|
+
pub fn strategy(&mut self, strategy: Strategy) -> &mut Self {
|
1027
|
+
self.compiler_config.strategy = strategy.not_auto();
|
1028
|
+
self
|
1029
|
+
}
|
1030
|
+
|
1031
|
+
/// Creates a default profiler based on the profiling strategy chosen.
|
1032
|
+
///
|
1033
|
+
/// Profiler creation calls the type's default initializer where the purpose is
|
1034
|
+
/// really just to put in place the type used for profiling.
|
1035
|
+
///
|
1036
|
+
/// Some [`ProfilingStrategy`] require specific platforms or particular feature
|
1037
|
+
/// to be enabled, such as `ProfilingStrategy::JitDump` requires the `jitdump`
|
1038
|
+
/// feature.
|
1039
|
+
///
|
1040
|
+
/// # Errors
|
1041
|
+
///
|
1042
|
+
/// The validation of this field is deferred until the engine is being built, and thus may
|
1043
|
+
/// cause `Engine::new` fail if the required feature is disabled, or the platform is not
|
1044
|
+
/// supported.
|
1045
|
+
pub fn profiler(&mut self, profile: ProfilingStrategy) -> &mut Self {
|
1046
|
+
self.profiling_strategy = profile;
|
1047
|
+
self
|
1048
|
+
}
|
1049
|
+
|
1050
|
+
/// Configures whether the debug verifier of Cranelift is enabled or not.
|
1051
|
+
///
|
1052
|
+
/// When Cranelift is used as a code generation backend this will configure
|
1053
|
+
/// it to have the `enable_verifier` flag which will enable a number of debug
|
1054
|
+
/// checks inside of Cranelift. This is largely only useful for the
|
1055
|
+
/// developers of wasmtime itself.
|
1056
|
+
///
|
1057
|
+
/// The default value for this is `false`
|
1058
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1059
|
+
pub fn cranelift_debug_verifier(&mut self, enable: bool) -> &mut Self {
|
1060
|
+
let val = if enable { "true" } else { "false" };
|
1061
|
+
self.compiler_config
|
1062
|
+
.settings
|
1063
|
+
.insert("enable_verifier".to_string(), val.to_string());
|
1064
|
+
self
|
1065
|
+
}
|
1066
|
+
|
1067
|
+
/// Configures the Cranelift code generator optimization level.
|
1068
|
+
///
|
1069
|
+
/// When the Cranelift code generator is used you can configure the
|
1070
|
+
/// optimization level used for generated code in a few various ways. For
|
1071
|
+
/// more information see the documentation of [`OptLevel`].
|
1072
|
+
///
|
1073
|
+
/// The default value for this is `OptLevel::None`.
|
1074
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1075
|
+
pub fn cranelift_opt_level(&mut self, level: OptLevel) -> &mut Self {
|
1076
|
+
let val = match level {
|
1077
|
+
OptLevel::None => "none",
|
1078
|
+
OptLevel::Speed => "speed",
|
1079
|
+
OptLevel::SpeedAndSize => "speed_and_size",
|
1080
|
+
};
|
1081
|
+
self.compiler_config
|
1082
|
+
.settings
|
1083
|
+
.insert("opt_level".to_string(), val.to_string());
|
1084
|
+
self
|
1085
|
+
}
|
1086
|
+
|
1087
|
+
/// Configures whether Cranelift should perform a NaN-canonicalization pass.
|
1088
|
+
///
|
1089
|
+
/// When Cranelift is used as a code generation backend this will configure
|
1090
|
+
/// it to replace NaNs with a single canonical value. This is useful for
|
1091
|
+
/// users requiring entirely deterministic WebAssembly computation. This is
|
1092
|
+
/// not required by the WebAssembly spec, so it is not enabled by default.
|
1093
|
+
///
|
1094
|
+
/// Note that this option affects not only WebAssembly's `f32` and `f64`
|
1095
|
+
/// types but additionally the `v128` type. This option will cause
|
1096
|
+
/// operations using any of these types to have extra checks placed after
|
1097
|
+
/// them to normalize NaN values as needed.
|
1098
|
+
///
|
1099
|
+
/// The default value for this is `false`
|
1100
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1101
|
+
pub fn cranelift_nan_canonicalization(&mut self, enable: bool) -> &mut Self {
|
1102
|
+
let val = if enable { "true" } else { "false" };
|
1103
|
+
self.compiler_config
|
1104
|
+
.settings
|
1105
|
+
.insert("enable_nan_canonicalization".to_string(), val.to_string());
|
1106
|
+
self
|
1107
|
+
}
|
1108
|
+
|
1109
|
+
/// Controls whether proof-carrying code (PCC) is used to validate
|
1110
|
+
/// lowering of Wasm sandbox checks.
|
1111
|
+
///
|
1112
|
+
/// Proof-carrying code carries "facts" about program values from
|
1113
|
+
/// the IR all the way to machine code, and checks those facts
|
1114
|
+
/// against known machine-instruction semantics. This guards
|
1115
|
+
/// against bugs in instruction lowering that might create holes
|
1116
|
+
/// in the Wasm sandbox.
|
1117
|
+
///
|
1118
|
+
/// PCC is designed to be fast: it does not require complex
|
1119
|
+
/// solvers or logic engines to verify, but only a linear pass
|
1120
|
+
/// over a trail of "breadcrumbs" or facts at each intermediate
|
1121
|
+
/// value. Thus, it is appropriate to enable in production.
|
1122
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1123
|
+
pub fn cranelift_pcc(&mut self, enable: bool) -> &mut Self {
|
1124
|
+
let val = if enable { "true" } else { "false" };
|
1125
|
+
self.compiler_config
|
1126
|
+
.settings
|
1127
|
+
.insert("enable_pcc".to_string(), val.to_string());
|
1128
|
+
self
|
1129
|
+
}
|
1130
|
+
|
1131
|
+
/// Allows setting a Cranelift boolean flag or preset. This allows
|
1132
|
+
/// fine-tuning of Cranelift settings.
|
1133
|
+
///
|
1134
|
+
/// Since Cranelift flags may be unstable, this method should not be considered to be stable
|
1135
|
+
/// either; other `Config` functions should be preferred for stability.
|
1136
|
+
///
|
1137
|
+
/// # Safety
|
1138
|
+
///
|
1139
|
+
/// This is marked as unsafe, because setting the wrong flag might break invariants,
|
1140
|
+
/// resulting in execution hazards.
|
1141
|
+
///
|
1142
|
+
/// # Errors
|
1143
|
+
///
|
1144
|
+
/// The validation of the flags are deferred until the engine is being built, and thus may
|
1145
|
+
/// cause `Engine::new` fail if the flag's name does not exist, or the value is not appropriate
|
1146
|
+
/// for the flag type.
|
1147
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1148
|
+
pub unsafe fn cranelift_flag_enable(&mut self, flag: &str) -> &mut Self {
|
1149
|
+
self.compiler_config.flags.insert(flag.to_string());
|
1150
|
+
self
|
1151
|
+
}
|
1152
|
+
|
1153
|
+
/// Allows settings another Cranelift flag defined by a flag name and value. This allows
|
1154
|
+
/// fine-tuning of Cranelift settings.
|
1155
|
+
///
|
1156
|
+
/// Since Cranelift flags may be unstable, this method should not be considered to be stable
|
1157
|
+
/// either; other `Config` functions should be preferred for stability.
|
1158
|
+
///
|
1159
|
+
/// # Safety
|
1160
|
+
///
|
1161
|
+
/// This is marked as unsafe, because setting the wrong flag might break invariants,
|
1162
|
+
/// resulting in execution hazards.
|
1163
|
+
///
|
1164
|
+
/// # Errors
|
1165
|
+
///
|
1166
|
+
/// The validation of the flags are deferred until the engine is being built, and thus may
|
1167
|
+
/// cause `Engine::new` fail if the flag's name does not exist, or incompatible with other
|
1168
|
+
/// settings.
|
1169
|
+
///
|
1170
|
+
/// For example, feature `wasm_backtrace` will set `unwind_info` to `true`, but if it's
|
1171
|
+
/// manually set to false then it will fail.
|
1172
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1173
|
+
pub unsafe fn cranelift_flag_set(&mut self, name: &str, value: &str) -> &mut Self {
|
1174
|
+
self.compiler_config
|
1175
|
+
.settings
|
1176
|
+
.insert(name.to_string(), value.to_string());
|
1177
|
+
self
|
1178
|
+
}
|
1179
|
+
|
1180
|
+
/// Loads cache configuration specified at `path`.
|
1181
|
+
///
|
1182
|
+
/// This method will read the file specified by `path` on the filesystem and
|
1183
|
+
/// attempt to load cache configuration from it. This method can also fail
|
1184
|
+
/// due to I/O errors, misconfiguration, syntax errors, etc. For expected
|
1185
|
+
/// syntax in the configuration file see the [documentation online][docs].
|
1186
|
+
///
|
1187
|
+
/// By default cache configuration is not enabled or loaded.
|
1188
|
+
///
|
1189
|
+
/// This method is only available when the `cache` feature of this crate is
|
1190
|
+
/// enabled.
|
1191
|
+
///
|
1192
|
+
/// # Errors
|
1193
|
+
///
|
1194
|
+
/// This method can fail due to any error that happens when loading the file
|
1195
|
+
/// pointed to by `path` and attempting to load the cache configuration.
|
1196
|
+
///
|
1197
|
+
/// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
|
1198
|
+
#[cfg(feature = "cache")]
|
1199
|
+
pub fn cache_config_load(&mut self, path: impl AsRef<Path>) -> Result<&mut Self> {
|
1200
|
+
self.cache_config = CacheConfig::from_file(Some(path.as_ref()))?;
|
1201
|
+
Ok(self)
|
1202
|
+
}
|
1203
|
+
|
1204
|
+
/// Disable caching.
|
1205
|
+
///
|
1206
|
+
/// Every call to [`Module::new(my_wasm)`][crate::Module::new] will
|
1207
|
+
/// recompile `my_wasm`, even when it is unchanged.
|
1208
|
+
///
|
1209
|
+
/// By default, new configs do not have caching enabled. This method is only
|
1210
|
+
/// useful for disabling a previous cache configuration.
|
1211
|
+
///
|
1212
|
+
/// This method is only available when the `cache` feature of this crate is
|
1213
|
+
/// enabled.
|
1214
|
+
#[cfg(feature = "cache")]
|
1215
|
+
pub fn disable_cache(&mut self) -> &mut Self {
|
1216
|
+
self.cache_config = CacheConfig::new_cache_disabled();
|
1217
|
+
self
|
1218
|
+
}
|
1219
|
+
|
1220
|
+
/// Loads cache configuration from the system default path.
|
1221
|
+
///
|
1222
|
+
/// This commit is the same as [`Config::cache_config_load`] except that it
|
1223
|
+
/// does not take a path argument and instead loads the default
|
1224
|
+
/// configuration present on the system. This is located, for example, on
|
1225
|
+
/// Unix at `$HOME/.config/wasmtime/config.toml` and is typically created
|
1226
|
+
/// with the `wasmtime config new` command.
|
1227
|
+
///
|
1228
|
+
/// By default cache configuration is not enabled or loaded.
|
1229
|
+
///
|
1230
|
+
/// This method is only available when the `cache` feature of this crate is
|
1231
|
+
/// enabled.
|
1232
|
+
///
|
1233
|
+
/// # Errors
|
1234
|
+
///
|
1235
|
+
/// This method can fail due to any error that happens when loading the
|
1236
|
+
/// default system configuration. Note that it is not an error if the
|
1237
|
+
/// default config file does not exist, in which case the default settings
|
1238
|
+
/// for an enabled cache are applied.
|
1239
|
+
///
|
1240
|
+
/// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
|
1241
|
+
#[cfg(feature = "cache")]
|
1242
|
+
pub fn cache_config_load_default(&mut self) -> Result<&mut Self> {
|
1243
|
+
self.cache_config = CacheConfig::from_file(None)?;
|
1244
|
+
Ok(self)
|
1245
|
+
}
|
1246
|
+
|
1247
|
+
/// Sets a custom memory creator.
|
1248
|
+
///
|
1249
|
+
/// Custom memory creators are used when creating host `Memory` objects or when
|
1250
|
+
/// creating instance linear memories for the on-demand instance allocation strategy.
|
1251
|
+
#[cfg(feature = "runtime")]
|
1252
|
+
pub fn with_host_memory(&mut self, mem_creator: Arc<dyn MemoryCreator>) -> &mut Self {
|
1253
|
+
self.mem_creator = Some(Arc::new(MemoryCreatorProxy(mem_creator)));
|
1254
|
+
self
|
1255
|
+
}
|
1256
|
+
|
1257
|
+
/// Sets a custom stack creator.
|
1258
|
+
///
|
1259
|
+
/// Custom memory creators are used when creating creating async instance stacks for
|
1260
|
+
/// the on-demand instance allocation strategy.
|
1261
|
+
#[cfg(feature = "async")]
|
1262
|
+
pub fn with_host_stack(&mut self, stack_creator: Arc<dyn StackCreator>) -> &mut Self {
|
1263
|
+
self.stack_creator = Some(Arc::new(StackCreatorProxy(stack_creator)));
|
1264
|
+
self
|
1265
|
+
}
|
1266
|
+
|
1267
|
+
/// Sets the instance allocation strategy to use.
|
1268
|
+
///
|
1269
|
+
/// When using the pooling instance allocation strategy, all linear memories
|
1270
|
+
/// will be created as "static" and the
|
1271
|
+
/// [`Config::static_memory_maximum_size`] and
|
1272
|
+
/// [`Config::static_memory_guard_size`] options will be used to configure
|
1273
|
+
/// the virtual memory allocations of linear memories.
|
1274
|
+
pub fn allocation_strategy(&mut self, strategy: InstanceAllocationStrategy) -> &mut Self {
|
1275
|
+
self.allocation_strategy = strategy;
|
1276
|
+
self
|
1277
|
+
}
|
1278
|
+
|
1279
|
+
/// Configures the maximum size, in bytes, where a linear memory is
|
1280
|
+
/// considered static, above which it'll be considered dynamic.
|
1281
|
+
///
|
1282
|
+
/// > Note: this value has important performance ramifications, be sure to
|
1283
|
+
/// > understand what this value does before tweaking it and benchmarking.
|
1284
|
+
///
|
1285
|
+
/// This function configures the threshold for wasm memories whether they're
|
1286
|
+
/// implemented as a dynamically relocatable chunk of memory or a statically
|
1287
|
+
/// located chunk of memory. The `max_size` parameter here is the size, in
|
1288
|
+
/// bytes, where if the maximum size of a linear memory is below `max_size`
|
1289
|
+
/// then it will be statically allocated with enough space to never have to
|
1290
|
+
/// move. If the maximum size of a linear memory is larger than `max_size`
|
1291
|
+
/// then wasm memory will be dynamically located and may move in memory
|
1292
|
+
/// through growth operations.
|
1293
|
+
///
|
1294
|
+
/// Specifying a `max_size` of 0 means that all memories will be dynamic and
|
1295
|
+
/// may be relocated through `memory.grow`. Also note that if any wasm
|
1296
|
+
/// memory's maximum size is below `max_size` then it will still reserve
|
1297
|
+
/// `max_size` bytes in the virtual memory space.
|
1298
|
+
///
|
1299
|
+
/// ## Static vs Dynamic Memory
|
1300
|
+
///
|
1301
|
+
/// Linear memories represent contiguous arrays of bytes, but they can also
|
1302
|
+
/// be grown through the API and wasm instructions. When memory is grown if
|
1303
|
+
/// space hasn't been preallocated then growth may involve relocating the
|
1304
|
+
/// base pointer in memory. Memories in Wasmtime are classified in two
|
1305
|
+
/// different ways:
|
1306
|
+
///
|
1307
|
+
/// * **static** - these memories preallocate all space necessary they'll
|
1308
|
+
/// ever need, meaning that the base pointer of these memories is never
|
1309
|
+
/// moved. Static memories may take more virtual memory space because of
|
1310
|
+
/// pre-reserving space for memories.
|
1311
|
+
///
|
1312
|
+
/// * **dynamic** - these memories are not preallocated and may move during
|
1313
|
+
/// growth operations. Dynamic memories consume less virtual memory space
|
1314
|
+
/// because they don't need to preallocate space for future growth.
|
1315
|
+
///
|
1316
|
+
/// Static memories can be optimized better in JIT code because once the
|
1317
|
+
/// base address is loaded in a function it's known that we never need to
|
1318
|
+
/// reload it because it never changes, `memory.grow` is generally a pretty
|
1319
|
+
/// fast operation because the wasm memory is never relocated, and under
|
1320
|
+
/// some conditions bounds checks can be elided on memory accesses.
|
1321
|
+
///
|
1322
|
+
/// Dynamic memories can't be quite as heavily optimized because the base
|
1323
|
+
/// address may need to be reloaded more often, they may require relocating
|
1324
|
+
/// lots of data on `memory.grow`, and dynamic memories require
|
1325
|
+
/// unconditional bounds checks on all memory accesses.
|
1326
|
+
///
|
1327
|
+
/// ## Should you use static or dynamic memory?
|
1328
|
+
///
|
1329
|
+
/// In general you probably don't need to change the value of this property.
|
1330
|
+
/// The defaults here are optimized for each target platform to consume a
|
1331
|
+
/// reasonable amount of physical memory while also generating speedy
|
1332
|
+
/// machine code.
|
1333
|
+
///
|
1334
|
+
/// One of the main reasons you may want to configure this today is if your
|
1335
|
+
/// environment can't reserve virtual memory space for each wasm linear
|
1336
|
+
/// memory. On 64-bit platforms wasm memories require a 6GB reservation by
|
1337
|
+
/// default, and system limits may prevent this in some scenarios. In this
|
1338
|
+
/// case you may wish to force memories to be allocated dynamically meaning
|
1339
|
+
/// that the virtual memory footprint of creating a wasm memory should be
|
1340
|
+
/// exactly what's used by the wasm itself.
|
1341
|
+
///
|
1342
|
+
/// For 32-bit memories a static memory must contain at least 4GB of
|
1343
|
+
/// reserved address space plus a guard page to elide any bounds checks at
|
1344
|
+
/// all. Smaller static memories will use similar bounds checks as dynamic
|
1345
|
+
/// memories.
|
1346
|
+
///
|
1347
|
+
/// ## Default
|
1348
|
+
///
|
1349
|
+
/// The default value for this property depends on the host platform. For
|
1350
|
+
/// 64-bit platforms there's lots of address space available, so the default
|
1351
|
+
/// configured here is 4GB. WebAssembly linear memories currently max out at
|
1352
|
+
/// 4GB which means that on 64-bit platforms Wasmtime by default always uses
|
1353
|
+
/// a static memory. This, coupled with a sufficiently sized guard region,
|
1354
|
+
/// should produce the fastest JIT code on 64-bit platforms, but does
|
1355
|
+
/// require a large address space reservation for each wasm memory.
|
1356
|
+
///
|
1357
|
+
/// For 32-bit platforms this value defaults to 1GB. This means that wasm
|
1358
|
+
/// memories whose maximum size is less than 1GB will be allocated
|
1359
|
+
/// statically, otherwise they'll be considered dynamic.
|
1360
|
+
///
|
1361
|
+
/// ## Static Memory and Pooled Instance Allocation
|
1362
|
+
///
|
1363
|
+
/// When using the pooling instance allocator memories are considered to
|
1364
|
+
/// always be static memories, they are never dynamic. This setting
|
1365
|
+
/// configures the size of linear memory to reserve for each memory in the
|
1366
|
+
/// pooling allocator.
|
1367
|
+
///
|
1368
|
+
/// Note that the pooling allocator can reduce the amount of memory needed
|
1369
|
+
/// for pooling allocation by using memory protection; see
|
1370
|
+
/// `PoolingAllocatorConfig::memory_protection_keys` for details.
|
1371
|
+
pub fn static_memory_maximum_size(&mut self, max_size: u64) -> &mut Self {
|
1372
|
+
self.tunables.static_memory_reservation = Some(round_up_to_pages(max_size));
|
1373
|
+
self
|
1374
|
+
}
|
1375
|
+
|
1376
|
+
/// Indicates that the "static" style of memory should always be used.
|
1377
|
+
///
|
1378
|
+
/// This configuration option enables selecting the "static" option for all
|
1379
|
+
/// linear memories created within this `Config`. This means that all
|
1380
|
+
/// memories will be allocated up-front and will never move. Additionally
|
1381
|
+
/// this means that all memories are synthetically limited by the
|
1382
|
+
/// [`Config::static_memory_maximum_size`] option, regardless of what the
|
1383
|
+
/// actual maximum size is on the memory's original type.
|
1384
|
+
///
|
1385
|
+
/// For the difference between static and dynamic memories, see the
|
1386
|
+
/// [`Config::static_memory_maximum_size`].
|
1387
|
+
pub fn static_memory_forced(&mut self, force: bool) -> &mut Self {
|
1388
|
+
self.tunables.static_memory_bound_is_maximum = Some(force);
|
1389
|
+
self
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
/// Configures the size, in bytes, of the guard region used at the end of a
|
1393
|
+
/// static memory's address space reservation.
|
1394
|
+
///
|
1395
|
+
/// > Note: this value has important performance ramifications, be sure to
|
1396
|
+
/// > understand what this value does before tweaking it and benchmarking.
|
1397
|
+
///
|
1398
|
+
/// All WebAssembly loads/stores are bounds-checked and generate a trap if
|
1399
|
+
/// they're out-of-bounds. Loads and stores are often very performance
|
1400
|
+
/// critical, so we want the bounds check to be as fast as possible!
|
1401
|
+
/// Accelerating these memory accesses is the motivation for a guard after a
|
1402
|
+
/// memory allocation.
|
1403
|
+
///
|
1404
|
+
/// Memories (both static and dynamic) can be configured with a guard at the
|
1405
|
+
/// end of them which consists of unmapped virtual memory. This unmapped
|
1406
|
+
/// memory will trigger a memory access violation (e.g. segfault) if
|
1407
|
+
/// accessed. This allows JIT code to elide bounds checks if it can prove
|
1408
|
+
/// that an access, if out of bounds, would hit the guard region. This means
|
1409
|
+
/// that having such a guard of unmapped memory can remove the need for
|
1410
|
+
/// bounds checks in JIT code.
|
1411
|
+
///
|
1412
|
+
/// For the difference between static and dynamic memories, see the
|
1413
|
+
/// [`Config::static_memory_maximum_size`].
|
1414
|
+
///
|
1415
|
+
/// ## How big should the guard be?
|
1416
|
+
///
|
1417
|
+
/// In general, like with configuring `static_memory_maximum_size`, you
|
1418
|
+
/// probably don't want to change this value from the defaults. Otherwise,
|
1419
|
+
/// though, the size of the guard region affects the number of bounds checks
|
1420
|
+
/// needed for generated wasm code. More specifically, loads/stores with
|
1421
|
+
/// immediate offsets will generate bounds checks based on how big the guard
|
1422
|
+
/// page is.
|
1423
|
+
///
|
1424
|
+
/// For 32-bit wasm memories a 4GB static memory is required to even start
|
1425
|
+
/// removing bounds checks. A 4GB guard size will guarantee that the module
|
1426
|
+
/// has zero bounds checks for memory accesses. A 2GB guard size will
|
1427
|
+
/// eliminate all bounds checks with an immediate offset less than 2GB. A
|
1428
|
+
/// guard size of zero means that all memory accesses will still have bounds
|
1429
|
+
/// checks.
|
1430
|
+
///
|
1431
|
+
/// ## Default
|
1432
|
+
///
|
1433
|
+
/// The default value for this property is 2GB on 64-bit platforms. This
|
1434
|
+
/// allows eliminating almost all bounds checks on loads/stores with an
|
1435
|
+
/// immediate offset of less than 2GB. On 32-bit platforms this defaults to
|
1436
|
+
/// 64KB.
|
1437
|
+
///
|
1438
|
+
/// ## Errors
|
1439
|
+
///
|
1440
|
+
/// The `Engine::new` method will return an error if this option is smaller
|
1441
|
+
/// than the value configured for [`Config::dynamic_memory_guard_size`].
|
1442
|
+
pub fn static_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
|
1443
|
+
let guard_size = round_up_to_pages(guard_size);
|
1444
|
+
self.tunables.static_memory_offset_guard_size = Some(guard_size);
|
1445
|
+
self
|
1446
|
+
}
|
1447
|
+
|
1448
|
+
/// Configures the size, in bytes, of the guard region used at the end of a
|
1449
|
+
/// dynamic memory's address space reservation.
|
1450
|
+
///
|
1451
|
+
/// For the difference between static and dynamic memories, see the
|
1452
|
+
/// [`Config::static_memory_maximum_size`]
|
1453
|
+
///
|
1454
|
+
/// For more information about what a guard is, see the documentation on
|
1455
|
+
/// [`Config::static_memory_guard_size`].
|
1456
|
+
///
|
1457
|
+
/// Note that the size of the guard region for dynamic memories is not super
|
1458
|
+
/// critical for performance. Making it reasonably-sized can improve
|
1459
|
+
/// generated code slightly, but for maximum performance you'll want to lean
|
1460
|
+
/// towards static memories rather than dynamic anyway.
|
1461
|
+
///
|
1462
|
+
/// Also note that the dynamic memory guard size must be smaller than the
|
1463
|
+
/// static memory guard size, so if a large dynamic memory guard is
|
1464
|
+
/// specified then the static memory guard size will also be automatically
|
1465
|
+
/// increased.
|
1466
|
+
///
|
1467
|
+
/// ## Default
|
1468
|
+
///
|
1469
|
+
/// This value defaults to 64KB.
|
1470
|
+
///
|
1471
|
+
/// ## Errors
|
1472
|
+
///
|
1473
|
+
/// The `Engine::new` method will return an error if this option is larger
|
1474
|
+
/// than the value configured for [`Config::static_memory_guard_size`].
|
1475
|
+
pub fn dynamic_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
|
1476
|
+
let guard_size = round_up_to_pages(guard_size);
|
1477
|
+
self.tunables.dynamic_memory_offset_guard_size = Some(guard_size);
|
1478
|
+
self
|
1479
|
+
}
|
1480
|
+
|
1481
|
+
/// Configures the size, in bytes, of the extra virtual memory space
|
1482
|
+
/// reserved after a "dynamic" memory for growing into.
|
1483
|
+
///
|
1484
|
+
/// For the difference between static and dynamic memories, see the
|
1485
|
+
/// [`Config::static_memory_maximum_size`]
|
1486
|
+
///
|
1487
|
+
/// Dynamic memories can be relocated in the process's virtual address space
|
1488
|
+
/// on growth and do not always reserve their entire space up-front. This
|
1489
|
+
/// means that a growth of the memory may require movement in the address
|
1490
|
+
/// space, which in the worst case can copy a large number of bytes from one
|
1491
|
+
/// region to another.
|
1492
|
+
///
|
1493
|
+
/// This setting configures how many bytes are reserved after the initial
|
1494
|
+
/// reservation for a dynamic memory for growing into. A value of 0 here
|
1495
|
+
/// means that no extra bytes are reserved and all calls to `memory.grow`
|
1496
|
+
/// will need to relocate the wasm linear memory (copying all the bytes). A
|
1497
|
+
/// value of 1 megabyte, however, means that `memory.grow` can allocate up
|
1498
|
+
/// to a megabyte of extra memory before the memory needs to be moved in
|
1499
|
+
/// linear memory.
|
1500
|
+
///
|
1501
|
+
/// Note that this is a currently simple heuristic for optimizing the growth
|
1502
|
+
/// of dynamic memories, primarily implemented for the memory64 proposal
|
1503
|
+
/// where all memories are currently "dynamic". This is unlikely to be a
|
1504
|
+
/// one-size-fits-all style approach and if you're an embedder running into
|
1505
|
+
/// issues with dynamic memories and growth and are interested in having
|
1506
|
+
/// other growth strategies available here please feel free to [open an
|
1507
|
+
/// issue on the Wasmtime repository][issue]!
|
1508
|
+
///
|
1509
|
+
/// [issue]: https://github.com/bytecodealliance/wasmtime/issues/ne
|
1510
|
+
///
|
1511
|
+
/// ## Default
|
1512
|
+
///
|
1513
|
+
/// For 64-bit platforms this defaults to 2GB, and for 32-bit platforms this
|
1514
|
+
/// defaults to 1MB.
|
1515
|
+
pub fn dynamic_memory_reserved_for_growth(&mut self, reserved: u64) -> &mut Self {
|
1516
|
+
self.tunables.dynamic_memory_growth_reserve = Some(round_up_to_pages(reserved));
|
1517
|
+
self
|
1518
|
+
}
|
1519
|
+
|
1520
|
+
/// Indicates whether a guard region is present before allocations of
|
1521
|
+
/// linear memory.
|
1522
|
+
///
|
1523
|
+
/// Guard regions before linear memories are never used during normal
|
1524
|
+
/// operation of WebAssembly modules, even if they have out-of-bounds
|
1525
|
+
/// loads. The only purpose for a preceding guard region in linear memory
|
1526
|
+
/// is extra protection against possible bugs in code generators like
|
1527
|
+
/// Cranelift. This setting does not affect performance in any way, but will
|
1528
|
+
/// result in larger virtual memory reservations for linear memories (it
|
1529
|
+
/// won't actually ever use more memory, just use more of the address
|
1530
|
+
/// space).
|
1531
|
+
///
|
1532
|
+
/// The size of the guard region before linear memory is the same as the
|
1533
|
+
/// guard size that comes after linear memory, which is configured by
|
1534
|
+
/// [`Config::static_memory_guard_size`] and
|
1535
|
+
/// [`Config::dynamic_memory_guard_size`].
|
1536
|
+
///
|
1537
|
+
/// ## Default
|
1538
|
+
///
|
1539
|
+
/// This value defaults to `true`.
|
1540
|
+
pub fn guard_before_linear_memory(&mut self, guard: bool) -> &mut Self {
|
1541
|
+
self.tunables.guard_before_linear_memory = Some(guard);
|
1542
|
+
self
|
1543
|
+
}
|
1544
|
+
|
1545
|
+
/// Indicates whether to initialize tables lazily, so that instantiation
|
1546
|
+
/// is fast but indirect calls are a little slower. If false, tables
|
1547
|
+
/// are initialized eagerly during instantiation from any active element
|
1548
|
+
/// segments that apply to them.
|
1549
|
+
///
|
1550
|
+
/// ## Default
|
1551
|
+
///
|
1552
|
+
/// This value defaults to `true`.
|
1553
|
+
pub fn table_lazy_init(&mut self, table_lazy_init: bool) -> &mut Self {
|
1554
|
+
self.tunables.table_lazy_init = Some(table_lazy_init);
|
1555
|
+
self
|
1556
|
+
}
|
1557
|
+
|
1558
|
+
/// Configure the version information used in serialized and deserialzied [`crate::Module`]s.
|
1559
|
+
/// This effects the behavior of [`crate::Module::serialize()`], as well as
|
1560
|
+
/// [`crate::Module::deserialize()`] and related functions.
|
1561
|
+
///
|
1562
|
+
/// The default strategy is to use the wasmtime crate's Cargo package version.
|
1563
|
+
pub fn module_version(&mut self, strategy: ModuleVersionStrategy) -> Result<&mut Self> {
|
1564
|
+
match strategy {
|
1565
|
+
// This case requires special precondition for assertion in SerializedModule::to_bytes
|
1566
|
+
ModuleVersionStrategy::Custom(ref v) => {
|
1567
|
+
if v.as_bytes().len() > 255 {
|
1568
|
+
bail!("custom module version cannot be more than 255 bytes: {}", v);
|
1569
|
+
}
|
1570
|
+
}
|
1571
|
+
_ => {}
|
1572
|
+
}
|
1573
|
+
self.module_version = strategy;
|
1574
|
+
Ok(self)
|
1575
|
+
}
|
1576
|
+
|
1577
|
+
/// Configure whether wasmtime should compile a module using multiple
|
1578
|
+
/// threads.
|
1579
|
+
///
|
1580
|
+
/// Disabling this will result in a single thread being used to compile
|
1581
|
+
/// the wasm bytecode.
|
1582
|
+
///
|
1583
|
+
/// By default parallel compilation is enabled.
|
1584
|
+
#[cfg(feature = "parallel-compilation")]
|
1585
|
+
pub fn parallel_compilation(&mut self, parallel: bool) -> &mut Self {
|
1586
|
+
self.parallel_compilation = parallel;
|
1587
|
+
self
|
1588
|
+
}
|
1589
|
+
|
1590
|
+
/// Configures whether compiled artifacts will contain information to map
|
1591
|
+
/// native program addresses back to the original wasm module.
|
1592
|
+
///
|
1593
|
+
/// This configuration option is `true` by default and, if enabled,
|
1594
|
+
/// generates the appropriate tables in compiled modules to map from native
|
1595
|
+
/// address back to wasm source addresses. This is used for displaying wasm
|
1596
|
+
/// program counters in backtraces as well as generating filenames/line
|
1597
|
+
/// numbers if so configured as well (and the original wasm module has DWARF
|
1598
|
+
/// debugging information present).
|
1599
|
+
pub fn generate_address_map(&mut self, generate: bool) -> &mut Self {
|
1600
|
+
self.tunables.generate_address_map = Some(generate);
|
1601
|
+
self
|
1602
|
+
}
|
1603
|
+
|
1604
|
+
/// Configures whether copy-on-write memory-mapped data is used to
|
1605
|
+
/// initialize a linear memory.
|
1606
|
+
///
|
1607
|
+
/// Initializing linear memory via a copy-on-write mapping can drastically
|
1608
|
+
/// improve instantiation costs of a WebAssembly module because copying
|
1609
|
+
/// memory is deferred. Additionally if a page of memory is only ever read
|
1610
|
+
/// from WebAssembly and never written too then the same underlying page of
|
1611
|
+
/// data will be reused between all instantiations of a module meaning that
|
1612
|
+
/// if a module is instantiated many times this can lower the overall memory
|
1613
|
+
/// required needed to run that module.
|
1614
|
+
///
|
1615
|
+
/// The main disadvantage of copy-on-write initialization, however, is that
|
1616
|
+
/// it may be possible for highly-parallel scenarios to be less scalable. If
|
1617
|
+
/// a page is read initially by a WebAssembly module then that page will be
|
1618
|
+
/// mapped to a read-only copy shared between all WebAssembly instances. If
|
1619
|
+
/// the same page is then written, however, then a private copy is created
|
1620
|
+
/// and swapped out from the read-only version. This also requires an [IPI],
|
1621
|
+
/// however, which can be a significant bottleneck in high-parallelism
|
1622
|
+
/// situations.
|
1623
|
+
///
|
1624
|
+
/// This feature is only applicable when a WebAssembly module meets specific
|
1625
|
+
/// criteria to be initialized in this fashion, such as:
|
1626
|
+
///
|
1627
|
+
/// * Only memories defined in the module can be initialized this way.
|
1628
|
+
/// * Data segments for memory must use statically known offsets.
|
1629
|
+
/// * Data segments for memory must all be in-bounds.
|
1630
|
+
///
|
1631
|
+
/// Modules which do not meet these criteria will fall back to
|
1632
|
+
/// initialization of linear memory based on copying memory.
|
1633
|
+
///
|
1634
|
+
/// This feature of Wasmtime is also platform-specific:
|
1635
|
+
///
|
1636
|
+
/// * Linux - this feature is supported for all instances of [`Module`].
|
1637
|
+
/// Modules backed by an existing mmap (such as those created by
|
1638
|
+
/// [`Module::deserialize_file`]) will reuse that mmap to cow-initialize
|
1639
|
+
/// memory. Other instance of [`Module`] may use the `memfd_create`
|
1640
|
+
/// syscall to create an initialization image to `mmap`.
|
1641
|
+
/// * Unix (not Linux) - this feature is only supported when loading modules
|
1642
|
+
/// from a precompiled file via [`Module::deserialize_file`] where there
|
1643
|
+
/// is a file descriptor to use to map data into the process. Note that
|
1644
|
+
/// the module must have been compiled with this setting enabled as well.
|
1645
|
+
/// * Windows - there is no support for this feature at this time. Memory
|
1646
|
+
/// initialization will always copy bytes.
|
1647
|
+
///
|
1648
|
+
/// By default this option is enabled.
|
1649
|
+
///
|
1650
|
+
/// [`Module::deserialize_file`]: crate::Module::deserialize_file
|
1651
|
+
/// [`Module`]: crate::Module
|
1652
|
+
/// [IPI]: https://en.wikipedia.org/wiki/Inter-processor_interrupt
|
1653
|
+
pub fn memory_init_cow(&mut self, enable: bool) -> &mut Self {
|
1654
|
+
self.memory_init_cow = enable;
|
1655
|
+
self
|
1656
|
+
}
|
1657
|
+
|
1658
|
+
/// A configuration option to force the usage of `memfd_create` on Linux to
|
1659
|
+
/// be used as the backing source for a module's initial memory image.
|
1660
|
+
///
|
1661
|
+
/// When [`Config::memory_init_cow`] is enabled, which is enabled by
|
1662
|
+
/// default, module memory initialization images are taken from a module's
|
1663
|
+
/// original mmap if possible. If a precompiled module was loaded from disk
|
1664
|
+
/// this means that the disk's file is used as an mmap source for the
|
1665
|
+
/// initial linear memory contents. This option can be used to force, on
|
1666
|
+
/// Linux, that instead of using the original file on disk a new in-memory
|
1667
|
+
/// file is created with `memfd_create` to hold the contents of the initial
|
1668
|
+
/// image.
|
1669
|
+
///
|
1670
|
+
/// This option can be used to avoid possibly loading the contents of memory
|
1671
|
+
/// from disk through a page fault. Instead with `memfd_create` the contents
|
1672
|
+
/// of memory are always in RAM, meaning that even page faults which
|
1673
|
+
/// initially populate a wasm linear memory will only work with RAM instead
|
1674
|
+
/// of ever hitting the disk that the original precompiled module is stored
|
1675
|
+
/// on.
|
1676
|
+
///
|
1677
|
+
/// This option is disabled by default.
|
1678
|
+
pub fn force_memory_init_memfd(&mut self, enable: bool) -> &mut Self {
|
1679
|
+
self.force_memory_init_memfd = enable;
|
1680
|
+
self
|
1681
|
+
}
|
1682
|
+
|
1683
|
+
/// Configures whether or not a coredump should be generated and attached to
|
1684
|
+
/// the anyhow::Error when a trap is raised.
|
1685
|
+
///
|
1686
|
+
/// This option is disabled by default.
|
1687
|
+
#[cfg(feature = "coredump")]
|
1688
|
+
pub fn coredump_on_trap(&mut self, enable: bool) -> &mut Self {
|
1689
|
+
self.coredump_on_trap = enable;
|
1690
|
+
self
|
1691
|
+
}
|
1692
|
+
|
1693
|
+
/// Enables memory error checking for wasm programs.
|
1694
|
+
///
|
1695
|
+
/// This option is disabled by default.
|
1696
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1697
|
+
pub fn wmemcheck(&mut self, enable: bool) -> &mut Self {
|
1698
|
+
self.wmemcheck = enable;
|
1699
|
+
self.compiler_config.wmemcheck = enable;
|
1700
|
+
self
|
1701
|
+
}
|
1702
|
+
|
1703
|
+
/// Configures the "guaranteed dense image size" for copy-on-write
|
1704
|
+
/// initialized memories.
|
1705
|
+
///
|
1706
|
+
/// When using the [`Config::memory_init_cow`] feature to initialize memory
|
1707
|
+
/// efficiently (which is enabled by default), compiled modules contain an
|
1708
|
+
/// image of the module's initial heap. If the module has a fairly sparse
|
1709
|
+
/// initial heap, with just a few data segments at very different offsets,
|
1710
|
+
/// this could result in a large region of zero bytes in the image. In
|
1711
|
+
/// other words, it's not very memory-efficient.
|
1712
|
+
///
|
1713
|
+
/// We normally use a heuristic to avoid this: if less than half
|
1714
|
+
/// of the initialized range (first non-zero to last non-zero
|
1715
|
+
/// byte) of any memory in the module has pages with nonzero
|
1716
|
+
/// bytes, then we avoid creating a memory image for the entire module.
|
1717
|
+
///
|
1718
|
+
/// However, if the embedder always needs the instantiation-time efficiency
|
1719
|
+
/// of copy-on-write initialization, and is otherwise carefully controlling
|
1720
|
+
/// parameters of the modules (for example, by limiting the maximum heap
|
1721
|
+
/// size of the modules), then it may be desirable to ensure a memory image
|
1722
|
+
/// is created even if this could go against the heuristic above. Thus, we
|
1723
|
+
/// add another condition: there is a size of initialized data region up to
|
1724
|
+
/// which we *always* allow a memory image. The embedder can set this to a
|
1725
|
+
/// known maximum heap size if they desire to always get the benefits of
|
1726
|
+
/// copy-on-write images.
|
1727
|
+
///
|
1728
|
+
/// In the future we may implement a "best of both worlds"
|
1729
|
+
/// solution where we have a dense image up to some limit, and
|
1730
|
+
/// then support a sparse list of initializers beyond that; this
|
1731
|
+
/// would get most of the benefit of copy-on-write and pay the incremental
|
1732
|
+
/// cost of eager initialization only for those bits of memory
|
1733
|
+
/// that are out-of-bounds. However, for now, an embedder desiring
|
1734
|
+
/// fast instantiation should ensure that this setting is as large
|
1735
|
+
/// as the maximum module initial memory content size.
|
1736
|
+
///
|
1737
|
+
/// By default this value is 16 MiB.
|
1738
|
+
pub fn memory_guaranteed_dense_image_size(&mut self, size_in_bytes: u64) -> &mut Self {
|
1739
|
+
self.memory_guaranteed_dense_image_size = size_in_bytes;
|
1740
|
+
self
|
1741
|
+
}
|
1742
|
+
|
1743
|
+
pub(crate) fn conditionally_enable_defaults(&mut self) {
|
1744
|
+
// If tail calls were not explicitly enabled/disabled (i.e. tail_callable is None), enable
|
1745
|
+
// them if we are targeting a backend that supports them. Currently the Cranelift
|
1746
|
+
// compilation strategy is the only one that supports tail calls, but not targeting s390x.
|
1747
|
+
if self.tunables.tail_callable.is_none() {
|
1748
|
+
#[cfg(feature = "cranelift")]
|
1749
|
+
let default_tail_calls = self.compiler_config.strategy == Some(Strategy::Cranelift)
|
1750
|
+
&& self.compiler_config.target.as_ref().map_or_else(
|
1751
|
+
|| target_lexicon::Triple::host().architecture,
|
1752
|
+
|triple| triple.architecture,
|
1753
|
+
) != Architecture::S390x;
|
1754
|
+
#[cfg(not(feature = "cranelift"))]
|
1755
|
+
let default_tail_calls = false;
|
1756
|
+
|
1757
|
+
self.wasm_tail_call(default_tail_calls);
|
1758
|
+
}
|
1759
|
+
}
|
1760
|
+
|
1761
|
+
pub(crate) fn validate(&self) -> Result<Tunables> {
|
1762
|
+
if self.features.contains(WasmFeatures::REFERENCE_TYPES)
|
1763
|
+
&& !self.features.contains(WasmFeatures::BULK_MEMORY)
|
1764
|
+
{
|
1765
|
+
bail!("feature 'reference_types' requires 'bulk_memory' to be enabled");
|
1766
|
+
}
|
1767
|
+
if self.features.contains(WasmFeatures::THREADS)
|
1768
|
+
&& !self.features.contains(WasmFeatures::BULK_MEMORY)
|
1769
|
+
{
|
1770
|
+
bail!("feature 'threads' requires 'bulk_memory' to be enabled");
|
1771
|
+
}
|
1772
|
+
if self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
|
1773
|
+
&& !self.features.contains(WasmFeatures::REFERENCE_TYPES)
|
1774
|
+
{
|
1775
|
+
bail!("feature 'function_references' requires 'reference_types' to be enabled");
|
1776
|
+
}
|
1777
|
+
if self.features.contains(WasmFeatures::GC)
|
1778
|
+
&& !self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
|
1779
|
+
{
|
1780
|
+
bail!("feature 'gc' requires 'function_references' to be enabled");
|
1781
|
+
}
|
1782
|
+
#[cfg(feature = "async")]
|
1783
|
+
if self.async_support && self.max_wasm_stack > self.async_stack_size {
|
1784
|
+
bail!("max_wasm_stack size cannot exceed the async_stack_size");
|
1785
|
+
}
|
1786
|
+
if self.max_wasm_stack == 0 {
|
1787
|
+
bail!("max_wasm_stack size cannot be zero");
|
1788
|
+
}
|
1789
|
+
#[cfg(not(feature = "wmemcheck"))]
|
1790
|
+
if self.wmemcheck {
|
1791
|
+
bail!("wmemcheck (memory checker) was requested but is not enabled in this build");
|
1792
|
+
}
|
1793
|
+
|
1794
|
+
#[cfg(not(any(feature = "cranelift", feature = "winch")))]
|
1795
|
+
let mut tunables = Tunables::default_host();
|
1796
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1797
|
+
let mut tunables = match &self.compiler_config.target.as_ref() {
|
1798
|
+
Some(target) => Tunables::default_for_target(target)?,
|
1799
|
+
None => Tunables::default_host(),
|
1800
|
+
};
|
1801
|
+
|
1802
|
+
macro_rules! set_fields {
|
1803
|
+
($($field:ident)*) => (
|
1804
|
+
let ConfigTunables {
|
1805
|
+
$($field,)*
|
1806
|
+
} = &self.tunables;
|
1807
|
+
|
1808
|
+
$(
|
1809
|
+
if let Some(e) = $field {
|
1810
|
+
tunables.$field = *e;
|
1811
|
+
}
|
1812
|
+
)*
|
1813
|
+
)
|
1814
|
+
}
|
1815
|
+
|
1816
|
+
set_fields! {
|
1817
|
+
static_memory_reservation
|
1818
|
+
static_memory_offset_guard_size
|
1819
|
+
dynamic_memory_offset_guard_size
|
1820
|
+
dynamic_memory_growth_reserve
|
1821
|
+
generate_native_debuginfo
|
1822
|
+
parse_wasm_debuginfo
|
1823
|
+
consume_fuel
|
1824
|
+
epoch_interruption
|
1825
|
+
static_memory_bound_is_maximum
|
1826
|
+
guard_before_linear_memory
|
1827
|
+
table_lazy_init
|
1828
|
+
generate_address_map
|
1829
|
+
debug_adapter_modules
|
1830
|
+
relaxed_simd_deterministic
|
1831
|
+
tail_callable
|
1832
|
+
cache_call_indirects
|
1833
|
+
max_call_indirect_cache_slots
|
1834
|
+
}
|
1835
|
+
|
1836
|
+
// If we're going to compile with winch, we must use the winch calling convention.
|
1837
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1838
|
+
{
|
1839
|
+
tunables.winch_callable = self.compiler_config.strategy == Some(Strategy::Winch);
|
1840
|
+
|
1841
|
+
if tunables.winch_callable && tunables.tail_callable {
|
1842
|
+
bail!("Winch does not support the WebAssembly tail call proposal");
|
1843
|
+
}
|
1844
|
+
|
1845
|
+
if tunables.winch_callable && !tunables.table_lazy_init {
|
1846
|
+
bail!("Winch requires the table-lazy-init configuration option");
|
1847
|
+
}
|
1848
|
+
}
|
1849
|
+
|
1850
|
+
if tunables.static_memory_offset_guard_size < tunables.dynamic_memory_offset_guard_size {
|
1851
|
+
bail!("static memory guard size cannot be smaller than dynamic memory guard size");
|
1852
|
+
}
|
1853
|
+
|
1854
|
+
Ok(tunables)
|
1855
|
+
}
|
1856
|
+
|
1857
|
+
#[cfg(feature = "runtime")]
|
1858
|
+
pub(crate) fn build_allocator(
|
1859
|
+
&self,
|
1860
|
+
tunables: &Tunables,
|
1861
|
+
) -> Result<Box<dyn InstanceAllocator + Send + Sync>> {
|
1862
|
+
#[cfg(feature = "async")]
|
1863
|
+
let stack_size = self.async_stack_size;
|
1864
|
+
|
1865
|
+
#[cfg(not(feature = "async"))]
|
1866
|
+
let stack_size = 0;
|
1867
|
+
|
1868
|
+
let _ = tunables;
|
1869
|
+
|
1870
|
+
match &self.allocation_strategy {
|
1871
|
+
InstanceAllocationStrategy::OnDemand => {
|
1872
|
+
#[allow(unused_mut)]
|
1873
|
+
let mut allocator = Box::new(OnDemandInstanceAllocator::new(
|
1874
|
+
self.mem_creator.clone(),
|
1875
|
+
stack_size,
|
1876
|
+
));
|
1877
|
+
#[cfg(feature = "async")]
|
1878
|
+
if let Some(stack_creator) = &self.stack_creator {
|
1879
|
+
allocator.set_stack_creator(stack_creator.clone());
|
1880
|
+
}
|
1881
|
+
Ok(allocator)
|
1882
|
+
}
|
1883
|
+
#[cfg(feature = "pooling-allocator")]
|
1884
|
+
InstanceAllocationStrategy::Pooling(config) => {
|
1885
|
+
let mut config = config.config;
|
1886
|
+
config.stack_size = stack_size;
|
1887
|
+
Ok(Box::new(crate::runtime::vm::PoolingInstanceAllocator::new(
|
1888
|
+
&config, tunables,
|
1889
|
+
)?))
|
1890
|
+
}
|
1891
|
+
}
|
1892
|
+
}
|
1893
|
+
|
1894
|
+
#[cfg(feature = "runtime")]
|
1895
|
+
pub(crate) fn build_gc_runtime(&self) -> Result<Arc<dyn GcRuntime>> {
|
1896
|
+
Ok(Arc::new(crate::runtime::vm::default_gc_runtime()) as Arc<dyn GcRuntime>)
|
1897
|
+
}
|
1898
|
+
|
1899
|
+
#[cfg(feature = "runtime")]
|
1900
|
+
pub(crate) fn build_profiler(&self) -> Result<Box<dyn ProfilingAgent>> {
|
1901
|
+
Ok(match self.profiling_strategy {
|
1902
|
+
ProfilingStrategy::PerfMap => profiling_agent::new_perfmap()?,
|
1903
|
+
ProfilingStrategy::JitDump => profiling_agent::new_jitdump()?,
|
1904
|
+
ProfilingStrategy::VTune => profiling_agent::new_vtune()?,
|
1905
|
+
ProfilingStrategy::None => profiling_agent::new_null(),
|
1906
|
+
})
|
1907
|
+
}
|
1908
|
+
|
1909
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
1910
|
+
pub(crate) fn build_compiler(
|
1911
|
+
mut self,
|
1912
|
+
tunables: &Tunables,
|
1913
|
+
) -> Result<(Self, Box<dyn wasmtime_environ::Compiler>)> {
|
1914
|
+
let target = self.compiler_config.target.clone();
|
1915
|
+
|
1916
|
+
let mut compiler = match self.compiler_config.strategy {
|
1917
|
+
#[cfg(feature = "cranelift")]
|
1918
|
+
Some(Strategy::Cranelift) => wasmtime_cranelift::builder(target)?,
|
1919
|
+
#[cfg(not(feature = "cranelift"))]
|
1920
|
+
Some(Strategy::Cranelift) => bail!("cranelift support not compiled in"),
|
1921
|
+
#[cfg(feature = "winch")]
|
1922
|
+
Some(Strategy::Winch) => wasmtime_winch::builder(target)?,
|
1923
|
+
#[cfg(not(feature = "winch"))]
|
1924
|
+
Some(Strategy::Winch) => bail!("winch support not compiled in"),
|
1925
|
+
|
1926
|
+
None | Some(Strategy::Auto) => unreachable!(),
|
1927
|
+
};
|
1928
|
+
|
1929
|
+
if let Some(path) = &self.compiler_config.clif_dir {
|
1930
|
+
compiler.clif_dir(path)?;
|
1931
|
+
}
|
1932
|
+
|
1933
|
+
// If probestack is enabled for a target, Wasmtime will always use the
|
1934
|
+
// inline strategy which doesn't require us to define a `__probestack`
|
1935
|
+
// function or similar.
|
1936
|
+
self.compiler_config
|
1937
|
+
.settings
|
1938
|
+
.insert("probestack_strategy".into(), "inline".into());
|
1939
|
+
|
1940
|
+
let host = target_lexicon::Triple::host();
|
1941
|
+
let target = self
|
1942
|
+
.compiler_config
|
1943
|
+
.target
|
1944
|
+
.as_ref()
|
1945
|
+
.unwrap_or(&host)
|
1946
|
+
.clone();
|
1947
|
+
|
1948
|
+
// On supported targets, we enable stack probing by default.
|
1949
|
+
// This is required on Windows because of the way Windows
|
1950
|
+
// commits its stacks, but it's also a good idea on other
|
1951
|
+
// platforms to ensure guard pages are hit for large frame
|
1952
|
+
// sizes.
|
1953
|
+
if probestack_supported(target.architecture) {
|
1954
|
+
self.compiler_config
|
1955
|
+
.flags
|
1956
|
+
.insert("enable_probestack".into());
|
1957
|
+
}
|
1958
|
+
|
1959
|
+
if self.features.contains(WasmFeatures::TAIL_CALL) {
|
1960
|
+
ensure!(
|
1961
|
+
target.architecture != Architecture::S390x,
|
1962
|
+
"Tail calls are not supported on s390x yet: \
|
1963
|
+
https://github.com/bytecodealliance/wasmtime/issues/6530"
|
1964
|
+
);
|
1965
|
+
}
|
1966
|
+
|
1967
|
+
if let Some(unwind_requested) = self.native_unwind_info {
|
1968
|
+
if !self
|
1969
|
+
.compiler_config
|
1970
|
+
.ensure_setting_unset_or_given("unwind_info", &unwind_requested.to_string())
|
1971
|
+
{
|
1972
|
+
bail!("incompatible settings requested for Cranelift and Wasmtime `unwind-info` settings");
|
1973
|
+
}
|
1974
|
+
}
|
1975
|
+
|
1976
|
+
if target.operating_system == target_lexicon::OperatingSystem::Windows {
|
1977
|
+
if !self
|
1978
|
+
.compiler_config
|
1979
|
+
.ensure_setting_unset_or_given("unwind_info", "true")
|
1980
|
+
{
|
1981
|
+
bail!("`native_unwind_info` cannot be disabled on Windows");
|
1982
|
+
}
|
1983
|
+
}
|
1984
|
+
|
1985
|
+
// We require frame pointers for correct stack walking, which is safety
|
1986
|
+
// critical in the presence of reference types, and otherwise it is just
|
1987
|
+
// really bad developer experience to get wrong.
|
1988
|
+
self.compiler_config
|
1989
|
+
.settings
|
1990
|
+
.insert("preserve_frame_pointers".into(), "true".into());
|
1991
|
+
|
1992
|
+
// check for incompatible compiler options and set required values
|
1993
|
+
if self.features.contains(WasmFeatures::REFERENCE_TYPES) {
|
1994
|
+
if !self
|
1995
|
+
.compiler_config
|
1996
|
+
.ensure_setting_unset_or_given("enable_safepoints", "true")
|
1997
|
+
{
|
1998
|
+
bail!("compiler option 'enable_safepoints' must be enabled when 'reference types' is enabled");
|
1999
|
+
}
|
2000
|
+
}
|
2001
|
+
|
2002
|
+
if self.features.contains(WasmFeatures::RELAXED_SIMD)
|
2003
|
+
&& !self.features.contains(WasmFeatures::SIMD)
|
2004
|
+
{
|
2005
|
+
bail!("cannot disable the simd proposal but enable the relaxed simd proposal");
|
2006
|
+
}
|
2007
|
+
|
2008
|
+
// Apply compiler settings and flags
|
2009
|
+
for (k, v) in self.compiler_config.settings.iter() {
|
2010
|
+
compiler.set(k, v)?;
|
2011
|
+
}
|
2012
|
+
for flag in self.compiler_config.flags.iter() {
|
2013
|
+
compiler.enable(flag)?;
|
2014
|
+
}
|
2015
|
+
|
2016
|
+
#[cfg(feature = "incremental-cache")]
|
2017
|
+
if let Some(cache_store) = &self.compiler_config.cache_store {
|
2018
|
+
compiler.enable_incremental_compilation(cache_store.clone())?;
|
2019
|
+
}
|
2020
|
+
|
2021
|
+
compiler.set_tunables(tunables.clone())?;
|
2022
|
+
compiler.wmemcheck(self.compiler_config.wmemcheck);
|
2023
|
+
|
2024
|
+
Ok((self, compiler.build()?))
|
2025
|
+
}
|
2026
|
+
|
2027
|
+
/// Internal setting for whether adapter modules for components will have
|
2028
|
+
/// extra WebAssembly instructions inserted performing more debug checks
|
2029
|
+
/// then are necessary.
|
2030
|
+
#[cfg(feature = "component-model")]
|
2031
|
+
pub fn debug_adapter_modules(&mut self, debug: bool) -> &mut Self {
|
2032
|
+
self.tunables.debug_adapter_modules = Some(debug);
|
2033
|
+
self
|
2034
|
+
}
|
2035
|
+
|
2036
|
+
/// Enables clif output when compiling a WebAssembly module.
|
2037
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
2038
|
+
pub fn emit_clif(&mut self, path: &Path) -> &mut Self {
|
2039
|
+
self.compiler_config.clif_dir = Some(path.to_path_buf());
|
2040
|
+
self
|
2041
|
+
}
|
2042
|
+
|
2043
|
+
/// Configures whether, when on macOS, Mach ports are used for exception
|
2044
|
+
/// handling instead of traditional Unix-based signal handling.
|
2045
|
+
///
|
2046
|
+
/// WebAssembly traps in Wasmtime are implemented with native faults, for
|
2047
|
+
/// example a `SIGSEGV` will occur when a WebAssembly guest accesses
|
2048
|
+
/// out-of-bounds memory. Handling this can be configured to either use Unix
|
2049
|
+
/// signals or Mach ports on macOS. By default Mach ports are used.
|
2050
|
+
///
|
2051
|
+
/// Mach ports enable Wasmtime to work by default with foreign
|
2052
|
+
/// error-handling systems such as breakpad which also use Mach ports to
|
2053
|
+
/// handle signals. In this situation Wasmtime will continue to handle guest
|
2054
|
+
/// faults gracefully while any non-guest faults will get forwarded to
|
2055
|
+
/// process-level handlers such as breakpad. Some more background on this
|
2056
|
+
/// can be found in #2456.
|
2057
|
+
///
|
2058
|
+
/// A downside of using mach ports, however, is that they don't interact
|
2059
|
+
/// well with `fork()`. Forking a Wasmtime process on macOS will produce a
|
2060
|
+
/// child process that cannot successfully run WebAssembly. In this
|
2061
|
+
/// situation traditional Unix signal handling should be used as that's
|
2062
|
+
/// inherited and works across forks.
|
2063
|
+
///
|
2064
|
+
/// If your embedding wants to use a custom error handler which leverages
|
2065
|
+
/// Mach ports and you additionally wish to `fork()` the process and use
|
2066
|
+
/// Wasmtime in the child process that's not currently possible. Please
|
2067
|
+
/// reach out to us if you're in this bucket!
|
2068
|
+
///
|
2069
|
+
/// This option defaults to `true`, using Mach ports by default.
|
2070
|
+
pub fn macos_use_mach_ports(&mut self, mach_ports: bool) -> &mut Self {
|
2071
|
+
self.macos_use_mach_ports = mach_ports;
|
2072
|
+
self
|
2073
|
+
}
|
2074
|
+
|
2075
|
+
/// Configures an embedder-provided function, `detect`, which is used to
|
2076
|
+
/// determine if an ISA-specific feature is available on the current host.
|
2077
|
+
///
|
2078
|
+
/// This function is used to verify that any features enabled for a compiler
|
2079
|
+
/// backend, such as AVX support on x86\_64, are also available on the host.
|
2080
|
+
/// It is undefined behavior to execute an AVX instruction on a host that
|
2081
|
+
/// doesn't support AVX instructions, for example.
|
2082
|
+
///
|
2083
|
+
/// When the `std` feature is active on this crate then this function is
|
2084
|
+
/// configured to a default implementation that uses the standard library's
|
2085
|
+
/// feature detection. When the `std` feature is disabled then there is no
|
2086
|
+
/// default available and this method must be called to configure a feature
|
2087
|
+
/// probing function.
|
2088
|
+
///
|
2089
|
+
/// The `detect` function provided is given a string name of an ISA feature.
|
2090
|
+
/// The function should then return:
|
2091
|
+
///
|
2092
|
+
/// * `Some(true)` - indicates that the feature was found on the host and it
|
2093
|
+
/// is supported.
|
2094
|
+
/// * `Some(false)` - the feature name was recognized but it was not
|
2095
|
+
/// detected on the host, for example the CPU is too old.
|
2096
|
+
/// * `None` - the feature name was not recognized and it's not known
|
2097
|
+
/// whether it's on the host or not.
|
2098
|
+
///
|
2099
|
+
/// Feature names passed to `detect` match the same feature name used in the
|
2100
|
+
/// Rust standard library. For example `"sse4.2"` is used on x86\_64.
|
2101
|
+
///
|
2102
|
+
/// # Unsafety
|
2103
|
+
///
|
2104
|
+
/// This function is `unsafe` because it is undefined behavior to execute
|
2105
|
+
/// instructions that a host does not support. This means that the result of
|
2106
|
+
/// `detect` must be correct for memory safe execution at runtime.
|
2107
|
+
pub unsafe fn detect_host_feature(&mut self, detect: fn(&str) -> Option<bool>) -> &mut Self {
|
2108
|
+
self.detect_host_feature = Some(detect);
|
2109
|
+
self
|
2110
|
+
}
|
2111
|
+
}
|
2112
|
+
|
2113
|
+
/// If building without the runtime feature we can't determine the page size of
|
2114
|
+
/// the platform where the execution will happen so just keep the original
|
2115
|
+
/// values.
|
2116
|
+
#[cfg(not(feature = "runtime"))]
|
2117
|
+
fn round_up_to_pages(val: u64) -> u64 {
|
2118
|
+
val
|
2119
|
+
}
|
2120
|
+
|
2121
|
+
#[cfg(feature = "runtime")]
|
2122
|
+
fn round_up_to_pages(val: u64) -> u64 {
|
2123
|
+
let page_size = crate::runtime::vm::page_size() as u64;
|
2124
|
+
debug_assert!(page_size.is_power_of_two());
|
2125
|
+
val.checked_add(page_size - 1)
|
2126
|
+
.map(|val| val & !(page_size - 1))
|
2127
|
+
.unwrap_or(u64::MAX / page_size + 1)
|
2128
|
+
}
|
2129
|
+
|
2130
|
+
impl Default for Config {
|
2131
|
+
fn default() -> Config {
|
2132
|
+
Config::new()
|
2133
|
+
}
|
2134
|
+
}
|
2135
|
+
|
2136
|
+
impl fmt::Debug for Config {
|
2137
|
+
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
2138
|
+
let mut f = f.debug_struct("Config");
|
2139
|
+
f.field("debug_info", &self.tunables.generate_native_debuginfo)
|
2140
|
+
.field(
|
2141
|
+
"wasm_threads",
|
2142
|
+
&self.features.contains(WasmFeatures::THREADS),
|
2143
|
+
)
|
2144
|
+
.field(
|
2145
|
+
"wasm_reference_types",
|
2146
|
+
&self.features.contains(WasmFeatures::REFERENCE_TYPES),
|
2147
|
+
)
|
2148
|
+
.field(
|
2149
|
+
"wasm_function_references",
|
2150
|
+
&self.features.contains(WasmFeatures::FUNCTION_REFERENCES),
|
2151
|
+
)
|
2152
|
+
.field("wasm_gc", &self.features.contains(WasmFeatures::GC))
|
2153
|
+
.field(
|
2154
|
+
"wasm_bulk_memory",
|
2155
|
+
&self.features.contains(WasmFeatures::BULK_MEMORY),
|
2156
|
+
)
|
2157
|
+
.field("wasm_simd", &self.features.contains(WasmFeatures::SIMD))
|
2158
|
+
.field(
|
2159
|
+
"wasm_relaxed_simd",
|
2160
|
+
&self.features.contains(WasmFeatures::RELAXED_SIMD),
|
2161
|
+
)
|
2162
|
+
.field(
|
2163
|
+
"wasm_multi_value",
|
2164
|
+
&self.features.contains(WasmFeatures::MULTI_VALUE),
|
2165
|
+
)
|
2166
|
+
.field("parallel_compilation", &self.parallel_compilation);
|
2167
|
+
#[cfg(any(feature = "cranelift", feature = "winch"))]
|
2168
|
+
{
|
2169
|
+
f.field("compiler_config", &self.compiler_config);
|
2170
|
+
}
|
2171
|
+
|
2172
|
+
if let Some(enable) = self.tunables.parse_wasm_debuginfo {
|
2173
|
+
f.field("parse_wasm_debuginfo", &enable);
|
2174
|
+
}
|
2175
|
+
if let Some(size) = self.tunables.static_memory_reservation {
|
2176
|
+
f.field("static_memory_maximum_reservation", &size);
|
2177
|
+
}
|
2178
|
+
if let Some(size) = self.tunables.static_memory_offset_guard_size {
|
2179
|
+
f.field("static_memory_guard_size", &size);
|
2180
|
+
}
|
2181
|
+
if let Some(size) = self.tunables.dynamic_memory_offset_guard_size {
|
2182
|
+
f.field("dynamic_memory_guard_size", &size);
|
2183
|
+
}
|
2184
|
+
if let Some(enable) = self.tunables.guard_before_linear_memory {
|
2185
|
+
f.field("guard_before_linear_memory", &enable);
|
2186
|
+
}
|
2187
|
+
f.finish()
|
2188
|
+
}
|
2189
|
+
}
|
2190
|
+
|
2191
|
+
/// Possible Compilation strategies for a wasm module.
|
2192
|
+
///
|
2193
|
+
/// This is used as an argument to the [`Config::strategy`] method.
|
2194
|
+
#[non_exhaustive]
|
2195
|
+
#[derive(PartialEq, Eq, Clone, Debug, Copy)]
|
2196
|
+
pub enum Strategy {
|
2197
|
+
/// An indicator that the compilation strategy should be automatically
|
2198
|
+
/// selected.
|
2199
|
+
///
|
2200
|
+
/// This is generally what you want for most projects and indicates that the
|
2201
|
+
/// `wasmtime` crate itself should make the decision about what the best
|
2202
|
+
/// code generator for a wasm module is.
|
2203
|
+
///
|
2204
|
+
/// Currently this always defaults to Cranelift, but the default value may
|
2205
|
+
/// change over time.
|
2206
|
+
Auto,
|
2207
|
+
|
2208
|
+
/// Currently the default backend, Cranelift aims to be a reasonably fast
|
2209
|
+
/// code generator which generates high quality machine code.
|
2210
|
+
Cranelift,
|
2211
|
+
|
2212
|
+
/// A baseline compiler for WebAssembly, currently under active development and not ready for
|
2213
|
+
/// production applications.
|
2214
|
+
Winch,
|
2215
|
+
}
|
2216
|
+
|
2217
|
+
impl Strategy {
|
2218
|
+
fn not_auto(&self) -> Option<Strategy> {
|
2219
|
+
match self {
|
2220
|
+
Strategy::Auto => {
|
2221
|
+
if cfg!(feature = "cranelift") {
|
2222
|
+
Some(Strategy::Cranelift)
|
2223
|
+
} else if cfg!(feature = "winch") {
|
2224
|
+
Some(Strategy::Winch)
|
2225
|
+
} else {
|
2226
|
+
None
|
2227
|
+
}
|
2228
|
+
}
|
2229
|
+
other => Some(*other),
|
2230
|
+
}
|
2231
|
+
}
|
2232
|
+
}
|
2233
|
+
|
2234
|
+
/// Possible optimization levels for the Cranelift codegen backend.
|
2235
|
+
#[non_exhaustive]
|
2236
|
+
#[derive(Copy, Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
|
2237
|
+
pub enum OptLevel {
|
2238
|
+
/// No optimizations performed, minimizes compilation time by disabling most
|
2239
|
+
/// optimizations.
|
2240
|
+
None,
|
2241
|
+
/// Generates the fastest possible code, but may take longer.
|
2242
|
+
Speed,
|
2243
|
+
/// Similar to `speed`, but also performs transformations aimed at reducing
|
2244
|
+
/// code size.
|
2245
|
+
SpeedAndSize,
|
2246
|
+
}
|
2247
|
+
|
2248
|
+
/// Select which profiling technique to support.
|
2249
|
+
#[derive(Debug, Clone, Copy, PartialEq)]
|
2250
|
+
pub enum ProfilingStrategy {
|
2251
|
+
/// No profiler support.
|
2252
|
+
None,
|
2253
|
+
|
2254
|
+
/// Collect function name information as the "perf map" file format, used with `perf` on Linux.
|
2255
|
+
PerfMap,
|
2256
|
+
|
2257
|
+
/// Collect profiling info for "jitdump" file format, used with `perf` on
|
2258
|
+
/// Linux.
|
2259
|
+
JitDump,
|
2260
|
+
|
2261
|
+
/// Collect profiling info using the "ittapi", used with `VTune` on Linux.
|
2262
|
+
VTune,
|
2263
|
+
}
|
2264
|
+
|
2265
|
+
/// Select how wasm backtrace detailed information is handled.
|
2266
|
+
#[derive(Debug, Clone, Copy)]
|
2267
|
+
pub enum WasmBacktraceDetails {
|
2268
|
+
/// Support is unconditionally enabled and wasmtime will parse and read
|
2269
|
+
/// debug information.
|
2270
|
+
Enable,
|
2271
|
+
|
2272
|
+
/// Support is disabled, and wasmtime will not parse debug information for
|
2273
|
+
/// backtrace details.
|
2274
|
+
Disable,
|
2275
|
+
|
2276
|
+
/// Support for backtrace details is conditional on the
|
2277
|
+
/// `WASMTIME_BACKTRACE_DETAILS` environment variable.
|
2278
|
+
Environment,
|
2279
|
+
}
|
2280
|
+
|
2281
|
+
/// Configuration options used with [`InstanceAllocationStrategy::Pooling`] to
|
2282
|
+
/// change the behavior of the pooling instance allocator.
|
2283
|
+
///
|
2284
|
+
/// This structure has a builder-style API in the same manner as [`Config`] and
|
2285
|
+
/// is configured with [`Config::allocation_strategy`].
|
2286
|
+
///
|
2287
|
+
/// Note that usage of the pooling allocator does not affect compiled
|
2288
|
+
/// WebAssembly code. Compiled `*.cwasm` files, for example, are usable both
|
2289
|
+
/// with and without the pooling allocator.
|
2290
|
+
///
|
2291
|
+
/// ## Advantages of Pooled Allocation
|
2292
|
+
///
|
2293
|
+
/// The main benefit of the pooling allocator is to make WebAssembly
|
2294
|
+
/// instantiation both faster and more scalable in terms of parallelism.
|
2295
|
+
/// Allocation is faster because virtual memory is already configured and ready
|
2296
|
+
/// to go within the pool, there's no need to [`mmap`] (for example on Unix) a
|
2297
|
+
/// new region and configure it with guard pages. By avoiding [`mmap`] this
|
2298
|
+
/// avoids whole-process virtual memory locks which can improve scalability and
|
2299
|
+
/// performance through avoiding this.
|
2300
|
+
///
|
2301
|
+
/// Additionally with pooled allocation it's possible to create "affine slots"
|
2302
|
+
/// to a particular WebAssembly module or component over time. For example if
|
2303
|
+
/// the same module is multiple times over time the pooling allocator will, by
|
2304
|
+
/// default, attempt to reuse the same slot. This mean that the slot has been
|
2305
|
+
/// pre-configured and can retain virtual memory mappings for a copy-on-write
|
2306
|
+
/// image, for example (see [`Config::memory_init_cow`] for more information.
|
2307
|
+
/// This means that in a steady state instance deallocation is a single
|
2308
|
+
/// [`madvise`] to reset linear memory to its original contents followed by a
|
2309
|
+
/// single (optional) [`mprotect`] during the next instantiation to shrink
|
2310
|
+
/// memory back to its original size. Compared to non-pooled allocation this
|
2311
|
+
/// avoids the need to [`mmap`] a new region of memory, [`munmap`] it, and
|
2312
|
+
/// [`mprotect`] regions too.
|
2313
|
+
///
|
2314
|
+
/// Another benefit of pooled allocation is that it's possible to configure
|
2315
|
+
/// things such that no virtual memory management is required at all in a steady
|
2316
|
+
/// state. For example a pooling allocator can be configured with
|
2317
|
+
/// [`Config::memory_init_cow`] disabledd, dynamic bounds checks enabled
|
2318
|
+
/// through
|
2319
|
+
/// [`Config::static_memory_maximum_size(0)`](Config::static_memory_maximum_size),
|
2320
|
+
/// and sufficient space through
|
2321
|
+
/// [`PoolingAllocationConfig::table_keep_resident`] /
|
2322
|
+
/// [`PoolingAllocationConfig::linear_memory_keep_resident`]. With all these
|
2323
|
+
/// options in place no virtual memory tricks are used at all and everything is
|
2324
|
+
/// manually managed by Wasmtime (for example resetting memory is a
|
2325
|
+
/// `memset(0)`). This is not as fast in a single-threaded scenario but can
|
2326
|
+
/// provide benefits in high-parallelism situations as no virtual memory locks
|
2327
|
+
/// or IPIs need happen.
|
2328
|
+
///
|
2329
|
+
/// ## Disadvantages of Pooled Allocation
|
2330
|
+
///
|
2331
|
+
/// Despite the above advantages to instantiation performance the pooling
|
2332
|
+
/// allocator is not enabled by default in Wasmtime. One reason is that the
|
2333
|
+
/// performance advantages are not necessarily portable, for example while the
|
2334
|
+
/// pooling allocator works on Windows it has not been tuned for performance on
|
2335
|
+
/// Windows in the same way it has on Linux.
|
2336
|
+
///
|
2337
|
+
/// Additionally the main cost of the pooling allocator is that it requires a
|
2338
|
+
/// very large reservation of virtual memory (on the order of most of the
|
2339
|
+
/// addressable virtual address space). WebAssembly 32-bit linear memories in
|
2340
|
+
/// Wasmtime are, by default 4G address space reservations with a 2G guard
|
2341
|
+
/// region both before and after the linear memory. Memories in the pooling
|
2342
|
+
/// allocator are contiguous which means that we only need a guard after linear
|
2343
|
+
/// memory because the previous linear memory's slot post-guard is our own
|
2344
|
+
/// pre-guard. This means that, by default, the pooling allocator uses 6G of
|
2345
|
+
/// virtual memory per WebAssembly linear memory slot. 6G of virtual memory is
|
2346
|
+
/// 32.5 bits of a 64-bit address. Many 64-bit systems can only actually use
|
2347
|
+
/// 48-bit addresses by default (although this can be extended on architectures
|
2348
|
+
/// nowadays too), and of those 48 bits one of them is reserved to indicate
|
2349
|
+
/// kernel-vs-userspace. This leaves 47-32.5=14.5 bits left, meaning you can
|
2350
|
+
/// only have at most 64k slots of linear memories on many systems by default.
|
2351
|
+
/// This is a relatively small number and shows how the pooling allocator can
|
2352
|
+
/// quickly exhaust all of virtual memory.
|
2353
|
+
///
|
2354
|
+
/// Another disadvantage of the pooling allocator is that it may keep memory
|
2355
|
+
/// alive when nothing is using it. A previously used slot for an instance might
|
2356
|
+
/// have paged-in memory that will not get paged out until the
|
2357
|
+
/// [`Engine`](crate::Engine) owning the pooling allocator is dropped. While
|
2358
|
+
/// suitable for some applications this behavior may not be suitable for all
|
2359
|
+
/// applications.
|
2360
|
+
///
|
2361
|
+
/// Finally the last disadvantage of the pooling allocator is that the
|
2362
|
+
/// configuration values for the maximum number of instances, memories, tables,
|
2363
|
+
/// etc, must all be fixed up-front. There's not always a clear answer as to
|
2364
|
+
/// what these values should be so not all applications may be able to work
|
2365
|
+
/// with this constraint.
|
2366
|
+
///
|
2367
|
+
/// [`madvise`]: https://man7.org/linux/man-pages/man2/madvise.2.html
|
2368
|
+
/// [`mprotect`]: https://man7.org/linux/man-pages/man2/mprotect.2.html
|
2369
|
+
/// [`mmap`]: https://man7.org/linux/man-pages/man2/mmap.2.html
|
2370
|
+
/// [`munmap`]: https://man7.org/linux/man-pages/man2/munmap.2.html
|
2371
|
+
#[cfg(feature = "pooling-allocator")]
|
2372
|
+
#[derive(Debug, Clone, Default)]
|
2373
|
+
pub struct PoolingAllocationConfig {
|
2374
|
+
config: crate::runtime::vm::PoolingInstanceAllocatorConfig,
|
2375
|
+
}
|
2376
|
+
|
2377
|
+
#[cfg(feature = "pooling-allocator")]
|
2378
|
+
impl PoolingAllocationConfig {
|
2379
|
+
/// Configures the maximum number of "unused warm slots" to retain in the
|
2380
|
+
/// pooling allocator.
|
2381
|
+
///
|
2382
|
+
/// The pooling allocator operates over slots to allocate from, and each
|
2383
|
+
/// slot is considered "cold" if it's never been used before or "warm" if
|
2384
|
+
/// it's been used by some module in the past. Slots in the pooling
|
2385
|
+
/// allocator additionally track an "affinity" flag to a particular core
|
2386
|
+
/// wasm module. When a module is instantiated into a slot then the slot is
|
2387
|
+
/// considered affine to that module, even after the instance has been
|
2388
|
+
/// deallocated.
|
2389
|
+
///
|
2390
|
+
/// When a new instance is created then a slot must be chosen, and the
|
2391
|
+
/// current algorithm for selecting a slot is:
|
2392
|
+
///
|
2393
|
+
/// * If there are slots that are affine to the module being instantiated,
|
2394
|
+
/// then the most recently used slot is selected to be allocated from.
|
2395
|
+
/// This is done to improve reuse of resources such as memory mappings and
|
2396
|
+
/// additionally try to benefit from temporal locality for things like
|
2397
|
+
/// caches.
|
2398
|
+
///
|
2399
|
+
/// * Otherwise if there are more than N affine slots to other modules, then
|
2400
|
+
/// one of those affine slots is chosen to be allocated. The slot chosen
|
2401
|
+
/// is picked on a least-recently-used basis.
|
2402
|
+
///
|
2403
|
+
/// * Finally, if there are less than N affine slots to other modules, then
|
2404
|
+
/// the non-affine slots are allocated from.
|
2405
|
+
///
|
2406
|
+
/// This setting, `max_unused_warm_slots`, is the value for N in the above
|
2407
|
+
/// algorithm. The purpose of this setting is to have a knob over the RSS
|
2408
|
+
/// impact of "unused slots" for a long-running wasm server.
|
2409
|
+
///
|
2410
|
+
/// If this setting is set to 0, for example, then affine slots are
|
2411
|
+
/// aggressively reused on a least-recently-used basis. A "cold" slot is
|
2412
|
+
/// only used if there are no affine slots available to allocate from. This
|
2413
|
+
/// means that the set of slots used over the lifetime of a program is the
|
2414
|
+
/// same as the maximum concurrent number of wasm instances.
|
2415
|
+
///
|
2416
|
+
/// If this setting is set to infinity, however, then cold slots are
|
2417
|
+
/// prioritized to be allocated from. This means that the set of slots used
|
2418
|
+
/// over the lifetime of a program will approach
|
2419
|
+
/// [`PoolingAllocationConfig::total_memories`], or the maximum number of
|
2420
|
+
/// slots in the pooling allocator.
|
2421
|
+
///
|
2422
|
+
/// Wasmtime does not aggressively decommit all resources associated with a
|
2423
|
+
/// slot when the slot is not in use. For example the
|
2424
|
+
/// [`PoolingAllocationConfig::linear_memory_keep_resident`] option can be
|
2425
|
+
/// used to keep memory associated with a slot, even when it's not in use.
|
2426
|
+
/// This means that the total set of used slots in the pooling instance
|
2427
|
+
/// allocator can impact the overall RSS usage of a program.
|
2428
|
+
///
|
2429
|
+
/// The default value for this option is `100`.
|
2430
|
+
pub fn max_unused_warm_slots(&mut self, max: u32) -> &mut Self {
|
2431
|
+
self.config.max_unused_warm_slots = max;
|
2432
|
+
self
|
2433
|
+
}
|
2434
|
+
|
2435
|
+
/// The target number of decommits to do per batch.
|
2436
|
+
///
|
2437
|
+
/// This is not precise, as we can queue up decommits at times when we
|
2438
|
+
/// aren't prepared to immediately flush them, and so we may go over this
|
2439
|
+
/// target size occasionally.
|
2440
|
+
///
|
2441
|
+
/// A batch size of one effectively disables batching.
|
2442
|
+
///
|
2443
|
+
/// Defaults to `1`.
|
2444
|
+
pub fn decommit_batch_size(&mut self, batch_size: usize) -> &mut Self {
|
2445
|
+
self.config.decommit_batch_size = batch_size;
|
2446
|
+
self
|
2447
|
+
}
|
2448
|
+
|
2449
|
+
/// Configures whether or not stacks used for async futures are reset to
|
2450
|
+
/// zero after usage.
|
2451
|
+
///
|
2452
|
+
/// When the [`async_support`](Config::async_support) method is enabled for
|
2453
|
+
/// Wasmtime and the [`call_async`] variant
|
2454
|
+
/// of calling WebAssembly is used then Wasmtime will create a separate
|
2455
|
+
/// runtime execution stack for each future produced by [`call_async`].
|
2456
|
+
/// During the deallocation process Wasmtime won't by default reset the
|
2457
|
+
/// contents of the stack back to zero.
|
2458
|
+
///
|
2459
|
+
/// When this option is enabled it can be seen as a defense-in-depth
|
2460
|
+
/// mechanism to reset a stack back to zero. This is not required for
|
2461
|
+
/// correctness and can be a costly operation in highly concurrent
|
2462
|
+
/// environments due to modifications of the virtual address space requiring
|
2463
|
+
/// process-wide synchronization.
|
2464
|
+
///
|
2465
|
+
/// This option defaults to `false`.
|
2466
|
+
///
|
2467
|
+
/// [`call_async`]: crate::TypedFunc::call_async
|
2468
|
+
#[cfg(feature = "async")]
|
2469
|
+
pub fn async_stack_zeroing(&mut self, enable: bool) -> &mut Self {
|
2470
|
+
self.config.async_stack_zeroing = enable;
|
2471
|
+
self
|
2472
|
+
}
|
2473
|
+
|
2474
|
+
/// How much memory, in bytes, to keep resident for async stacks allocated
|
2475
|
+
/// with the pooling allocator.
|
2476
|
+
///
|
2477
|
+
/// When [`PoolingAllocationConfig::async_stack_zeroing`] is enabled then
|
2478
|
+
/// Wasmtime will reset the contents of async stacks back to zero upon
|
2479
|
+
/// deallocation. This option can be used to perform the zeroing operation
|
2480
|
+
/// with `memset` up to a certain threshold of bytes instead of using system
|
2481
|
+
/// calls to reset the stack to zero.
|
2482
|
+
///
|
2483
|
+
/// Note that when using this option the memory with async stacks will
|
2484
|
+
/// never be decommitted.
|
2485
|
+
#[cfg(feature = "async")]
|
2486
|
+
pub fn async_stack_keep_resident(&mut self, size: usize) -> &mut Self {
|
2487
|
+
let size = round_up_to_pages(size as u64) as usize;
|
2488
|
+
self.config.async_stack_keep_resident = size;
|
2489
|
+
self
|
2490
|
+
}
|
2491
|
+
|
2492
|
+
/// How much memory, in bytes, to keep resident for each linear memory
|
2493
|
+
/// after deallocation.
|
2494
|
+
///
|
2495
|
+
/// This option is only applicable on Linux and has no effect on other
|
2496
|
+
/// platforms.
|
2497
|
+
///
|
2498
|
+
/// By default Wasmtime will use `madvise` to reset the entire contents of
|
2499
|
+
/// linear memory back to zero when a linear memory is deallocated. This
|
2500
|
+
/// option can be used to use `memset` instead to set memory back to zero
|
2501
|
+
/// which can, in some configurations, reduce the number of page faults
|
2502
|
+
/// taken when a slot is reused.
|
2503
|
+
pub fn linear_memory_keep_resident(&mut self, size: usize) -> &mut Self {
|
2504
|
+
let size = round_up_to_pages(size as u64) as usize;
|
2505
|
+
self.config.linear_memory_keep_resident = size;
|
2506
|
+
self
|
2507
|
+
}
|
2508
|
+
|
2509
|
+
/// How much memory, in bytes, to keep resident for each table after
|
2510
|
+
/// deallocation.
|
2511
|
+
///
|
2512
|
+
/// This option is only applicable on Linux and has no effect on other
|
2513
|
+
/// platforms.
|
2514
|
+
///
|
2515
|
+
/// This option is the same as
|
2516
|
+
/// [`PoolingAllocationConfig::linear_memory_keep_resident`] except that it
|
2517
|
+
/// is applicable to tables instead.
|
2518
|
+
pub fn table_keep_resident(&mut self, size: usize) -> &mut Self {
|
2519
|
+
let size = round_up_to_pages(size as u64) as usize;
|
2520
|
+
self.config.table_keep_resident = size;
|
2521
|
+
self
|
2522
|
+
}
|
2523
|
+
|
2524
|
+
/// The maximum number of concurrent component instances supported (default
|
2525
|
+
/// is `1000`).
|
2526
|
+
///
|
2527
|
+
/// This provides an upper-bound on the total size of component
|
2528
|
+
/// metadata-related allocations, along with
|
2529
|
+
/// [`PoolingAllocationConfig::max_component_instance_size`]. The upper bound is
|
2530
|
+
///
|
2531
|
+
/// ```text
|
2532
|
+
/// total_component_instances * max_component_instance_size
|
2533
|
+
/// ```
|
2534
|
+
///
|
2535
|
+
/// where `max_component_instance_size` is rounded up to the size and alignment
|
2536
|
+
/// of the internal representation of the metadata.
|
2537
|
+
pub fn total_component_instances(&mut self, count: u32) -> &mut Self {
|
2538
|
+
self.config.limits.total_component_instances = count;
|
2539
|
+
self
|
2540
|
+
}
|
2541
|
+
|
2542
|
+
/// The maximum size, in bytes, allocated for a component instance's
|
2543
|
+
/// `VMComponentContext` metadata.
|
2544
|
+
///
|
2545
|
+
/// The [`wasmtime::component::Instance`][crate::component::Instance] type
|
2546
|
+
/// has a static size but its internal `VMComponentContext` is dynamically
|
2547
|
+
/// sized depending on the component being instantiated. This size limit
|
2548
|
+
/// loosely correlates to the size of the component, taking into account
|
2549
|
+
/// factors such as:
|
2550
|
+
///
|
2551
|
+
/// * number of lifted and lowered functions,
|
2552
|
+
/// * number of memories
|
2553
|
+
/// * number of inner instances
|
2554
|
+
/// * number of resources
|
2555
|
+
///
|
2556
|
+
/// If the allocated size per instance is too small then instantiation of a
|
2557
|
+
/// module will fail at runtime with an error indicating how many bytes were
|
2558
|
+
/// needed.
|
2559
|
+
///
|
2560
|
+
/// The default value for this is 1MiB.
|
2561
|
+
///
|
2562
|
+
/// This provides an upper-bound on the total size of component
|
2563
|
+
/// metadata-related allocations, along with
|
2564
|
+
/// [`PoolingAllocationConfig::total_component_instances`]. The upper bound is
|
2565
|
+
///
|
2566
|
+
/// ```text
|
2567
|
+
/// total_component_instances * max_component_instance_size
|
2568
|
+
/// ```
|
2569
|
+
///
|
2570
|
+
/// where `max_component_instance_size` is rounded up to the size and alignment
|
2571
|
+
/// of the internal representation of the metadata.
|
2572
|
+
pub fn max_component_instance_size(&mut self, size: usize) -> &mut Self {
|
2573
|
+
self.config.limits.component_instance_size = size;
|
2574
|
+
self
|
2575
|
+
}
|
2576
|
+
|
2577
|
+
/// The maximum number of core instances a single component may contain
|
2578
|
+
/// (default is `20`).
|
2579
|
+
///
|
2580
|
+
/// This method (along with
|
2581
|
+
/// [`PoolingAllocationConfig::max_memories_per_component`],
|
2582
|
+
/// [`PoolingAllocationConfig::max_tables_per_component`], and
|
2583
|
+
/// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
|
2584
|
+
/// the amount of resources a single component allocation consumes.
|
2585
|
+
///
|
2586
|
+
/// If a component will instantiate more core instances than `count`, then
|
2587
|
+
/// the component will fail to instantiate.
|
2588
|
+
pub fn max_core_instances_per_component(&mut self, count: u32) -> &mut Self {
|
2589
|
+
self.config.limits.max_core_instances_per_component = count;
|
2590
|
+
self
|
2591
|
+
}
|
2592
|
+
|
2593
|
+
/// The maximum number of Wasm linear memories that a single component may
|
2594
|
+
/// transitively contain (default is `20`).
|
2595
|
+
///
|
2596
|
+
/// This method (along with
|
2597
|
+
/// [`PoolingAllocationConfig::max_core_instances_per_component`],
|
2598
|
+
/// [`PoolingAllocationConfig::max_tables_per_component`], and
|
2599
|
+
/// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
|
2600
|
+
/// the amount of resources a single component allocation consumes.
|
2601
|
+
///
|
2602
|
+
/// If a component transitively contains more linear memories than `count`,
|
2603
|
+
/// then the component will fail to instantiate.
|
2604
|
+
pub fn max_memories_per_component(&mut self, count: u32) -> &mut Self {
|
2605
|
+
self.config.limits.max_memories_per_component = count;
|
2606
|
+
self
|
2607
|
+
}
|
2608
|
+
|
2609
|
+
/// The maximum number of tables that a single component may transitively
|
2610
|
+
/// contain (default is `20`).
|
2611
|
+
///
|
2612
|
+
/// This method (along with
|
2613
|
+
/// [`PoolingAllocationConfig::max_core_instances_per_component`],
|
2614
|
+
/// [`PoolingAllocationConfig::max_memories_per_component`],
|
2615
|
+
/// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
|
2616
|
+
/// the amount of resources a single component allocation consumes.
|
2617
|
+
///
|
2618
|
+
/// If a component will transitively contains more tables than `count`, then
|
2619
|
+
/// the component will fail to instantiate.
|
2620
|
+
pub fn max_tables_per_component(&mut self, count: u32) -> &mut Self {
|
2621
|
+
self.config.limits.max_tables_per_component = count;
|
2622
|
+
self
|
2623
|
+
}
|
2624
|
+
|
2625
|
+
/// The maximum number of concurrent Wasm linear memories supported (default
|
2626
|
+
/// is `1000`).
|
2627
|
+
///
|
2628
|
+
/// This value has a direct impact on the amount of memory allocated by the pooling
|
2629
|
+
/// instance allocator.
|
2630
|
+
///
|
2631
|
+
/// The pooling instance allocator allocates a memory pool, where each entry
|
2632
|
+
/// in the pool contains the reserved address space for each linear memory
|
2633
|
+
/// supported by an instance.
|
2634
|
+
///
|
2635
|
+
/// The memory pool will reserve a large quantity of host process address
|
2636
|
+
/// space to elide the bounds checks required for correct WebAssembly memory
|
2637
|
+
/// semantics. Even with 64-bit address spaces, the address space is limited
|
2638
|
+
/// when dealing with a large number of linear memories.
|
2639
|
+
///
|
2640
|
+
/// For example, on Linux x86_64, the userland address space limit is 128
|
2641
|
+
/// TiB. That might seem like a lot, but each linear memory will *reserve* 6
|
2642
|
+
/// GiB of space by default.
|
2643
|
+
pub fn total_memories(&mut self, count: u32) -> &mut Self {
|
2644
|
+
self.config.limits.total_memories = count;
|
2645
|
+
self
|
2646
|
+
}
|
2647
|
+
|
2648
|
+
/// The maximum number of concurrent tables supported (default is `1000`).
|
2649
|
+
///
|
2650
|
+
/// This value has a direct impact on the amount of memory allocated by the
|
2651
|
+
/// pooling instance allocator.
|
2652
|
+
///
|
2653
|
+
/// The pooling instance allocator allocates a table pool, where each entry
|
2654
|
+
/// in the pool contains the space needed for each WebAssembly table
|
2655
|
+
/// supported by an instance (see `table_elements` to control the size of
|
2656
|
+
/// each table).
|
2657
|
+
pub fn total_tables(&mut self, count: u32) -> &mut Self {
|
2658
|
+
self.config.limits.total_tables = count;
|
2659
|
+
self
|
2660
|
+
}
|
2661
|
+
|
2662
|
+
/// The maximum number of execution stacks allowed for asynchronous
|
2663
|
+
/// execution, when enabled (default is `1000`).
|
2664
|
+
///
|
2665
|
+
/// This value has a direct impact on the amount of memory allocated by the
|
2666
|
+
/// pooling instance allocator.
|
2667
|
+
#[cfg(feature = "async")]
|
2668
|
+
pub fn total_stacks(&mut self, count: u32) -> &mut Self {
|
2669
|
+
self.config.limits.total_stacks = count;
|
2670
|
+
self
|
2671
|
+
}
|
2672
|
+
|
2673
|
+
/// The maximum number of concurrent core instances supported (default is
|
2674
|
+
/// `1000`).
|
2675
|
+
///
|
2676
|
+
/// This provides an upper-bound on the total size of core instance
|
2677
|
+
/// metadata-related allocations, along with
|
2678
|
+
/// [`PoolingAllocationConfig::max_core_instance_size`]. The upper bound is
|
2679
|
+
///
|
2680
|
+
/// ```text
|
2681
|
+
/// total_core_instances * max_core_instance_size
|
2682
|
+
/// ```
|
2683
|
+
///
|
2684
|
+
/// where `max_core_instance_size` is rounded up to the size and alignment of
|
2685
|
+
/// the internal representation of the metadata.
|
2686
|
+
pub fn total_core_instances(&mut self, count: u32) -> &mut Self {
|
2687
|
+
self.config.limits.total_core_instances = count;
|
2688
|
+
self
|
2689
|
+
}
|
2690
|
+
|
2691
|
+
/// The maximum size, in bytes, allocated for a core instance's `VMContext`
|
2692
|
+
/// metadata.
|
2693
|
+
///
|
2694
|
+
/// The [`Instance`][crate::Instance] type has a static size but its
|
2695
|
+
/// `VMContext` metadata is dynamically sized depending on the module being
|
2696
|
+
/// instantiated. This size limit loosely correlates to the size of the Wasm
|
2697
|
+
/// module, taking into account factors such as:
|
2698
|
+
///
|
2699
|
+
/// * number of functions
|
2700
|
+
/// * number of globals
|
2701
|
+
/// * number of memories
|
2702
|
+
/// * number of tables
|
2703
|
+
/// * number of function types
|
2704
|
+
///
|
2705
|
+
/// If the allocated size per instance is too small then instantiation of a
|
2706
|
+
/// module will fail at runtime with an error indicating how many bytes were
|
2707
|
+
/// needed.
|
2708
|
+
///
|
2709
|
+
/// The default value for this is 1MiB.
|
2710
|
+
///
|
2711
|
+
/// This provides an upper-bound on the total size of core instance
|
2712
|
+
/// metadata-related allocations, along with
|
2713
|
+
/// [`PoolingAllocationConfig::total_core_instances`]. The upper bound is
|
2714
|
+
///
|
2715
|
+
/// ```text
|
2716
|
+
/// total_core_instances * max_core_instance_size
|
2717
|
+
/// ```
|
2718
|
+
///
|
2719
|
+
/// where `max_core_instance_size` is rounded up to the size and alignment of
|
2720
|
+
/// the internal representation of the metadata.
|
2721
|
+
pub fn max_core_instance_size(&mut self, size: usize) -> &mut Self {
|
2722
|
+
self.config.limits.core_instance_size = size;
|
2723
|
+
self
|
2724
|
+
}
|
2725
|
+
|
2726
|
+
/// The maximum number of defined tables for a core module (default is `1`).
|
2727
|
+
///
|
2728
|
+
/// This value controls the capacity of the `VMTableDefinition` table in
|
2729
|
+
/// each instance's `VMContext` structure.
|
2730
|
+
///
|
2731
|
+
/// The allocated size of the table will be `tables *
|
2732
|
+
/// sizeof(VMTableDefinition)` for each instance regardless of how many
|
2733
|
+
/// tables are defined by an instance's module.
|
2734
|
+
pub fn max_tables_per_module(&mut self, tables: u32) -> &mut Self {
|
2735
|
+
self.config.limits.max_tables_per_module = tables;
|
2736
|
+
self
|
2737
|
+
}
|
2738
|
+
|
2739
|
+
/// The maximum table elements for any table defined in a module (default is
|
2740
|
+
/// `20000`).
|
2741
|
+
///
|
2742
|
+
/// If a table's minimum element limit is greater than this value, the
|
2743
|
+
/// module will fail to instantiate.
|
2744
|
+
///
|
2745
|
+
/// If a table's maximum element limit is unbounded or greater than this
|
2746
|
+
/// value, the maximum will be `table_elements` for the purpose of any
|
2747
|
+
/// `table.grow` instruction.
|
2748
|
+
///
|
2749
|
+
/// This value is used to reserve the maximum space for each supported
|
2750
|
+
/// table; table elements are pointer-sized in the Wasmtime runtime.
|
2751
|
+
/// Therefore, the space reserved for each instance is `tables *
|
2752
|
+
/// table_elements * sizeof::<*const ()>`.
|
2753
|
+
pub fn table_elements(&mut self, elements: u32) -> &mut Self {
|
2754
|
+
self.config.limits.table_elements = elements;
|
2755
|
+
self
|
2756
|
+
}
|
2757
|
+
|
2758
|
+
/// The maximum number of defined linear memories for a module (default is
|
2759
|
+
/// `1`).
|
2760
|
+
///
|
2761
|
+
/// This value controls the capacity of the `VMMemoryDefinition` table in
|
2762
|
+
/// each core instance's `VMContext` structure.
|
2763
|
+
///
|
2764
|
+
/// The allocated size of the table will be `memories *
|
2765
|
+
/// sizeof(VMMemoryDefinition)` for each core instance regardless of how
|
2766
|
+
/// many memories are defined by the core instance's module.
|
2767
|
+
pub fn max_memories_per_module(&mut self, memories: u32) -> &mut Self {
|
2768
|
+
self.config.limits.max_memories_per_module = memories;
|
2769
|
+
self
|
2770
|
+
}
|
2771
|
+
|
2772
|
+
/// The maximum byte size that any WebAssembly linear memory may grow to.
|
2773
|
+
///
|
2774
|
+
/// This option defaults to 10 MiB.
|
2775
|
+
///
|
2776
|
+
/// If a memory's minimum size is greater than this value, the module will
|
2777
|
+
/// fail to instantiate.
|
2778
|
+
///
|
2779
|
+
/// If a memory's maximum size is unbounded or greater than this value, the
|
2780
|
+
/// maximum will be `max_memory_size` for the purpose of any `memory.grow`
|
2781
|
+
/// instruction.
|
2782
|
+
///
|
2783
|
+
/// This value is used to control the maximum accessible space for each
|
2784
|
+
/// linear memory of a core instance.
|
2785
|
+
///
|
2786
|
+
/// The reservation size of each linear memory is controlled by the
|
2787
|
+
/// `static_memory_maximum_size` setting and this value cannot exceed the
|
2788
|
+
/// configured static memory maximum size.
|
2789
|
+
pub fn max_memory_size(&mut self, bytes: usize) -> &mut Self {
|
2790
|
+
self.config.limits.max_memory_size = bytes;
|
2791
|
+
self
|
2792
|
+
}
|
2793
|
+
|
2794
|
+
/// Configures whether memory protection keys (MPK) should be used for more
|
2795
|
+
/// efficient layout of pool-allocated memories.
|
2796
|
+
///
|
2797
|
+
/// When using the pooling allocator (see [`Config::allocation_strategy`],
|
2798
|
+
/// [`InstanceAllocationStrategy::Pooling`]), memory protection keys can
|
2799
|
+
/// reduce the total amount of allocated virtual memory by eliminating guard
|
2800
|
+
/// regions between WebAssembly memories in the pool. It does so by
|
2801
|
+
/// "coloring" memory regions with different memory keys and setting which
|
2802
|
+
/// regions are accessible each time executions switches from host to guest
|
2803
|
+
/// (or vice versa).
|
2804
|
+
///
|
2805
|
+
/// MPK is only available on Linux (called `pku` there) and recent x86
|
2806
|
+
/// systems; we check for MPK support at runtime by examining the `CPUID`
|
2807
|
+
/// register. This configuration setting can be in three states:
|
2808
|
+
///
|
2809
|
+
/// - `auto`: if MPK support is available the guard regions are removed; if
|
2810
|
+
/// not, the guard regions remain
|
2811
|
+
/// - `enable`: use MPK to eliminate guard regions; fail if MPK is not
|
2812
|
+
/// supported
|
2813
|
+
/// - `disable`: never use MPK
|
2814
|
+
///
|
2815
|
+
/// By default this value is `disabled`, but may become `auto` in future
|
2816
|
+
/// releases.
|
2817
|
+
///
|
2818
|
+
/// __WARNING__: this configuration options is still experimental--use at
|
2819
|
+
/// your own risk! MPK uses kernel and CPU features to protect memory
|
2820
|
+
/// regions; you may observe segmentation faults if anything is
|
2821
|
+
/// misconfigured.
|
2822
|
+
pub fn memory_protection_keys(&mut self, enable: MpkEnabled) -> &mut Self {
|
2823
|
+
self.config.memory_protection_keys = enable;
|
2824
|
+
self
|
2825
|
+
}
|
2826
|
+
|
2827
|
+
/// Sets an upper limit on how many memory protection keys (MPK) Wasmtime
|
2828
|
+
/// will use.
|
2829
|
+
///
|
2830
|
+
/// This setting is only applicable when
|
2831
|
+
/// [`PoolingAllocationConfig::memory_protection_keys`] is set to `enable`
|
2832
|
+
/// or `auto`. Configuring this above the HW and OS limits (typically 15)
|
2833
|
+
/// has no effect.
|
2834
|
+
///
|
2835
|
+
/// If multiple Wasmtime engines are used in the same process, note that all
|
2836
|
+
/// engines will share the same set of allocated keys; this setting will
|
2837
|
+
/// limit how many keys are allocated initially and thus available to all
|
2838
|
+
/// other engines.
|
2839
|
+
pub fn max_memory_protection_keys(&mut self, max: usize) -> &mut Self {
|
2840
|
+
self.config.max_memory_protection_keys = max;
|
2841
|
+
self
|
2842
|
+
}
|
2843
|
+
|
2844
|
+
/// Check if memory protection keys (MPK) are available on the current host.
|
2845
|
+
///
|
2846
|
+
/// This is a convenience method for determining MPK availability using the
|
2847
|
+
/// same method that [`MpkEnabled::Auto`] does. See
|
2848
|
+
/// [`PoolingAllocationConfig::memory_protection_keys`] for more
|
2849
|
+
/// information.
|
2850
|
+
pub fn are_memory_protection_keys_available() -> bool {
|
2851
|
+
mpk::is_supported()
|
2852
|
+
}
|
2853
|
+
|
2854
|
+
/// The maximum number of concurrent GC heaps supported (default is `1000`).
|
2855
|
+
///
|
2856
|
+
/// This value has a direct impact on the amount of memory allocated by the
|
2857
|
+
/// pooling instance allocator.
|
2858
|
+
///
|
2859
|
+
/// The pooling instance allocator allocates a GC heap pool, where each
|
2860
|
+
/// entry in the pool contains the space needed for each GC heap used by a
|
2861
|
+
/// store.
|
2862
|
+
#[cfg(feature = "gc")]
|
2863
|
+
pub fn total_gc_heaps(&mut self, count: u32) -> &mut Self {
|
2864
|
+
self.config.limits.total_gc_heaps = count;
|
2865
|
+
self
|
2866
|
+
}
|
2867
|
+
}
|
2868
|
+
|
2869
|
+
pub(crate) fn probestack_supported(arch: Architecture) -> bool {
|
2870
|
+
matches!(
|
2871
|
+
arch,
|
2872
|
+
Architecture::X86_64 | Architecture::Aarch64(_) | Architecture::Riscv64(_)
|
2873
|
+
)
|
2874
|
+
}
|
2875
|
+
|
2876
|
+
#[cfg(feature = "std")]
|
2877
|
+
fn detect_host_feature(feature: &str) -> Option<bool> {
|
2878
|
+
#[cfg(target_arch = "aarch64")]
|
2879
|
+
{
|
2880
|
+
return match feature {
|
2881
|
+
"lse" => Some(std::arch::is_aarch64_feature_detected!("lse")),
|
2882
|
+
"paca" => Some(std::arch::is_aarch64_feature_detected!("paca")),
|
2883
|
+
|
2884
|
+
_ => None,
|
2885
|
+
};
|
2886
|
+
}
|
2887
|
+
|
2888
|
+
// There is no is_s390x_feature_detected macro yet, so for now
|
2889
|
+
// we use getauxval from the libc crate directly.
|
2890
|
+
#[cfg(all(target_arch = "s390x", target_os = "linux"))]
|
2891
|
+
{
|
2892
|
+
let v = unsafe { libc::getauxval(libc::AT_HWCAP) };
|
2893
|
+
const HWCAP_S390X_VXRS_EXT2: libc::c_ulong = 32768;
|
2894
|
+
|
2895
|
+
return match feature {
|
2896
|
+
// There is no separate HWCAP bit for mie2, so assume
|
2897
|
+
// that any machine with vxrs_ext2 also has mie2.
|
2898
|
+
"vxrs_ext2" | "mie2" => Some((v & HWCAP_S390X_VXRS_EXT2) != 0),
|
2899
|
+
|
2900
|
+
_ => None,
|
2901
|
+
};
|
2902
|
+
}
|
2903
|
+
|
2904
|
+
#[cfg(target_arch = "riscv64")]
|
2905
|
+
{
|
2906
|
+
return match feature {
|
2907
|
+
// due to `is_riscv64_feature_detected` is not stable.
|
2908
|
+
// we cannot use it. For now lie and say all features are always
|
2909
|
+
// found to keep tests working.
|
2910
|
+
_ => Some(true),
|
2911
|
+
};
|
2912
|
+
}
|
2913
|
+
|
2914
|
+
#[cfg(target_arch = "x86_64")]
|
2915
|
+
{
|
2916
|
+
return match feature {
|
2917
|
+
"sse3" => Some(std::is_x86_feature_detected!("sse3")),
|
2918
|
+
"ssse3" => Some(std::is_x86_feature_detected!("ssse3")),
|
2919
|
+
"sse4.1" => Some(std::is_x86_feature_detected!("sse4.1")),
|
2920
|
+
"sse4.2" => Some(std::is_x86_feature_detected!("sse4.2")),
|
2921
|
+
"popcnt" => Some(std::is_x86_feature_detected!("popcnt")),
|
2922
|
+
"avx" => Some(std::is_x86_feature_detected!("avx")),
|
2923
|
+
"avx2" => Some(std::is_x86_feature_detected!("avx2")),
|
2924
|
+
"fma" => Some(std::is_x86_feature_detected!("fma")),
|
2925
|
+
"bmi1" => Some(std::is_x86_feature_detected!("bmi1")),
|
2926
|
+
"bmi2" => Some(std::is_x86_feature_detected!("bmi2")),
|
2927
|
+
"avx512bitalg" => Some(std::is_x86_feature_detected!("avx512bitalg")),
|
2928
|
+
"avx512dq" => Some(std::is_x86_feature_detected!("avx512dq")),
|
2929
|
+
"avx512f" => Some(std::is_x86_feature_detected!("avx512f")),
|
2930
|
+
"avx512vl" => Some(std::is_x86_feature_detected!("avx512vl")),
|
2931
|
+
"avx512vbmi" => Some(std::is_x86_feature_detected!("avx512vbmi")),
|
2932
|
+
"lzcnt" => Some(std::is_x86_feature_detected!("lzcnt")),
|
2933
|
+
|
2934
|
+
_ => None,
|
2935
|
+
};
|
2936
|
+
}
|
2937
|
+
|
2938
|
+
#[allow(unreachable_code)]
|
2939
|
+
{
|
2940
|
+
let _ = feature;
|
2941
|
+
return None;
|
2942
|
+
}
|
2943
|
+
}
|