wasmtime 16.0.0 → 17.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 +103 -79
- data/ext/Cargo.toml +7 -6
- data/ext/cargo-vendor/cranelift-bforest-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-bforest-0.104.0/Cargo.toml +40 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/Cargo.toml +175 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/build.rs +392 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/aarch64/inst.isle +4197 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/aarch64/lower/isle.rs +882 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isa/x64/abi.rs +1305 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/isle_prelude.rs +957 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/isle.rs +908 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/mod.rs +558 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/machinst/pcc.rs +159 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/arithmetic.isle +169 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/bitops.isle +188 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/cprop.isle +248 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/extends.isle +116 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/icmp.isle +197 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/selects.isle +77 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/shifts.isle +307 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts/spaceship.isle +194 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/opts.rs +265 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude.isle +641 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude_lower.isle +1073 -0
- data/ext/cargo-vendor/cranelift-codegen-0.104.0/src/prelude_opt.isle +134 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.104.0/Cargo.toml +35 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.104.0/Cargo.toml +22 -0
- data/ext/cargo-vendor/cranelift-control-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-control-0.104.0/Cargo.toml +30 -0
- data/ext/cargo-vendor/cranelift-entity-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-entity-0.104.0/Cargo.toml +50 -0
- data/ext/cargo-vendor/cranelift-entity-0.104.0/src/primary.rs +541 -0
- data/ext/cargo-vendor/cranelift-frontend-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-frontend-0.104.0/Cargo.toml +68 -0
- data/ext/cargo-vendor/cranelift-isle-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-isle-0.104.0/Cargo.toml +46 -0
- data/ext/cargo-vendor/cranelift-native-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-native-0.104.0/Cargo.toml +43 -0
- data/ext/cargo-vendor/cranelift-wasm-0.104.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-wasm-0.104.0/Cargo.toml +106 -0
- data/ext/cargo-vendor/cranelift-wasm-0.104.0/src/code_translator.rs +3646 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/Cargo.toml +49 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/README.md +52 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/clocks.rs +56 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/lib.rs +24 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/src/noop_scheduler.rs +25 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/clocks.rs +33 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/common/mod.rs +33 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/random.rs +17 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.18/tests/scheduler.rs +24 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/CHANGELOG.md +37 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/COPYRIGHT +12 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/Cargo.toml +37 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/LICENSE-APACHE +201 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/LICENSE-MIT +26 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/README.md +42 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/src/lib.rs +45 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/src/pcg128.rs +296 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/src/pcg64.rs +166 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/tests/lcg128xsl64.rs +77 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/tests/lcg64xsh32.rs +70 -0
- data/ext/cargo-vendor/rand_pcg-0.3.1/tests/mcg128xsl64.rs +75 -0
- data/ext/cargo-vendor/wasi-cap-std-sync-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasi-cap-std-sync-17.0.0/Cargo.toml +102 -0
- data/ext/cargo-vendor/wasi-common-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasi-common-17.0.0/Cargo.toml +131 -0
- data/ext/cargo-vendor/wasi-common-17.0.0/src/error.rs +26 -0
- data/ext/cargo-vendor/wasi-common-17.0.0/src/snapshots/preview_1/error.rs +266 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/Cargo.toml +211 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/component.rs +545 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/instance.rs +815 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/linker.rs +580 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/matching.rs +215 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/mod.rs +351 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/resource_table.rs +350 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/component/resources.rs +823 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/config.rs +2428 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/func/typed.rs +638 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/lib.rs +526 -0
- data/ext/cargo-vendor/wasmtime-17.0.0/src/store.rs +2389 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-17.0.0/Cargo.toml +22 -0
- data/ext/cargo-vendor/wasmtime-cache-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cache-17.0.0/Cargo.toml +81 -0
- data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/Cargo.toml +67 -0
- data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/src/bindgen.rs +371 -0
- data/ext/cargo-vendor/wasmtime-component-macro-17.0.0/tests/codegen/multiversion/root.wit +8 -0
- data/ext/cargo-vendor/wasmtime-component-util-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-util-17.0.0/Cargo.toml +25 -0
- data/ext/cargo-vendor/wasmtime-cranelift-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cranelift-17.0.0/Cargo.toml +112 -0
- data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cranelift-shared-17.0.0/Cargo.toml +71 -0
- data/ext/cargo-vendor/wasmtime-environ-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-environ-17.0.0/Cargo.lock +726 -0
- data/ext/cargo-vendor/wasmtime-environ-17.0.0/Cargo.toml +125 -0
- data/ext/cargo-vendor/wasmtime-environ-17.0.0/examples/factc.rs +205 -0
- data/ext/cargo-vendor/wasmtime-fiber-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-fiber-17.0.0/Cargo.toml +63 -0
- data/ext/cargo-vendor/wasmtime-jit-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-17.0.0/Cargo.toml +125 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-17.0.0/Cargo.toml +67 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-17.0.0/Cargo.toml +46 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/Cargo.toml +139 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/instance/allocator/pooling/memory_pool.rs +997 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/instance/allocator/pooling.rs +658 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/memory.rs +973 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/parking_spot.rs +622 -0
- data/ext/cargo-vendor/wasmtime-runtime-17.0.0/src/sys/windows/mmap.rs +216 -0
- data/ext/cargo-vendor/wasmtime-types-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-types-17.0.0/Cargo.toml +36 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-17.0.0/Cargo.toml +32 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/Cargo.toml +261 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/ctx.rs +333 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/filesystem.rs +325 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/clocks.rs +103 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/filesystem.rs +1069 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/instance_network.rs +15 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/network.rs +625 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/tcp.rs +605 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/host/udp.rs +530 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/mod.rs +327 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/network.rs +108 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/poll.rs +175 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/preview1.rs +2362 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/stream.rs +181 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/tcp.rs +335 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/src/preview2/udp.rs +125 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/api.rs +217 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/async_.rs +364 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/main.rs +112 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/preview1.rs +243 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/tests/all/sync.rs +303 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/command-extended.wit +6 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/command.wit +7 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/imports.wit +20 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/stdio.wit +17 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/cli/terminal.wit +49 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/monotonic-clock.wit +45 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/wall-clock.wit +42 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/clocks/world.wit +6 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/preopens.wit +8 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/types.wit +634 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/filesystem/world.wit +6 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/http/proxy.wit +32 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/http/types.wit +570 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/error.wit +34 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/poll.wit +41 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/streams.wit +251 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/io/world.wit +6 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/insecure-seed.wit +25 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/insecure.wit +22 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/random.wit +26 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/random/world.wit +7 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/ip-name-lookup.wit +51 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/network.wit +145 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/tcp-create-socket.wit +27 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/tcp.wit +309 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/udp-create-socket.wit +27 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/udp.wit +264 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/deps/sockets/world.wit +11 -0
- data/ext/cargo-vendor/wasmtime-wasi-17.0.0/wit/test.wit +22 -0
- data/ext/cargo-vendor/wasmtime-winch-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-winch-17.0.0/Cargo.toml +77 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/Cargo.toml +41 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-17.0.0/src/lib.rs +2097 -0
- data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wmemcheck-17.0.0/Cargo.toml +29 -0
- data/ext/cargo-vendor/wiggle-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-17.0.0/Cargo.toml +115 -0
- data/ext/cargo-vendor/wiggle-generate-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-generate-17.0.0/Cargo.toml +65 -0
- data/ext/cargo-vendor/wiggle-macro-17.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-macro-17.0.0/Cargo.toml +55 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/Cargo.toml +76 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/codegen/context.rs +553 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/codegen/env.rs +309 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/aarch64/masm.rs +457 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/x64/asm.rs +1149 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/isa/x64/masm.rs +1044 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/masm.rs +708 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/stack.rs +452 -0
- data/ext/cargo-vendor/winch-codegen-0.15.0/src/visitor.rs +1617 -0
- data/ext/src/helpers/mod.rs +4 -0
- data/ext/src/helpers/nogvl.rs +29 -0
- data/ext/src/helpers/tmplock.rs +45 -0
- data/ext/src/ruby_api/engine.rs +7 -3
- data/ext/src/ruby_api/mod.rs +3 -0
- data/ext/src/ruby_api/module.rs +22 -8
- data/ext/src/ruby_api/store.rs +66 -12
- data/ext/src/ruby_api/wasi_ctx.rs +110 -0
- data/ext/src/ruby_api/wasi_ctx_builder.rs +10 -7
- data/lib/wasmtime/version.rb +1 -1
- metadata +931 -904
- data/ext/cargo-vendor/cranelift-bforest-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-bforest-0.103.0/Cargo.toml +0 -40
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/Cargo.toml +0 -175
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/build.rs +0 -391
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/aarch64/inst.isle +0 -4193
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/aarch64/lower/isle.rs +0 -874
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/x64/abi.rs +0 -1300
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isle_prelude.rs +0 -977
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/isle.rs +0 -896
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/mod.rs +0 -557
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/pcc.rs +0 -160
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/arithmetic.isle +0 -152
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/bitops.isle +0 -198
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/cprop.isle +0 -237
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/extends.isle +0 -34
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/icmp.isle +0 -199
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/selects.isle +0 -76
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/shifts.isle +0 -310
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts.rs +0 -172
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude.isle +0 -649
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude_lower.isle +0 -1061
- data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude_opt.isle +0 -58
- data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/Cargo.toml +0 -35
- data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/Cargo.toml +0 -22
- data/ext/cargo-vendor/cranelift-control-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-control-0.103.0/Cargo.toml +0 -30
- data/ext/cargo-vendor/cranelift-entity-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-entity-0.103.0/Cargo.toml +0 -50
- data/ext/cargo-vendor/cranelift-entity-0.103.0/src/primary.rs +0 -516
- data/ext/cargo-vendor/cranelift-frontend-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-frontend-0.103.0/Cargo.toml +0 -68
- data/ext/cargo-vendor/cranelift-isle-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-isle-0.103.0/Cargo.toml +0 -46
- data/ext/cargo-vendor/cranelift-native-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-native-0.103.0/Cargo.toml +0 -43
- data/ext/cargo-vendor/cranelift-wasm-0.103.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-wasm-0.103.0/Cargo.toml +0 -106
- data/ext/cargo-vendor/cranelift-wasm-0.103.0/src/code_translator.rs +0 -3646
- data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/Cargo.toml +0 -102
- data/ext/cargo-vendor/wasi-common-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-common-16.0.0/Cargo.toml +0 -131
- data/ext/cargo-vendor/wasi-common-16.0.0/src/error.rs +0 -26
- data/ext/cargo-vendor/wasi-common-16.0.0/src/snapshots/preview_1/error.rs +0 -265
- data/ext/cargo-vendor/wasmtime-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-16.0.0/Cargo.toml +0 -211
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/component.rs +0 -505
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/instance.rs +0 -797
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/linker.rs +0 -523
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/matching.rs +0 -215
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/mod.rs +0 -349
- data/ext/cargo-vendor/wasmtime-16.0.0/src/component/resources.rs +0 -725
- data/ext/cargo-vendor/wasmtime-16.0.0/src/config.rs +0 -2422
- data/ext/cargo-vendor/wasmtime-16.0.0/src/func/typed.rs +0 -638
- data/ext/cargo-vendor/wasmtime-16.0.0/src/lib.rs +0 -520
- data/ext/cargo-vendor/wasmtime-16.0.0/src/store.rs +0 -2388
- data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/Cargo.toml +0 -22
- data/ext/cargo-vendor/wasmtime-cache-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cache-16.0.0/Cargo.toml +0 -81
- data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/Cargo.toml +0 -67
- data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/src/bindgen.rs +0 -371
- data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/tests/codegen/multiversion/root.wit +0 -7
- data/ext/cargo-vendor/wasmtime-component-util-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-util-16.0.0/Cargo.toml +0 -25
- data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/Cargo.toml +0 -112
- data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/Cargo.toml +0 -71
- data/ext/cargo-vendor/wasmtime-environ-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.lock +0 -660
- data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.toml +0 -125
- data/ext/cargo-vendor/wasmtime-environ-16.0.0/examples/factc.rs +0 -205
- data/ext/cargo-vendor/wasmtime-fiber-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-fiber-16.0.0/Cargo.toml +0 -63
- data/ext/cargo-vendor/wasmtime-jit-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-16.0.0/Cargo.toml +0 -125
- data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/Cargo.toml +0 -67
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/Cargo.toml +0 -46
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/Cargo.toml +0 -139
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling/memory_pool.rs +0 -1005
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling.rs +0 -698
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/memory.rs +0 -968
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/parking_spot.rs +0 -520
- data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/mmap.rs +0 -211
- data/ext/cargo-vendor/wasmtime-types-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-types-16.0.0/Cargo.toml +0 -36
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/Cargo.toml +0 -32
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/Cargo.toml +0 -261
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/ctx.rs +0 -325
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/filesystem.rs +0 -326
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/clocks.rs +0 -103
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/filesystem.rs +0 -1069
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/instance_network.rs +0 -15
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/network.rs +0 -570
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/tcp.rs +0 -632
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/udp.rs +0 -550
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/mod.rs +0 -328
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/network.rs +0 -57
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/poll.rs +0 -175
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/preview1.rs +0 -2348
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/stream.rs +0 -182
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/table.rs +0 -337
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/tcp.rs +0 -338
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/udp.rs +0 -118
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/api.rs +0 -218
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/async_.rs +0 -360
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/main.rs +0 -113
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/preview1.rs +0 -239
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/sync.rs +0 -299
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/command-extended.wit +0 -6
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/command.wit +0 -7
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/imports.wit +0 -20
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/stdio.wit +0 -17
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/terminal.wit +0 -47
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/monotonic-clock.wit +0 -45
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/wall-clock.wit +0 -42
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/clocks/world.wit +0 -6
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/preopens.wit +0 -8
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/types.wit +0 -634
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/filesystem/world.wit +0 -6
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/proxy.wit +0 -32
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/types.wit +0 -570
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/error.wit +0 -34
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/poll.wit +0 -41
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/streams.wit +0 -251
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/io/world.wit +0 -6
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/insecure-seed.wit +0 -25
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/insecure.wit +0 -22
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/random.wit +0 -26
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/random/world.wit +0 -7
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/ip-name-lookup.wit +0 -51
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/network.wit +0 -147
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/tcp-create-socket.wit +0 -26
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/tcp.wit +0 -321
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/udp-create-socket.wit +0 -26
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/udp.wit +0 -277
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/sockets/world.wit +0 -11
- data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/test.wit +0 -22
- data/ext/cargo-vendor/wasmtime-winch-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-winch-16.0.0/Cargo.toml +0 -77
- data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/Cargo.toml +0 -41
- data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/src/lib.rs +0 -2095
- data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/Cargo.toml +0 -29
- data/ext/cargo-vendor/wiggle-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-16.0.0/Cargo.toml +0 -115
- data/ext/cargo-vendor/wiggle-generate-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-generate-16.0.0/Cargo.toml +0 -65
- data/ext/cargo-vendor/wiggle-macro-16.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-macro-16.0.0/Cargo.toml +0 -55
- data/ext/cargo-vendor/winch-codegen-0.14.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/winch-codegen-0.14.0/Cargo.toml +0 -76
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/context.rs +0 -545
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/env.rs +0 -251
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/aarch64/masm.rs +0 -444
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/asm.rs +0 -1117
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/masm.rs +0 -994
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/masm.rs +0 -679
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/stack.rs +0 -436
- data/ext/cargo-vendor/winch-codegen-0.14.0/src/visitor.rs +0 -1383
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/node.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/path.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/pool.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.103.0 → cranelift-bforest-0.104.0}/src/set.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/benches/x64-evex-encoding.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/alias_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/binemit/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/binemit/stack_map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/bitset.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/cfg_printer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/context.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ctxhash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/cursor.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/data_value.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dbg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dce.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/dominator_tree.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/cost.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/domtree.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph/elaborate.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/egraph.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/flowgraph.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/fx.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/incremental_cache.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/inst_predicates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/atomic_rmw_op.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/builder.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/condcodes.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/constant.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/dfg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/dynamic_type.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/extfunc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/extname.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/function.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/globalvalue.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/immediates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/jumptable.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/known_symbol.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/layout.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/libcall.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/memflags.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/memtype.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/progpoint.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/sourceloc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/stackslot.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/trapcode.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/ir/types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/emit.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/inst_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/aarch64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/call_conv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/emit.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/encode.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst/vector.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/inst_vector.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/riscv64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/emit.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/inst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/s390x/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/evex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/rex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/encoding/vex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit_state.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/inst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/isa/x64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/iterators.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/globalvalue.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/legalizer/table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/loop_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/blockorder.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/buffer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/helpers.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/inst_common.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/reg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/valueregs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/machinst/vcode.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/nan_canonicalization.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/remat.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/opts/vector.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/print_errors.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/remove_constant_phis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/result.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/scoped_hash_map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/souper_harvest.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/timing.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/unionfind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/unreachable_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/value_label.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/verifier/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.103.0 → cranelift-codegen-0.104.0}/src/write.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/isa.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/operands.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/cdsl/typevar.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_inst.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/gen_types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/arm64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/s390x.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/isa/x86.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/immediates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/shared/types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/srcgen.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.103.0 → cranelift-codegen-meta-0.104.0}/src/unique_table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/constants.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.103.0 → cranelift-codegen-shared-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/chaos.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.103.0 → cranelift-control-0.104.0}/src/zero_sized.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/boxed_slice.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/iter.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/keys.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/list.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/packed_option.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/set.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/sparse.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.103.0 → cranelift-entity-0.104.0}/src/unsigned.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/frontend.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/ssa.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/switch.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.103.0 → cranelift-frontend-0.104.0}/src/variable.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/bad_converters.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/error1.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/extra_parens.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/impure_expression.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/impure_rhs.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/fail/multi_prio.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/borrows.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/borrows_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/iflets.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/iflets_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_constructor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_extractor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/multi_extractor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/test.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/link/test_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/bound_var.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/construct_and_extract.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/conversions.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/conversions_extern.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/let.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/nodebug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test2.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test3.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/test4.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/pass/tutorial.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/iconst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/iconst_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/let_shadowing.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/isle_examples/run/let_shadowing_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/ast.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/codegen.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/lexer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/log.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/overlap.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/parser.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/sema.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/serialize.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/src/trie_again.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.103.0 → cranelift-isle-0.104.0}/tests/run_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.103.0 → cranelift-native-0.104.0}/src/riscv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/code_translator/bounds_checks.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/dummy.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/environ/spec.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/func_translator.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/heap.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/module_translator.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/sections_translator.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/state.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/src/translation_utils.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/tests/wasm_testsuite.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/arith.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/br_table.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/call-simd.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/call.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_fannkuch.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_fasta.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_ifs.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/embenchen_primes.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/fac-multi-value.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/fibonacci.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/globals.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/icall-simd.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/icall.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-0.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-1.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-2.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-3.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-4.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-5.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-reachability-translation-6.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-unreachable-else-params-2.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/if-unreachable-else-params.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/memory.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-0.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-1.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-10.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-11.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-12.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-13.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-14.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-15.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-16.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-17.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-2.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-3.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-4.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-5.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-6.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-7.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-8.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/multi-9.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/nullref.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/passive-data.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/pr2303.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/pr2559.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/ref-func-0.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/rust_fannkuch.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/select.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/simd-store.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/simd.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/table-copy.wat +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.103.0 → cranelift-wasm-0.104.0}/wasmtests/unreachable_code.wat +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/net.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-cap-std-sync-16.0.0 → wasi-cap-std-sync-17.0.0}/src/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/docs/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/docs.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/docs.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/docs.html +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/docs.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/witx/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/proposal-template/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/proposals/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/snapshots/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/WASI/standard/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/ctx.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/pipe.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/random.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/sched/subscription.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/preview_0.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/snapshots/preview_1.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/string_array.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-16.0.0 → wasi-common-17.0.0}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/code.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/host.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/options.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func/typed.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/func.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/storage.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/store.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/component/values.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/coredump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/engine/serialization.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/engine.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals/global.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals/table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/externals.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/func.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/instance.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/limits.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/linker.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/memory.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/module/registry.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/module.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/profiling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/ref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/signatures.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/stack.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/context.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/data.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/store/func_refs.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/func.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/global.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/memory.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline/table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trampoline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/trap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/types/matching.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/v128.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/values.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-16.0.0 → wasmtime-17.0.0}/src/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-asm-macros-16.0.0 → wasmtime-asm-macros-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/config/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/config.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker/tests/system_time_stub.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/src/worker.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-16.0.0 → wasmtime-cache-17.0.0}/tests/cache_write_default_config.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/char.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/conventions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/direct-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/empty.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/flags.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/floats.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/function-new.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/integers.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/many-arguments.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multi-return.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/records.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/rename.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/resources-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/resources-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/share-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-functions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/simple-wasi.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/small-anonymous.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke-default.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/smoke.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/strings.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/use-paths.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/variants.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen/worlds-with-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-16.0.0 → wasmtime-component-macro-17.0.0}/tests/codegen.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-util-16.0.0 → wasmtime-component-util-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/SECURITY.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/compiler/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/address_transform.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/attr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/expression.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/line_program.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/range_info_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/refs.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/simulate.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/unit.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/transform/utils.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug/write_debuginfo.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/debug.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/func_environ.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-16.0.0 → wasmtime-cranelift-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/compiled_function.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/isa_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-shared-16.0.0 → wasmtime-cranelift-shared-17.0.0}/src/obj.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/address_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/builtin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/compilation.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/dfg.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/info.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate/adapt.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate/inline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/translate.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/types/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component/vmcomponent_offsets.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/core_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/signature.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/trampoline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/transcode.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact/traps.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/fact.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module_environ.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/module_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/obj.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/ref_bits.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/scopevec.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/stack_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/trap_encoding.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/tunables.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-16.0.0 → wasmtime-environ-17.0.0}/src/vmoffsets.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/arm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/x86.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/windows.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-16.0.0 → wasmtime-fiber-17.0.0}/src/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/code_memory.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/debug.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/demangling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/instantiate.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/jitdump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/perfmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling/vtune.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-16.0.0 → wasmtime-jit-17.0.0}/src/profiling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/gdb_jit_int.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-16.0.0 → wasmtime-jit-debug-17.0.0}/src/perf_jitdump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/libc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/miri.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-16.0.0 → wasmtime-jit-icache-coherence-17.0.0}/src/win.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/proptest-regressions/instance/allocator/pooling/memory_pool.txt +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/s390x.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/arch/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component/libcalls.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/cow.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/debug_builtins.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/export.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/externref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/helpers.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/on_demand.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/index_allocator.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/stack_pool.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator/pooling/table_pool.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance/allocator.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/instance.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/libcalls.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mmap_vec.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/module_id.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/pkru.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/mpk/sys.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/send_sync_ptr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/store_box.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/miri/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/machports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/macos_traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/mmap.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/signals.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/unix/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/unwind.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/sys/windows/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers/backtrace.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers/coredump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/vmcontext/vm_host_func_context.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-runtime-16.0.0 → wasmtime-runtime-17.0.0}/src/vmcontext.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-16.0.0 → wasmtime-types-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-16.0.0 → wasmtime-versioned-export-macros-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/clocks/host.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/command.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/env.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/exit.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/filesystem/sync.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/io.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/random.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/tcp_create_socket.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/host/udp_create_socket.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/ip_name_lookup.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/pipe.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/preview0.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/random.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/stdio/worker_thread_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/src/preview2/write_stream.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/tests/process_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/environment.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/exit.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/cli/run.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/http/handler.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/wit/deps/sockets/instance-network.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview0/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview0/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview1/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-16.0.0 → wasmtime-wasi-17.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-16.0.0 → wasmtime-winch-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/rust.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/source.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-16.0.0 → wasmtime-wit-bindgen-17.0.0}/src/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wmemcheck-16.0.0 → wasmtime-wmemcheck-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/borrow.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/guest_type.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/region.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-16.0.0 → wiggle-17.0.0}/src/wasmtime.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/codegen_settings.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/config.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/funcs.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/lifetimes.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/module_trait.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/names.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/flags.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/handle.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/mod.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/record.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/types/variant.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-16.0.0 → wiggle-generate-17.0.0}/src/wasmtime.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-macro-16.0.0 → wiggle-macro-17.0.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-macro-16.0.0 → wiggle-macro-17.0.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/build.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/abi/local.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/abi/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/builtin.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/call.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/control.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/codegen/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/frame/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/asm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/aarch64/regs.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/reg.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/isa/x64/regs.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/regalloc.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/regset.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.14.0 → winch-codegen-0.15.0}/src/trampoline.rs +0 -0
@@ -0,0 +1,997 @@
|
|
1
|
+
//! Implements a memory pool using a single allocated memory slab.
|
2
|
+
//!
|
3
|
+
//! The pooling instance allocator maps one large slab of memory in advance and
|
4
|
+
//! allocates WebAssembly memories from this slab--a [`MemoryPool`]. Each
|
5
|
+
//! WebAssembly memory is allocated in its own slot (see uses of `index` and
|
6
|
+
//! [`SlotId`] in this module):
|
7
|
+
//!
|
8
|
+
//! ```text
|
9
|
+
//! ┌──────┬──────┬──────┬──────┬──────┐
|
10
|
+
//! │Slot 0│Slot 1│Slot 2│Slot 3│......│
|
11
|
+
//! └──────┴──────┴──────┴──────┴──────┘
|
12
|
+
//! ```
|
13
|
+
//!
|
14
|
+
//! Diving deeper, we note that a [`MemoryPool`] protects Wasmtime from
|
15
|
+
//! out-of-bounds memory accesses by inserting inaccessible guard regions
|
16
|
+
//! between memory slots. These guard regions are configured to raise a signal
|
17
|
+
//! if they are accessed--a WebAssembly out-of-bounds (OOB) memory access. The
|
18
|
+
//! [`MemoryPool`] documentation has a more detailed chart but one can think of
|
19
|
+
//! memory slots being laid out like the following:
|
20
|
+
//!
|
21
|
+
//! ```text
|
22
|
+
//! ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
23
|
+
//! │Guard│Mem 0│Guard│Mem 1│Guard│Mem 2│.....│Guard│
|
24
|
+
//! └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
25
|
+
//! ```
|
26
|
+
//!
|
27
|
+
//! But we can be more efficient about guard regions: with memory protection
|
28
|
+
//! keys (MPK) enabled, the interleaved guard regions can be smaller. If we
|
29
|
+
//! surround a memory with memories from other instances and each instance is
|
30
|
+
//! protected by different protection keys, the guard region can be smaller AND
|
31
|
+
//! the pool will still raise a signal on an OOB access. This complicates how we
|
32
|
+
//! lay out memory slots: we must store memories from the same instance in the
|
33
|
+
//! same "stripe". Each stripe is protected by a different protection key.
|
34
|
+
//!
|
35
|
+
//! This concept, dubbed [ColorGuard] in the original paper, relies on careful
|
36
|
+
//! calculation of the memory sizes to prevent any "overlapping access" (see
|
37
|
+
//! [`calculate`]): there are limited protection keys available (15) so the next
|
38
|
+
//! memory using the same key must be at least as far away as the guard region
|
39
|
+
//! we would insert otherwise. This ends up looking like the following, where a
|
40
|
+
//! store for instance 0 (`I0`) "stripes" two memories (`M0` and `M1`) with the
|
41
|
+
//! same protection key 1 and far enough apart to signal an OOB access:
|
42
|
+
//!
|
43
|
+
//! ```text
|
44
|
+
//! ┌─────┬─────┬─────┬─────┬────────────────┬─────┬─────┬─────┐
|
45
|
+
//! │.....│I0:M1│.....│.....│.<enough slots>.│I0:M2│.....│.....│
|
46
|
+
//! ├─────┼─────┼─────┼─────┼────────────────┼─────┼─────┼─────┤
|
47
|
+
//! │.....│key 1│key 2│key 3│..<more keys>...│key 1│key 2│.....│
|
48
|
+
//! └─────┴─────┴─────┴─────┴────────────────┴─────┴─────┴─────┘
|
49
|
+
//! ```
|
50
|
+
//!
|
51
|
+
//! [ColorGuard]: https://plas2022.github.io/files/pdf/SegueColorGuard.pdf
|
52
|
+
|
53
|
+
use super::{
|
54
|
+
index_allocator::{MemoryInModule, ModuleAffinityIndexAllocator, SlotId},
|
55
|
+
MemoryAllocationIndex,
|
56
|
+
};
|
57
|
+
use crate::mpk::{self, ProtectionKey, ProtectionMask};
|
58
|
+
use crate::{
|
59
|
+
CompiledModuleId, InstanceAllocationRequest, InstanceLimits, Memory, MemoryImageSlot, Mmap,
|
60
|
+
MpkEnabled, PoolingInstanceAllocatorConfig,
|
61
|
+
};
|
62
|
+
use anyhow::{anyhow, bail, Context, Result};
|
63
|
+
use std::ffi::c_void;
|
64
|
+
use std::sync::atomic::{AtomicUsize, Ordering};
|
65
|
+
use std::sync::Mutex;
|
66
|
+
use wasmtime_environ::{
|
67
|
+
DefinedMemoryIndex, MemoryPlan, MemoryStyle, Module, Tunables, WASM_PAGE_SIZE,
|
68
|
+
};
|
69
|
+
|
70
|
+
/// A set of allocator slots.
|
71
|
+
///
|
72
|
+
/// The allocated slots can be split by striping them: e.g., with two stripe
|
73
|
+
/// colors 0 and 1, we would allocate all even slots using stripe 0 and all odd
|
74
|
+
/// slots using stripe 1.
|
75
|
+
///
|
76
|
+
/// This is helpful for the use of protection keys: (a) if a request comes to
|
77
|
+
/// allocate multiple instances, we can allocate them all from the same stripe
|
78
|
+
/// and (b) if a store wants to allocate more from the same stripe it can.
|
79
|
+
#[derive(Debug)]
|
80
|
+
struct Stripe {
|
81
|
+
allocator: ModuleAffinityIndexAllocator,
|
82
|
+
pkey: Option<ProtectionKey>,
|
83
|
+
}
|
84
|
+
|
85
|
+
/// Represents a pool of WebAssembly linear memories.
|
86
|
+
///
|
87
|
+
/// A linear memory is divided into accessible pages and guard pages. A memory
|
88
|
+
/// pool contains linear memories: each memory occupies a slot in an
|
89
|
+
/// allocated slab (i.e., `mapping`):
|
90
|
+
///
|
91
|
+
/// ```text
|
92
|
+
/// layout.max_memory_bytes layout.slot_bytes
|
93
|
+
/// | |
|
94
|
+
/// ◄─────┴────► ◄───────────┴──────────►
|
95
|
+
/// ┌───────────┬────────────┬───────────┐ ┌───────────┬───────────┬───────────┐
|
96
|
+
/// | PROT_NONE | | PROT_NONE | ... | | PROT_NONE | PROT_NONE |
|
97
|
+
/// └───────────┴────────────┴───────────┘ └───────────┴───────────┴───────────┘
|
98
|
+
/// | |◄──────────────────┬─────────────────────────────────► ◄────┬────►
|
99
|
+
/// | | | |
|
100
|
+
/// mapping | `layout.num_slots` memories layout.post_slab_guard_size
|
101
|
+
/// |
|
102
|
+
/// layout.pre_slab_guard_size
|
103
|
+
/// ```
|
104
|
+
#[derive(Debug)]
|
105
|
+
pub struct MemoryPool {
|
106
|
+
mapping: Mmap,
|
107
|
+
/// This memory pool is stripe-aware. If using memory protection keys, this
|
108
|
+
/// will contain one stripe per available key; otherwise, a single stripe
|
109
|
+
/// with an empty key.
|
110
|
+
stripes: Vec<Stripe>,
|
111
|
+
// If using a copy-on-write allocation scheme, the slot management. We
|
112
|
+
// dynamically transfer ownership of a slot to a Memory when in
|
113
|
+
// use.
|
114
|
+
image_slots: Vec<Mutex<Option<MemoryImageSlot>>>,
|
115
|
+
/// A description of the various memory sizes used in allocating the
|
116
|
+
/// `mapping` slab.
|
117
|
+
layout: SlabLayout,
|
118
|
+
// The maximum number of memories that a single core module instance may
|
119
|
+
// use.
|
120
|
+
//
|
121
|
+
// NB: this is needed for validation but does not affect the pool's size.
|
122
|
+
memories_per_instance: usize,
|
123
|
+
// How much linear memory, in bytes, to keep resident after resetting for
|
124
|
+
// use with the next instance. This much memory will be `memset` to zero
|
125
|
+
// when a linear memory is deallocated.
|
126
|
+
//
|
127
|
+
// Memory exceeding this amount in the wasm linear memory will be released
|
128
|
+
// with `madvise` back to the kernel.
|
129
|
+
//
|
130
|
+
// Only applicable on Linux.
|
131
|
+
keep_resident: usize,
|
132
|
+
// Keep track of protection keys handed out to initialized stores; this
|
133
|
+
// allows us to round-robin the assignment of stores to stripes.
|
134
|
+
next_available_pkey: AtomicUsize,
|
135
|
+
}
|
136
|
+
|
137
|
+
impl MemoryPool {
|
138
|
+
/// Create a new `MemoryPool`.
|
139
|
+
pub fn new(config: &PoolingInstanceAllocatorConfig, tunables: &Tunables) -> Result<Self> {
|
140
|
+
// The maximum module memory page count cannot exceed 65536 pages
|
141
|
+
if config.limits.memory_pages > 0x10000 {
|
142
|
+
bail!(
|
143
|
+
"module memory page limit of {} exceeds the maximum of 65536",
|
144
|
+
config.limits.memory_pages
|
145
|
+
);
|
146
|
+
}
|
147
|
+
|
148
|
+
let pkeys = match config.memory_protection_keys {
|
149
|
+
MpkEnabled::Auto => {
|
150
|
+
if mpk::is_supported() {
|
151
|
+
mpk::keys(config.max_memory_protection_keys)
|
152
|
+
} else {
|
153
|
+
&[]
|
154
|
+
}
|
155
|
+
}
|
156
|
+
MpkEnabled::Enable => {
|
157
|
+
if mpk::is_supported() {
|
158
|
+
mpk::keys(config.max_memory_protection_keys)
|
159
|
+
} else {
|
160
|
+
bail!("mpk is disabled on this system")
|
161
|
+
}
|
162
|
+
}
|
163
|
+
MpkEnabled::Disable => &[],
|
164
|
+
};
|
165
|
+
|
166
|
+
// This is a tricky bit of global state: when creating a memory pool
|
167
|
+
// that uses memory protection keys, we ensure here that any host code
|
168
|
+
// will have access to all keys (i.e., stripes). It's only when we enter
|
169
|
+
// the WebAssembly guest code (see `StoreInner::call_hook`) that we
|
170
|
+
// enforce which keys/stripes can be accessed. Be forewarned about the
|
171
|
+
// assumptions here:
|
172
|
+
// - we expect this "allow all" configuration to reset the default
|
173
|
+
// process state (only allow key 0) _before_ any memories are accessed
|
174
|
+
// - and we expect no other code (e.g., host-side code) to modify this
|
175
|
+
// global MPK configuration
|
176
|
+
if !pkeys.is_empty() {
|
177
|
+
mpk::allow(ProtectionMask::all());
|
178
|
+
}
|
179
|
+
|
180
|
+
// Create a slab layout and allocate it as a completely inaccessible
|
181
|
+
// region to start--`PROT_NONE`.
|
182
|
+
let constraints = SlabConstraints::new(&config.limits, tunables, pkeys.len())?;
|
183
|
+
let layout = calculate(&constraints)?;
|
184
|
+
log::debug!(
|
185
|
+
"creating memory pool: {constraints:?} -> {layout:?} (total: {})",
|
186
|
+
layout.total_slab_bytes()?
|
187
|
+
);
|
188
|
+
let mut mapping = Mmap::accessible_reserved(0, layout.total_slab_bytes()?)
|
189
|
+
.context("failed to create memory pool mapping")?;
|
190
|
+
|
191
|
+
// Then, stripe the memory with the available protection keys. This is
|
192
|
+
// unnecessary if there is only one stripe color.
|
193
|
+
if layout.num_stripes >= 2 {
|
194
|
+
let mut cursor = layout.pre_slab_guard_bytes;
|
195
|
+
let pkeys = &pkeys[..layout.num_stripes];
|
196
|
+
for i in 0..constraints.num_slots {
|
197
|
+
let pkey = &pkeys[i % pkeys.len()];
|
198
|
+
let region = unsafe { mapping.slice_mut(cursor..cursor + layout.slot_bytes) };
|
199
|
+
pkey.protect(region)?;
|
200
|
+
cursor += layout.slot_bytes;
|
201
|
+
}
|
202
|
+
debug_assert_eq!(
|
203
|
+
cursor + layout.post_slab_guard_bytes,
|
204
|
+
layout.total_slab_bytes()?
|
205
|
+
);
|
206
|
+
}
|
207
|
+
|
208
|
+
let image_slots: Vec<_> = std::iter::repeat_with(|| Mutex::new(None))
|
209
|
+
.take(constraints.num_slots)
|
210
|
+
.collect();
|
211
|
+
|
212
|
+
let create_stripe = |i| {
|
213
|
+
let num_slots = constraints.num_slots / layout.num_stripes
|
214
|
+
+ usize::from(constraints.num_slots % layout.num_stripes > i);
|
215
|
+
let allocator = ModuleAffinityIndexAllocator::new(
|
216
|
+
num_slots.try_into().unwrap(),
|
217
|
+
config.max_unused_warm_slots,
|
218
|
+
);
|
219
|
+
Stripe {
|
220
|
+
allocator,
|
221
|
+
pkey: pkeys.get(i).cloned(),
|
222
|
+
}
|
223
|
+
};
|
224
|
+
|
225
|
+
debug_assert!(layout.num_stripes > 0);
|
226
|
+
let stripes: Vec<_> = (0..layout.num_stripes)
|
227
|
+
.into_iter()
|
228
|
+
.map(create_stripe)
|
229
|
+
.collect();
|
230
|
+
|
231
|
+
let pool = Self {
|
232
|
+
stripes,
|
233
|
+
mapping,
|
234
|
+
image_slots,
|
235
|
+
layout,
|
236
|
+
memories_per_instance: usize::try_from(config.limits.max_memories_per_module).unwrap(),
|
237
|
+
keep_resident: config.linear_memory_keep_resident,
|
238
|
+
next_available_pkey: AtomicUsize::new(0),
|
239
|
+
};
|
240
|
+
|
241
|
+
Ok(pool)
|
242
|
+
}
|
243
|
+
|
244
|
+
/// Return a protection key that stores can use for requesting new
|
245
|
+
pub fn next_available_pkey(&self) -> Option<ProtectionKey> {
|
246
|
+
let index = self.next_available_pkey.fetch_add(1, Ordering::SeqCst) % self.stripes.len();
|
247
|
+
debug_assert!(
|
248
|
+
self.stripes.len() < 2 || self.stripes[index].pkey.is_some(),
|
249
|
+
"if we are using stripes, we cannot have an empty protection key"
|
250
|
+
);
|
251
|
+
self.stripes[index].pkey.clone()
|
252
|
+
}
|
253
|
+
|
254
|
+
/// Validate whether this memory pool supports the given module.
|
255
|
+
pub fn validate(&self, module: &Module) -> Result<()> {
|
256
|
+
let memories = module.memory_plans.len() - module.num_imported_memories;
|
257
|
+
if memories > usize::try_from(self.memories_per_instance).unwrap() {
|
258
|
+
bail!(
|
259
|
+
"defined memories count of {} exceeds the per-instance limit of {}",
|
260
|
+
memories,
|
261
|
+
self.memories_per_instance,
|
262
|
+
);
|
263
|
+
}
|
264
|
+
|
265
|
+
let max_memory_pages = self.layout.max_memory_bytes / WASM_PAGE_SIZE as usize;
|
266
|
+
for (i, plan) in module
|
267
|
+
.memory_plans
|
268
|
+
.iter()
|
269
|
+
.skip(module.num_imported_memories)
|
270
|
+
{
|
271
|
+
match plan.style {
|
272
|
+
MemoryStyle::Static { bound } => {
|
273
|
+
if self.layout.pages_to_next_stripe_slot() < bound {
|
274
|
+
bail!(
|
275
|
+
"memory size allocated per-memory is too small to \
|
276
|
+
satisfy static bound of {bound:#x} pages"
|
277
|
+
);
|
278
|
+
}
|
279
|
+
}
|
280
|
+
MemoryStyle::Dynamic { .. } => {}
|
281
|
+
}
|
282
|
+
if plan.memory.minimum > u64::try_from(max_memory_pages).unwrap() {
|
283
|
+
bail!(
|
284
|
+
"memory index {} has a minimum page size of {} which exceeds the limit of {}",
|
285
|
+
i.as_u32(),
|
286
|
+
plan.memory.minimum,
|
287
|
+
max_memory_pages,
|
288
|
+
);
|
289
|
+
}
|
290
|
+
}
|
291
|
+
Ok(())
|
292
|
+
}
|
293
|
+
|
294
|
+
/// Are zero slots in use right now?
|
295
|
+
pub fn is_empty(&self) -> bool {
|
296
|
+
self.stripes.iter().all(|s| s.allocator.is_empty())
|
297
|
+
}
|
298
|
+
|
299
|
+
/// Allocate a single memory for the given instance allocation request.
|
300
|
+
pub fn allocate(
|
301
|
+
&self,
|
302
|
+
request: &mut InstanceAllocationRequest,
|
303
|
+
memory_plan: &MemoryPlan,
|
304
|
+
memory_index: DefinedMemoryIndex,
|
305
|
+
) -> Result<(MemoryAllocationIndex, Memory)> {
|
306
|
+
let stripe_index = if let Some(pkey) = &request.pkey {
|
307
|
+
pkey.as_stripe()
|
308
|
+
} else {
|
309
|
+
debug_assert!(self.stripes.len() < 2);
|
310
|
+
0
|
311
|
+
};
|
312
|
+
|
313
|
+
let striped_allocation_index = self.stripes[stripe_index]
|
314
|
+
.allocator
|
315
|
+
.alloc(
|
316
|
+
request
|
317
|
+
.runtime_info
|
318
|
+
.unique_id()
|
319
|
+
.map(|id| MemoryInModule(id, memory_index)),
|
320
|
+
)
|
321
|
+
.map(|slot| StripedAllocationIndex(u32::try_from(slot.index()).unwrap()))
|
322
|
+
.ok_or_else(|| {
|
323
|
+
anyhow!(
|
324
|
+
"maximum concurrent memory limit of {} reached for stripe {}",
|
325
|
+
self.stripes[stripe_index].allocator.len(),
|
326
|
+
stripe_index
|
327
|
+
)
|
328
|
+
})?;
|
329
|
+
let allocation_index =
|
330
|
+
striped_allocation_index.as_unstriped_slot_index(stripe_index, self.stripes.len());
|
331
|
+
|
332
|
+
match (|| {
|
333
|
+
// Double-check that the runtime requirements of the memory are
|
334
|
+
// satisfied by the configuration of this pooling allocator. This
|
335
|
+
// should be returned as an error through `validate_memory_plans`
|
336
|
+
// but double-check here to be sure.
|
337
|
+
match memory_plan.style {
|
338
|
+
MemoryStyle::Static { bound } => {
|
339
|
+
assert!(bound <= self.layout.pages_to_next_stripe_slot());
|
340
|
+
}
|
341
|
+
MemoryStyle::Dynamic { .. } => {}
|
342
|
+
}
|
343
|
+
|
344
|
+
let base_ptr = self.get_base(allocation_index);
|
345
|
+
let base_capacity = self.layout.max_memory_bytes;
|
346
|
+
|
347
|
+
let mut slot = self.take_memory_image_slot(allocation_index);
|
348
|
+
let image = request.runtime_info.memory_image(memory_index)?;
|
349
|
+
let initial_size = memory_plan.memory.minimum * WASM_PAGE_SIZE as u64;
|
350
|
+
|
351
|
+
// If instantiation fails, we can propagate the error
|
352
|
+
// upward and drop the slot. This will cause the Drop
|
353
|
+
// handler to attempt to map the range with PROT_NONE
|
354
|
+
// memory, to reserve the space while releasing any
|
355
|
+
// stale mappings. The next use of this slot will then
|
356
|
+
// create a new slot that will try to map over
|
357
|
+
// this, returning errors as well if the mapping
|
358
|
+
// errors persist. The unmap-on-drop is best effort;
|
359
|
+
// if it fails, then we can still soundly continue
|
360
|
+
// using the rest of the pool and allowing the rest of
|
361
|
+
// the process to continue, because we never perform a
|
362
|
+
// mmap that would leave an open space for someone
|
363
|
+
// else to come in and map something.
|
364
|
+
slot.instantiate(initial_size as usize, image, memory_plan)?;
|
365
|
+
|
366
|
+
Memory::new_static(
|
367
|
+
memory_plan,
|
368
|
+
base_ptr,
|
369
|
+
base_capacity,
|
370
|
+
slot,
|
371
|
+
self.layout.bytes_to_next_stripe_slot(),
|
372
|
+
unsafe { &mut *request.store.get().unwrap() },
|
373
|
+
)
|
374
|
+
})() {
|
375
|
+
Ok(memory) => Ok((allocation_index, memory)),
|
376
|
+
Err(e) => {
|
377
|
+
self.stripes[stripe_index]
|
378
|
+
.allocator
|
379
|
+
.free(SlotId(striped_allocation_index.0));
|
380
|
+
Err(e)
|
381
|
+
}
|
382
|
+
}
|
383
|
+
}
|
384
|
+
|
385
|
+
/// Deallocate a previously-allocated memory.
|
386
|
+
///
|
387
|
+
/// # Safety
|
388
|
+
///
|
389
|
+
/// The memory must have been previously allocated from this pool and
|
390
|
+
/// assigned the given index, must currently be in an allocated state, and
|
391
|
+
/// must never be used again.
|
392
|
+
pub unsafe fn deallocate(&self, allocation_index: MemoryAllocationIndex, memory: Memory) {
|
393
|
+
let mut image = memory.unwrap_static_image();
|
394
|
+
|
395
|
+
// Reset the image slot. If there is any error clearing the
|
396
|
+
// image, just drop it here, and let the drop handler for the
|
397
|
+
// slot unmap in a way that retains the address space
|
398
|
+
// reservation.
|
399
|
+
if image.clear_and_remain_ready(self.keep_resident).is_ok() {
|
400
|
+
self.return_memory_image_slot(allocation_index, image);
|
401
|
+
}
|
402
|
+
|
403
|
+
let (stripe_index, striped_allocation_index) =
|
404
|
+
StripedAllocationIndex::from_unstriped_slot_index(allocation_index, self.stripes.len());
|
405
|
+
self.stripes[stripe_index]
|
406
|
+
.allocator
|
407
|
+
.free(SlotId(striped_allocation_index.0));
|
408
|
+
}
|
409
|
+
|
410
|
+
/// Purging everything related to `module`.
|
411
|
+
pub fn purge_module(&self, module: CompiledModuleId) {
|
412
|
+
// This primarily means clearing out all of its memory images present in
|
413
|
+
// the virtual address space. Go through the index allocator for slots
|
414
|
+
// affine to `module` and reset them, freeing up the index when we're
|
415
|
+
// done.
|
416
|
+
//
|
417
|
+
// Note that this is only called when the specified `module` won't be
|
418
|
+
// allocated further (the module is being dropped) so this shouldn't hit
|
419
|
+
// any sort of infinite loop since this should be the final operation
|
420
|
+
// working with `module`.
|
421
|
+
//
|
422
|
+
// TODO: We are given a module id, but key affinity by pair of module id
|
423
|
+
// and defined memory index. We are missing any defined memory index or
|
424
|
+
// count of how many memories the module defines here. Therefore, we
|
425
|
+
// probe up to the maximum number of memories per instance. This is fine
|
426
|
+
// because that maximum is generally relatively small. If this method
|
427
|
+
// somehow ever gets hot because of unnecessary probing, we should
|
428
|
+
// either pass in the actual number of defined memories for the given
|
429
|
+
// module to this method, or keep a side table of all slots that are
|
430
|
+
// associated with a module (not just module and memory). The latter
|
431
|
+
// would require care to make sure that its maintenance wouldn't be too
|
432
|
+
// expensive for normal allocation/free operations.
|
433
|
+
for stripe in &self.stripes {
|
434
|
+
for i in 0..self.memories_per_instance {
|
435
|
+
use wasmtime_environ::EntityRef;
|
436
|
+
let memory_index = DefinedMemoryIndex::new(i);
|
437
|
+
while let Some(id) = stripe
|
438
|
+
.allocator
|
439
|
+
.alloc_affine_and_clear_affinity(module, memory_index)
|
440
|
+
{
|
441
|
+
// Clear the image from the slot and, if successful, return it back
|
442
|
+
// to our state. Note that on failure here the whole slot will get
|
443
|
+
// paved over with an anonymous mapping.
|
444
|
+
let index = MemoryAllocationIndex(id.0);
|
445
|
+
let mut slot = self.take_memory_image_slot(index);
|
446
|
+
if slot.remove_image().is_ok() {
|
447
|
+
self.return_memory_image_slot(index, slot);
|
448
|
+
}
|
449
|
+
|
450
|
+
stripe.allocator.free(id);
|
451
|
+
}
|
452
|
+
}
|
453
|
+
}
|
454
|
+
}
|
455
|
+
|
456
|
+
fn get_base(&self, allocation_index: MemoryAllocationIndex) -> *mut u8 {
|
457
|
+
assert!(allocation_index.index() < self.layout.num_slots);
|
458
|
+
let offset =
|
459
|
+
self.layout.pre_slab_guard_bytes + allocation_index.index() * self.layout.slot_bytes;
|
460
|
+
unsafe { self.mapping.as_ptr().offset(offset as isize).cast_mut() }
|
461
|
+
}
|
462
|
+
|
463
|
+
/// Take ownership of the given image slot. Must be returned via
|
464
|
+
/// `return_memory_image_slot` when the instance is done using it.
|
465
|
+
fn take_memory_image_slot(&self, allocation_index: MemoryAllocationIndex) -> MemoryImageSlot {
|
466
|
+
let maybe_slot = self.image_slots[allocation_index.index()]
|
467
|
+
.lock()
|
468
|
+
.unwrap()
|
469
|
+
.take();
|
470
|
+
|
471
|
+
maybe_slot.unwrap_or_else(|| {
|
472
|
+
MemoryImageSlot::create(
|
473
|
+
self.get_base(allocation_index) as *mut c_void,
|
474
|
+
0,
|
475
|
+
self.layout.max_memory_bytes,
|
476
|
+
)
|
477
|
+
})
|
478
|
+
}
|
479
|
+
|
480
|
+
/// Return ownership of the given image slot.
|
481
|
+
fn return_memory_image_slot(
|
482
|
+
&self,
|
483
|
+
allocation_index: MemoryAllocationIndex,
|
484
|
+
slot: MemoryImageSlot,
|
485
|
+
) {
|
486
|
+
assert!(!slot.is_dirty());
|
487
|
+
*self.image_slots[allocation_index.index()].lock().unwrap() = Some(slot);
|
488
|
+
}
|
489
|
+
}
|
490
|
+
|
491
|
+
impl Drop for MemoryPool {
|
492
|
+
fn drop(&mut self) {
|
493
|
+
// Clear the `clear_no_drop` flag (i.e., ask to *not* clear on
|
494
|
+
// drop) for all slots, and then drop them here. This is
|
495
|
+
// valid because the one `Mmap` that covers the whole region
|
496
|
+
// can just do its one munmap.
|
497
|
+
for mut slot in std::mem::take(&mut self.image_slots) {
|
498
|
+
if let Some(slot) = slot.get_mut().unwrap() {
|
499
|
+
slot.no_clear_on_drop();
|
500
|
+
}
|
501
|
+
}
|
502
|
+
}
|
503
|
+
}
|
504
|
+
|
505
|
+
/// The index of a memory allocation within an `InstanceAllocator`.
|
506
|
+
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)]
|
507
|
+
pub struct StripedAllocationIndex(u32);
|
508
|
+
|
509
|
+
impl StripedAllocationIndex {
|
510
|
+
fn from_unstriped_slot_index(
|
511
|
+
index: MemoryAllocationIndex,
|
512
|
+
num_stripes: usize,
|
513
|
+
) -> (usize, Self) {
|
514
|
+
let stripe_index = index.index() % num_stripes;
|
515
|
+
let num_stripes: u32 = num_stripes.try_into().unwrap();
|
516
|
+
let index_within_stripe = Self(index.0 / num_stripes);
|
517
|
+
(stripe_index, index_within_stripe)
|
518
|
+
}
|
519
|
+
|
520
|
+
fn as_unstriped_slot_index(self, stripe: usize, num_stripes: usize) -> MemoryAllocationIndex {
|
521
|
+
let num_stripes: u32 = num_stripes.try_into().unwrap();
|
522
|
+
let stripe: u32 = stripe.try_into().unwrap();
|
523
|
+
MemoryAllocationIndex(self.0 * num_stripes + stripe)
|
524
|
+
}
|
525
|
+
}
|
526
|
+
|
527
|
+
#[derive(Clone, Debug)]
|
528
|
+
struct SlabConstraints {
|
529
|
+
/// Essentially, the `static_memory_bound`: this is an assumption that the
|
530
|
+
/// runtime and JIT compiler make about how much space will be guarded
|
531
|
+
/// between slots.
|
532
|
+
expected_slot_bytes: usize,
|
533
|
+
/// The maximum size of any memory in the pool.
|
534
|
+
max_memory_bytes: usize,
|
535
|
+
num_slots: usize,
|
536
|
+
num_pkeys_available: usize,
|
537
|
+
guard_bytes: usize,
|
538
|
+
guard_before_slots: bool,
|
539
|
+
}
|
540
|
+
|
541
|
+
impl SlabConstraints {
|
542
|
+
fn new(
|
543
|
+
limits: &InstanceLimits,
|
544
|
+
tunables: &Tunables,
|
545
|
+
num_pkeys_available: usize,
|
546
|
+
) -> Result<Self> {
|
547
|
+
// The maximum size a memory can grow to in this pool.
|
548
|
+
let max_memory_bytes = limits.memory_pages * u64::from(WASM_PAGE_SIZE);
|
549
|
+
|
550
|
+
// `static_memory_bound` is the configured number of Wasm pages for a
|
551
|
+
// static memory slot (see `Config::static_memory_maximum_size`); even
|
552
|
+
// if the memory never grows to this size (e.g., it has a lower memory
|
553
|
+
// maximum), codegen will assume that this unused memory is mapped
|
554
|
+
// `PROT_NONE`. Typically `static_memory_bound` is 4G which helps elide
|
555
|
+
// most bounds checks. `MemoryPool` must respect this bound, though not
|
556
|
+
// explicitly: if we can achieve the same effect via MPK-protected
|
557
|
+
// stripes, the slot size can be lower than the `static_memory_bound`.
|
558
|
+
let expected_slot_bytes = tunables.static_memory_bound * u64::from(WASM_PAGE_SIZE);
|
559
|
+
|
560
|
+
let constraints = SlabConstraints {
|
561
|
+
max_memory_bytes: max_memory_bytes
|
562
|
+
.try_into()
|
563
|
+
.context("max memory is too large")?,
|
564
|
+
num_slots: limits
|
565
|
+
.total_memories
|
566
|
+
.try_into()
|
567
|
+
.context("too many memories")?,
|
568
|
+
expected_slot_bytes: expected_slot_bytes
|
569
|
+
.try_into()
|
570
|
+
.context("static memory bound is too large")?,
|
571
|
+
num_pkeys_available,
|
572
|
+
guard_bytes: tunables
|
573
|
+
.static_memory_offset_guard_size
|
574
|
+
.try_into()
|
575
|
+
.context("guard region is too large")?,
|
576
|
+
guard_before_slots: tunables.guard_before_linear_memory,
|
577
|
+
};
|
578
|
+
Ok(constraints)
|
579
|
+
}
|
580
|
+
}
|
581
|
+
|
582
|
+
#[derive(Debug)]
|
583
|
+
struct SlabLayout {
|
584
|
+
/// The total number of slots available in the memory pool slab.
|
585
|
+
num_slots: usize,
|
586
|
+
/// The size of each slot in the memory pool; this contains the maximum
|
587
|
+
/// memory size (i.e., from WebAssembly or Wasmtime configuration) plus any
|
588
|
+
/// guard region after the memory to catch OOB access. On these guard
|
589
|
+
/// regions, note that:
|
590
|
+
/// - users can configure how aggressively (or not) to elide bounds checks
|
591
|
+
/// via `Config::static_memory_guard_size` (see also:
|
592
|
+
/// `memory_and_guard_size`)
|
593
|
+
/// - memory protection keys can compress the size of the guard region by
|
594
|
+
/// placing slots from a different key (i.e., a stripe) in the guard
|
595
|
+
/// region; this means the slot itself can be smaller and we can allocate
|
596
|
+
/// more of them.
|
597
|
+
slot_bytes: usize,
|
598
|
+
/// The maximum size that can become accessible, in bytes, for each linear
|
599
|
+
/// memory. Guaranteed to be a whole number of Wasm pages.
|
600
|
+
max_memory_bytes: usize,
|
601
|
+
/// If necessary, the number of bytes to reserve as a guard region at the
|
602
|
+
/// beginning of the slab.
|
603
|
+
pre_slab_guard_bytes: usize,
|
604
|
+
/// Like `pre_slab_guard_bytes`, but at the end of the slab.
|
605
|
+
post_slab_guard_bytes: usize,
|
606
|
+
/// The number of stripes needed in the slab layout.
|
607
|
+
num_stripes: usize,
|
608
|
+
}
|
609
|
+
|
610
|
+
impl SlabLayout {
|
611
|
+
/// Return the total size of the slab, using the final layout (where `n =
|
612
|
+
/// num_slots`):
|
613
|
+
///
|
614
|
+
/// ```text
|
615
|
+
/// ┌────────────────────┬──────┬──────┬───┬──────┬─────────────────────┐
|
616
|
+
/// │pre_slab_guard_bytes│slot 1│slot 2│...│slot n│post_slab_guard_bytes│
|
617
|
+
/// └────────────────────┴──────┴──────┴───┴──────┴─────────────────────┘
|
618
|
+
/// ```
|
619
|
+
fn total_slab_bytes(&self) -> Result<usize> {
|
620
|
+
self.slot_bytes
|
621
|
+
.checked_mul(self.num_slots)
|
622
|
+
.and_then(|c| c.checked_add(self.pre_slab_guard_bytes))
|
623
|
+
.and_then(|c| c.checked_add(self.post_slab_guard_bytes))
|
624
|
+
.ok_or_else(|| anyhow!("total size of memory reservation exceeds addressable memory"))
|
625
|
+
}
|
626
|
+
|
627
|
+
/// Returns the number of Wasm bytes from the beginning of one slot to the
|
628
|
+
/// next slot in the same stripe--this is the striped equivalent of
|
629
|
+
/// `static_memory_bound`. Recall that between slots of the same stripe we
|
630
|
+
/// will see a slot from every other stripe.
|
631
|
+
///
|
632
|
+
/// For example, in a 3-stripe pool, this function measures the distance
|
633
|
+
/// from the beginning of slot 1 to slot 4, which are of the same stripe:
|
634
|
+
///
|
635
|
+
/// ```text
|
636
|
+
/// ◄────────────────────►
|
637
|
+
/// ┌────────┬──────┬──────┬────────┬───┐
|
638
|
+
/// │*slot 1*│slot 2│slot 3│*slot 4*│...|
|
639
|
+
/// └────────┴──────┴──────┴────────┴───┘
|
640
|
+
/// ```
|
641
|
+
fn bytes_to_next_stripe_slot(&self) -> usize {
|
642
|
+
self.slot_bytes * self.num_stripes
|
643
|
+
}
|
644
|
+
|
645
|
+
/// Same as `bytes_to_next_stripe_slot` but in Wasm pages.
|
646
|
+
fn pages_to_next_stripe_slot(&self) -> u64 {
|
647
|
+
let bytes = self.bytes_to_next_stripe_slot();
|
648
|
+
let pages = bytes / WASM_PAGE_SIZE as usize;
|
649
|
+
u64::try_from(pages).unwrap()
|
650
|
+
}
|
651
|
+
}
|
652
|
+
|
653
|
+
fn calculate(constraints: &SlabConstraints) -> Result<SlabLayout> {
|
654
|
+
let SlabConstraints {
|
655
|
+
max_memory_bytes,
|
656
|
+
num_slots,
|
657
|
+
expected_slot_bytes,
|
658
|
+
num_pkeys_available,
|
659
|
+
guard_bytes,
|
660
|
+
guard_before_slots,
|
661
|
+
} = *constraints;
|
662
|
+
|
663
|
+
// If the user specifies a guard region, we always need to allocate a
|
664
|
+
// `PROT_NONE` region for it before any memory slots. Recall that we can
|
665
|
+
// avoid bounds checks for loads and stores with immediates up to
|
666
|
+
// `guard_bytes`, but we rely on Wasmtime to emit bounds checks for any
|
667
|
+
// accesses greater than this.
|
668
|
+
let pre_slab_guard_bytes = if guard_before_slots { guard_bytes } else { 0 };
|
669
|
+
|
670
|
+
// To calculate the slot size, we start with the default configured size and
|
671
|
+
// attempt to chip away at this via MPK protection. Note here how we begin
|
672
|
+
// to define a slot as "all of the memory and guard region."
|
673
|
+
let faulting_region_bytes = expected_slot_bytes
|
674
|
+
.max(max_memory_bytes)
|
675
|
+
.saturating_add(guard_bytes);
|
676
|
+
|
677
|
+
let (num_stripes, slot_bytes) = if guard_bytes == 0 || max_memory_bytes == 0 || num_slots == 0 {
|
678
|
+
// In the uncommon case where the memory/guard regions are empty or we don't need any slots , we
|
679
|
+
// will not need any stripes: we just lay out the slots back-to-back
|
680
|
+
// using a single stripe.
|
681
|
+
(1, faulting_region_bytes)
|
682
|
+
} else if num_pkeys_available < 2 {
|
683
|
+
// If we do not have enough protection keys to stripe the memory, we do
|
684
|
+
// the same. We can't elide any of the guard bytes because we aren't
|
685
|
+
// overlapping guard regions with other stripes...
|
686
|
+
(1, faulting_region_bytes)
|
687
|
+
} else {
|
688
|
+
// ...but if we can create at least two stripes, we can use another
|
689
|
+
// stripe (i.e., a different pkey) as this slot's guard region--this
|
690
|
+
// reduces the guard bytes each slot has to allocate. We must make
|
691
|
+
// sure, though, that if the size of that other stripe(s) does not
|
692
|
+
// fully cover `guard_bytes`, we keep those around to prevent OOB
|
693
|
+
// access.
|
694
|
+
|
695
|
+
// We first calculate the number of stripes we need: we want to
|
696
|
+
// minimize this so that there is less chance of a single store
|
697
|
+
// running out of slots with its stripe--we need at least two,
|
698
|
+
// though. But this is not just an optimization; we need to handle
|
699
|
+
// the case when there are fewer slots than stripes. E.g., if our
|
700
|
+
// pool is configured with only three slots (`num_memory_slots =
|
701
|
+
// 3`), we will run into failures if we attempt to set up more than
|
702
|
+
// three stripes.
|
703
|
+
let needed_num_stripes = faulting_region_bytes / max_memory_bytes
|
704
|
+
+ usize::from(faulting_region_bytes % max_memory_bytes != 0);
|
705
|
+
assert!(needed_num_stripes > 0);
|
706
|
+
let num_stripes = num_pkeys_available.min(needed_num_stripes).min(num_slots);
|
707
|
+
|
708
|
+
// Next, we try to reduce the slot size by "overlapping" the stripes: we
|
709
|
+
// can make slot `n` smaller since we know that slot `n+1` and following
|
710
|
+
// are in different stripes and will look just like `PROT_NONE` memory.
|
711
|
+
// Recall that codegen expects a guarantee that at least
|
712
|
+
// `faulting_region_bytes` will catch OOB accesses via segfaults.
|
713
|
+
let needed_slot_bytes = faulting_region_bytes
|
714
|
+
.checked_div(num_stripes)
|
715
|
+
.unwrap_or(faulting_region_bytes)
|
716
|
+
.max(max_memory_bytes);
|
717
|
+
assert!(needed_slot_bytes >= max_memory_bytes);
|
718
|
+
|
719
|
+
(num_stripes, needed_slot_bytes)
|
720
|
+
};
|
721
|
+
|
722
|
+
// The page-aligned slot size; equivalent to `memory_and_guard_size`.
|
723
|
+
let page_alignment = crate::page_size() - 1;
|
724
|
+
let slot_bytes = slot_bytes
|
725
|
+
.checked_add(page_alignment)
|
726
|
+
.and_then(|slot_bytes| Some(slot_bytes & !page_alignment))
|
727
|
+
.ok_or_else(|| anyhow!("slot size is too large"))?;
|
728
|
+
|
729
|
+
// We may need another guard region (like `pre_slab_guard_bytes`) at the end
|
730
|
+
// of our slab to maintain our `faulting_region_bytes` guarantee. We could
|
731
|
+
// be conservative and just create it as large as `faulting_region_bytes`,
|
732
|
+
// but because we know that the last slot's `slot_bytes` make up the first
|
733
|
+
// part of that region, we reduce the final guard region by that much.
|
734
|
+
let post_slab_guard_bytes = faulting_region_bytes.saturating_sub(slot_bytes);
|
735
|
+
|
736
|
+
// Check that we haven't exceeded the slab we can calculate given the limits
|
737
|
+
// of `usize`.
|
738
|
+
let layout = SlabLayout {
|
739
|
+
num_slots,
|
740
|
+
slot_bytes,
|
741
|
+
max_memory_bytes,
|
742
|
+
pre_slab_guard_bytes,
|
743
|
+
post_slab_guard_bytes,
|
744
|
+
num_stripes,
|
745
|
+
};
|
746
|
+
match layout.total_slab_bytes() {
|
747
|
+
Ok(_) => Ok(layout),
|
748
|
+
Err(e) => Err(e),
|
749
|
+
}
|
750
|
+
}
|
751
|
+
|
752
|
+
#[cfg(test)]
|
753
|
+
mod tests {
|
754
|
+
use super::*;
|
755
|
+
use crate::{InstanceLimits, PoolingInstanceAllocator};
|
756
|
+
use proptest::prelude::*;
|
757
|
+
use wasmtime_environ::WASM_PAGE_SIZE;
|
758
|
+
|
759
|
+
#[cfg(target_pointer_width = "64")]
|
760
|
+
#[test]
|
761
|
+
fn test_memory_pool() -> Result<()> {
|
762
|
+
let pool = MemoryPool::new(
|
763
|
+
&PoolingInstanceAllocatorConfig {
|
764
|
+
limits: InstanceLimits {
|
765
|
+
total_memories: 5,
|
766
|
+
max_tables_per_module: 0,
|
767
|
+
max_memories_per_module: 3,
|
768
|
+
table_elements: 0,
|
769
|
+
memory_pages: 1,
|
770
|
+
..Default::default()
|
771
|
+
},
|
772
|
+
..Default::default()
|
773
|
+
},
|
774
|
+
&Tunables {
|
775
|
+
static_memory_bound: 1,
|
776
|
+
static_memory_offset_guard_size: 0,
|
777
|
+
..Tunables::default()
|
778
|
+
},
|
779
|
+
)?;
|
780
|
+
|
781
|
+
assert_eq!(pool.layout.slot_bytes, WASM_PAGE_SIZE as usize);
|
782
|
+
assert_eq!(pool.layout.num_slots, 5);
|
783
|
+
assert_eq!(pool.layout.max_memory_bytes, WASM_PAGE_SIZE as usize);
|
784
|
+
|
785
|
+
let base = pool.mapping.as_ptr() as usize;
|
786
|
+
|
787
|
+
for i in 0..5 {
|
788
|
+
let index = MemoryAllocationIndex(i);
|
789
|
+
let ptr = pool.get_base(index);
|
790
|
+
assert_eq!(ptr as usize - base, i as usize * pool.layout.slot_bytes);
|
791
|
+
}
|
792
|
+
|
793
|
+
Ok(())
|
794
|
+
}
|
795
|
+
|
796
|
+
#[test]
|
797
|
+
fn test_pooling_allocator_with_reservation_size_exceeded() {
|
798
|
+
let config = PoolingInstanceAllocatorConfig {
|
799
|
+
limits: InstanceLimits {
|
800
|
+
total_memories: 1,
|
801
|
+
memory_pages: 2,
|
802
|
+
..Default::default()
|
803
|
+
},
|
804
|
+
..PoolingInstanceAllocatorConfig::default()
|
805
|
+
};
|
806
|
+
let pool = PoolingInstanceAllocator::new(
|
807
|
+
&config,
|
808
|
+
&Tunables {
|
809
|
+
static_memory_bound: 1,
|
810
|
+
static_memory_offset_guard_size: 0,
|
811
|
+
..Tunables::default()
|
812
|
+
},
|
813
|
+
)
|
814
|
+
.unwrap();
|
815
|
+
assert_eq!(pool.memories.layout.max_memory_bytes, 2 * 65536);
|
816
|
+
}
|
817
|
+
|
818
|
+
#[test]
|
819
|
+
#[cfg_attr(miri, ignore)]
|
820
|
+
fn test_pooling_allocator_striping() {
|
821
|
+
if !mpk::is_supported() {
|
822
|
+
println!("skipping `test_pooling_allocator_striping` test; mpk is not supported");
|
823
|
+
return;
|
824
|
+
}
|
825
|
+
|
826
|
+
// Force the use of MPK.
|
827
|
+
let config = PoolingInstanceAllocatorConfig {
|
828
|
+
memory_protection_keys: MpkEnabled::Enable,
|
829
|
+
..PoolingInstanceAllocatorConfig::default()
|
830
|
+
};
|
831
|
+
let pool = MemoryPool::new(&config, &Tunables::default()).unwrap();
|
832
|
+
assert!(pool.stripes.len() >= 2);
|
833
|
+
|
834
|
+
let max_memory_slots = config.limits.total_memories;
|
835
|
+
dbg!(pool.stripes[0].allocator.num_empty_slots());
|
836
|
+
dbg!(pool.stripes[1].allocator.num_empty_slots());
|
837
|
+
let available_memory_slots: usize = pool
|
838
|
+
.stripes
|
839
|
+
.iter()
|
840
|
+
.map(|s| s.allocator.num_empty_slots())
|
841
|
+
.sum();
|
842
|
+
assert_eq!(max_memory_slots, available_memory_slots.try_into().unwrap());
|
843
|
+
}
|
844
|
+
|
845
|
+
#[test]
|
846
|
+
fn check_known_layout_calculations() {
|
847
|
+
for num_pkeys_available in 0..16 {
|
848
|
+
for num_memory_slots in [0, 1, 10, 64] {
|
849
|
+
for expected_slot_bytes in [0, 1 << 30 /* 1GB */, 4 << 30 /* 4GB */] {
|
850
|
+
for max_memory_bytes in
|
851
|
+
[0, 1 * WASM_PAGE_SIZE as usize, 10 * WASM_PAGE_SIZE as usize]
|
852
|
+
{
|
853
|
+
for guard_bytes in [0, 2 << 30 /* 2GB */] {
|
854
|
+
for guard_before_slots in [true, false] {
|
855
|
+
let constraints = SlabConstraints {
|
856
|
+
max_memory_bytes,
|
857
|
+
num_slots: num_memory_slots,
|
858
|
+
expected_slot_bytes,
|
859
|
+
num_pkeys_available,
|
860
|
+
guard_bytes,
|
861
|
+
guard_before_slots,
|
862
|
+
};
|
863
|
+
let layout = calculate(&constraints);
|
864
|
+
assert_slab_layout_invariants(constraints, layout.unwrap());
|
865
|
+
}
|
866
|
+
}
|
867
|
+
}
|
868
|
+
}
|
869
|
+
}
|
870
|
+
}
|
871
|
+
}
|
872
|
+
|
873
|
+
proptest! {
|
874
|
+
#[test]
|
875
|
+
#[cfg_attr(miri, ignore)]
|
876
|
+
fn check_random_layout_calculations(c in constraints()) {
|
877
|
+
if let Ok(l) = calculate(&c) {
|
878
|
+
assert_slab_layout_invariants(c, l);
|
879
|
+
}
|
880
|
+
}
|
881
|
+
}
|
882
|
+
|
883
|
+
fn constraints() -> impl Strategy<Value = SlabConstraints> {
|
884
|
+
(
|
885
|
+
any::<usize>(),
|
886
|
+
any::<usize>(),
|
887
|
+
any::<usize>(),
|
888
|
+
any::<usize>(),
|
889
|
+
any::<usize>(),
|
890
|
+
any::<bool>(),
|
891
|
+
)
|
892
|
+
.prop_map(
|
893
|
+
|(
|
894
|
+
max_memory_bytes,
|
895
|
+
num_memory_slots,
|
896
|
+
expected_slot_bytes,
|
897
|
+
num_pkeys_available,
|
898
|
+
guard_bytes,
|
899
|
+
guard_before_slots,
|
900
|
+
)| {
|
901
|
+
SlabConstraints {
|
902
|
+
max_memory_bytes,
|
903
|
+
num_slots: num_memory_slots,
|
904
|
+
expected_slot_bytes,
|
905
|
+
num_pkeys_available,
|
906
|
+
guard_bytes,
|
907
|
+
guard_before_slots,
|
908
|
+
}
|
909
|
+
},
|
910
|
+
)
|
911
|
+
}
|
912
|
+
|
913
|
+
fn assert_slab_layout_invariants(c: SlabConstraints, s: SlabLayout) {
|
914
|
+
// Check that all the sizes add up.
|
915
|
+
assert_eq!(
|
916
|
+
s.total_slab_bytes().unwrap(),
|
917
|
+
s.pre_slab_guard_bytes + s.slot_bytes * c.num_slots + s.post_slab_guard_bytes,
|
918
|
+
"the slab size does not add up: {c:?} => {s:?}"
|
919
|
+
);
|
920
|
+
assert!(
|
921
|
+
s.slot_bytes >= s.max_memory_bytes,
|
922
|
+
"slot is not big enough: {c:?} => {s:?}"
|
923
|
+
);
|
924
|
+
|
925
|
+
// Check that the various memory values are page-aligned.
|
926
|
+
assert!(
|
927
|
+
is_aligned(s.slot_bytes),
|
928
|
+
"slot is not page-aligned: {c:?} => {s:?}",
|
929
|
+
);
|
930
|
+
assert!(
|
931
|
+
is_aligned(s.max_memory_bytes),
|
932
|
+
"slot guard region is not page-aligned: {c:?} => {s:?}",
|
933
|
+
);
|
934
|
+
assert!(
|
935
|
+
is_aligned(s.pre_slab_guard_bytes),
|
936
|
+
"pre-slab guard region is not page-aligned: {c:?} => {s:?}"
|
937
|
+
);
|
938
|
+
assert!(
|
939
|
+
is_aligned(s.post_slab_guard_bytes),
|
940
|
+
"post-slab guard region is not page-aligned: {c:?} => {s:?}"
|
941
|
+
);
|
942
|
+
assert!(
|
943
|
+
is_aligned(s.total_slab_bytes().unwrap()),
|
944
|
+
"slab is not page-aligned: {c:?} => {s:?}"
|
945
|
+
);
|
946
|
+
|
947
|
+
// Check that we use no more or less stripes than needed.
|
948
|
+
assert!(s.num_stripes >= 1, "not enough stripes: {c:?} => {s:?}");
|
949
|
+
if c.num_pkeys_available == 0 || c.num_slots == 0 {
|
950
|
+
assert_eq!(
|
951
|
+
s.num_stripes, 1,
|
952
|
+
"expected at least one stripe: {c:?} => {s:?}"
|
953
|
+
);
|
954
|
+
} else {
|
955
|
+
assert!(
|
956
|
+
s.num_stripes <= c.num_pkeys_available,
|
957
|
+
"layout has more stripes than available pkeys: {c:?} => {s:?}"
|
958
|
+
);
|
959
|
+
assert!(
|
960
|
+
s.num_stripes <= c.num_slots,
|
961
|
+
"layout has more stripes than memory slots: {c:?} => {s:?}"
|
962
|
+
);
|
963
|
+
}
|
964
|
+
|
965
|
+
// Check that we use the minimum number of stripes/protection keys.
|
966
|
+
// - if the next MPK-protected slot is bigger or the same as the
|
967
|
+
// required guard region, we only need two stripes
|
968
|
+
// - if the next slot is smaller than the guard region, we only need
|
969
|
+
// enough stripes to add up to at least that guard region size.
|
970
|
+
if c.num_pkeys_available > 1 && c.max_memory_bytes > 0 {
|
971
|
+
assert!(
|
972
|
+
s.num_stripes <= (c.guard_bytes / c.max_memory_bytes) + 2,
|
973
|
+
"calculated more stripes than needed: {c:?} => {s:?}"
|
974
|
+
);
|
975
|
+
}
|
976
|
+
|
977
|
+
// Check that the memory-striping will not allow OOB access.
|
978
|
+
// - we may have reduced the slot size from `expected_slot_bytes` to
|
979
|
+
// `slot_bytes` assuming MPK striping; we check that our guaranteed
|
980
|
+
// "faulting region" is respected
|
981
|
+
// - the last slot won't have MPK striping after it; we check that the
|
982
|
+
// `post_slab_guard_bytes` accounts for this
|
983
|
+
assert!(
|
984
|
+
s.bytes_to_next_stripe_slot()
|
985
|
+
>= c.expected_slot_bytes.max(c.max_memory_bytes) + c.guard_bytes,
|
986
|
+
"faulting region not large enough: {c:?} => {s:?}"
|
987
|
+
);
|
988
|
+
assert!(
|
989
|
+
s.slot_bytes + s.post_slab_guard_bytes >= c.expected_slot_bytes,
|
990
|
+
"last slot may allow OOB access: {c:?} => {s:?}"
|
991
|
+
);
|
992
|
+
}
|
993
|
+
|
994
|
+
fn is_aligned(bytes: usize) -> bool {
|
995
|
+
bytes % crate::page_size() == 0
|
996
|
+
}
|
997
|
+
}
|