wasmtime 22.0.0 → 23.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Cargo.lock +127 -90
- data/ext/Cargo.toml +5 -5
- data/ext/cargo-vendor/cranelift-bforest-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-bforest-0.110.2/Cargo.toml +50 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/Cargo.toml +60 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/compound.rs +508 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/lib.rs +19 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/scalar.rs +575 -0
- data/ext/cargo-vendor/cranelift-bitset-0.110.2/tests/bitset.rs +78 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/Cargo.toml +206 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/binemit/stack_map.rs +141 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/context.rs +390 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/data_value.rs +410 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/dfg.rs +1806 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/globalvalue.rs +147 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/immediates.rs +2109 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/instructions.rs +1015 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/jumptable.rs +168 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/mod.rs +110 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/trapcode.rs +148 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/types.rs +643 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/user_stack_maps.rs +101 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit.rs +3605 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit_tests.rs +7927 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/mod.rs +3058 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst.isle +4221 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/lower.isle +2969 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/mod.rs +259 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/mod.rs +462 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit.rs +2741 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit_tests.rs +2219 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/mod.rs +1935 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst.isle +3153 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower/isle.rs +654 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower.isle +2953 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/mod.rs +265 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit.rs +3421 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/mod.rs +3395 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/lower.isle +3983 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/mod.rs +220 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit.rs +4297 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_state.rs +65 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/mod.rs +2818 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst.isle +5299 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/lower.isle +4819 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/mod.rs +239 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isle_prelude.rs +965 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/legalizer/mod.rs +343 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/lib.rs +106 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/abi.rs +2427 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/buffer.rs +2544 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/helpers.rs +23 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/isle.rs +908 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/lower.rs +1462 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/mod.rs +564 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/vcode.rs +1840 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude.isle +654 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude_lower.isle +1070 -0
- data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/write.rs +660 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/Cargo.toml +45 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/types.rs +512 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/typevar.rs +980 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/gen_inst.rs +1278 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/instructions.rs +3760 -0
- data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/types.rs +143 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/Cargo.toml +31 -0
- data/ext/cargo-vendor/cranelift-control-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-control-0.110.2/Cargo.toml +39 -0
- data/ext/cargo-vendor/cranelift-entity-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-entity-0.110.2/Cargo.toml +66 -0
- data/ext/cargo-vendor/cranelift-entity-0.110.2/src/set.rs +193 -0
- data/ext/cargo-vendor/cranelift-frontend-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-frontend-0.110.2/Cargo.toml +87 -0
- data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/frontend.rs +2867 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/Cargo.toml +60 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/src/codegen.rs +920 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/src/parser.rs +562 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/src/sema.rs +2503 -0
- data/ext/cargo-vendor/cranelift-isle-0.110.2/src/trie_again.rs +695 -0
- data/ext/cargo-vendor/cranelift-native-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-native-0.110.2/Cargo.toml +52 -0
- data/ext/cargo-vendor/cranelift-native-0.110.2/src/lib.rs +188 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/Cargo.toml +119 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator/bounds_checks.rs +731 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator.rs +3694 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/heap.rs +119 -0
- data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/sections_translator.rs +333 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/Cargo.toml +69 -0
- data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/termcolor-1.4.1/COPYING +3 -0
- data/ext/cargo-vendor/termcolor-1.4.1/Cargo.toml +40 -0
- data/ext/cargo-vendor/termcolor-1.4.1/LICENSE-MIT +21 -0
- data/ext/cargo-vendor/termcolor-1.4.1/README.md +110 -0
- data/ext/cargo-vendor/termcolor-1.4.1/UNLICENSE +24 -0
- data/ext/cargo-vendor/termcolor-1.4.1/rustfmt.toml +2 -0
- data/ext/cargo-vendor/termcolor-1.4.1/src/lib.rs +2572 -0
- data/ext/cargo-vendor/wasi-common-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasi-common-23.0.2/Cargo.toml +234 -0
- data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/mod.rs +135 -0
- data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/async_.rs +295 -0
- data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/sync.rs +284 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/Cargo.toml +49 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/component/types.rs +771 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/code.rs +3571 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/exports.rs +85 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/globals.rs +100 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/imports.rs +143 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/memories.rs +115 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tables.rs +121 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tags.rs +85 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/types.rs +663 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/lib.rs +218 -0
- data/ext/cargo-vendor/wasm-encoder-0.212.0/src/reencode.rs +1804 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +65 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/README.md +80 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/aliases.rs +160 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/builder.rs +455 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/canonicals.rs +159 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/components.rs +29 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/exports.rs +124 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/imports.rs +175 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/instances.rs +200 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/modules.rs +29 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/names.rs +149 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/start.rs +52 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +802 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component.rs +168 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +3947 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/custom.rs +73 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/data.rs +186 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/dump.rs +627 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/elements.rs +222 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/exports.rs +85 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/functions.rs +63 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/globals.rs +100 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/imports.rs +143 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/linking.rs +263 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/memories.rs +115 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/names.rs +298 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/producers.rs +181 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/start.rs +39 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tables.rs +129 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tags.rs +85 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +678 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core.rs +168 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/lib.rs +218 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/raw.rs +30 -0
- data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +2002 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.lock +669 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.toml +112 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/binary_reader.rs +1968 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/features.rs +166 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/lib.rs +814 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/parser.rs +1682 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/operators.rs +453 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/tables.rs +93 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/types.rs +1941 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/resources.rs +234 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/component.rs +3252 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core.rs +1454 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/operators.rs +4230 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/types.rs +4598 -0
- data/ext/cargo-vendor/wasmparser-0.212.0/src/validator.rs +1632 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/Cargo.toml +54 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/src/lib.rs +3221 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/src/operator.rs +1189 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/src/print.rs +190 -0
- data/ext/cargo-vendor/wasmprinter-0.212.0/tests/all.rs +48 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/Cargo.toml +399 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/build.rs +38 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/code_builder.rs +274 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/runtime.rs +167 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/compile.rs +881 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/config.rs +2902 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/engine/serialization.rs +893 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/engine.rs +719 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/lib.rs +406 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/jitdump.rs +65 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/perfmap.rs +47 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/vtune.rs +80 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent.rs +104 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code_memory.rs +337 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/mod.rs +488 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/component.rs +811 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/host.rs +439 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/options.rs +552 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/typed.rs +2497 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func.rs +688 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/instance.rs +846 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/linker.rs +673 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/matching.rs +216 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/mod.rs +663 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resources.rs +1132 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/values.rs +979 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/coredump.rs +339 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/debug.rs +165 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/global.rs +310 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/table.rs +480 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func/typed.rs +788 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func.rs +2593 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/disabled/rooting.rs +224 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/externref.rs +591 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/rooting.rs +1590 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instance.rs +989 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instantiate.rs +332 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/limits.rs +398 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/linker.rs +1498 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/memory.rs +1101 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module/registry.rs +353 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module.rs +1179 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/profiling.rs +280 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/stack.rs +72 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/data.rs +301 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store.rs +2873 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/func.rs +93 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/memory.rs +295 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/table.rs +28 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline.rs +75 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trap.rs +642 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types/matching.rs +428 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types.rs +2771 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/values.rs +966 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/arch/riscv64.rs +41 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/libcalls.rs +571 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/resources.rs +351 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component.rs +857 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/const_expr.rs +102 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/cow.rs +988 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/disabled.rs +23 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/drc.rs +964 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/free_list.rs +770 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_ref.rs +490 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_runtime.rs +505 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc.rs +244 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/on_demand.rs +219 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +199 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +703 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +990 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +279 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling.rs +793 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator.rs +808 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance.rs +1518 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/libcalls.rs +832 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/memory.rs +815 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap.rs +217 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap_vec.rs +159 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/module_id.rs +19 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/disabled.rs +43 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/enabled.rs +213 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/mod.rs +59 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/sys.rs +113 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mmap.rs +112 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mod.rs +34 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/unwind.rs +17 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/vm.rs +105 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/mmap.rs +98 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/unwind.rs +17 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/mmap.rs +159 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/signals.rs +407 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/unwind.rs +149 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/mmap.rs +220 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/unwind.rs +46 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/table.rs +898 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory.rs +235 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory_disabled.rs +104 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/traphandlers.rs +767 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext.rs +1246 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm.rs +403 -0
- data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime.rs +113 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/Cargo.toml +32 -0
- data/ext/cargo-vendor/wasmtime-cache-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cache-23.0.2/Cargo.toml +103 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/Cargo.toml +106 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/bindgen.rs +500 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/codegen.rs +698 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char.rs +268 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char_async.rs +291 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions.rs +706 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions_async.rs +757 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code.rs +194 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code_async.rs +213 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import.rs +120 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import_async.rs +132 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty.rs +74 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty_async.rs +80 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags.rs +743 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags_async.rs +791 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats.rs +343 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats_async.rs +376 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new.rs +94 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new_async.rs +103 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers.rs +873 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers_async.rs +976 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists.rs +1924 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists_async.rs +2114 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments.rs +614 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments_async.rs +638 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return.rs +357 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return_async.rs +391 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion.rs +354 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion_async.rs +379 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records.rs +940 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records_async.rs +1008 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename.rs +183 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename_async.rs +202 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export.rs +657 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export_async.rs +712 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import.rs +1088 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import_async.rs +1166 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types.rs +315 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types_async.rs +337 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions.rs +399 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions_async.rs +439 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists.rs +427 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists_async.rs +464 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi.rs +245 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi_async.rs +264 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous.rs +338 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous_async.rs +356 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default.rs +94 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default_async.rs +103 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export.rs +149 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export_async.rs +158 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke.rs +133 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke_async.rs +146 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings.rs +316 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings_async.rs +344 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo.rs +165 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo_async.rs +178 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths.rs +317 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths_async.rs +349 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants.rs +1896 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants_async.rs +2019 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat.rs +145 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat_async.rs +151 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types.rs +175 -0
- data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types_async.rs +191 -0
- data/ext/cargo-vendor/wasmtime-component-util-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-component-util-23.0.2/Cargo.toml +35 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/Cargo.toml +125 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler.rs +1029 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/gc.rs +257 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/address_transform.rs +841 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/attr.rs +328 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/expression.rs +1264 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/line_program.rs +287 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/mod.rs +273 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/range_info_builder.rs +234 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/simulate.rs +423 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/unit.rs +520 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/utils.rs +165 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/write_debuginfo.rs +176 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug.rs +178 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/func_environ.rs +2721 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/gc/enabled.rs +648 -0
- data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/lib.rs +458 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.lock +792 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.toml +185 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/mod.rs +379 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_environ.rs +1264 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/dfg.rs +718 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/info.rs +683 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/names.rs +275 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/inline.rs +1333 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate.rs +993 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types.rs +1041 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder.rs +976 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component.rs +109 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/lib.rs +64 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module.rs +702 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/stack_map.rs +31 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/tunables.rs +165 -0
- data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/vmoffsets.rs +897 -0
- data/ext/cargo-vendor/wasmtime-fiber-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-fiber-23.0.2/Cargo.toml +75 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/Cargo.toml +77 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/Cargo.toml +62 -0
- data/ext/cargo-vendor/wasmtime-slab-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-slab-23.0.2/Cargo.toml +31 -0
- data/ext/cargo-vendor/wasmtime-types-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-types-23.0.2/Cargo.toml +71 -0
- data/ext/cargo-vendor/wasmtime-types-23.0.2/src/lib.rs +1760 -0
- data/ext/cargo-vendor/wasmtime-types-23.0.2/src/prelude.rs +86 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/Cargo.toml +40 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/Cargo.toml +215 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/bindings.rs +561 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/filesystem.rs +448 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem.rs +1091 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/io.rs +391 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/lib.rs +419 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview1.rs +2801 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/stdio.rs +596 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/api.rs +197 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/async_.rs +397 -0
- data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/sync.rs +331 -0
- data/ext/cargo-vendor/wasmtime-winch-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-winch-23.0.2/Cargo.toml +92 -0
- data/ext/cargo-vendor/wasmtime-winch-23.0.2/src/compiler.rs +242 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/Cargo.toml +57 -0
- data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/lib.rs +2777 -0
- data/ext/cargo-vendor/wast-215.0.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wast-215.0.0/Cargo.toml +101 -0
- data/ext/cargo-vendor/wast-215.0.0/src/component/binary.rs +1014 -0
- data/ext/cargo-vendor/wast-215.0.0/src/component/component.rs +320 -0
- data/ext/cargo-vendor/wast-215.0.0/src/component/expand.rs +875 -0
- data/ext/cargo-vendor/wast-215.0.0/src/component/resolve.rs +988 -0
- data/ext/cargo-vendor/wast-215.0.0/src/component.rs +28 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf.rs +610 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf_disabled.rs +41 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/binary.rs +1542 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/expr.rs +2110 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/memory.rs +279 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/module.rs +215 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/deinline_import_export.rs +232 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/names.rs +791 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/types.rs +270 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/table.rs +308 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core/types.rs +1057 -0
- data/ext/cargo-vendor/wast-215.0.0/src/core.rs +30 -0
- data/ext/cargo-vendor/wast-215.0.0/src/lib.rs +556 -0
- data/ext/cargo-vendor/wast-215.0.0/src/parser.rs +1434 -0
- data/ext/cargo-vendor/wast-215.0.0/src/wat.rs +68 -0
- data/ext/cargo-vendor/wat-1.215.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wat-1.215.0/Cargo.toml +56 -0
- data/ext/cargo-vendor/wat-1.215.0/src/lib.rs +469 -0
- data/ext/cargo-vendor/wiggle-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-23.0.2/Cargo.toml +110 -0
- data/ext/cargo-vendor/wiggle-generate-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-generate-23.0.2/Cargo.toml +76 -0
- data/ext/cargo-vendor/wiggle-macro-23.0.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wiggle-macro-23.0.2/Cargo.toml +59 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/COPYING +3 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +53 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/LICENSE-MIT +21 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/README.md +64 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/UNLICENSE +24 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/rustfmt.toml +2 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/src/console.rs +407 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/src/file.rs +166 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/src/lib.rs +35 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/src/sysinfo.rs +161 -0
- data/ext/cargo-vendor/winapi-util-0.1.9/src/win.rs +246 -0
- data/ext/cargo-vendor/winch-codegen-0.21.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/winch-codegen-0.21.2/Cargo.toml +87 -0
- data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/env.rs +449 -0
- data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/mod.rs +878 -0
- data/ext/cargo-vendor/winch-codegen-0.21.2/src/visitor.rs +2154 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/Cargo.toml +112 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/lex.rs +751 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/resolve.rs +1539 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/ast.rs +1851 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/decoding.rs +1798 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/lib.rs +888 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/src/resolve.rs +2740 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit.json +308 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/a.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/b.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package.wit.json +250 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +2 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +2 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/packages.wit +13 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps.wit.json +83 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +9 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/packages.wit +11 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps.wit.json +116 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit.json +130 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit +15 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit.json +87 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit.json +130 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit.json +130 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit +11 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit.json +70 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit +3 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit.result +1 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit +13 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit.result +8 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit.result +1 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit +23 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +9 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit +11 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
- data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit.json +583 -0
- data/ext/src/ruby_api/memory.rs +2 -1
- data/lib/wasmtime/version.rb +1 -1
- metadata +1736 -1643
- data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +0 -41
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +0 -193
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/binemit/stack_map.rs +0 -155
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/bitset.rs +0 -187
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +0 -384
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/data_value.rs +0 -385
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +0 -1777
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/globalvalue.rs +0 -147
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +0 -1612
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/instructions.rs +0 -1020
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/jumptable.rs +0 -168
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/mod.rs +0 -108
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/trapcode.rs +0 -149
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +0 -627
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +0 -3584
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +0 -7901
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +0 -3060
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +0 -4218
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/lower.isle +0 -2933
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/mod.rs +0 -242
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/mod.rs +0 -449
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +0 -2682
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +0 -2215
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +0 -1938
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +0 -3127
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +0 -649
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +0 -2923
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +0 -260
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +0 -3401
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +0 -3401
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +0 -3995
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/mod.rs +0 -215
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +0 -4287
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +0 -52
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +0 -2821
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +0 -5289
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +0 -4810
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/mod.rs +0 -234
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +0 -986
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/legalizer/mod.rs +0 -348
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +0 -106
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +0 -2419
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +0 -2508
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/helpers.rs +0 -33
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +0 -909
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +0 -1432
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +0 -551
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +0 -1741
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +0 -664
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +0 -1073
- data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +0 -638
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +0 -36
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +0 -496
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/typevar.rs +0 -980
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_inst.rs +0 -1278
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/instructions.rs +0 -3791
- data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/types.rs +0 -137
- data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +0 -22
- data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +0 -30
- data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +0 -53
- data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +0 -290
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +0 -68
- data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +0 -1857
- data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +0 -47
- data/ext/cargo-vendor/cranelift-isle-0.109.0/src/codegen.rs +0 -886
- data/ext/cargo-vendor/cranelift-isle-0.109.0/src/parser.rs +0 -562
- data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +0 -2492
- data/ext/cargo-vendor/cranelift-isle-0.109.0/src/trie_again.rs +0 -684
- data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +0 -43
- data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +0 -188
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +0 -110
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator/bounds_checks.rs +0 -713
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +0 -3695
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/heap.rs +0 -116
- data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +0 -343
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +0 -48
- data/ext/cargo-vendor/memoffset-0.9.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/memoffset-0.9.0/Cargo.toml +0 -37
- data/ext/cargo-vendor/memoffset-0.9.0/LICENSE +0 -19
- data/ext/cargo-vendor/memoffset-0.9.0/README.md +0 -85
- data/ext/cargo-vendor/memoffset-0.9.0/build.rs +0 -25
- data/ext/cargo-vendor/memoffset-0.9.0/src/lib.rs +0 -94
- data/ext/cargo-vendor/memoffset-0.9.0/src/offset_of.rs +0 -400
- data/ext/cargo-vendor/memoffset-0.9.0/src/raw_field.rs +0 -226
- data/ext/cargo-vendor/memoffset-0.9.0/src/span_of.rs +0 -263
- data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +0 -224
- data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/mod.rs +0 -137
- data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/async_.rs +0 -293
- data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/sync.rs +0 -279
- data/ext/cargo-vendor/wasm-encoder-0.209.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasm-encoder-0.209.1/Cargo.toml +0 -46
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/component/types.rs +0 -792
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/code.rs +0 -3595
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/exports.rs +0 -98
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/globals.rs +0 -112
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/imports.rs +0 -157
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/memories.rs +0 -128
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tables.rs +0 -134
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tags.rs +0 -104
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/types.rs +0 -678
- data/ext/cargo-vendor/wasm-encoder-0.209.1/src/lib.rs +0 -215
- data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +0 -662
- data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +0 -109
- data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +0 -1929
- data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +0 -164
- data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +0 -814
- data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +0 -1682
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +0 -423
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/tables.rs +0 -93
- data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +0 -1788
- data/ext/cargo-vendor/wasmparser-0.209.1/src/resources.rs +0 -235
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +0 -3236
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +0 -1464
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +0 -4231
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +0 -4550
- data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +0 -1633
- data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +0 -51
- data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +0 -3225
- data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +0 -1171
- data/ext/cargo-vendor/wasmprinter-0.209.1/tests/all.rs +0 -293
- data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +0 -387
- data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +0 -42
- data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/code_builder.rs +0 -275
- data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +0 -167
- data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +0 -917
- data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +0 -2943
- data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +0 -890
- data/ext/cargo-vendor/wasmtime-22.0.0/src/engine.rs +0 -728
- data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +0 -389
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +0 -67
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +0 -48
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/vtune.rs +0 -81
- data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent.rs +0 -106
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +0 -338
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +0 -489
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +0 -656
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/host.rs +0 -440
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/options.rs +0 -555
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +0 -2498
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +0 -689
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +0 -810
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +0 -854
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +0 -217
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +0 -657
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resources.rs +0 -1133
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/values.rs +0 -980
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/coredump.rs +0 -342
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +0 -166
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +0 -310
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +0 -481
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +0 -780
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +0 -2564
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/rooting.rs +0 -224
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +0 -592
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/rooting.rs +0 -1588
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +0 -992
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +0 -337
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/limits.rs +0 -399
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +0 -1499
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/memory.rs +0 -998
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +0 -353
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +0 -1322
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/profiling.rs +0 -221
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/stack.rs +0 -73
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/data.rs +0 -301
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +0 -2824
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +0 -94
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +0 -287
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/table.rs +0 -29
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline.rs +0 -78
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trap.rs +0 -642
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types/matching.rs +0 -421
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +0 -2580
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +0 -966
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/arch/riscv64.rs +0 -41
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/libcalls.rs +0 -571
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +0 -352
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +0 -857
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/const_expr.rs +0 -102
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +0 -972
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/disabled.rs +0 -24
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/drc.rs +0 -968
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/free_list.rs +0 -771
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +0 -491
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_runtime.rs +0 -506
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc.rs +0 -245
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +0 -220
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -194
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -94
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -78
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -707
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -975
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -245
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -278
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +0 -794
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +0 -801
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +0 -1514
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/libcalls.rs +0 -834
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +0 -736
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap.rs +0 -220
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap_vec.rs +0 -162
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/module_id.rs +0 -43
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/disabled.rs +0 -43
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/enabled.rs +0 -214
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/mod.rs +0 -54
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/sys.rs +0 -114
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mmap.rs +0 -112
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mod.rs +0 -34
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/unwind.rs +0 -17
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +0 -105
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/mmap.rs +0 -95
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/unwind.rs +0 -17
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/mmap.rs +0 -162
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +0 -407
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/unwind.rs +0 -150
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/mmap.rs +0 -221
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/unwind.rs +0 -46
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +0 -899
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory.rs +0 -233
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory_disabled.rs +0 -101
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +0 -768
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -79
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +0 -1302
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +0 -277
- data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +0 -113
- data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +0 -22
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +0 -89
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +0 -86
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +0 -493
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +0 -651
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +0 -198
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +0 -215
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +0 -586
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +0 -631
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +0 -165
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +0 -178
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +0 -91
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +0 -97
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +0 -45
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +0 -45
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +0 -637
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +0 -679
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +0 -255
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +0 -282
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +0 -59
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +0 -62
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +0 -722
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +0 -819
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +0 -1743
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +0 -1927
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +0 -543
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +0 -561
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +0 -270
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +0 -298
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +0 -251
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +0 -270
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +0 -815
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +0 -877
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +0 -154
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +0 -167
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +0 -467
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +0 -516
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +0 -1014
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +0 -1086
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +0 -249
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +0 -265
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +0 -313
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +0 -347
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +0 -350
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +0 -381
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +0 -216
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +0 -229
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +0 -275
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +0 -287
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +0 -59
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +0 -62
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +0 -86
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +0 -89
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +0 -104
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +0 -111
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +0 -247
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +0 -269
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +0 -136
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +0 -143
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +0 -288
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +0 -314
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +0 -1750
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +0 -1867
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +0 -84
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +0 -84
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +0 -138
- data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +0 -148
- data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +0 -25
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +0 -115
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +0 -1067
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/gc.rs +0 -252
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +0 -783
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/attr.rs +0 -320
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/expression.rs +0 -1248
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/line_program.rs +0 -287
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +0 -256
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/range_info_builder.rs +0 -221
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +0 -411
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +0 -529
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +0 -186
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +0 -196
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug.rs +0 -18
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +0 -2910
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +0 -648
- data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +0 -462
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +0 -774
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +0 -161
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +0 -374
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +0 -1348
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/dfg.rs +0 -691
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +0 -672
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/inline.rs +0 -1332
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +0 -985
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +0 -1038
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +0 -1004
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component.rs +0 -107
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +0 -151
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +0 -704
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/stack_map.rs +0 -37
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +0 -175
- data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +0 -989
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +0 -65
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +0 -68
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +0 -52
- data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +0 -21
- data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +0 -56
- data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +0 -1737
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +0 -32
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +0 -201
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +0 -289
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +0 -446
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +0 -1091
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +0 -388
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +0 -417
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +0 -2801
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +0 -533
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/api.rs +0 -198
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/async_.rs +0 -397
- data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/sync.rs +0 -331
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +0 -82
- data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +0 -239
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +0 -47
- data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +0 -2639
- data/ext/cargo-vendor/wast-209.0.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wast-209.0.1/Cargo.toml +0 -60
- data/ext/cargo-vendor/wast-209.0.1/src/component/binary.rs +0 -1000
- data/ext/cargo-vendor/wast-209.0.1/src/component/component.rs +0 -321
- data/ext/cargo-vendor/wast-209.0.1/src/component/expand.rs +0 -875
- data/ext/cargo-vendor/wast-209.0.1/src/component/resolve.rs +0 -999
- data/ext/cargo-vendor/wast-209.0.1/src/component.rs +0 -28
- data/ext/cargo-vendor/wast-209.0.1/src/core/binary.rs +0 -1396
- data/ext/cargo-vendor/wast-209.0.1/src/core/expr.rs +0 -2016
- data/ext/cargo-vendor/wast-209.0.1/src/core/memory.rs +0 -284
- data/ext/cargo-vendor/wast-209.0.1/src/core/module.rs +0 -218
- data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/deinline_import_export.rs +0 -235
- data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/names.rs +0 -751
- data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/types.rs +0 -267
- data/ext/cargo-vendor/wast-209.0.1/src/core/table.rs +0 -302
- data/ext/cargo-vendor/wast-209.0.1/src/core/types.rs +0 -901
- data/ext/cargo-vendor/wast-209.0.1/src/core.rs +0 -29
- data/ext/cargo-vendor/wast-209.0.1/src/lib.rs +0 -551
- data/ext/cargo-vendor/wast-209.0.1/src/parser.rs +0 -1414
- data/ext/cargo-vendor/wast-209.0.1/src/wat.rs +0 -71
- data/ext/cargo-vendor/wat-1.209.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wat-1.209.1/Cargo.toml +0 -34
- data/ext/cargo-vendor/wat-1.209.1/src/lib.rs +0 -401
- data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +0 -124
- data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +0 -67
- data/ext/cargo-vendor/wiggle-generate-22.0.0/LICENSE +0 -220
- data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +0 -51
- data/ext/cargo-vendor/wiggle-macro-22.0.0/LICENSE +0 -220
- data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +0 -77
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +0 -448
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +0 -882
- data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +0 -2149
- data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +0 -112
- data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/lex.rs +0 -747
- data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +0 -1524
- data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +0 -1668
- data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +0 -1795
- data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +0 -873
- data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +0 -2498
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +0 -288
- data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +0 -549
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/node.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/path.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/pool.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/set.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/benches/x64-evex-encoding.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/alias_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/binemit/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cfg_printer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ctxhash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cursor.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dbg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dominator_tree.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/cost.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/elaborate.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/flowgraph.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/incremental_cache.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/inst_predicates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/atomic_rmw_op.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/builder.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/condcodes.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/constant.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/dynamic_type.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extfunc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extname.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/function.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/known_symbol.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/layout.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/libcall.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memflags.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memtype.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/progpoint.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/sourceloc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/stackslot.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/call_conv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/encode.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/vector.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst_vector.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/imms.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/abi.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/evex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/rex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/vex.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/args.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/emit_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/regs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/systemv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/winx64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/iterators.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/legalizer/globalvalue.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/loop_analysis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/blockorder.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/inst_common.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/pcc.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/reg.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/valueregs.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/nan_canonicalization.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/arithmetic.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/bitops.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/cprop.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/extends.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/generated_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/icmp.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/remat.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/selects.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/shifts.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spaceship.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spectre.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/vector.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/prelude_opt.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/print_errors.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ranges.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/remove_constant_phis.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/result.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/scoped_hash_map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/souper_harvest.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/timing.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/traversals.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unionfind.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unreachable_code.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/value_label.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/verifier/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/instructions.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/isa.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/operands.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_types.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/arm64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/s390x.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/x86.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isle.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/entities.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/formats.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/immediates.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/settings.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/srcgen.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/unique_table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constant_hash.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constants.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/chaos.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/zero_sized.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/boxed_slice.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/iter.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/keys.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/list.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/map.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/packed_option.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/primary.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/sparse.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/unsigned.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/ssa.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/switch.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/variable.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bad_converters.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/error1.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/extra_parens.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_expression.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_rhs.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_internal_etor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_prio.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/bound_var.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/construct_and_extract.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions_extern.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/let.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/nodebug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/prio_trie_bug.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test2.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test3.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test4.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/tutorial.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing.isle +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing_main.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/ast.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/compile.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/disjointsets.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lexer.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/log.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/overlap.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/serialize.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/stablemapset.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/tests/run_tests.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/src/riscv.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/README.md +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/dummy.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/mod.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/spec.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/func_translator.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/module_translator.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/state.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/translation_utils.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/README.md +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/noop_scheduler.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/clocks.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/common/mod.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/random.rs +0 -0
- /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/scheduler.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/ctx.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/pipe.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/random.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched/subscription.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_0.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1/error.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/string_array.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/net.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/table.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/dir.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/file.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/net.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/stdio.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/tests/all/main.rs +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/aliases.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/canonicals.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/components.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/exports.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/instances.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/modules.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/names.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/start.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/custom.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/data.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/dump.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/elements.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/functions.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/linking.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/names.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/producers.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/start.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core.rs +0 -0
- /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/raw.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/benches/benchmark.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/examples/simple.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/hash.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/detail.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_set.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/map.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/set.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/limits.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/aliases.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/canonicals.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/exports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/instances.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/names.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/start.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/branch_hinting.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/code.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/coredumps.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/custom.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/data.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/dylink0.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/elements.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/exports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/functions.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/globals.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/init.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/linking.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/memories.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/names.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/producers.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/reloc.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/tags.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/types/matches.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/core/canonical.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/func.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/names.rs +0 -0
- /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/tests/big-module.rs +0 -0
- /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/code.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/resource_table.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/storage.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/store.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/externals.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/anyref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/externref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/i31.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/anyref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/i31.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/noextern.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/signatures.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/context.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/func_refs.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/trampoline/global.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/type_registry.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/uninhabited.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/v128.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/async_yield.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/debug_builtins.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/export.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled/externref.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/host_data.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/i31.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/helpers.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/imports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/mpk/pkru.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/send_sync_ptr.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/store_box.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/capi.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/machports.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/vm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/parking_spot.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_nostd.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_std.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-asm-macros-22.0.0 → wasmtime-asm-macros-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests/system_time_stub.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/tests/cache_write_default_config.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/char.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/conventions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/dead-code.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/direct-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/empty.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/flags.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/floats.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/function-new.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/integers.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/many-arguments.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multi-return.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/root.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/records.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/rename.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-import.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/share-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-functions.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-lists.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-wasi.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/small-anonymous.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-default.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-export.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/strings.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/unversioned-foo.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/use-paths.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/variants.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/wat.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/worlds-with-types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen_no_std.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/expanded.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-component-util-22.0.0 → wasmtime-component-util-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/SECURITY.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiled_function.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiler/component.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/debug/transform/refs.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc/disabled.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/isa_builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/obj.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/examples/factc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/address_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/builtin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/address_map.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_artifacts.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/trap_encoding.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/artifacts.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/compiler.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/translate/adapt.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/types_builder/resources.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/vmcomponent_offsets.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/demangling.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/core_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/signature.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/trampoline.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/transcode.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/traps.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/gc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_artifacts.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_types.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/obj.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/ref_bits.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/scopevec.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/trap_encoding.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/aarch64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/arm.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/riscv64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/s390x.S +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86_64.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.c +0 -0
- /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/gdb_jit_int.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/perf_jitdump.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/libc.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/miri.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/win.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-slab-22.0.0 → wasmtime-slab-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-22.0.0 → wasmtime-versioned-export-macros-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks/host.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ctx.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/clocks.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/env.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/exit.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/filesystem/sync.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/instance_network.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/mod.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/network.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/random.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp_create_socket.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp_create_socket.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ip_name_lookup.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/network.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/pipe.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/poll.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/preview0.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/random.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/runtime.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stdio/worker_thread_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stream.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/tcp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/udp.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/write_stream.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/main.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/preview1.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/process_stdin.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/command-extended.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/command.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/environment.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/exit.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/imports.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/run.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/stdio.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/terminal.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/wall-clock.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/preopens.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/handler.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/proxy.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/types.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/error.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/poll.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/streams.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure-seed.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/random.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/instance-network.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/network.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/world.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/test.wit +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/typenames.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/builder.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/rust.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/source.rs +0 -0
- /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/types.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/alias.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/custom.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/export.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/func.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/import.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/instance.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/item_ref.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/module.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/types.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/wast.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/custom.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/export.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/func.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/global.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/import.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/resolve/mod.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/tag.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/wast.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/encode.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/gensym.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/lexer.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/names.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/token.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/wast.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/annotations.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/comments.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail.rs +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/recursive.rs +0 -0
- /data/ext/cargo-vendor/{wat-1.209.1 → wat-1.215.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wast-209.0.1 → wiggle-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/guest_type.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/region.rs +0 -0
- /data/ext/cargo-vendor/{wat-1.209.1 → wiggle-generate-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/README.md +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/codegen_settings.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/config.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/funcs.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lifetimes.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/module_trait.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/names.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/error.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/flags.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/handle.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/mod.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/record.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/variant.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/wasmtime.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-macro-23.0.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/build.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/local.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/bounds.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/builtin.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/call.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/context.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/control.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/frame/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/asm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/masm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/regs.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/reg.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/abi.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/address.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/asm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/masm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/mod.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/regs.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/masm.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regalloc.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regset.rs +0 -0
- /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/stack.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/README.md +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/abi.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/ast/toposort.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/live.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/metadata.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/serde_.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/sizealign.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/all.rs +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/join.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/feature-gates.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/world.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wat +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/since-and-unstable.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/foo.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit.json +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit +0 -0
- /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit.json +0 -0
@@ -0,0 +1,4221 @@
|
|
1
|
+
;; Instruction formats.
|
2
|
+
(type MInst
|
3
|
+
(enum
|
4
|
+
;; A no-op of zero size.
|
5
|
+
(Nop0)
|
6
|
+
|
7
|
+
;; A no-op that is one instruction large.
|
8
|
+
(Nop4)
|
9
|
+
|
10
|
+
;; An ALU operation with two register sources and a register destination.
|
11
|
+
(AluRRR
|
12
|
+
(alu_op ALUOp)
|
13
|
+
(size OperandSize)
|
14
|
+
(rd WritableReg)
|
15
|
+
(rn Reg)
|
16
|
+
(rm Reg))
|
17
|
+
|
18
|
+
;; An ALU operation with three register sources and a register destination.
|
19
|
+
(AluRRRR
|
20
|
+
(alu_op ALUOp3)
|
21
|
+
(size OperandSize)
|
22
|
+
(rd WritableReg)
|
23
|
+
(rn Reg)
|
24
|
+
(rm Reg)
|
25
|
+
(ra Reg))
|
26
|
+
|
27
|
+
;; An ALU operation with a register source and an immediate-12 source, and a register
|
28
|
+
;; destination.
|
29
|
+
(AluRRImm12
|
30
|
+
(alu_op ALUOp)
|
31
|
+
(size OperandSize)
|
32
|
+
(rd WritableReg)
|
33
|
+
(rn Reg)
|
34
|
+
(imm12 Imm12))
|
35
|
+
|
36
|
+
;; An ALU operation with a register source and an immediate-logic source, and a register destination.
|
37
|
+
(AluRRImmLogic
|
38
|
+
(alu_op ALUOp)
|
39
|
+
(size OperandSize)
|
40
|
+
(rd WritableReg)
|
41
|
+
(rn Reg)
|
42
|
+
(imml ImmLogic))
|
43
|
+
|
44
|
+
;; An ALU operation with a register source and an immediate-shiftamt source, and a register destination.
|
45
|
+
(AluRRImmShift
|
46
|
+
(alu_op ALUOp)
|
47
|
+
(size OperandSize)
|
48
|
+
(rd WritableReg)
|
49
|
+
(rn Reg)
|
50
|
+
(immshift ImmShift))
|
51
|
+
|
52
|
+
;; An ALU operation with two register sources, one of which can be shifted, and a register
|
53
|
+
;; destination.
|
54
|
+
(AluRRRShift
|
55
|
+
(alu_op ALUOp)
|
56
|
+
(size OperandSize)
|
57
|
+
(rd WritableReg)
|
58
|
+
(rn Reg)
|
59
|
+
(rm Reg)
|
60
|
+
(shiftop ShiftOpAndAmt))
|
61
|
+
|
62
|
+
;; An ALU operation with two register sources, one of which can be {zero,sign}-extended and
|
63
|
+
;; shifted, and a register destination.
|
64
|
+
(AluRRRExtend
|
65
|
+
(alu_op ALUOp)
|
66
|
+
(size OperandSize)
|
67
|
+
(rd WritableReg)
|
68
|
+
(rn Reg)
|
69
|
+
(rm Reg)
|
70
|
+
(extendop ExtendOp))
|
71
|
+
|
72
|
+
;; A bit op instruction with a single register source.
|
73
|
+
(BitRR
|
74
|
+
(op BitOp)
|
75
|
+
(size OperandSize)
|
76
|
+
(rd WritableReg)
|
77
|
+
(rn Reg))
|
78
|
+
|
79
|
+
;; An unsigned (zero-extending) 8-bit load.
|
80
|
+
(ULoad8
|
81
|
+
(rd WritableReg)
|
82
|
+
(mem AMode)
|
83
|
+
(flags MemFlags))
|
84
|
+
|
85
|
+
;; A signed (sign-extending) 8-bit load.
|
86
|
+
(SLoad8
|
87
|
+
(rd WritableReg)
|
88
|
+
(mem AMode)
|
89
|
+
(flags MemFlags))
|
90
|
+
|
91
|
+
;; An unsigned (zero-extending) 16-bit load.
|
92
|
+
(ULoad16
|
93
|
+
(rd WritableReg)
|
94
|
+
(mem AMode)
|
95
|
+
(flags MemFlags))
|
96
|
+
|
97
|
+
;; A signed (sign-extending) 16-bit load.
|
98
|
+
(SLoad16
|
99
|
+
(rd WritableReg)
|
100
|
+
(mem AMode)
|
101
|
+
(flags MemFlags))
|
102
|
+
|
103
|
+
;; An unsigned (zero-extending) 32-bit load.
|
104
|
+
(ULoad32
|
105
|
+
(rd WritableReg)
|
106
|
+
(mem AMode)
|
107
|
+
(flags MemFlags))
|
108
|
+
|
109
|
+
;; A signed (sign-extending) 32-bit load.
|
110
|
+
(SLoad32
|
111
|
+
(rd WritableReg)
|
112
|
+
(mem AMode)
|
113
|
+
(flags MemFlags))
|
114
|
+
|
115
|
+
;; A 64-bit load.
|
116
|
+
(ULoad64
|
117
|
+
(rd WritableReg)
|
118
|
+
(mem AMode)
|
119
|
+
(flags MemFlags))
|
120
|
+
|
121
|
+
;; An 8-bit store.
|
122
|
+
(Store8
|
123
|
+
(rd Reg)
|
124
|
+
(mem AMode)
|
125
|
+
(flags MemFlags))
|
126
|
+
|
127
|
+
;; A 16-bit store.
|
128
|
+
(Store16
|
129
|
+
(rd Reg)
|
130
|
+
(mem AMode)
|
131
|
+
(flags MemFlags))
|
132
|
+
|
133
|
+
;; A 32-bit store.
|
134
|
+
(Store32
|
135
|
+
(rd Reg)
|
136
|
+
(mem AMode)
|
137
|
+
(flags MemFlags))
|
138
|
+
|
139
|
+
;; A 64-bit store.
|
140
|
+
(Store64
|
141
|
+
(rd Reg)
|
142
|
+
(mem AMode)
|
143
|
+
(flags MemFlags))
|
144
|
+
|
145
|
+
;; A store of a pair of registers.
|
146
|
+
(StoreP64
|
147
|
+
(rt Reg)
|
148
|
+
(rt2 Reg)
|
149
|
+
(mem PairAMode)
|
150
|
+
(flags MemFlags))
|
151
|
+
|
152
|
+
;; A load of a pair of registers.
|
153
|
+
(LoadP64
|
154
|
+
(rt WritableReg)
|
155
|
+
(rt2 WritableReg)
|
156
|
+
(mem PairAMode)
|
157
|
+
(flags MemFlags))
|
158
|
+
|
159
|
+
;; A MOV instruction. These are encoded as ORR's (AluRRR form).
|
160
|
+
;; The 32-bit version zeroes the top 32 bits of the
|
161
|
+
;; destination, which is effectively an alias for an unsigned
|
162
|
+
;; 32-to-64-bit extension.
|
163
|
+
(Mov
|
164
|
+
(size OperandSize)
|
165
|
+
(rd WritableReg)
|
166
|
+
(rm Reg))
|
167
|
+
|
168
|
+
;; Like `Move` but with a particular `PReg` source (for implementing CLIF
|
169
|
+
;; instructions like `get_stack_pointer`).
|
170
|
+
(MovFromPReg
|
171
|
+
(rd WritableReg)
|
172
|
+
(rm PReg))
|
173
|
+
|
174
|
+
;; Like `Move` but with a particular `PReg` destination (for
|
175
|
+
;; implementing CLIF instructions like `set_pinned_reg`).
|
176
|
+
(MovToPReg
|
177
|
+
(rd PReg)
|
178
|
+
(rm Reg))
|
179
|
+
|
180
|
+
;; A MOV[Z,N] with a 16-bit immediate.
|
181
|
+
(MovWide
|
182
|
+
(op MoveWideOp)
|
183
|
+
(rd WritableReg)
|
184
|
+
(imm MoveWideConst)
|
185
|
+
(size OperandSize))
|
186
|
+
|
187
|
+
;; A MOVK with a 16-bit immediate. Modifies its register; we
|
188
|
+
;; model this with a separate input `rn` and output `rd` virtual
|
189
|
+
;; register, with a regalloc constraint to tie them together.
|
190
|
+
(MovK
|
191
|
+
(rd WritableReg)
|
192
|
+
(rn Reg)
|
193
|
+
(imm MoveWideConst)
|
194
|
+
(size OperandSize))
|
195
|
+
|
196
|
+
|
197
|
+
;; A sign- or zero-extend operation.
|
198
|
+
(Extend
|
199
|
+
(rd WritableReg)
|
200
|
+
(rn Reg)
|
201
|
+
(signed bool)
|
202
|
+
(from_bits u8)
|
203
|
+
(to_bits u8))
|
204
|
+
|
205
|
+
;; A conditional-select operation.
|
206
|
+
(CSel
|
207
|
+
(rd WritableReg)
|
208
|
+
(cond Cond)
|
209
|
+
(rn Reg)
|
210
|
+
(rm Reg))
|
211
|
+
|
212
|
+
;; A conditional-select negation operation.
|
213
|
+
(CSNeg
|
214
|
+
(rd WritableReg)
|
215
|
+
(cond Cond)
|
216
|
+
(rn Reg)
|
217
|
+
(rm Reg))
|
218
|
+
|
219
|
+
;; A conditional-set operation.
|
220
|
+
(CSet
|
221
|
+
(rd WritableReg)
|
222
|
+
(cond Cond))
|
223
|
+
|
224
|
+
;; A conditional-set-mask operation.
|
225
|
+
(CSetm
|
226
|
+
(rd WritableReg)
|
227
|
+
(cond Cond))
|
228
|
+
|
229
|
+
;; A conditional comparison with a second register.
|
230
|
+
(CCmp
|
231
|
+
(size OperandSize)
|
232
|
+
(rn Reg)
|
233
|
+
(rm Reg)
|
234
|
+
(nzcv NZCV)
|
235
|
+
(cond Cond))
|
236
|
+
|
237
|
+
;; A conditional comparison with an immediate.
|
238
|
+
(CCmpImm
|
239
|
+
(size OperandSize)
|
240
|
+
(rn Reg)
|
241
|
+
(imm UImm5)
|
242
|
+
(nzcv NZCV)
|
243
|
+
(cond Cond))
|
244
|
+
|
245
|
+
;; A synthetic insn, which is a load-linked store-conditional loop, that has the overall
|
246
|
+
;; effect of atomically modifying a memory location in a particular way. Because we have
|
247
|
+
;; no way to explain to the regalloc about earlyclobber registers, this instruction has
|
248
|
+
;; completely fixed operand registers, and we rely on the RA's coalescing to remove copies
|
249
|
+
;; in the surrounding code to the extent it can. Load- and store-exclusive instructions,
|
250
|
+
;; with acquire-release semantics, are used to access memory. The operand conventions are:
|
251
|
+
;;
|
252
|
+
;; x25 (rd) address
|
253
|
+
;; x26 (rd) second operand for `op`
|
254
|
+
;; x27 (wr) old value
|
255
|
+
;; x24 (wr) scratch reg; value afterwards has no meaning
|
256
|
+
;; x28 (wr) scratch reg; value afterwards has no meaning
|
257
|
+
(AtomicRMWLoop
|
258
|
+
(ty Type) ;; I8, I16, I32 or I64
|
259
|
+
(op AtomicRMWLoopOp)
|
260
|
+
(flags MemFlags)
|
261
|
+
(addr Reg)
|
262
|
+
(operand Reg)
|
263
|
+
(oldval WritableReg)
|
264
|
+
(scratch1 WritableReg)
|
265
|
+
(scratch2 WritableReg))
|
266
|
+
|
267
|
+
;; Similar to AtomicRMWLoop, a compare-and-swap operation implemented using a load-linked
|
268
|
+
;; store-conditional loop, with acquire-release semantics.
|
269
|
+
;; Note that the operand conventions, although very similar to AtomicRMWLoop, are different:
|
270
|
+
;;
|
271
|
+
;; x25 (rd) address
|
272
|
+
;; x26 (rd) expected value
|
273
|
+
;; x28 (rd) replacement value
|
274
|
+
;; x27 (wr) old value
|
275
|
+
;; x24 (wr) scratch reg; value afterwards has no meaning
|
276
|
+
(AtomicCASLoop
|
277
|
+
(ty Type) ;; I8, I16, I32 or I64
|
278
|
+
(flags MemFlags)
|
279
|
+
(addr Reg)
|
280
|
+
(expected Reg)
|
281
|
+
(replacement Reg)
|
282
|
+
(oldval WritableReg)
|
283
|
+
(scratch WritableReg))
|
284
|
+
|
285
|
+
;; An atomic read-modify-write operation. These instructions require the
|
286
|
+
;; Large System Extension (LSE) ISA support (FEAT_LSE). The instructions have
|
287
|
+
;; acquire-release semantics.
|
288
|
+
(AtomicRMW
|
289
|
+
(op AtomicRMWOp)
|
290
|
+
(rs Reg)
|
291
|
+
(rt WritableReg)
|
292
|
+
(rn Reg)
|
293
|
+
(ty Type)
|
294
|
+
(flags MemFlags))
|
295
|
+
|
296
|
+
;; An atomic compare-and-swap operation. These instructions require the
|
297
|
+
;; Large System Extension (LSE) ISA support (FEAT_LSE). The instructions have
|
298
|
+
;; acquire-release semantics.
|
299
|
+
(AtomicCAS
|
300
|
+
;; `rd` is really `rs` in the encoded instruction (so `rd` == `rs`); we separate
|
301
|
+
;; them here to have separate use and def vregs for regalloc.
|
302
|
+
(rd WritableReg)
|
303
|
+
(rs Reg)
|
304
|
+
(rt Reg)
|
305
|
+
(rn Reg)
|
306
|
+
(ty Type)
|
307
|
+
(flags MemFlags))
|
308
|
+
|
309
|
+
;; Read `access_ty` bits from address `rt`, either 8, 16, 32 or 64-bits, and put
|
310
|
+
;; it in `rn`, optionally zero-extending to fill a word or double word result.
|
311
|
+
;; This instruction is sequentially consistent.
|
312
|
+
(LoadAcquire
|
313
|
+
(access_ty Type) ;; I8, I16, I32 or I64
|
314
|
+
(rt WritableReg)
|
315
|
+
(rn Reg)
|
316
|
+
(flags MemFlags))
|
317
|
+
|
318
|
+
;; Write the lowest `ty` bits of `rt` to address `rn`.
|
319
|
+
;; This instruction is sequentially consistent.
|
320
|
+
(StoreRelease
|
321
|
+
(access_ty Type) ;; I8, I16, I32 or I64
|
322
|
+
(rt Reg)
|
323
|
+
(rn Reg)
|
324
|
+
(flags MemFlags))
|
325
|
+
|
326
|
+
;; A memory fence. This must provide ordering to ensure that, at a minimum, neither loads
|
327
|
+
;; nor stores may move forwards or backwards across the fence. Currently emitted as "dmb
|
328
|
+
;; ish". This instruction is sequentially consistent.
|
329
|
+
(Fence)
|
330
|
+
|
331
|
+
;; Consumption of speculative data barrier.
|
332
|
+
(Csdb)
|
333
|
+
|
334
|
+
;; FPU 32-bit move.
|
335
|
+
(FpuMove32
|
336
|
+
(rd WritableReg)
|
337
|
+
(rn Reg))
|
338
|
+
|
339
|
+
;; FPU move. Note that this is distinct from a vector-register
|
340
|
+
;; move; moving just 64 bits seems to be significantly faster.
|
341
|
+
(FpuMove64
|
342
|
+
(rd WritableReg)
|
343
|
+
(rn Reg))
|
344
|
+
|
345
|
+
;; Vector register move.
|
346
|
+
(FpuMove128
|
347
|
+
(rd WritableReg)
|
348
|
+
(rn Reg))
|
349
|
+
|
350
|
+
;; Move to scalar from a vector element.
|
351
|
+
(FpuMoveFromVec
|
352
|
+
(rd WritableReg)
|
353
|
+
(rn Reg)
|
354
|
+
(idx u8)
|
355
|
+
(size VectorSize))
|
356
|
+
|
357
|
+
;; Zero-extend a SIMD & FP scalar to the full width of a vector register.
|
358
|
+
;; 16-bit scalars require half-precision floating-point support (FEAT_FP16).
|
359
|
+
(FpuExtend
|
360
|
+
(rd WritableReg)
|
361
|
+
(rn Reg)
|
362
|
+
(size ScalarSize))
|
363
|
+
|
364
|
+
;; 1-op FPU instruction.
|
365
|
+
(FpuRR
|
366
|
+
(fpu_op FPUOp1)
|
367
|
+
(size ScalarSize)
|
368
|
+
(rd WritableReg)
|
369
|
+
(rn Reg))
|
370
|
+
|
371
|
+
;; 2-op FPU instruction.
|
372
|
+
(FpuRRR
|
373
|
+
(fpu_op FPUOp2)
|
374
|
+
(size ScalarSize)
|
375
|
+
(rd WritableReg)
|
376
|
+
(rn Reg)
|
377
|
+
(rm Reg))
|
378
|
+
|
379
|
+
(FpuRRI
|
380
|
+
(fpu_op FPUOpRI)
|
381
|
+
(rd WritableReg)
|
382
|
+
(rn Reg))
|
383
|
+
|
384
|
+
;; Variant of FpuRRI that modifies its `rd`, and so we name the
|
385
|
+
;; input state `ri` (for "input") and constrain the two
|
386
|
+
;; together.
|
387
|
+
(FpuRRIMod
|
388
|
+
(fpu_op FPUOpRIMod)
|
389
|
+
(rd WritableReg)
|
390
|
+
(ri Reg)
|
391
|
+
(rn Reg))
|
392
|
+
|
393
|
+
|
394
|
+
;; 3-op FPU instruction.
|
395
|
+
;; 16-bit scalars require half-precision floating-point support (FEAT_FP16).
|
396
|
+
(FpuRRRR
|
397
|
+
(fpu_op FPUOp3)
|
398
|
+
(size ScalarSize)
|
399
|
+
(rd WritableReg)
|
400
|
+
(rn Reg)
|
401
|
+
(rm Reg)
|
402
|
+
(ra Reg))
|
403
|
+
|
404
|
+
;; FPU comparison.
|
405
|
+
(FpuCmp
|
406
|
+
(size ScalarSize)
|
407
|
+
(rn Reg)
|
408
|
+
(rm Reg))
|
409
|
+
|
410
|
+
;; Floating-point load, single-precision (32 bit).
|
411
|
+
(FpuLoad32
|
412
|
+
(rd WritableReg)
|
413
|
+
(mem AMode)
|
414
|
+
(flags MemFlags))
|
415
|
+
|
416
|
+
;; Floating-point store, single-precision (32 bit).
|
417
|
+
(FpuStore32
|
418
|
+
(rd Reg)
|
419
|
+
(mem AMode)
|
420
|
+
(flags MemFlags))
|
421
|
+
|
422
|
+
;; Floating-point load, double-precision (64 bit).
|
423
|
+
(FpuLoad64
|
424
|
+
(rd WritableReg)
|
425
|
+
(mem AMode)
|
426
|
+
(flags MemFlags))
|
427
|
+
|
428
|
+
;; Floating-point store, double-precision (64 bit).
|
429
|
+
(FpuStore64
|
430
|
+
(rd Reg)
|
431
|
+
(mem AMode)
|
432
|
+
(flags MemFlags))
|
433
|
+
|
434
|
+
;; Floating-point/vector load, 128 bit.
|
435
|
+
(FpuLoad128
|
436
|
+
(rd WritableReg)
|
437
|
+
(mem AMode)
|
438
|
+
(flags MemFlags))
|
439
|
+
|
440
|
+
;; Floating-point/vector store, 128 bit.
|
441
|
+
(FpuStore128
|
442
|
+
(rd Reg)
|
443
|
+
(mem AMode)
|
444
|
+
(flags MemFlags))
|
445
|
+
|
446
|
+
;; A load of a pair of floating-point registers, double precision (64-bit).
|
447
|
+
(FpuLoadP64
|
448
|
+
(rt WritableReg)
|
449
|
+
(rt2 WritableReg)
|
450
|
+
(mem PairAMode)
|
451
|
+
(flags MemFlags))
|
452
|
+
|
453
|
+
;; A store of a pair of floating-point registers, double precision (64-bit).
|
454
|
+
(FpuStoreP64
|
455
|
+
(rt Reg)
|
456
|
+
(rt2 Reg)
|
457
|
+
(mem PairAMode)
|
458
|
+
(flags MemFlags))
|
459
|
+
|
460
|
+
;; A load of a pair of floating-point registers, 128-bit.
|
461
|
+
(FpuLoadP128
|
462
|
+
(rt WritableReg)
|
463
|
+
(rt2 WritableReg)
|
464
|
+
(mem PairAMode)
|
465
|
+
(flags MemFlags))
|
466
|
+
|
467
|
+
;; A store of a pair of floating-point registers, 128-bit.
|
468
|
+
(FpuStoreP128
|
469
|
+
(rt Reg)
|
470
|
+
(rt2 Reg)
|
471
|
+
(mem PairAMode)
|
472
|
+
(flags MemFlags))
|
473
|
+
|
474
|
+
;; Conversion: FP -> integer.
|
475
|
+
(FpuToInt
|
476
|
+
(op FpuToIntOp)
|
477
|
+
(rd WritableReg)
|
478
|
+
(rn Reg))
|
479
|
+
|
480
|
+
;; Conversion: integer -> FP.
|
481
|
+
(IntToFpu
|
482
|
+
(op IntToFpuOp)
|
483
|
+
(rd WritableReg)
|
484
|
+
(rn Reg))
|
485
|
+
|
486
|
+
;; FP conditional select, 32 bit.
|
487
|
+
(FpuCSel32
|
488
|
+
(rd WritableReg)
|
489
|
+
(rn Reg)
|
490
|
+
(rm Reg)
|
491
|
+
(cond Cond))
|
492
|
+
|
493
|
+
;; FP conditional select, 64 bit.
|
494
|
+
(FpuCSel64
|
495
|
+
(rd WritableReg)
|
496
|
+
(rn Reg)
|
497
|
+
(rm Reg)
|
498
|
+
(cond Cond))
|
499
|
+
|
500
|
+
;; Round to integer.
|
501
|
+
(FpuRound
|
502
|
+
(op FpuRoundMode)
|
503
|
+
(rd WritableReg)
|
504
|
+
(rn Reg))
|
505
|
+
|
506
|
+
;; Move from a GPR to a vector register. The scalar value is parked in the lowest lane
|
507
|
+
;; of the destination, and all other lanes are zeroed out. Currently only 32- and 64-bit
|
508
|
+
;; transactions are supported.
|
509
|
+
(MovToFpu
|
510
|
+
(rd WritableReg)
|
511
|
+
(rn Reg)
|
512
|
+
(size ScalarSize))
|
513
|
+
|
514
|
+
;; Loads a floating-point immediate.
|
515
|
+
(FpuMoveFPImm
|
516
|
+
(rd WritableReg)
|
517
|
+
(imm ASIMDFPModImm)
|
518
|
+
(size ScalarSize))
|
519
|
+
|
520
|
+
;; Move to a vector element from a GPR.
|
521
|
+
(MovToVec
|
522
|
+
(rd WritableReg)
|
523
|
+
(ri Reg)
|
524
|
+
(rn Reg)
|
525
|
+
(idx u8)
|
526
|
+
(size VectorSize))
|
527
|
+
|
528
|
+
;; Unsigned move from a vector element to a GPR.
|
529
|
+
(MovFromVec
|
530
|
+
(rd WritableReg)
|
531
|
+
(rn Reg)
|
532
|
+
(idx u8)
|
533
|
+
(size ScalarSize))
|
534
|
+
|
535
|
+
;; Signed move from a vector element to a GPR.
|
536
|
+
(MovFromVecSigned
|
537
|
+
(rd WritableReg)
|
538
|
+
(rn Reg)
|
539
|
+
(idx u8)
|
540
|
+
(size VectorSize)
|
541
|
+
(scalar_size OperandSize))
|
542
|
+
|
543
|
+
;; Duplicate general-purpose register to vector.
|
544
|
+
(VecDup
|
545
|
+
(rd WritableReg)
|
546
|
+
(rn Reg)
|
547
|
+
(size VectorSize))
|
548
|
+
|
549
|
+
;; Duplicate scalar to vector.
|
550
|
+
(VecDupFromFpu
|
551
|
+
(rd WritableReg)
|
552
|
+
(rn Reg)
|
553
|
+
(size VectorSize)
|
554
|
+
(lane u8))
|
555
|
+
|
556
|
+
;; Duplicate FP immediate to vector.
|
557
|
+
(VecDupFPImm
|
558
|
+
(rd WritableReg)
|
559
|
+
(imm ASIMDFPModImm)
|
560
|
+
(size VectorSize))
|
561
|
+
|
562
|
+
;; Duplicate immediate to vector.
|
563
|
+
(VecDupImm
|
564
|
+
(rd WritableReg)
|
565
|
+
(imm ASIMDMovModImm)
|
566
|
+
(invert bool)
|
567
|
+
(size VectorSize))
|
568
|
+
|
569
|
+
;; Vector extend.
|
570
|
+
(VecExtend
|
571
|
+
(t VecExtendOp)
|
572
|
+
(rd WritableReg)
|
573
|
+
(rn Reg)
|
574
|
+
(high_half bool)
|
575
|
+
(lane_size ScalarSize))
|
576
|
+
|
577
|
+
;; Move vector element to another vector element.
|
578
|
+
(VecMovElement
|
579
|
+
(rd WritableReg)
|
580
|
+
(ri Reg)
|
581
|
+
(rn Reg)
|
582
|
+
(dest_idx u8)
|
583
|
+
(src_idx u8)
|
584
|
+
(size VectorSize))
|
585
|
+
|
586
|
+
;; Vector widening operation.
|
587
|
+
(VecRRLong
|
588
|
+
(op VecRRLongOp)
|
589
|
+
(rd WritableReg)
|
590
|
+
(rn Reg)
|
591
|
+
(high_half bool))
|
592
|
+
|
593
|
+
;; Vector narrowing operation -- low half.
|
594
|
+
(VecRRNarrowLow
|
595
|
+
(op VecRRNarrowOp)
|
596
|
+
(rd WritableReg)
|
597
|
+
(rn Reg)
|
598
|
+
(lane_size ScalarSize))
|
599
|
+
|
600
|
+
;; Vector narrowing operation -- high half.
|
601
|
+
(VecRRNarrowHigh
|
602
|
+
(op VecRRNarrowOp)
|
603
|
+
(rd WritableReg)
|
604
|
+
(ri Reg)
|
605
|
+
(rn Reg)
|
606
|
+
(lane_size ScalarSize))
|
607
|
+
|
608
|
+
;; 1-operand vector instruction that operates on a pair of elements.
|
609
|
+
(VecRRPair
|
610
|
+
(op VecPairOp)
|
611
|
+
(rd WritableReg)
|
612
|
+
(rn Reg))
|
613
|
+
|
614
|
+
;; 2-operand vector instruction that produces a result with twice the
|
615
|
+
;; lane width and half the number of lanes.
|
616
|
+
(VecRRRLong
|
617
|
+
(alu_op VecRRRLongOp)
|
618
|
+
(rd WritableReg)
|
619
|
+
(rn Reg)
|
620
|
+
(rm Reg)
|
621
|
+
(high_half bool))
|
622
|
+
|
623
|
+
;; 2-operand vector instruction that produces a result with
|
624
|
+
;; twice the lane width and half the number of lanes. Variant
|
625
|
+
;; that modifies `rd` (so takes its initial state as `ri`).
|
626
|
+
(VecRRRLongMod
|
627
|
+
(alu_op VecRRRLongModOp)
|
628
|
+
(rd WritableReg)
|
629
|
+
(ri Reg)
|
630
|
+
(rn Reg)
|
631
|
+
(rm Reg)
|
632
|
+
(high_half bool))
|
633
|
+
|
634
|
+
;; 1-operand vector instruction that extends elements of the input
|
635
|
+
;; register and operates on a pair of elements. The output lane width
|
636
|
+
;; is double that of the input.
|
637
|
+
(VecRRPairLong
|
638
|
+
(op VecRRPairLongOp)
|
639
|
+
(rd WritableReg)
|
640
|
+
(rn Reg))
|
641
|
+
|
642
|
+
;; A vector ALU op.
|
643
|
+
(VecRRR
|
644
|
+
(alu_op VecALUOp)
|
645
|
+
(rd WritableReg)
|
646
|
+
(rn Reg)
|
647
|
+
(rm Reg)
|
648
|
+
(size VectorSize))
|
649
|
+
|
650
|
+
;; A vector ALU op modifying a source register.
|
651
|
+
(VecRRRMod
|
652
|
+
(alu_op VecALUModOp)
|
653
|
+
(rd WritableReg)
|
654
|
+
(ri Reg)
|
655
|
+
(rn Reg)
|
656
|
+
(rm Reg)
|
657
|
+
(size VectorSize))
|
658
|
+
|
659
|
+
;; A vector ALU op modifying a source register.
|
660
|
+
(VecFmlaElem
|
661
|
+
(alu_op VecALUModOp)
|
662
|
+
(rd WritableReg)
|
663
|
+
(ri Reg)
|
664
|
+
(rn Reg)
|
665
|
+
(rm Reg)
|
666
|
+
(size VectorSize)
|
667
|
+
(idx u8))
|
668
|
+
|
669
|
+
;; Vector two register miscellaneous instruction.
|
670
|
+
(VecMisc
|
671
|
+
(op VecMisc2)
|
672
|
+
(rd WritableReg)
|
673
|
+
(rn Reg)
|
674
|
+
(size VectorSize))
|
675
|
+
|
676
|
+
;; Vector instruction across lanes.
|
677
|
+
(VecLanes
|
678
|
+
(op VecLanesOp)
|
679
|
+
(rd WritableReg)
|
680
|
+
(rn Reg)
|
681
|
+
(size VectorSize))
|
682
|
+
|
683
|
+
;; Vector shift by immediate Shift Left (immediate), Unsigned Shift Right (immediate)
|
684
|
+
;; Signed Shift Right (immediate). These are somewhat unusual in that, for right shifts,
|
685
|
+
;; the allowed range of `imm` values is 1 to lane-size-in-bits, inclusive. A zero
|
686
|
+
;; right-shift cannot be encoded. Left shifts are "normal", though, having valid `imm`
|
687
|
+
;; values from 0 to lane-size-in-bits - 1 inclusive.
|
688
|
+
(VecShiftImm
|
689
|
+
(op VecShiftImmOp)
|
690
|
+
(rd WritableReg)
|
691
|
+
(rn Reg)
|
692
|
+
(size VectorSize)
|
693
|
+
(imm u8))
|
694
|
+
|
695
|
+
;; Destructive vector shift by immediate.
|
696
|
+
(VecShiftImmMod
|
697
|
+
(op VecShiftImmModOp)
|
698
|
+
(rd WritableReg)
|
699
|
+
(ri Reg)
|
700
|
+
(rn Reg)
|
701
|
+
(size VectorSize)
|
702
|
+
(imm u8))
|
703
|
+
|
704
|
+
;; Vector extract - create a new vector, being the concatenation of the lowest `imm4` bytes
|
705
|
+
;; of `rm` followed by the uppermost `16 - imm4` bytes of `rn`.
|
706
|
+
(VecExtract
|
707
|
+
(rd WritableReg)
|
708
|
+
(rn Reg)
|
709
|
+
(rm Reg)
|
710
|
+
(imm4 u8))
|
711
|
+
|
712
|
+
;; Table vector lookup - single register table. The table
|
713
|
+
;; consists of 8-bit elements and is stored in `rn`, while `rm`
|
714
|
+
;; contains 8-bit element indices. This variant emits `TBL`,
|
715
|
+
;; which sets elements that correspond to out-of-range indices
|
716
|
+
;; (greater than 15) to 0.
|
717
|
+
(VecTbl
|
718
|
+
(rd WritableReg)
|
719
|
+
(rn Reg)
|
720
|
+
(rm Reg))
|
721
|
+
|
722
|
+
;; Table vector lookup - single register table. The table
|
723
|
+
;; consists of 8-bit elements and is stored in `rn`, while `rm`
|
724
|
+
;; contains 8-bit element indices. This variant emits `TBX`,
|
725
|
+
;; which leaves elements that correspond to out-of-range indices
|
726
|
+
;; (greater than 15) unmodified. Hence, it takes an input vreg in
|
727
|
+
;; `ri` that is constrained to the same allocation as `rd`.
|
728
|
+
(VecTblExt
|
729
|
+
(rd WritableReg)
|
730
|
+
(ri Reg)
|
731
|
+
(rn Reg)
|
732
|
+
(rm Reg))
|
733
|
+
|
734
|
+
;; Table vector lookup - two register table. The table consists
|
735
|
+
;; of 8-bit elements and is stored in `rn` and `rn2`, while
|
736
|
+
;; `rm` contains 8-bit element indices. The table registers
|
737
|
+
;; `rn` and `rn2` must have consecutive numbers modulo 32, that
|
738
|
+
;; is v31 and v0 (in that order) are consecutive registers.
|
739
|
+
;; This variant emits `TBL`, which sets out-of-range results to
|
740
|
+
;; 0.
|
741
|
+
(VecTbl2
|
742
|
+
(rd WritableReg)
|
743
|
+
(rn Reg)
|
744
|
+
(rn2 Reg)
|
745
|
+
(rm Reg))
|
746
|
+
|
747
|
+
;; Table vector lookup - two register table. The table consists
|
748
|
+
;; of 8-bit elements and is stored in `rn` and `rn2`, while
|
749
|
+
;; `rm` contains 8-bit element indices. The table registers
|
750
|
+
;; `rn` and `rn2` must have consecutive numbers modulo 32, that
|
751
|
+
;; is v31 and v0 (in that order) are consecutive registers.
|
752
|
+
;; This variant emits `TBX`, which leaves out-of-range results
|
753
|
+
;; unmodified, hence takes the initial state of the result
|
754
|
+
;; register in vreg `ri`.
|
755
|
+
(VecTbl2Ext
|
756
|
+
(rd WritableReg)
|
757
|
+
(ri Reg)
|
758
|
+
(rn Reg)
|
759
|
+
(rn2 Reg)
|
760
|
+
(rm Reg))
|
761
|
+
|
762
|
+
;; Load an element and replicate to all lanes of a vector.
|
763
|
+
(VecLoadReplicate
|
764
|
+
(rd WritableReg)
|
765
|
+
(rn Reg)
|
766
|
+
(size VectorSize)
|
767
|
+
(flags MemFlags))
|
768
|
+
|
769
|
+
;; Vector conditional select, 128 bit. A synthetic instruction, which generates a 4-insn
|
770
|
+
;; control-flow diamond.
|
771
|
+
(VecCSel
|
772
|
+
(rd WritableReg)
|
773
|
+
(rn Reg)
|
774
|
+
(rm Reg)
|
775
|
+
(cond Cond))
|
776
|
+
|
777
|
+
;; Move to the NZCV flags (actually a `MSR NZCV, Xn` insn).
|
778
|
+
(MovToNZCV
|
779
|
+
(rn Reg))
|
780
|
+
|
781
|
+
;; Move from the NZCV flags (actually a `MRS Xn, NZCV` insn).
|
782
|
+
(MovFromNZCV
|
783
|
+
(rd WritableReg))
|
784
|
+
|
785
|
+
;; A machine call instruction. N.B.: this allows only a +/- 128MB offset (it uses a relocation
|
786
|
+
;; of type `Reloc::Arm64Call`); if the destination distance is not `RelocDistance::Near`, the
|
787
|
+
;; code should use a `LoadExtName` / `CallInd` sequence instead, allowing an arbitrary 64-bit
|
788
|
+
;; target.
|
789
|
+
(Call
|
790
|
+
(info BoxCallInfo))
|
791
|
+
|
792
|
+
;; A machine indirect-call instruction.
|
793
|
+
(CallInd
|
794
|
+
(info BoxCallIndInfo))
|
795
|
+
|
796
|
+
;; A return-call macro instruction.
|
797
|
+
(ReturnCall
|
798
|
+
(callee BoxExternalName)
|
799
|
+
(info BoxReturnCallInfo))
|
800
|
+
|
801
|
+
;; An indirect return-call macro instruction.
|
802
|
+
(ReturnCallInd
|
803
|
+
(callee Reg)
|
804
|
+
(info BoxReturnCallInfo))
|
805
|
+
|
806
|
+
;; A pseudo-instruction that captures register arguments in vregs.
|
807
|
+
(Args
|
808
|
+
(args VecArgPair))
|
809
|
+
|
810
|
+
;; A pseudo-instruction that moves vregs to return registers.
|
811
|
+
(Rets
|
812
|
+
(rets VecRetPair))
|
813
|
+
|
814
|
+
;; ---- branches (exactly one must appear at end of BB) ----
|
815
|
+
|
816
|
+
;; A machine return instruction.
|
817
|
+
(Ret)
|
818
|
+
|
819
|
+
;; A machine return instruction with pointer authentication using SP as the
|
820
|
+
;; modifier. This instruction requires pointer authentication support
|
821
|
+
;; (FEAT_PAuth) unless `is_hint` is true, in which case it is equivalent to
|
822
|
+
;; the combination of a no-op and a return instruction on platforms without
|
823
|
+
;; the relevant support.
|
824
|
+
(AuthenticatedRet
|
825
|
+
(key APIKey)
|
826
|
+
(is_hint bool))
|
827
|
+
|
828
|
+
;; An unconditional branch.
|
829
|
+
(Jump
|
830
|
+
(dest BranchTarget))
|
831
|
+
|
832
|
+
;; A conditional branch. Contains two targets; at emission time, both are emitted, but
|
833
|
+
;; the MachBuffer knows to truncate the trailing branch if fallthrough. We optimize the
|
834
|
+
;; choice of taken/not_taken (inverting the branch polarity as needed) based on the
|
835
|
+
;; fallthrough at the time of lowering.
|
836
|
+
(CondBr
|
837
|
+
(taken BranchTarget)
|
838
|
+
(not_taken BranchTarget)
|
839
|
+
(kind CondBrKind))
|
840
|
+
|
841
|
+
;; A conditional branch which tests the `bit` of `rn` and branches
|
842
|
+
;; depending on `kind`.
|
843
|
+
(TestBitAndBranch
|
844
|
+
(kind TestBitAndBranchKind)
|
845
|
+
(taken BranchTarget)
|
846
|
+
(not_taken BranchTarget)
|
847
|
+
(rn Reg)
|
848
|
+
(bit u8))
|
849
|
+
|
850
|
+
;; A conditional trap: execute a `udf` if the condition is true. This is
|
851
|
+
;; one VCode instruction because it uses embedded control flow; it is
|
852
|
+
;; logically a single-in, single-out region, but needs to appear as one
|
853
|
+
;; unit to the register allocator.
|
854
|
+
;;
|
855
|
+
;; The `CondBrKind` gives the conditional-branch condition that will
|
856
|
+
;; *execute* the embedded `Inst`. (In the emitted code, we use the inverse
|
857
|
+
;; of this condition in a branch that skips the trap instruction.)
|
858
|
+
(TrapIf
|
859
|
+
(kind CondBrKind)
|
860
|
+
(trap_code TrapCode))
|
861
|
+
|
862
|
+
;; An indirect branch through a register, augmented with set of all
|
863
|
+
;; possible successors.
|
864
|
+
(IndirectBr
|
865
|
+
(rn Reg)
|
866
|
+
(targets VecMachLabel))
|
867
|
+
|
868
|
+
;; A "break" instruction, used for e.g. traps and debug breakpoints.
|
869
|
+
(Brk)
|
870
|
+
|
871
|
+
;; An instruction guaranteed to always be undefined and to trigger an illegal instruction at
|
872
|
+
;; runtime.
|
873
|
+
(Udf
|
874
|
+
(trap_code TrapCode))
|
875
|
+
|
876
|
+
;; Compute the address (using a PC-relative offset) of a memory location, using the `ADR`
|
877
|
+
;; instruction. Note that we take a simple offset, not a `MemLabel`, here, because `Adr` is
|
878
|
+
;; only used for now in fixed lowering sequences with hardcoded offsets. In the future we may
|
879
|
+
;; need full `MemLabel` support.
|
880
|
+
(Adr
|
881
|
+
(rd WritableReg)
|
882
|
+
;; Offset in range -2^20 .. 2^20.
|
883
|
+
(off i32))
|
884
|
+
|
885
|
+
;; Compute the address (using a PC-relative offset) of a 4KB page.
|
886
|
+
(Adrp
|
887
|
+
(rd WritableReg)
|
888
|
+
(off i32))
|
889
|
+
|
890
|
+
;; Raw 32-bit word, used for inline constants and jump-table entries.
|
891
|
+
(Word4
|
892
|
+
(data u32))
|
893
|
+
|
894
|
+
;; Raw 64-bit word, used for inline constants.
|
895
|
+
(Word8
|
896
|
+
(data u64))
|
897
|
+
|
898
|
+
;; Jump-table sequence, as one compound instruction (see note in lower_inst.rs for rationale).
|
899
|
+
(JTSequence
|
900
|
+
(default MachLabel)
|
901
|
+
(targets BoxVecMachLabel)
|
902
|
+
(ridx Reg)
|
903
|
+
(rtmp1 WritableReg)
|
904
|
+
(rtmp2 WritableReg))
|
905
|
+
|
906
|
+
;; Load an inline symbol reference.
|
907
|
+
(LoadExtName
|
908
|
+
(rd WritableReg)
|
909
|
+
(name BoxExternalName)
|
910
|
+
(offset i64))
|
911
|
+
|
912
|
+
;; Load address referenced by `mem` into `rd`.
|
913
|
+
(LoadAddr
|
914
|
+
(rd WritableReg)
|
915
|
+
(mem AMode))
|
916
|
+
|
917
|
+
;; Pointer authentication code for instruction address with modifier in SP;
|
918
|
+
;; equivalent to a no-op if Pointer authentication (FEAT_PAuth) is not
|
919
|
+
;; supported.
|
920
|
+
(Paci
|
921
|
+
(key APIKey))
|
922
|
+
|
923
|
+
;; Strip pointer authentication code from instruction address in LR;
|
924
|
+
;; equivalent to a no-op if Pointer authentication (FEAT_PAuth) is not
|
925
|
+
;; supported.
|
926
|
+
(Xpaclri)
|
927
|
+
|
928
|
+
;; Branch target identification; equivalent to a no-op if Branch Target
|
929
|
+
;; Identification (FEAT_BTI) is not supported.
|
930
|
+
(Bti
|
931
|
+
(targets BranchTargetType))
|
932
|
+
|
933
|
+
;; Meta-insn, no-op in generated code: emit constant/branch veneer island
|
934
|
+
;; at this point (with a guard jump around it) if less than the needed
|
935
|
+
;; space is available before the next branch deadline. See the `MachBuffer`
|
936
|
+
;; implementation in `machinst/buffer.rs` for the overall algorithm. In
|
937
|
+
;; brief, we retain a set of "pending/unresolved label references" from
|
938
|
+
;; branches as we scan forward through instructions to emit machine code;
|
939
|
+
;; if we notice we're about to go out of range on an unresolved reference,
|
940
|
+
;; we stop, emit a bunch of "veneers" (branches in a form that has a longer
|
941
|
+
;; range, e.g. a 26-bit-offset unconditional jump), and point the original
|
942
|
+
;; label references to those. This is an "island" because it comes in the
|
943
|
+
;; middle of the code.
|
944
|
+
;;
|
945
|
+
;; This meta-instruction is a necessary part of the logic that determines
|
946
|
+
;; where to place islands. Ordinarily, we want to place them between basic
|
947
|
+
;; blocks, so we compute the worst-case size of each block, and emit the
|
948
|
+
;; island before starting a block if we would exceed a deadline before the
|
949
|
+
;; end of the block. However, some sequences (such as an inline jumptable)
|
950
|
+
;; are variable-length and not accounted for by this logic; so these
|
951
|
+
;; lowered sequences include an `EmitIsland` to trigger island generation
|
952
|
+
;; where necessary.
|
953
|
+
(EmitIsland
|
954
|
+
;; The needed space before the next deadline.
|
955
|
+
(needed_space CodeOffset))
|
956
|
+
|
957
|
+
;; A call to the `ElfTlsGetAddr` libcall. Returns address of TLS symbol in x0.
|
958
|
+
(ElfTlsGetAddr
|
959
|
+
(symbol BoxExternalName)
|
960
|
+
(rd WritableReg)
|
961
|
+
(tmp WritableReg))
|
962
|
+
|
963
|
+
(MachOTlsGetAddr
|
964
|
+
(symbol ExternalName)
|
965
|
+
(rd WritableReg))
|
966
|
+
|
967
|
+
;; An unwind pseudo-instruction.
|
968
|
+
(Unwind
|
969
|
+
(inst UnwindInst))
|
970
|
+
|
971
|
+
;; A dummy use, useful to keep a value alive.
|
972
|
+
(DummyUse
|
973
|
+
(reg Reg))
|
974
|
+
|
975
|
+
;; Emits an inline stack probe loop.
|
976
|
+
;;
|
977
|
+
;; Note that this is emitted post-regalloc so `start` and `end` can be
|
978
|
+
;; temporary registers such as the spilltmp and tmp2 registers. This also
|
979
|
+
;; means that the internal codegen can't use these registers.
|
980
|
+
(StackProbeLoop (start WritableReg)
|
981
|
+
(end Reg)
|
982
|
+
(step Imm12))))
|
983
|
+
|
984
|
+
;; An ALU operation. This can be paired with several instruction formats
|
985
|
+
;; below (see `Inst`) in any combination.
|
986
|
+
(type ALUOp
|
987
|
+
(enum
|
988
|
+
(Add)
|
989
|
+
(Sub)
|
990
|
+
(Orr)
|
991
|
+
(OrrNot)
|
992
|
+
(And)
|
993
|
+
(AndS)
|
994
|
+
(AndNot)
|
995
|
+
;; XOR (AArch64 calls this "EOR")
|
996
|
+
(Eor)
|
997
|
+
;; XNOR (AArch64 calls this "EOR-NOT")
|
998
|
+
(EorNot)
|
999
|
+
;; Add, setting flags
|
1000
|
+
(AddS)
|
1001
|
+
;; Sub, setting flags
|
1002
|
+
(SubS)
|
1003
|
+
;; Signed multiply, high-word result
|
1004
|
+
(SMulH)
|
1005
|
+
;; Unsigned multiply, high-word result
|
1006
|
+
(UMulH)
|
1007
|
+
(SDiv)
|
1008
|
+
(UDiv)
|
1009
|
+
(RotR)
|
1010
|
+
(Lsr)
|
1011
|
+
(Asr)
|
1012
|
+
(Lsl)
|
1013
|
+
;; Add with carry
|
1014
|
+
(Adc)
|
1015
|
+
;; Add with carry, settings flags
|
1016
|
+
(AdcS)
|
1017
|
+
;; Subtract with carry
|
1018
|
+
(Sbc)
|
1019
|
+
;; Subtract with carry, settings flags
|
1020
|
+
(SbcS)
|
1021
|
+
))
|
1022
|
+
|
1023
|
+
;; An ALU operation with three arguments.
|
1024
|
+
(type ALUOp3
|
1025
|
+
(enum
|
1026
|
+
;; Multiply-add
|
1027
|
+
(MAdd)
|
1028
|
+
;; Multiply-sub
|
1029
|
+
(MSub)
|
1030
|
+
;; Unsigned-Multiply-add
|
1031
|
+
(UMAddL)
|
1032
|
+
;; Signed-Multiply-add
|
1033
|
+
(SMAddL)
|
1034
|
+
))
|
1035
|
+
|
1036
|
+
(type MoveWideOp
|
1037
|
+
(enum
|
1038
|
+
(MovZ)
|
1039
|
+
(MovN)
|
1040
|
+
))
|
1041
|
+
|
1042
|
+
(type UImm5 (primitive UImm5))
|
1043
|
+
(type Imm12 (primitive Imm12))
|
1044
|
+
(type ImmLogic (primitive ImmLogic))
|
1045
|
+
(type ImmShift (primitive ImmShift))
|
1046
|
+
(type ShiftOpAndAmt (primitive ShiftOpAndAmt))
|
1047
|
+
(type MoveWideConst (primitive MoveWideConst))
|
1048
|
+
(type NZCV (primitive NZCV))
|
1049
|
+
(type ASIMDFPModImm (primitive ASIMDFPModImm))
|
1050
|
+
(type ASIMDMovModImm (primitive ASIMDMovModImm))
|
1051
|
+
(type SImm7Scaled (primitive SImm7Scaled))
|
1052
|
+
|
1053
|
+
(type BoxCallInfo (primitive BoxCallInfo))
|
1054
|
+
(type BoxCallIndInfo (primitive BoxCallIndInfo))
|
1055
|
+
(type BoxReturnCallInfo (primitive BoxReturnCallInfo))
|
1056
|
+
(type CondBrKind (primitive CondBrKind))
|
1057
|
+
(type BranchTarget (primitive BranchTarget))
|
1058
|
+
(type BoxJTSequenceInfo (primitive BoxJTSequenceInfo))
|
1059
|
+
(type CodeOffset (primitive CodeOffset))
|
1060
|
+
(type VecMachLabel extern (enum))
|
1061
|
+
|
1062
|
+
(type ExtendOp extern
|
1063
|
+
(enum
|
1064
|
+
(UXTB)
|
1065
|
+
(UXTH)
|
1066
|
+
(UXTW)
|
1067
|
+
(UXTX)
|
1068
|
+
(SXTB)
|
1069
|
+
(SXTH)
|
1070
|
+
(SXTW)
|
1071
|
+
(SXTX)
|
1072
|
+
))
|
1073
|
+
|
1074
|
+
;; An operation on the bits of a register. This can be paired with several instruction formats
|
1075
|
+
;; below (see `Inst`) in any combination.
|
1076
|
+
(type BitOp
|
1077
|
+
(enum
|
1078
|
+
;; Bit reverse
|
1079
|
+
(RBit)
|
1080
|
+
(Clz)
|
1081
|
+
(Cls)
|
1082
|
+
;; Byte reverse
|
1083
|
+
(Rev16)
|
1084
|
+
(Rev32)
|
1085
|
+
(Rev64)
|
1086
|
+
))
|
1087
|
+
|
1088
|
+
(type MemLabel extern (enum))
|
1089
|
+
(type SImm9 extern (enum))
|
1090
|
+
(type UImm12Scaled extern (enum))
|
1091
|
+
|
1092
|
+
;; An addressing mode specified for a load/store operation.
|
1093
|
+
(type AMode
|
1094
|
+
(enum
|
1095
|
+
;;
|
1096
|
+
;; Real ARM64 addressing modes:
|
1097
|
+
;;
|
1098
|
+
;; "post-indexed" mode as per AArch64 docs: postincrement reg after
|
1099
|
+
;; address computation.
|
1100
|
+
;; Specialized here to SP so we don't have to emit regalloc metadata.
|
1101
|
+
(SPPostIndexed
|
1102
|
+
(simm9 SImm9))
|
1103
|
+
|
1104
|
+
;; "pre-indexed" mode as per AArch64 docs: preincrement reg before
|
1105
|
+
;; address computation.
|
1106
|
+
;; Specialized here to SP so we don't have to emit regalloc metadata.
|
1107
|
+
(SPPreIndexed
|
1108
|
+
(simm9 SImm9))
|
1109
|
+
|
1110
|
+
;; N.B.: RegReg, RegScaled, and RegScaledExtended all correspond to
|
1111
|
+
;; what the ISA calls the "register offset" addressing mode. We split
|
1112
|
+
;; out several options here for more ergonomic codegen.
|
1113
|
+
;;
|
1114
|
+
;; Register plus register offset.
|
1115
|
+
(RegReg
|
1116
|
+
(rn Reg)
|
1117
|
+
(rm Reg))
|
1118
|
+
|
1119
|
+
;; Register plus register offset, scaled by type's size.
|
1120
|
+
(RegScaled
|
1121
|
+
(rn Reg)
|
1122
|
+
(rm Reg))
|
1123
|
+
|
1124
|
+
;; Register plus register offset, scaled by type's size, with index
|
1125
|
+
;; sign- or zero-extended first.
|
1126
|
+
(RegScaledExtended
|
1127
|
+
(rn Reg)
|
1128
|
+
(rm Reg)
|
1129
|
+
(extendop ExtendOp))
|
1130
|
+
|
1131
|
+
;; Register plus register offset, with index sign- or zero-extended
|
1132
|
+
;; first.
|
1133
|
+
(RegExtended
|
1134
|
+
(rn Reg)
|
1135
|
+
(rm Reg)
|
1136
|
+
(extendop ExtendOp))
|
1137
|
+
|
1138
|
+
;; Unscaled signed 9-bit immediate offset from reg.
|
1139
|
+
(Unscaled
|
1140
|
+
(rn Reg)
|
1141
|
+
(simm9 SImm9))
|
1142
|
+
|
1143
|
+
;; Scaled (by size of a type) unsigned 12-bit immediate offset from reg.
|
1144
|
+
(UnsignedOffset
|
1145
|
+
(rn Reg)
|
1146
|
+
(uimm12 UImm12Scaled))
|
1147
|
+
|
1148
|
+
;; virtual addressing modes that are lowered at emission time:
|
1149
|
+
;;
|
1150
|
+
;; Reference to a "label": e.g., a symbol.
|
1151
|
+
(Label
|
1152
|
+
(label MemLabel))
|
1153
|
+
|
1154
|
+
;; Arbitrary offset from a register. Converted to generation of large
|
1155
|
+
;; offsets with multiple instructions as necessary during code emission.
|
1156
|
+
(RegOffset
|
1157
|
+
(rn Reg)
|
1158
|
+
(off i64))
|
1159
|
+
|
1160
|
+
;; Offset from the stack pointer.
|
1161
|
+
(SPOffset
|
1162
|
+
(off i64))
|
1163
|
+
|
1164
|
+
;; Offset from the frame pointer.
|
1165
|
+
(FPOffset
|
1166
|
+
(off i64))
|
1167
|
+
|
1168
|
+
;; A reference to a constant which is placed outside of the function's
|
1169
|
+
;; body, typically at the end.
|
1170
|
+
(Const
|
1171
|
+
(addr VCodeConstant))
|
1172
|
+
|
1173
|
+
;; Offset from the beginning of the argument area to the argument
|
1174
|
+
;; referenced. This can only be determined when the function has been
|
1175
|
+
;; processed fully, as the size of the argument area after the prologue
|
1176
|
+
;; is only known once all return_call instructions in the function body
|
1177
|
+
;; have been processed.
|
1178
|
+
(IncomingArg
|
1179
|
+
(off i64))
|
1180
|
+
|
1181
|
+
;; Offset into the slot area of the stack, which lies just above the
|
1182
|
+
;; outgoing argument area that's setup by the function prologue.
|
1183
|
+
;; At emission time, this is converted to `SPOffset` with a fixup added to
|
1184
|
+
;; the offset constant. The fixup is a running value that is tracked as
|
1185
|
+
;; emission iterates through instructions in linear order, and can be
|
1186
|
+
;; adjusted up and down with [Inst::VirtualSPOffsetAdj].
|
1187
|
+
;;
|
1188
|
+
;; The standard ABI is in charge of handling this (by emitting the
|
1189
|
+
;; adjustment meta-instructions). See the diagram in the documentation
|
1190
|
+
;; for [crate::isa::aarch64::abi](the ABI module) for more details.
|
1191
|
+
(SlotOffset
|
1192
|
+
(off i64))))
|
1193
|
+
|
1194
|
+
;; A memory argument to a load/store-pair.
|
1195
|
+
(type PairAMode (enum
|
1196
|
+
;; Signed, scaled 7-bit offset from a register.
|
1197
|
+
(SignedOffset
|
1198
|
+
(reg Reg)
|
1199
|
+
(simm7 SImm7Scaled))
|
1200
|
+
|
1201
|
+
;; Pre-increment register before address computation.
|
1202
|
+
(SPPreIndexed (simm7 SImm7Scaled))
|
1203
|
+
|
1204
|
+
;; Post-increment register after address computation.
|
1205
|
+
(SPPostIndexed (simm7 SImm7Scaled))
|
1206
|
+
))
|
1207
|
+
|
1208
|
+
(type FPUOpRI extern (enum))
|
1209
|
+
(type FPUOpRIMod extern (enum))
|
1210
|
+
|
1211
|
+
(type OperandSize extern
|
1212
|
+
(enum Size32
|
1213
|
+
Size64))
|
1214
|
+
|
1215
|
+
(type TestBitAndBranchKind (enum (Z) (NZ)))
|
1216
|
+
|
1217
|
+
;; Helper for calculating the `OperandSize` corresponding to a type
|
1218
|
+
(decl operand_size (Type) OperandSize)
|
1219
|
+
(rule 1 (operand_size (fits_in_32 _ty)) (OperandSize.Size32))
|
1220
|
+
(rule (operand_size (fits_in_64 _ty)) (OperandSize.Size64))
|
1221
|
+
|
1222
|
+
(type ScalarSize extern
|
1223
|
+
(enum Size8
|
1224
|
+
Size16
|
1225
|
+
Size32
|
1226
|
+
Size64
|
1227
|
+
Size128))
|
1228
|
+
|
1229
|
+
;; Helper for calculating the `ScalarSize` corresponding to a type
|
1230
|
+
(decl scalar_size (Type) ScalarSize)
|
1231
|
+
|
1232
|
+
(rule (scalar_size $I8) (ScalarSize.Size8))
|
1233
|
+
(rule (scalar_size $I16) (ScalarSize.Size16))
|
1234
|
+
(rule (scalar_size $I32) (ScalarSize.Size32))
|
1235
|
+
(rule (scalar_size $I64) (ScalarSize.Size64))
|
1236
|
+
(rule (scalar_size $I128) (ScalarSize.Size128))
|
1237
|
+
|
1238
|
+
(rule (scalar_size $F32) (ScalarSize.Size32))
|
1239
|
+
(rule (scalar_size $F64) (ScalarSize.Size64))
|
1240
|
+
|
1241
|
+
;; Helper for calculating the `ScalarSize` lane type from vector type
|
1242
|
+
(decl lane_size (Type) ScalarSize)
|
1243
|
+
(rule 1 (lane_size (multi_lane 8 _)) (ScalarSize.Size8))
|
1244
|
+
(rule 1 (lane_size (multi_lane 16 _)) (ScalarSize.Size16))
|
1245
|
+
(rule 1 (lane_size (multi_lane 32 _)) (ScalarSize.Size32))
|
1246
|
+
(rule 1 (lane_size (multi_lane 64 _)) (ScalarSize.Size64))
|
1247
|
+
(rule (lane_size (dynamic_lane 8 _)) (ScalarSize.Size8))
|
1248
|
+
(rule (lane_size (dynamic_lane 16 _)) (ScalarSize.Size16))
|
1249
|
+
(rule (lane_size (dynamic_lane 32 _)) (ScalarSize.Size32))
|
1250
|
+
(rule (lane_size (dynamic_lane 64 _)) (ScalarSize.Size64))
|
1251
|
+
|
1252
|
+
;; Helper for extracting the size of a lane from the input `VectorSize`
|
1253
|
+
(decl pure vector_lane_size (VectorSize) ScalarSize)
|
1254
|
+
(rule (vector_lane_size (VectorSize.Size8x16)) (ScalarSize.Size8))
|
1255
|
+
(rule (vector_lane_size (VectorSize.Size8x8)) (ScalarSize.Size8))
|
1256
|
+
(rule (vector_lane_size (VectorSize.Size16x8)) (ScalarSize.Size16))
|
1257
|
+
(rule (vector_lane_size (VectorSize.Size16x4)) (ScalarSize.Size16))
|
1258
|
+
(rule (vector_lane_size (VectorSize.Size32x4)) (ScalarSize.Size32))
|
1259
|
+
(rule (vector_lane_size (VectorSize.Size32x2)) (ScalarSize.Size32))
|
1260
|
+
(rule (vector_lane_size (VectorSize.Size64x2)) (ScalarSize.Size64))
|
1261
|
+
|
1262
|
+
(type Cond extern
|
1263
|
+
(enum
|
1264
|
+
(Eq)
|
1265
|
+
(Ne)
|
1266
|
+
(Hs)
|
1267
|
+
(Lo)
|
1268
|
+
(Mi)
|
1269
|
+
(Pl)
|
1270
|
+
(Vs)
|
1271
|
+
(Vc)
|
1272
|
+
(Hi)
|
1273
|
+
(Ls)
|
1274
|
+
(Ge)
|
1275
|
+
(Lt)
|
1276
|
+
(Gt)
|
1277
|
+
(Le)
|
1278
|
+
(Al)
|
1279
|
+
(Nv)
|
1280
|
+
))
|
1281
|
+
|
1282
|
+
(type VectorSize extern
|
1283
|
+
(enum
|
1284
|
+
(Size8x8)
|
1285
|
+
(Size8x16)
|
1286
|
+
(Size16x4)
|
1287
|
+
(Size16x8)
|
1288
|
+
(Size32x2)
|
1289
|
+
(Size32x4)
|
1290
|
+
(Size64x2)
|
1291
|
+
))
|
1292
|
+
|
1293
|
+
;; Helper for calculating the `VectorSize` corresponding to a type
|
1294
|
+
(decl vector_size (Type) VectorSize)
|
1295
|
+
(rule 1 (vector_size (multi_lane 8 8)) (VectorSize.Size8x8))
|
1296
|
+
(rule 1 (vector_size (multi_lane 8 16)) (VectorSize.Size8x16))
|
1297
|
+
(rule 1 (vector_size (multi_lane 16 4)) (VectorSize.Size16x4))
|
1298
|
+
(rule 1 (vector_size (multi_lane 16 8)) (VectorSize.Size16x8))
|
1299
|
+
(rule 1 (vector_size (multi_lane 32 2)) (VectorSize.Size32x2))
|
1300
|
+
(rule 1 (vector_size (multi_lane 32 4)) (VectorSize.Size32x4))
|
1301
|
+
(rule 1 (vector_size (multi_lane 64 2)) (VectorSize.Size64x2))
|
1302
|
+
(rule (vector_size (dynamic_lane 8 8)) (VectorSize.Size8x8))
|
1303
|
+
(rule (vector_size (dynamic_lane 8 16)) (VectorSize.Size8x16))
|
1304
|
+
(rule (vector_size (dynamic_lane 16 4)) (VectorSize.Size16x4))
|
1305
|
+
(rule (vector_size (dynamic_lane 16 8)) (VectorSize.Size16x8))
|
1306
|
+
(rule (vector_size (dynamic_lane 32 2)) (VectorSize.Size32x2))
|
1307
|
+
(rule (vector_size (dynamic_lane 32 4)) (VectorSize.Size32x4))
|
1308
|
+
(rule (vector_size (dynamic_lane 64 2)) (VectorSize.Size64x2))
|
1309
|
+
|
1310
|
+
;; A floating-point unit (FPU) operation with one arg.
|
1311
|
+
(type FPUOp1
|
1312
|
+
(enum
|
1313
|
+
(Abs)
|
1314
|
+
(Neg)
|
1315
|
+
(Sqrt)
|
1316
|
+
(Cvt32To64)
|
1317
|
+
(Cvt64To32)
|
1318
|
+
))
|
1319
|
+
|
1320
|
+
;; A floating-point unit (FPU) operation with two args.
|
1321
|
+
(type FPUOp2
|
1322
|
+
(enum
|
1323
|
+
(Add)
|
1324
|
+
(Sub)
|
1325
|
+
(Mul)
|
1326
|
+
(Div)
|
1327
|
+
(Max)
|
1328
|
+
(Min)
|
1329
|
+
))
|
1330
|
+
|
1331
|
+
;; A floating-point unit (FPU) operation with three args.
|
1332
|
+
(type FPUOp3
|
1333
|
+
(enum
|
1334
|
+
;; Multiply-add
|
1335
|
+
(MAdd)
|
1336
|
+
;; Multiply-sub
|
1337
|
+
(MSub)
|
1338
|
+
))
|
1339
|
+
|
1340
|
+
;; A conversion from an FP to an integer value.
|
1341
|
+
(type FpuToIntOp
|
1342
|
+
(enum
|
1343
|
+
(F32ToU32)
|
1344
|
+
(F32ToI32)
|
1345
|
+
(F32ToU64)
|
1346
|
+
(F32ToI64)
|
1347
|
+
(F64ToU32)
|
1348
|
+
(F64ToI32)
|
1349
|
+
(F64ToU64)
|
1350
|
+
(F64ToI64)
|
1351
|
+
))
|
1352
|
+
|
1353
|
+
;; A conversion from an integer to an FP value.
|
1354
|
+
(type IntToFpuOp
|
1355
|
+
(enum
|
1356
|
+
(U32ToF32)
|
1357
|
+
(I32ToF32)
|
1358
|
+
(U32ToF64)
|
1359
|
+
(I32ToF64)
|
1360
|
+
(U64ToF32)
|
1361
|
+
(I64ToF32)
|
1362
|
+
(U64ToF64)
|
1363
|
+
(I64ToF64)
|
1364
|
+
))
|
1365
|
+
|
1366
|
+
;; Modes for FP rounding ops: round down (floor) or up (ceil), or toward zero (trunc), or to
|
1367
|
+
;; nearest, and for 32- or 64-bit FP values.
|
1368
|
+
(type FpuRoundMode
|
1369
|
+
(enum
|
1370
|
+
(Minus32)
|
1371
|
+
(Minus64)
|
1372
|
+
(Plus32)
|
1373
|
+
(Plus64)
|
1374
|
+
(Zero32)
|
1375
|
+
(Zero64)
|
1376
|
+
(Nearest32)
|
1377
|
+
(Nearest64)
|
1378
|
+
))
|
1379
|
+
|
1380
|
+
;; Type of vector element extensions.
|
1381
|
+
(type VecExtendOp
|
1382
|
+
(enum
|
1383
|
+
;; Signed extension
|
1384
|
+
(Sxtl)
|
1385
|
+
;; Unsigned extension
|
1386
|
+
(Uxtl)
|
1387
|
+
))
|
1388
|
+
|
1389
|
+
;; A vector ALU operation.
|
1390
|
+
(type VecALUOp
|
1391
|
+
(enum
|
1392
|
+
;; Signed saturating add
|
1393
|
+
(Sqadd)
|
1394
|
+
;; Unsigned saturating add
|
1395
|
+
(Uqadd)
|
1396
|
+
;; Signed saturating subtract
|
1397
|
+
(Sqsub)
|
1398
|
+
;; Unsigned saturating subtract
|
1399
|
+
(Uqsub)
|
1400
|
+
;; Compare bitwise equal
|
1401
|
+
(Cmeq)
|
1402
|
+
;; Compare signed greater than or equal
|
1403
|
+
(Cmge)
|
1404
|
+
;; Compare signed greater than
|
1405
|
+
(Cmgt)
|
1406
|
+
;; Compare unsigned higher
|
1407
|
+
(Cmhs)
|
1408
|
+
;; Compare unsigned higher or same
|
1409
|
+
(Cmhi)
|
1410
|
+
;; Floating-point compare equal
|
1411
|
+
(Fcmeq)
|
1412
|
+
;; Floating-point compare greater than
|
1413
|
+
(Fcmgt)
|
1414
|
+
;; Floating-point compare greater than or equal
|
1415
|
+
(Fcmge)
|
1416
|
+
;; Bitwise and
|
1417
|
+
(And)
|
1418
|
+
;; Bitwise bit clear
|
1419
|
+
(Bic)
|
1420
|
+
;; Bitwise inclusive or
|
1421
|
+
(Orr)
|
1422
|
+
;; Bitwise exclusive or
|
1423
|
+
(Eor)
|
1424
|
+
;; Unsigned maximum pairwise
|
1425
|
+
(Umaxp)
|
1426
|
+
;; Add
|
1427
|
+
(Add)
|
1428
|
+
;; Subtract
|
1429
|
+
(Sub)
|
1430
|
+
;; Multiply
|
1431
|
+
(Mul)
|
1432
|
+
;; Signed shift left
|
1433
|
+
(Sshl)
|
1434
|
+
;; Unsigned shift left
|
1435
|
+
(Ushl)
|
1436
|
+
;; Unsigned minimum
|
1437
|
+
(Umin)
|
1438
|
+
;; Signed minimum
|
1439
|
+
(Smin)
|
1440
|
+
;; Unsigned maximum
|
1441
|
+
(Umax)
|
1442
|
+
;; Signed maximum
|
1443
|
+
(Smax)
|
1444
|
+
;; Unsigned rounding halving add
|
1445
|
+
(Urhadd)
|
1446
|
+
;; Floating-point add
|
1447
|
+
(Fadd)
|
1448
|
+
;; Floating-point subtract
|
1449
|
+
(Fsub)
|
1450
|
+
;; Floating-point divide
|
1451
|
+
(Fdiv)
|
1452
|
+
;; Floating-point maximum
|
1453
|
+
(Fmax)
|
1454
|
+
;; Floating-point minimum
|
1455
|
+
(Fmin)
|
1456
|
+
;; Floating-point multiply
|
1457
|
+
(Fmul)
|
1458
|
+
;; Add pairwise
|
1459
|
+
(Addp)
|
1460
|
+
;; Zip vectors (primary) [meaning, high halves]
|
1461
|
+
(Zip1)
|
1462
|
+
;; Zip vectors (secondary)
|
1463
|
+
(Zip2)
|
1464
|
+
;; Signed saturating rounding doubling multiply returning high half
|
1465
|
+
(Sqrdmulh)
|
1466
|
+
;; Unzip vectors (primary)
|
1467
|
+
(Uzp1)
|
1468
|
+
;; Unzip vectors (secondary)
|
1469
|
+
(Uzp2)
|
1470
|
+
;; Transpose vectors (primary)
|
1471
|
+
(Trn1)
|
1472
|
+
;; Transpose vectors (secondary)
|
1473
|
+
(Trn2)
|
1474
|
+
))
|
1475
|
+
|
1476
|
+
;; A Vector ALU operation which modifies a source register.
|
1477
|
+
(type VecALUModOp
|
1478
|
+
(enum
|
1479
|
+
;; Bitwise select
|
1480
|
+
(Bsl)
|
1481
|
+
;; Floating-point fused multiply-add vectors
|
1482
|
+
(Fmla)
|
1483
|
+
;; Floating-point fused multiply-subtract vectors
|
1484
|
+
(Fmls)
|
1485
|
+
))
|
1486
|
+
|
1487
|
+
;; A Vector miscellaneous operation with two registers.
|
1488
|
+
(type VecMisc2
|
1489
|
+
(enum
|
1490
|
+
;; Bitwise NOT
|
1491
|
+
(Not)
|
1492
|
+
;; Negate
|
1493
|
+
(Neg)
|
1494
|
+
;; Absolute value
|
1495
|
+
(Abs)
|
1496
|
+
;; Floating-point absolute value
|
1497
|
+
(Fabs)
|
1498
|
+
;; Floating-point negate
|
1499
|
+
(Fneg)
|
1500
|
+
;; Floating-point square root
|
1501
|
+
(Fsqrt)
|
1502
|
+
;; Reverse elements in 16-bit lanes
|
1503
|
+
(Rev16)
|
1504
|
+
;; Reverse elements in 32-bit lanes
|
1505
|
+
(Rev32)
|
1506
|
+
;; Reverse elements in 64-bit doublewords
|
1507
|
+
(Rev64)
|
1508
|
+
;; Floating-point convert to signed integer, rounding toward zero
|
1509
|
+
(Fcvtzs)
|
1510
|
+
;; Floating-point convert to unsigned integer, rounding toward zero
|
1511
|
+
(Fcvtzu)
|
1512
|
+
;; Signed integer convert to floating-point
|
1513
|
+
(Scvtf)
|
1514
|
+
;; Unsigned integer convert to floating-point
|
1515
|
+
(Ucvtf)
|
1516
|
+
;; Floating point round to integral, rounding towards nearest
|
1517
|
+
(Frintn)
|
1518
|
+
;; Floating point round to integral, rounding towards zero
|
1519
|
+
(Frintz)
|
1520
|
+
;; Floating point round to integral, rounding towards minus infinity
|
1521
|
+
(Frintm)
|
1522
|
+
;; Floating point round to integral, rounding towards plus infinity
|
1523
|
+
(Frintp)
|
1524
|
+
;; Population count per byte
|
1525
|
+
(Cnt)
|
1526
|
+
;; Compare bitwise equal to 0
|
1527
|
+
(Cmeq0)
|
1528
|
+
;; Compare signed greater than or equal to 0
|
1529
|
+
(Cmge0)
|
1530
|
+
;; Compare signed greater than 0
|
1531
|
+
(Cmgt0)
|
1532
|
+
;; Compare signed less than or equal to 0
|
1533
|
+
(Cmle0)
|
1534
|
+
;; Compare signed less than 0
|
1535
|
+
(Cmlt0)
|
1536
|
+
;; Floating point compare equal to 0
|
1537
|
+
(Fcmeq0)
|
1538
|
+
;; Floating point compare greater than or equal to 0
|
1539
|
+
(Fcmge0)
|
1540
|
+
;; Floating point compare greater than 0
|
1541
|
+
(Fcmgt0)
|
1542
|
+
;; Floating point compare less than or equal to 0
|
1543
|
+
(Fcmle0)
|
1544
|
+
;; Floating point compare less than 0
|
1545
|
+
(Fcmlt0)
|
1546
|
+
))
|
1547
|
+
|
1548
|
+
;; A vector widening operation with one argument.
|
1549
|
+
(type VecRRLongOp
|
1550
|
+
(enum
|
1551
|
+
;; Floating-point convert to higher precision long, 16-bit elements
|
1552
|
+
(Fcvtl16)
|
1553
|
+
;; Floating-point convert to higher precision long, 32-bit elements
|
1554
|
+
(Fcvtl32)
|
1555
|
+
;; Shift left long (by element size), 8-bit elements
|
1556
|
+
(Shll8)
|
1557
|
+
;; Shift left long (by element size), 16-bit elements
|
1558
|
+
(Shll16)
|
1559
|
+
;; Shift left long (by element size), 32-bit elements
|
1560
|
+
(Shll32)
|
1561
|
+
))
|
1562
|
+
|
1563
|
+
;; A vector narrowing operation with one argument.
|
1564
|
+
(type VecRRNarrowOp
|
1565
|
+
(enum
|
1566
|
+
;; Extract narrow.
|
1567
|
+
(Xtn)
|
1568
|
+
;; Signed saturating extract narrow.
|
1569
|
+
(Sqxtn)
|
1570
|
+
;; Signed saturating extract unsigned narrow.
|
1571
|
+
(Sqxtun)
|
1572
|
+
;; Unsigned saturating extract narrow.
|
1573
|
+
(Uqxtn)
|
1574
|
+
;; Floating-point convert to lower precision narrow.
|
1575
|
+
(Fcvtn)
|
1576
|
+
))
|
1577
|
+
|
1578
|
+
(type VecRRRLongOp
|
1579
|
+
(enum
|
1580
|
+
;; Signed multiply long.
|
1581
|
+
(Smull8)
|
1582
|
+
(Smull16)
|
1583
|
+
(Smull32)
|
1584
|
+
;; Unsigned multiply long.
|
1585
|
+
(Umull8)
|
1586
|
+
(Umull16)
|
1587
|
+
(Umull32)
|
1588
|
+
))
|
1589
|
+
|
1590
|
+
(type VecRRRLongModOp
|
1591
|
+
(enum
|
1592
|
+
;; Unsigned multiply add long
|
1593
|
+
(Umlal8)
|
1594
|
+
(Umlal16)
|
1595
|
+
(Umlal32)
|
1596
|
+
))
|
1597
|
+
|
1598
|
+
;; A vector operation on a pair of elements with one register.
|
1599
|
+
(type VecPairOp
|
1600
|
+
(enum
|
1601
|
+
;; Add pair of elements
|
1602
|
+
(Addp)
|
1603
|
+
))
|
1604
|
+
|
1605
|
+
;; 1-operand vector instruction that extends elements of the input register
|
1606
|
+
;; and operates on a pair of elements.
|
1607
|
+
(type VecRRPairLongOp
|
1608
|
+
(enum
|
1609
|
+
;; Sign extend and add pair of elements
|
1610
|
+
(Saddlp8)
|
1611
|
+
(Saddlp16)
|
1612
|
+
;; Unsigned extend and add pair of elements
|
1613
|
+
(Uaddlp8)
|
1614
|
+
(Uaddlp16)
|
1615
|
+
))
|
1616
|
+
|
1617
|
+
;; An operation across the lanes of vectors.
|
1618
|
+
(type VecLanesOp
|
1619
|
+
(enum
|
1620
|
+
;; Integer addition across a vector
|
1621
|
+
(Addv)
|
1622
|
+
;; Unsigned minimum across a vector
|
1623
|
+
(Uminv)
|
1624
|
+
))
|
1625
|
+
|
1626
|
+
;; A shift-by-immediate operation on each lane of a vector.
|
1627
|
+
(type VecShiftImmOp
|
1628
|
+
(enum
|
1629
|
+
;; Unsigned shift left
|
1630
|
+
(Shl)
|
1631
|
+
;; Unsigned shift right
|
1632
|
+
(Ushr)
|
1633
|
+
;; Signed shift right
|
1634
|
+
(Sshr)
|
1635
|
+
))
|
1636
|
+
|
1637
|
+
;; Destructive shift-by-immediate operation on each lane of a vector.
|
1638
|
+
(type VecShiftImmModOp
|
1639
|
+
(enum
|
1640
|
+
;; Shift left and insert
|
1641
|
+
(Sli)
|
1642
|
+
))
|
1643
|
+
|
1644
|
+
;; Atomic read-modify-write operations with acquire-release semantics
|
1645
|
+
(type AtomicRMWOp
|
1646
|
+
(enum
|
1647
|
+
(Add)
|
1648
|
+
(Clr)
|
1649
|
+
(Eor)
|
1650
|
+
(Set)
|
1651
|
+
(Smax)
|
1652
|
+
(Smin)
|
1653
|
+
(Umax)
|
1654
|
+
(Umin)
|
1655
|
+
(Swp)
|
1656
|
+
))
|
1657
|
+
|
1658
|
+
;; Atomic read-modify-write operations, with acquire-release semantics,
|
1659
|
+
;; implemented with a loop.
|
1660
|
+
(type AtomicRMWLoopOp
|
1661
|
+
(enum
|
1662
|
+
(Add)
|
1663
|
+
(Sub)
|
1664
|
+
(And)
|
1665
|
+
(Nand)
|
1666
|
+
(Eor)
|
1667
|
+
(Orr)
|
1668
|
+
(Smax)
|
1669
|
+
(Smin)
|
1670
|
+
(Umax)
|
1671
|
+
(Umin)
|
1672
|
+
(Xchg)
|
1673
|
+
))
|
1674
|
+
|
1675
|
+
;; Keys for instruction address PACs
|
1676
|
+
(type APIKey
|
1677
|
+
(enum
|
1678
|
+
;; API key A with the modifier of SP
|
1679
|
+
(ASP)
|
1680
|
+
;; API key B with the modifier of SP
|
1681
|
+
(BSP)
|
1682
|
+
;; API key A with the modifier of zero
|
1683
|
+
(AZ)
|
1684
|
+
;; API key B with the modifier of zero
|
1685
|
+
(BZ)
|
1686
|
+
))
|
1687
|
+
|
1688
|
+
;; Branch target types
|
1689
|
+
(type BranchTargetType
|
1690
|
+
(enum
|
1691
|
+
(None)
|
1692
|
+
(C)
|
1693
|
+
(J)
|
1694
|
+
(JC)
|
1695
|
+
))
|
1696
|
+
|
1697
|
+
;; Extractors for target features ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1698
|
+
(decl pure partial sign_return_address_disabled () Unit)
|
1699
|
+
(extern constructor sign_return_address_disabled sign_return_address_disabled)
|
1700
|
+
|
1701
|
+
(decl use_lse () Inst)
|
1702
|
+
(extern extractor use_lse use_lse)
|
1703
|
+
|
1704
|
+
;; Extractor helpers for various immediate constants ;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1705
|
+
|
1706
|
+
(decl pure partial move_wide_const_from_u64 (Type u64) MoveWideConst)
|
1707
|
+
(extern constructor move_wide_const_from_u64 move_wide_const_from_u64)
|
1708
|
+
|
1709
|
+
(decl pure partial move_wide_const_from_inverted_u64 (Type u64) MoveWideConst)
|
1710
|
+
(extern constructor move_wide_const_from_inverted_u64 move_wide_const_from_inverted_u64)
|
1711
|
+
|
1712
|
+
(decl pure partial imm_logic_from_u64 (Type u64) ImmLogic)
|
1713
|
+
(extern constructor imm_logic_from_u64 imm_logic_from_u64)
|
1714
|
+
|
1715
|
+
(decl pure partial imm_size_from_type (Type) u16)
|
1716
|
+
(extern constructor imm_size_from_type imm_size_from_type)
|
1717
|
+
|
1718
|
+
(decl pure partial imm_logic_from_imm64 (Type Imm64) ImmLogic)
|
1719
|
+
(extern constructor imm_logic_from_imm64 imm_logic_from_imm64)
|
1720
|
+
|
1721
|
+
(decl pure partial imm_shift_from_imm64 (Type Imm64) ImmShift)
|
1722
|
+
(extern constructor imm_shift_from_imm64 imm_shift_from_imm64)
|
1723
|
+
|
1724
|
+
(decl imm_shift_from_u8 (u8) ImmShift)
|
1725
|
+
(extern constructor imm_shift_from_u8 imm_shift_from_u8)
|
1726
|
+
|
1727
|
+
(decl imm12_from_u64 (Imm12) u64)
|
1728
|
+
(extern extractor imm12_from_u64 imm12_from_u64)
|
1729
|
+
|
1730
|
+
(decl u8_into_uimm5 (u8) UImm5)
|
1731
|
+
(extern constructor u8_into_uimm5 u8_into_uimm5)
|
1732
|
+
|
1733
|
+
(decl u8_into_imm12 (u8) Imm12)
|
1734
|
+
(extern constructor u8_into_imm12 u8_into_imm12)
|
1735
|
+
|
1736
|
+
(decl u64_into_imm_logic (Type u64) ImmLogic)
|
1737
|
+
(extern constructor u64_into_imm_logic u64_into_imm_logic)
|
1738
|
+
|
1739
|
+
(decl branch_target (MachLabel) BranchTarget)
|
1740
|
+
(extern constructor branch_target branch_target)
|
1741
|
+
(convert MachLabel BranchTarget branch_target)
|
1742
|
+
|
1743
|
+
(decl targets_jt_space (BoxVecMachLabel) CodeOffset)
|
1744
|
+
(extern constructor targets_jt_space targets_jt_space)
|
1745
|
+
|
1746
|
+
;; Calculate the minimum floating-point bound for a conversion to floating
|
1747
|
+
;; point from an integer type.
|
1748
|
+
;; Accepts whether the output is signed, the size of the input
|
1749
|
+
;; floating point type in bits, and the size of the output integer type
|
1750
|
+
;; in bits.
|
1751
|
+
(decl min_fp_value (bool u8 u8) Reg)
|
1752
|
+
(extern constructor min_fp_value min_fp_value)
|
1753
|
+
|
1754
|
+
;; Calculate the maximum floating-point bound for a conversion to floating
|
1755
|
+
;; point from an integer type.
|
1756
|
+
;; Accepts whether the output is signed, the size of the input
|
1757
|
+
;; floating point type in bits, and the size of the output integer type
|
1758
|
+
;; in bits.
|
1759
|
+
(decl max_fp_value (bool u8 u8) Reg)
|
1760
|
+
(extern constructor max_fp_value max_fp_value)
|
1761
|
+
|
1762
|
+
;; Constructs an FPUOpRI.Ushr* given the size in bits of the value (or lane)
|
1763
|
+
;; and the amount to shift by.
|
1764
|
+
(decl fpu_op_ri_ushr (u8 u8) FPUOpRI)
|
1765
|
+
(extern constructor fpu_op_ri_ushr fpu_op_ri_ushr)
|
1766
|
+
|
1767
|
+
;; Constructs an FPUOpRIMod.Sli* given the size in bits of the value (or lane)
|
1768
|
+
;; and the amount to shift by.
|
1769
|
+
(decl fpu_op_ri_sli (u8 u8) FPUOpRIMod)
|
1770
|
+
(extern constructor fpu_op_ri_sli fpu_op_ri_sli)
|
1771
|
+
|
1772
|
+
(decl pure partial lshr_from_u64 (Type u64) ShiftOpAndAmt)
|
1773
|
+
(extern constructor lshr_from_u64 lshr_from_u64)
|
1774
|
+
|
1775
|
+
(decl pure partial lshl_from_imm64 (Type Imm64) ShiftOpAndAmt)
|
1776
|
+
(extern constructor lshl_from_imm64 lshl_from_imm64)
|
1777
|
+
|
1778
|
+
(decl pure partial lshl_from_u64 (Type u64) ShiftOpAndAmt)
|
1779
|
+
(extern constructor lshl_from_u64 lshl_from_u64)
|
1780
|
+
|
1781
|
+
(decl pure partial ashr_from_u64 (Type u64) ShiftOpAndAmt)
|
1782
|
+
(extern constructor ashr_from_u64 ashr_from_u64)
|
1783
|
+
|
1784
|
+
(decl integral_ty (Type) Type)
|
1785
|
+
(extern extractor integral_ty integral_ty)
|
1786
|
+
|
1787
|
+
(decl valid_atomic_transaction (Type) Type)
|
1788
|
+
(extern extractor valid_atomic_transaction valid_atomic_transaction)
|
1789
|
+
|
1790
|
+
(decl pure partial is_zero_simm9 (SImm9) Unit)
|
1791
|
+
(extern constructor is_zero_simm9 is_zero_simm9)
|
1792
|
+
|
1793
|
+
(decl pure partial is_zero_uimm12 (UImm12Scaled) Unit)
|
1794
|
+
(extern constructor is_zero_uimm12 is_zero_uimm12)
|
1795
|
+
|
1796
|
+
;; Helper to go directly from a `Value`, when it's an `iconst`, to an `Imm12`.
|
1797
|
+
(decl imm12_from_value (Imm12) Value)
|
1798
|
+
(extractor
|
1799
|
+
(imm12_from_value n)
|
1800
|
+
(iconst (u64_from_imm64 (imm12_from_u64 n))))
|
1801
|
+
|
1802
|
+
;; Conceptually the same as `imm12_from_value`, but tries negating the constant
|
1803
|
+
;; value (first sign-extending to handle narrow widths).
|
1804
|
+
(decl pure partial imm12_from_negated_value (Value) Imm12)
|
1805
|
+
(rule
|
1806
|
+
(imm12_from_negated_value (has_type ty (iconst n)))
|
1807
|
+
(if-let (imm12_from_u64 imm) (i64_as_u64 (i64_neg (i64_sextend_imm64 ty n))))
|
1808
|
+
imm)
|
1809
|
+
|
1810
|
+
;; Helper type to represent a value and an extend operation fused together.
|
1811
|
+
(type ExtendedValue extern (enum))
|
1812
|
+
(decl extended_value_from_value (ExtendedValue) Value)
|
1813
|
+
(extern extractor extended_value_from_value extended_value_from_value)
|
1814
|
+
|
1815
|
+
;; Constructors used to poke at the fields of an `ExtendedValue`.
|
1816
|
+
(decl put_extended_in_reg (ExtendedValue) Reg)
|
1817
|
+
(extern constructor put_extended_in_reg put_extended_in_reg)
|
1818
|
+
(decl get_extended_op (ExtendedValue) ExtendOp)
|
1819
|
+
(extern constructor get_extended_op get_extended_op)
|
1820
|
+
|
1821
|
+
(decl nzcv (bool bool bool bool) NZCV)
|
1822
|
+
(extern constructor nzcv nzcv)
|
1823
|
+
|
1824
|
+
(decl cond_br_zero (Reg) CondBrKind)
|
1825
|
+
(extern constructor cond_br_zero cond_br_zero)
|
1826
|
+
|
1827
|
+
(decl cond_br_not_zero (Reg) CondBrKind)
|
1828
|
+
(extern constructor cond_br_not_zero cond_br_not_zero)
|
1829
|
+
|
1830
|
+
(decl cond_br_cond (Cond) CondBrKind)
|
1831
|
+
(extern constructor cond_br_cond cond_br_cond)
|
1832
|
+
|
1833
|
+
;; Instruction creation helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1834
|
+
|
1835
|
+
;; Helper for creating the zero register.
|
1836
|
+
(decl zero_reg () Reg)
|
1837
|
+
(extern constructor zero_reg zero_reg)
|
1838
|
+
|
1839
|
+
(decl fp_reg () Reg)
|
1840
|
+
(extern constructor fp_reg fp_reg)
|
1841
|
+
|
1842
|
+
(decl stack_reg () Reg)
|
1843
|
+
(extern constructor stack_reg stack_reg)
|
1844
|
+
|
1845
|
+
(decl writable_link_reg () WritableReg)
|
1846
|
+
(extern constructor writable_link_reg writable_link_reg)
|
1847
|
+
|
1848
|
+
(decl writable_zero_reg () WritableReg)
|
1849
|
+
(extern constructor writable_zero_reg writable_zero_reg)
|
1850
|
+
|
1851
|
+
(decl value_regs_zero () ValueRegs)
|
1852
|
+
(rule (value_regs_zero)
|
1853
|
+
(value_regs
|
1854
|
+
(imm $I64 (ImmExtend.Zero) 0)
|
1855
|
+
(imm $I64 (ImmExtend.Zero) 0)))
|
1856
|
+
|
1857
|
+
|
1858
|
+
;; Helper for emitting `MInst.Mov` instructions.
|
1859
|
+
(decl mov (Reg Type) Reg)
|
1860
|
+
(rule (mov src ty)
|
1861
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1862
|
+
(_ Unit (emit (MInst.Mov (operand_size ty) dst src))))
|
1863
|
+
dst))
|
1864
|
+
|
1865
|
+
;; Helper for emitting `MInst.MovZ` instructions.
|
1866
|
+
(decl movz (MoveWideConst OperandSize) Reg)
|
1867
|
+
(rule (movz imm size)
|
1868
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1869
|
+
(_ Unit (emit (MInst.MovWide (MoveWideOp.MovZ) dst imm size))))
|
1870
|
+
dst))
|
1871
|
+
|
1872
|
+
;; Helper for emitting `MInst.MovN` instructions.
|
1873
|
+
(decl movn (MoveWideConst OperandSize) Reg)
|
1874
|
+
(rule (movn imm size)
|
1875
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1876
|
+
(_ Unit (emit (MInst.MovWide (MoveWideOp.MovN) dst imm size))))
|
1877
|
+
dst))
|
1878
|
+
|
1879
|
+
;; Helper for emitting `MInst.AluRRImmLogic` instructions.
|
1880
|
+
(decl alu_rr_imm_logic (ALUOp Type Reg ImmLogic) Reg)
|
1881
|
+
(rule (alu_rr_imm_logic op ty src imm)
|
1882
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1883
|
+
(_ Unit (emit (MInst.AluRRImmLogic op (operand_size ty) dst src imm))))
|
1884
|
+
dst))
|
1885
|
+
|
1886
|
+
;; Helper for emitting `MInst.AluRRImmShift` instructions.
|
1887
|
+
(decl alu_rr_imm_shift (ALUOp Type Reg ImmShift) Reg)
|
1888
|
+
(rule (alu_rr_imm_shift op ty src imm)
|
1889
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1890
|
+
(_ Unit (emit (MInst.AluRRImmShift op (operand_size ty) dst src imm))))
|
1891
|
+
dst))
|
1892
|
+
|
1893
|
+
;; Helper for emitting `MInst.AluRRR` instructions.
|
1894
|
+
(decl alu_rrr (ALUOp Type Reg Reg) Reg)
|
1895
|
+
(rule (alu_rrr op ty src1 src2)
|
1896
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
1897
|
+
(_ Unit (emit (MInst.AluRRR op (operand_size ty) dst src1 src2))))
|
1898
|
+
dst))
|
1899
|
+
|
1900
|
+
;; Helper for emitting `MInst.VecRRR` instructions.
|
1901
|
+
(decl vec_rrr (VecALUOp Reg Reg VectorSize) Reg)
|
1902
|
+
(rule (vec_rrr op src1 src2 size)
|
1903
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1904
|
+
(_ Unit (emit (MInst.VecRRR op dst src1 src2 size))))
|
1905
|
+
dst))
|
1906
|
+
|
1907
|
+
;; Helper for emitting `MInst.FpuRR` instructions.
|
1908
|
+
(decl fpu_rr (FPUOp1 Reg ScalarSize) Reg)
|
1909
|
+
(rule (fpu_rr op src size)
|
1910
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
1911
|
+
(_ Unit (emit (MInst.FpuRR op size dst src))))
|
1912
|
+
dst))
|
1913
|
+
|
1914
|
+
;; Helper for emitting `MInst.VecRRRMod` instructions which use three registers,
|
1915
|
+
;; one of which is both source and output.
|
1916
|
+
(decl vec_rrr_mod (VecALUModOp Reg Reg Reg VectorSize) Reg)
|
1917
|
+
(rule (vec_rrr_mod op src1 src2 src3 size)
|
1918
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1919
|
+
(_1 Unit (emit (MInst.VecRRRMod op dst src1 src2 src3 size))))
|
1920
|
+
dst))
|
1921
|
+
|
1922
|
+
;; Helper for emitting `MInst.VecFmlaElem` instructions which use three registers,
|
1923
|
+
;; one of which is both source and output.
|
1924
|
+
(decl vec_fmla_elem (VecALUModOp Reg Reg Reg VectorSize u8) Reg)
|
1925
|
+
(rule (vec_fmla_elem op src1 src2 src3 size idx)
|
1926
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1927
|
+
(_1 Unit (emit (MInst.VecFmlaElem op dst src1 src2 src3 size idx))))
|
1928
|
+
dst))
|
1929
|
+
|
1930
|
+
(decl fpu_rri (FPUOpRI Reg) Reg)
|
1931
|
+
(rule (fpu_rri op src)
|
1932
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
1933
|
+
(_ Unit (emit (MInst.FpuRRI op dst src))))
|
1934
|
+
dst))
|
1935
|
+
|
1936
|
+
(decl fpu_rri_mod (FPUOpRIMod Reg Reg) Reg)
|
1937
|
+
(rule (fpu_rri_mod op dst_src src)
|
1938
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
1939
|
+
(_ Unit (emit (MInst.FpuRRIMod op dst dst_src src))))
|
1940
|
+
dst))
|
1941
|
+
|
1942
|
+
;; Helper for emitting `MInst.FpuRRR` instructions.
|
1943
|
+
(decl fpu_rrr (FPUOp2 Reg Reg ScalarSize) Reg)
|
1944
|
+
(rule (fpu_rrr op src1 src2 size)
|
1945
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
1946
|
+
(_ Unit (emit (MInst.FpuRRR op size dst src1 src2))))
|
1947
|
+
dst))
|
1948
|
+
|
1949
|
+
;; Helper for emitting `MInst.FpuRRRR` instructions.
|
1950
|
+
(decl fpu_rrrr (FPUOp3 ScalarSize Reg Reg Reg) Reg)
|
1951
|
+
(rule (fpu_rrrr size op src1 src2 src3)
|
1952
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
1953
|
+
(_ Unit (emit (MInst.FpuRRRR size op dst src1 src2 src3))))
|
1954
|
+
dst))
|
1955
|
+
|
1956
|
+
;; Helper for emitting `MInst.FpuCmp` instructions.
|
1957
|
+
(decl fpu_cmp (ScalarSize Reg Reg) ProducesFlags)
|
1958
|
+
(rule (fpu_cmp size rn rm)
|
1959
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
1960
|
+
(MInst.FpuCmp size rn rm)))
|
1961
|
+
|
1962
|
+
;; Helper for emitting `MInst.VecLanes` instructions.
|
1963
|
+
(decl vec_lanes (VecLanesOp Reg VectorSize) Reg)
|
1964
|
+
(rule (vec_lanes op src size)
|
1965
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1966
|
+
(_ Unit (emit (MInst.VecLanes op dst src size))))
|
1967
|
+
dst))
|
1968
|
+
|
1969
|
+
;; Helper for emitting `MInst.VecShiftImm` instructions.
|
1970
|
+
(decl vec_shift_imm (VecShiftImmOp u8 Reg VectorSize) Reg)
|
1971
|
+
(rule (vec_shift_imm op imm src size)
|
1972
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1973
|
+
(_ Unit (emit (MInst.VecShiftImm op dst src size imm))))
|
1974
|
+
dst))
|
1975
|
+
|
1976
|
+
;; Helper for emitting `MInst.VecDup` instructions.
|
1977
|
+
(decl vec_dup (Reg VectorSize) Reg)
|
1978
|
+
(rule (vec_dup src size)
|
1979
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1980
|
+
(_ Unit (emit (MInst.VecDup dst src size))))
|
1981
|
+
dst))
|
1982
|
+
|
1983
|
+
;; Helper for emitting `MInst.VecDupFromFpu` instructions.
|
1984
|
+
(decl vec_dup_from_fpu (Reg VectorSize u8) Reg)
|
1985
|
+
(rule (vec_dup_from_fpu src size lane)
|
1986
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1987
|
+
(_ Unit (emit (MInst.VecDupFromFpu dst src size lane))))
|
1988
|
+
dst))
|
1989
|
+
|
1990
|
+
;; Helper for emitting `MInst.VecDupImm` instructions.
|
1991
|
+
(decl vec_dup_imm (ASIMDMovModImm bool VectorSize) Reg)
|
1992
|
+
(rule (vec_dup_imm imm invert size)
|
1993
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
1994
|
+
(_ Unit (emit (MInst.VecDupImm dst imm invert size))))
|
1995
|
+
dst))
|
1996
|
+
|
1997
|
+
;; Helper for emitting `MInst.AluRRImm12` instructions.
|
1998
|
+
(decl alu_rr_imm12 (ALUOp Type Reg Imm12) Reg)
|
1999
|
+
(rule (alu_rr_imm12 op ty src imm)
|
2000
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2001
|
+
(_ Unit (emit (MInst.AluRRImm12 op (operand_size ty) dst src imm))))
|
2002
|
+
dst))
|
2003
|
+
|
2004
|
+
;; Helper for emitting `MInst.AluRRRShift` instructions.
|
2005
|
+
(decl alu_rrr_shift (ALUOp Type Reg Reg ShiftOpAndAmt) Reg)
|
2006
|
+
(rule (alu_rrr_shift op ty src1 src2 shift)
|
2007
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2008
|
+
(_ Unit (emit (MInst.AluRRRShift op (operand_size ty) dst src1 src2 shift))))
|
2009
|
+
dst))
|
2010
|
+
|
2011
|
+
;; Helper for emitting `cmp` instructions, setting flags, with a right-shifted
|
2012
|
+
;; second operand register.
|
2013
|
+
(decl cmp_rr_shift (OperandSize Reg Reg u64) ProducesFlags)
|
2014
|
+
(rule (cmp_rr_shift size src1 src2 shift_amount)
|
2015
|
+
(if-let shift (lshr_from_u64 $I64 shift_amount))
|
2016
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2017
|
+
(MInst.AluRRRShift (ALUOp.SubS) size (writable_zero_reg)
|
2018
|
+
src1 src2 shift)))
|
2019
|
+
|
2020
|
+
;; Helper for emitting `cmp` instructions, setting flags, with an arithmetic right-shifted
|
2021
|
+
;; second operand register.
|
2022
|
+
(decl cmp_rr_shift_asr (OperandSize Reg Reg u64) ProducesFlags)
|
2023
|
+
(rule (cmp_rr_shift_asr size src1 src2 shift_amount)
|
2024
|
+
(if-let shift (ashr_from_u64 $I64 shift_amount))
|
2025
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2026
|
+
(MInst.AluRRRShift (ALUOp.SubS) size (writable_zero_reg)
|
2027
|
+
src1 src2 shift)))
|
2028
|
+
|
2029
|
+
;; Helper for emitting `MInst.AluRRRExtend` instructions.
|
2030
|
+
(decl alu_rrr_extend (ALUOp Type Reg Reg ExtendOp) Reg)
|
2031
|
+
(rule (alu_rrr_extend op ty src1 src2 extend)
|
2032
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2033
|
+
(_ Unit (emit (MInst.AluRRRExtend op (operand_size ty) dst src1 src2 extend))))
|
2034
|
+
dst))
|
2035
|
+
|
2036
|
+
;; Same as `alu_rrr_extend`, but takes an `ExtendedValue` packed "pair" instead
|
2037
|
+
;; of a `Reg` and an `ExtendOp`.
|
2038
|
+
(decl alu_rr_extend_reg (ALUOp Type Reg ExtendedValue) Reg)
|
2039
|
+
(rule (alu_rr_extend_reg op ty src1 extended_reg)
|
2040
|
+
(let ((src2 Reg (put_extended_in_reg extended_reg))
|
2041
|
+
(extend ExtendOp (get_extended_op extended_reg)))
|
2042
|
+
(alu_rrr_extend op ty src1 src2 extend)))
|
2043
|
+
|
2044
|
+
;; Helper for emitting `MInst.AluRRRR` instructions.
|
2045
|
+
(decl alu_rrrr (ALUOp3 Type Reg Reg Reg) Reg)
|
2046
|
+
(rule (alu_rrrr op ty src1 src2 src3)
|
2047
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2048
|
+
(_ Unit (emit (MInst.AluRRRR op (operand_size ty) dst src1 src2 src3))))
|
2049
|
+
dst))
|
2050
|
+
|
2051
|
+
;; Helper for emitting paired `MInst.AluRRR` instructions
|
2052
|
+
(decl alu_rrr_with_flags_paired (Type Reg Reg ALUOp) ProducesFlags)
|
2053
|
+
(rule (alu_rrr_with_flags_paired ty src1 src2 alu_op)
|
2054
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2055
|
+
(ProducesFlags.ProducesFlagsReturnsResultWithConsumer
|
2056
|
+
(MInst.AluRRR alu_op (operand_size ty) dst src1 src2)
|
2057
|
+
dst)))
|
2058
|
+
|
2059
|
+
;; Should only be used for AdcS and SbcS
|
2060
|
+
(decl alu_rrr_with_flags_chained (Type Reg Reg ALUOp) ConsumesAndProducesFlags)
|
2061
|
+
(rule (alu_rrr_with_flags_chained ty src1 src2 alu_op)
|
2062
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2063
|
+
(ConsumesAndProducesFlags.ReturnsReg
|
2064
|
+
(MInst.AluRRR alu_op (operand_size ty) dst src1 src2)
|
2065
|
+
dst)))
|
2066
|
+
|
2067
|
+
;; Helper for emitting `MInst.BitRR` instructions.
|
2068
|
+
(decl bit_rr (BitOp Type Reg) Reg)
|
2069
|
+
(rule (bit_rr op ty src)
|
2070
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2071
|
+
(_ Unit (emit (MInst.BitRR op (operand_size ty) dst src))))
|
2072
|
+
dst))
|
2073
|
+
|
2074
|
+
;; Helper for emitting `adds` instructions.
|
2075
|
+
(decl add_with_flags_paired (Type Reg Reg) ProducesFlags)
|
2076
|
+
(rule (add_with_flags_paired ty src1 src2)
|
2077
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2078
|
+
(ProducesFlags.ProducesFlagsReturnsResultWithConsumer
|
2079
|
+
(MInst.AluRRR (ALUOp.AddS) (operand_size ty) dst src1 src2)
|
2080
|
+
dst)))
|
2081
|
+
|
2082
|
+
;; Helper for emitting `adc` instructions.
|
2083
|
+
(decl adc_paired (Type Reg Reg) ConsumesFlags)
|
2084
|
+
(rule (adc_paired ty src1 src2)
|
2085
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2086
|
+
(ConsumesFlags.ConsumesFlagsReturnsResultWithProducer
|
2087
|
+
(MInst.AluRRR (ALUOp.Adc) (operand_size ty) dst src1 src2)
|
2088
|
+
dst)))
|
2089
|
+
|
2090
|
+
;; Helper for emitting `subs` instructions.
|
2091
|
+
(decl sub_with_flags_paired (Type Reg Reg) ProducesFlags)
|
2092
|
+
(rule (sub_with_flags_paired ty src1 src2)
|
2093
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2094
|
+
(ProducesFlags.ProducesFlagsReturnsResultWithConsumer
|
2095
|
+
(MInst.AluRRR (ALUOp.SubS) (operand_size ty) dst src1 src2)
|
2096
|
+
dst)))
|
2097
|
+
|
2098
|
+
;; Helper for materializing a boolean value into a register from
|
2099
|
+
;; flags.
|
2100
|
+
(decl materialize_bool_result (Cond) ConsumesFlags)
|
2101
|
+
(rule (materialize_bool_result cond)
|
2102
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2103
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2104
|
+
(MInst.CSet dst cond)
|
2105
|
+
dst)))
|
2106
|
+
|
2107
|
+
(decl cmn_imm (OperandSize Reg Imm12) ProducesFlags)
|
2108
|
+
(rule (cmn_imm size src1 src2)
|
2109
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2110
|
+
(MInst.AluRRImm12 (ALUOp.AddS) size (writable_zero_reg)
|
2111
|
+
src1 src2)))
|
2112
|
+
|
2113
|
+
(decl cmp (OperandSize Reg Reg) ProducesFlags)
|
2114
|
+
(rule (cmp size src1 src2)
|
2115
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2116
|
+
(MInst.AluRRR (ALUOp.SubS) size (writable_zero_reg)
|
2117
|
+
src1 src2)))
|
2118
|
+
|
2119
|
+
(decl cmp_imm (OperandSize Reg Imm12) ProducesFlags)
|
2120
|
+
(rule (cmp_imm size src1 src2)
|
2121
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2122
|
+
(MInst.AluRRImm12 (ALUOp.SubS) size (writable_zero_reg)
|
2123
|
+
src1 src2)))
|
2124
|
+
|
2125
|
+
(decl cmp64_imm (Reg Imm12) ProducesFlags)
|
2126
|
+
(rule (cmp64_imm src1 src2)
|
2127
|
+
(cmp_imm (OperandSize.Size64) src1 src2))
|
2128
|
+
|
2129
|
+
(decl cmp_extend (OperandSize Reg Reg ExtendOp) ProducesFlags)
|
2130
|
+
(rule (cmp_extend size src1 src2 extend)
|
2131
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2132
|
+
(MInst.AluRRRExtend (ALUOp.SubS) size (writable_zero_reg)
|
2133
|
+
src1 src2 extend)))
|
2134
|
+
|
2135
|
+
;; Helper for emitting `sbc` instructions.
|
2136
|
+
(decl sbc_paired (Type Reg Reg) ConsumesFlags)
|
2137
|
+
(rule (sbc_paired ty src1 src2)
|
2138
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2139
|
+
(ConsumesFlags.ConsumesFlagsReturnsResultWithProducer
|
2140
|
+
(MInst.AluRRR (ALUOp.Sbc) (operand_size ty) dst src1 src2)
|
2141
|
+
dst)))
|
2142
|
+
|
2143
|
+
;; Helper for emitting `MInst.VecMisc` instructions.
|
2144
|
+
(decl vec_misc (VecMisc2 Reg VectorSize) Reg)
|
2145
|
+
(rule (vec_misc op src size)
|
2146
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2147
|
+
(_ Unit (emit (MInst.VecMisc op dst src size))))
|
2148
|
+
dst))
|
2149
|
+
|
2150
|
+
;; Helper for emitting `MInst.VecTbl` instructions.
|
2151
|
+
(decl vec_tbl (Reg Reg) Reg)
|
2152
|
+
(rule (vec_tbl rn rm)
|
2153
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2154
|
+
(_ Unit (emit (MInst.VecTbl dst rn rm))))
|
2155
|
+
dst))
|
2156
|
+
|
2157
|
+
(decl vec_tbl_ext (Reg Reg Reg) Reg)
|
2158
|
+
(rule (vec_tbl_ext ri rn rm)
|
2159
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2160
|
+
(_ Unit (emit (MInst.VecTblExt dst ri rn rm))))
|
2161
|
+
dst))
|
2162
|
+
|
2163
|
+
;; Helper for emitting `MInst.VecTbl2` instructions.
|
2164
|
+
(decl vec_tbl2 (Reg Reg Reg Type) Reg)
|
2165
|
+
(rule (vec_tbl2 rn rn2 rm ty)
|
2166
|
+
(let (
|
2167
|
+
(dst WritableReg (temp_writable_reg $I8X16))
|
2168
|
+
(_ Unit (emit (MInst.VecTbl2 dst rn rn2 rm)))
|
2169
|
+
)
|
2170
|
+
dst))
|
2171
|
+
|
2172
|
+
;; Helper for emitting `MInst.VecTbl2Ext` instructions.
|
2173
|
+
(decl vec_tbl2_ext (Reg Reg Reg Reg Type) Reg)
|
2174
|
+
(rule (vec_tbl2_ext ri rn rn2 rm ty)
|
2175
|
+
(let (
|
2176
|
+
(dst WritableReg (temp_writable_reg $I8X16))
|
2177
|
+
(_ Unit (emit (MInst.VecTbl2Ext dst ri rn rn2 rm)))
|
2178
|
+
)
|
2179
|
+
dst))
|
2180
|
+
|
2181
|
+
;; Helper for emitting `MInst.VecRRRLong` instructions.
|
2182
|
+
(decl vec_rrr_long (VecRRRLongOp Reg Reg bool) Reg)
|
2183
|
+
(rule (vec_rrr_long op src1 src2 high_half)
|
2184
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2185
|
+
(_ Unit (emit (MInst.VecRRRLong op dst src1 src2 high_half))))
|
2186
|
+
dst))
|
2187
|
+
|
2188
|
+
;; Helper for emitting `MInst.VecRRPairLong` instructions.
|
2189
|
+
(decl vec_rr_pair_long (VecRRPairLongOp Reg) Reg)
|
2190
|
+
(rule (vec_rr_pair_long op src)
|
2191
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2192
|
+
(_ Unit (emit (MInst.VecRRPairLong op dst src))))
|
2193
|
+
dst))
|
2194
|
+
|
2195
|
+
;; Helper for emitting `MInst.VecRRRLongMod` instructions.
|
2196
|
+
(decl vec_rrrr_long (VecRRRLongModOp Reg Reg Reg bool) Reg)
|
2197
|
+
(rule (vec_rrrr_long op src1 src2 src3 high_half)
|
2198
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2199
|
+
(_ Unit (emit (MInst.VecRRRLongMod op dst src1 src2 src3 high_half))))
|
2200
|
+
dst))
|
2201
|
+
|
2202
|
+
;; Helper for emitting `MInst.VecRRNarrow` instructions.
|
2203
|
+
(decl vec_rr_narrow_low (VecRRNarrowOp Reg ScalarSize) Reg)
|
2204
|
+
(rule (vec_rr_narrow_low op src size)
|
2205
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2206
|
+
(_ Unit (emit (MInst.VecRRNarrowLow op dst src size))))
|
2207
|
+
dst))
|
2208
|
+
|
2209
|
+
;; Helper for emitting `MInst.VecRRNarrow` instructions which update the
|
2210
|
+
;; high half of the destination register.
|
2211
|
+
(decl vec_rr_narrow_high (VecRRNarrowOp Reg Reg ScalarSize) Reg)
|
2212
|
+
(rule (vec_rr_narrow_high op mod src size)
|
2213
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2214
|
+
(_ Unit (emit (MInst.VecRRNarrowHigh op dst mod src size))))
|
2215
|
+
dst))
|
2216
|
+
|
2217
|
+
;; Helper for emitting `MInst.VecRRLong` instructions.
|
2218
|
+
(decl vec_rr_long (VecRRLongOp Reg bool) Reg)
|
2219
|
+
(rule (vec_rr_long op src high_half)
|
2220
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2221
|
+
(_ Unit (emit (MInst.VecRRLong op dst src high_half))))
|
2222
|
+
dst))
|
2223
|
+
|
2224
|
+
;; Helper for emitting `MInst.FpuCSel32` / `MInst.FpuCSel64`
|
2225
|
+
;; instructions.
|
2226
|
+
(decl fpu_csel (Type Cond Reg Reg) ConsumesFlags)
|
2227
|
+
(rule (fpu_csel $F32 cond if_true if_false)
|
2228
|
+
(let ((dst WritableReg (temp_writable_reg $F32)))
|
2229
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2230
|
+
(MInst.FpuCSel32 dst if_true if_false cond)
|
2231
|
+
dst)))
|
2232
|
+
|
2233
|
+
(rule (fpu_csel $F64 cond if_true if_false)
|
2234
|
+
(let ((dst WritableReg (temp_writable_reg $F64)))
|
2235
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2236
|
+
(MInst.FpuCSel64 dst if_true if_false cond)
|
2237
|
+
dst)))
|
2238
|
+
|
2239
|
+
;; Helper for emitting `MInst.VecCSel` instructions.
|
2240
|
+
(decl vec_csel (Cond Reg Reg) ConsumesFlags)
|
2241
|
+
(rule (vec_csel cond if_true if_false)
|
2242
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16)))
|
2243
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2244
|
+
(MInst.VecCSel dst if_true if_false cond)
|
2245
|
+
dst)))
|
2246
|
+
|
2247
|
+
;; Helper for emitting `MInst.FpuRound` instructions.
|
2248
|
+
(decl fpu_round (FpuRoundMode Reg) Reg)
|
2249
|
+
(rule (fpu_round op rn)
|
2250
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
2251
|
+
(_ Unit (emit (MInst.FpuRound op dst rn))))
|
2252
|
+
dst))
|
2253
|
+
|
2254
|
+
;; Helper for emitting `MInst.FpuMove64` and `MInst.FpuMove128` instructions.
|
2255
|
+
(decl fpu_move (Type Reg) Reg)
|
2256
|
+
(rule (fpu_move _ src)
|
2257
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2258
|
+
(_ Unit (emit (MInst.FpuMove128 dst src))))
|
2259
|
+
dst))
|
2260
|
+
(rule 1 (fpu_move (fits_in_64 _) src)
|
2261
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
2262
|
+
(_ Unit (emit (MInst.FpuMove64 dst src))))
|
2263
|
+
dst))
|
2264
|
+
|
2265
|
+
;; Helper for emitting `MInst.MovToFpu` instructions.
|
2266
|
+
(decl mov_to_fpu (Reg ScalarSize) Reg)
|
2267
|
+
(rule (mov_to_fpu x size)
|
2268
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2269
|
+
(_ Unit (emit (MInst.MovToFpu dst x size))))
|
2270
|
+
dst))
|
2271
|
+
|
2272
|
+
;; Helper for emitting `MInst.FpuMoveFPImm` instructions.
|
2273
|
+
(decl fpu_move_fp_imm (ASIMDFPModImm ScalarSize) Reg)
|
2274
|
+
(rule (fpu_move_fp_imm imm size)
|
2275
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2276
|
+
(_ Unit (emit (MInst.FpuMoveFPImm dst imm size))))
|
2277
|
+
dst))
|
2278
|
+
|
2279
|
+
;; Helper for emitting `MInst.MovToVec` instructions.
|
2280
|
+
(decl mov_to_vec (Reg Reg u8 VectorSize) Reg)
|
2281
|
+
(rule (mov_to_vec src1 src2 lane size)
|
2282
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2283
|
+
(_ Unit (emit (MInst.MovToVec dst src1 src2 lane size))))
|
2284
|
+
dst))
|
2285
|
+
|
2286
|
+
;; Helper for emitting `MInst.VecMovElement` instructions.
|
2287
|
+
(decl mov_vec_elem (Reg Reg u8 u8 VectorSize) Reg)
|
2288
|
+
(rule (mov_vec_elem src1 src2 dst_idx src_idx size)
|
2289
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2290
|
+
(_ Unit (emit (MInst.VecMovElement dst src1 src2 dst_idx src_idx size))))
|
2291
|
+
dst))
|
2292
|
+
|
2293
|
+
;; Helper for emitting `MInst.MovFromVec` instructions.
|
2294
|
+
(decl mov_from_vec (Reg u8 ScalarSize) Reg)
|
2295
|
+
(rule (mov_from_vec rn idx size)
|
2296
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2297
|
+
(_ Unit (emit (MInst.MovFromVec dst rn idx size))))
|
2298
|
+
dst))
|
2299
|
+
|
2300
|
+
;; Helper for emitting `MInst.MovFromVecSigned` instructions.
|
2301
|
+
(decl mov_from_vec_signed (Reg u8 VectorSize OperandSize) Reg)
|
2302
|
+
(rule (mov_from_vec_signed rn idx size scalar_size)
|
2303
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2304
|
+
(_ Unit (emit (MInst.MovFromVecSigned dst rn idx size scalar_size))))
|
2305
|
+
dst))
|
2306
|
+
|
2307
|
+
(decl fpu_move_from_vec (Reg u8 VectorSize) Reg)
|
2308
|
+
(rule (fpu_move_from_vec rn idx size)
|
2309
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2310
|
+
(_ Unit (emit (MInst.FpuMoveFromVec dst rn idx size))))
|
2311
|
+
dst))
|
2312
|
+
|
2313
|
+
;; Helper for emitting `MInst.Extend` instructions.
|
2314
|
+
(decl extend (Reg bool u8 u8) Reg)
|
2315
|
+
(rule (extend rn signed from_bits to_bits)
|
2316
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2317
|
+
(_ Unit (emit (MInst.Extend dst rn signed from_bits to_bits))))
|
2318
|
+
dst))
|
2319
|
+
|
2320
|
+
;; Helper for emitting `MInst.FpuExtend` instructions.
|
2321
|
+
(decl fpu_extend (Reg ScalarSize) Reg)
|
2322
|
+
(rule (fpu_extend src size)
|
2323
|
+
(let ((dst WritableReg (temp_writable_reg $F32X4))
|
2324
|
+
(_ Unit (emit (MInst.FpuExtend dst src size))))
|
2325
|
+
dst))
|
2326
|
+
|
2327
|
+
;; Helper for emitting `MInst.VecExtend` instructions.
|
2328
|
+
(decl vec_extend (VecExtendOp Reg bool ScalarSize) Reg)
|
2329
|
+
(rule (vec_extend op src high_half size)
|
2330
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2331
|
+
(_ Unit (emit (MInst.VecExtend op dst src high_half size))))
|
2332
|
+
dst))
|
2333
|
+
|
2334
|
+
;; Helper for emitting `MInst.VecExtract` instructions.
|
2335
|
+
(decl vec_extract (Reg Reg u8) Reg)
|
2336
|
+
(rule (vec_extract src1 src2 idx)
|
2337
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
2338
|
+
(_ Unit (emit (MInst.VecExtract dst src1 src2 idx))))
|
2339
|
+
dst))
|
2340
|
+
|
2341
|
+
;; Helper for emitting `MInst.LoadAcquire` instructions.
|
2342
|
+
(decl load_acquire (Type MemFlags Reg) Reg)
|
2343
|
+
(rule (load_acquire ty flags addr)
|
2344
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2345
|
+
(_ Unit (emit (MInst.LoadAcquire ty dst addr flags))))
|
2346
|
+
dst))
|
2347
|
+
|
2348
|
+
;; Helper for emitting `MInst.StoreRelease` instructions.
|
2349
|
+
(decl store_release (Type MemFlags Reg Reg) SideEffectNoResult)
|
2350
|
+
(rule (store_release ty flags src addr)
|
2351
|
+
(SideEffectNoResult.Inst (MInst.StoreRelease ty src addr flags)))
|
2352
|
+
|
2353
|
+
;; Helper for generating a `tst` instruction.
|
2354
|
+
;;
|
2355
|
+
;; Produces a `ProducesFlags` rather than a register or emitted instruction
|
2356
|
+
;; which must be paired with `with_flags*` helpers.
|
2357
|
+
(decl tst_imm (Type Reg ImmLogic) ProducesFlags)
|
2358
|
+
(rule (tst_imm ty reg imm)
|
2359
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
2360
|
+
(MInst.AluRRImmLogic (ALUOp.AndS)
|
2361
|
+
(operand_size ty)
|
2362
|
+
(writable_zero_reg)
|
2363
|
+
reg
|
2364
|
+
imm)))
|
2365
|
+
|
2366
|
+
;; Helper for generating a `CSel` instruction.
|
2367
|
+
;;
|
2368
|
+
;; Note that this doesn't actually emit anything, instead it produces a
|
2369
|
+
;; `ConsumesFlags` instruction which must be consumed with `with_flags*`
|
2370
|
+
;; helpers.
|
2371
|
+
(decl csel (Cond Reg Reg) ConsumesFlags)
|
2372
|
+
(rule (csel cond if_true if_false)
|
2373
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2374
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2375
|
+
(MInst.CSel dst cond if_true if_false)
|
2376
|
+
dst)))
|
2377
|
+
|
2378
|
+
;; Helper for constructing `cset` instructions.
|
2379
|
+
(decl cset (Cond) ConsumesFlags)
|
2380
|
+
(rule (cset cond)
|
2381
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2382
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg (MInst.CSet dst cond) dst)))
|
2383
|
+
|
2384
|
+
;; Helper for constructing `cset` instructions, when the flags producer will
|
2385
|
+
;; also return a value.
|
2386
|
+
(decl cset_paired (Cond) ConsumesFlags)
|
2387
|
+
(rule (cset_paired cond)
|
2388
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2389
|
+
(ConsumesFlags.ConsumesFlagsReturnsResultWithProducer (MInst.CSet dst cond) dst)))
|
2390
|
+
|
2391
|
+
;; Helper for constructing `csetm` instructions.
|
2392
|
+
(decl csetm (Cond) ConsumesFlags)
|
2393
|
+
(rule (csetm cond)
|
2394
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2395
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg (MInst.CSetm dst cond) dst)))
|
2396
|
+
|
2397
|
+
;; Helper for generating a `CSNeg` instruction.
|
2398
|
+
;;
|
2399
|
+
;; Note that this doesn't actually emit anything, instead it produces a
|
2400
|
+
;; `ConsumesFlags` instruction which must be consumed with `with_flags*`
|
2401
|
+
;; helpers.
|
2402
|
+
(decl csneg (Cond Reg Reg) ConsumesFlags)
|
2403
|
+
(rule (csneg cond if_true if_false)
|
2404
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2405
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
2406
|
+
(MInst.CSNeg dst cond if_true if_false)
|
2407
|
+
dst)))
|
2408
|
+
|
2409
|
+
;; Helper for generating `MInst.CCmp` instructions.
|
2410
|
+
;; Creates a new `ProducesFlags` from the supplied `ProducesFlags` followed
|
2411
|
+
;; immediately by the `MInst.CCmp` instruction.
|
2412
|
+
(decl ccmp (OperandSize Reg Reg NZCV Cond ProducesFlags) ProducesFlags)
|
2413
|
+
(rule (ccmp size rn rm nzcv cond inst_input)
|
2414
|
+
(produces_flags_concat inst_input (ProducesFlags.ProducesFlagsSideEffect (MInst.CCmp size rn rm nzcv cond))))
|
2415
|
+
|
2416
|
+
;; Helper for generating `MInst.CCmpImm` instructions.
|
2417
|
+
(decl ccmp_imm (OperandSize Reg UImm5 NZCV Cond) ConsumesFlags)
|
2418
|
+
(rule 1 (ccmp_imm size rn imm nzcv cond)
|
2419
|
+
(let ((dst WritableReg (temp_writable_reg $I64)))
|
2420
|
+
(ConsumesFlags.ConsumesFlagsTwiceReturnsValueRegs
|
2421
|
+
(MInst.CCmpImm size rn imm nzcv cond)
|
2422
|
+
(MInst.CSet dst cond)
|
2423
|
+
(value_reg dst))))
|
2424
|
+
|
2425
|
+
;; Helpers for generating `add` instructions.
|
2426
|
+
|
2427
|
+
(decl add (Type Reg Reg) Reg)
|
2428
|
+
(rule (add ty x y) (alu_rrr (ALUOp.Add) ty x y))
|
2429
|
+
|
2430
|
+
(decl add_imm (Type Reg Imm12) Reg)
|
2431
|
+
(rule (add_imm ty x y) (alu_rr_imm12 (ALUOp.Add) ty x y))
|
2432
|
+
|
2433
|
+
(decl add_extend (Type Reg ExtendedValue) Reg)
|
2434
|
+
(rule (add_extend ty x y) (alu_rr_extend_reg (ALUOp.Add) ty x y))
|
2435
|
+
|
2436
|
+
(decl add_extend_op (Type Reg Reg ExtendOp) Reg)
|
2437
|
+
(rule (add_extend_op ty x y extend) (alu_rrr_extend (ALUOp.Add) ty x y extend))
|
2438
|
+
|
2439
|
+
(decl add_shift (Type Reg Reg ShiftOpAndAmt) Reg)
|
2440
|
+
(rule (add_shift ty x y z) (alu_rrr_shift (ALUOp.Add) ty x y z))
|
2441
|
+
|
2442
|
+
(decl add_vec (Reg Reg VectorSize) Reg)
|
2443
|
+
(rule (add_vec x y size) (vec_rrr (VecALUOp.Add) x y size))
|
2444
|
+
|
2445
|
+
;; Helpers for generating `sub` instructions.
|
2446
|
+
|
2447
|
+
(decl sub (Type Reg Reg) Reg)
|
2448
|
+
(rule (sub ty x y) (alu_rrr (ALUOp.Sub) ty x y))
|
2449
|
+
|
2450
|
+
(decl sub_imm (Type Reg Imm12) Reg)
|
2451
|
+
(rule (sub_imm ty x y) (alu_rr_imm12 (ALUOp.Sub) ty x y))
|
2452
|
+
|
2453
|
+
(decl sub_extend (Type Reg ExtendedValue) Reg)
|
2454
|
+
(rule (sub_extend ty x y) (alu_rr_extend_reg (ALUOp.Sub) ty x y))
|
2455
|
+
|
2456
|
+
(decl sub_shift (Type Reg Reg ShiftOpAndAmt) Reg)
|
2457
|
+
(rule (sub_shift ty x y z) (alu_rrr_shift (ALUOp.Sub) ty x y z))
|
2458
|
+
|
2459
|
+
(decl sub_vec (Reg Reg VectorSize) Reg)
|
2460
|
+
(rule (sub_vec x y size) (vec_rrr (VecALUOp.Sub) x y size))
|
2461
|
+
|
2462
|
+
(decl sub_i128 (ValueRegs ValueRegs) ValueRegs)
|
2463
|
+
(rule (sub_i128 x y)
|
2464
|
+
(let
|
2465
|
+
;; Get the high/low registers for `x`.
|
2466
|
+
((x_regs ValueRegs x)
|
2467
|
+
(x_lo Reg (value_regs_get x_regs 0))
|
2468
|
+
(x_hi Reg (value_regs_get x_regs 1))
|
2469
|
+
|
2470
|
+
;; Get the high/low registers for `y`.
|
2471
|
+
(y_regs ValueRegs y)
|
2472
|
+
(y_lo Reg (value_regs_get y_regs 0))
|
2473
|
+
(y_hi Reg (value_regs_get y_regs 1)))
|
2474
|
+
;; the actual subtraction is `subs` followed by `sbc` which comprises
|
2475
|
+
;; the low/high bits of the result
|
2476
|
+
(with_flags
|
2477
|
+
(sub_with_flags_paired $I64 x_lo y_lo)
|
2478
|
+
(sbc_paired $I64 x_hi y_hi))))
|
2479
|
+
|
2480
|
+
;; Helpers for generating `madd` instructions.
|
2481
|
+
|
2482
|
+
(decl madd (Type Reg Reg Reg) Reg)
|
2483
|
+
(rule (madd ty x y z) (alu_rrrr (ALUOp3.MAdd) ty x y z))
|
2484
|
+
|
2485
|
+
;; Helpers for generating `msub` instructions.
|
2486
|
+
|
2487
|
+
(decl msub (Type Reg Reg Reg) Reg)
|
2488
|
+
(rule (msub ty x y z) (alu_rrrr (ALUOp3.MSub) ty x y z))
|
2489
|
+
|
2490
|
+
;; Helpers for generating `umaddl` instructions
|
2491
|
+
(decl umaddl (Reg Reg Reg) Reg)
|
2492
|
+
(rule (umaddl x y z) (alu_rrrr (ALUOp3.UMAddL) $I32 x y z))
|
2493
|
+
|
2494
|
+
;; Helpers for generating `smaddl` instructions
|
2495
|
+
(decl smaddl (Reg Reg Reg) Reg)
|
2496
|
+
(rule (smaddl x y z) (alu_rrrr (ALUOp3.SMAddL) $I32 x y z))
|
2497
|
+
|
2498
|
+
;; Helper for generating `uqadd` instructions.
|
2499
|
+
(decl uqadd (Reg Reg VectorSize) Reg)
|
2500
|
+
(rule (uqadd x y size) (vec_rrr (VecALUOp.Uqadd) x y size))
|
2501
|
+
|
2502
|
+
;; Helper for generating `sqadd` instructions.
|
2503
|
+
(decl sqadd (Reg Reg VectorSize) Reg)
|
2504
|
+
(rule (sqadd x y size) (vec_rrr (VecALUOp.Sqadd) x y size))
|
2505
|
+
|
2506
|
+
;; Helper for generating `uqsub` instructions.
|
2507
|
+
(decl uqsub (Reg Reg VectorSize) Reg)
|
2508
|
+
(rule (uqsub x y size) (vec_rrr (VecALUOp.Uqsub) x y size))
|
2509
|
+
|
2510
|
+
;; Helper for generating `sqsub` instructions.
|
2511
|
+
(decl sqsub (Reg Reg VectorSize) Reg)
|
2512
|
+
(rule (sqsub x y size) (vec_rrr (VecALUOp.Sqsub) x y size))
|
2513
|
+
|
2514
|
+
;; Helper for generating `umulh` instructions.
|
2515
|
+
(decl umulh (Type Reg Reg) Reg)
|
2516
|
+
(rule (umulh ty x y) (alu_rrr (ALUOp.UMulH) ty x y))
|
2517
|
+
|
2518
|
+
;; Helper for generating `smulh` instructions.
|
2519
|
+
(decl smulh (Type Reg Reg) Reg)
|
2520
|
+
(rule (smulh ty x y) (alu_rrr (ALUOp.SMulH) ty x y))
|
2521
|
+
|
2522
|
+
;; Helper for generating `mul` instructions.
|
2523
|
+
(decl mul (Reg Reg VectorSize) Reg)
|
2524
|
+
(rule (mul x y size) (vec_rrr (VecALUOp.Mul) x y size))
|
2525
|
+
|
2526
|
+
;; Helper for generating `neg` instructions.
|
2527
|
+
(decl neg (Reg VectorSize) Reg)
|
2528
|
+
(rule (neg x size) (vec_misc (VecMisc2.Neg) x size))
|
2529
|
+
|
2530
|
+
;; Helper for generating `rev16` instructions.
|
2531
|
+
(decl rev16 (Reg VectorSize) Reg)
|
2532
|
+
(rule (rev16 x size) (vec_misc (VecMisc2.Rev16) x size))
|
2533
|
+
|
2534
|
+
;; Helper for generating `rev32` instructions.
|
2535
|
+
(decl rev32 (Reg VectorSize) Reg)
|
2536
|
+
(rule (rev32 x size) (vec_misc (VecMisc2.Rev32) x size))
|
2537
|
+
|
2538
|
+
;; Helper for generating `rev64` instructions.
|
2539
|
+
(decl rev64 (Reg VectorSize) Reg)
|
2540
|
+
(rule (rev64 x size) (vec_misc (VecMisc2.Rev64) x size))
|
2541
|
+
|
2542
|
+
;; Helper for generating `xtn` instructions.
|
2543
|
+
(decl xtn (Reg ScalarSize) Reg)
|
2544
|
+
(rule (xtn x size) (vec_rr_narrow_low (VecRRNarrowOp.Xtn) x size))
|
2545
|
+
|
2546
|
+
;; Helper for generating `fcvtn` instructions.
|
2547
|
+
(decl fcvtn (Reg ScalarSize) Reg)
|
2548
|
+
(rule (fcvtn x size) (vec_rr_narrow_low (VecRRNarrowOp.Fcvtn) x size))
|
2549
|
+
|
2550
|
+
;; Helper for generating `sqxtn` instructions.
|
2551
|
+
(decl sqxtn (Reg ScalarSize) Reg)
|
2552
|
+
(rule (sqxtn x size) (vec_rr_narrow_low (VecRRNarrowOp.Sqxtn) x size))
|
2553
|
+
|
2554
|
+
;; Helper for generating `sqxtn2` instructions.
|
2555
|
+
(decl sqxtn2 (Reg Reg ScalarSize) Reg)
|
2556
|
+
(rule (sqxtn2 x y size) (vec_rr_narrow_high (VecRRNarrowOp.Sqxtn) x y size))
|
2557
|
+
|
2558
|
+
;; Helper for generating `sqxtun` instructions.
|
2559
|
+
(decl sqxtun (Reg ScalarSize) Reg)
|
2560
|
+
(rule (sqxtun x size) (vec_rr_narrow_low (VecRRNarrowOp.Sqxtun) x size))
|
2561
|
+
|
2562
|
+
;; Helper for generating `sqxtun2` instructions.
|
2563
|
+
(decl sqxtun2 (Reg Reg ScalarSize) Reg)
|
2564
|
+
(rule (sqxtun2 x y size) (vec_rr_narrow_high (VecRRNarrowOp.Sqxtun) x y size))
|
2565
|
+
|
2566
|
+
;; Helper for generating `uqxtn` instructions.
|
2567
|
+
(decl uqxtn (Reg ScalarSize) Reg)
|
2568
|
+
(rule (uqxtn x size) (vec_rr_narrow_low (VecRRNarrowOp.Uqxtn) x size))
|
2569
|
+
|
2570
|
+
;; Helper for generating `uqxtn2` instructions.
|
2571
|
+
(decl uqxtn2 (Reg Reg ScalarSize) Reg)
|
2572
|
+
(rule (uqxtn2 x y size) (vec_rr_narrow_high (VecRRNarrowOp.Uqxtn) x y size))
|
2573
|
+
|
2574
|
+
;; Helper for generating `fence` instructions.
|
2575
|
+
(decl aarch64_fence () SideEffectNoResult)
|
2576
|
+
(rule (aarch64_fence)
|
2577
|
+
(SideEffectNoResult.Inst (MInst.Fence)))
|
2578
|
+
|
2579
|
+
;; Helper for generating `csdb` instructions.
|
2580
|
+
(decl csdb () SideEffectNoResult)
|
2581
|
+
(rule (csdb)
|
2582
|
+
(SideEffectNoResult.Inst (MInst.Csdb)))
|
2583
|
+
|
2584
|
+
;; Helper for generating `brk` instructions.
|
2585
|
+
(decl brk () SideEffectNoResult)
|
2586
|
+
(rule (brk)
|
2587
|
+
(SideEffectNoResult.Inst (MInst.Brk)))
|
2588
|
+
|
2589
|
+
;; Helper for generating `addp` instructions.
|
2590
|
+
(decl addp (Reg Reg VectorSize) Reg)
|
2591
|
+
(rule (addp x y size) (vec_rrr (VecALUOp.Addp) x y size))
|
2592
|
+
|
2593
|
+
;; Helper for generating `zip1` instructions.
|
2594
|
+
(decl zip1 (Reg Reg VectorSize) Reg)
|
2595
|
+
(rule (zip1 x y size) (vec_rrr (VecALUOp.Zip1) x y size))
|
2596
|
+
|
2597
|
+
;; Helper for generating vector `abs` instructions.
|
2598
|
+
(decl vec_abs (Reg VectorSize) Reg)
|
2599
|
+
(rule (vec_abs x size) (vec_misc (VecMisc2.Abs) x size))
|
2600
|
+
|
2601
|
+
;; Helper for generating instruction sequences to calculate a scalar absolute
|
2602
|
+
;; value.
|
2603
|
+
(decl abs (OperandSize Reg) Reg)
|
2604
|
+
(rule (abs size x)
|
2605
|
+
(value_regs_get (with_flags (cmp_imm size x (u8_into_imm12 0))
|
2606
|
+
(csneg (Cond.Gt) x x)) 0))
|
2607
|
+
|
2608
|
+
;; Helper for generating `addv` instructions.
|
2609
|
+
(decl addv (Reg VectorSize) Reg)
|
2610
|
+
(rule (addv x size) (vec_lanes (VecLanesOp.Addv) x size))
|
2611
|
+
|
2612
|
+
;; Helper for generating `shll32` instructions.
|
2613
|
+
(decl shll32 (Reg bool) Reg)
|
2614
|
+
(rule (shll32 x high_half) (vec_rr_long (VecRRLongOp.Shll32) x high_half))
|
2615
|
+
|
2616
|
+
;; Helpers for generating `addlp` instructions.
|
2617
|
+
|
2618
|
+
(decl saddlp8 (Reg) Reg)
|
2619
|
+
(rule (saddlp8 x) (vec_rr_pair_long (VecRRPairLongOp.Saddlp8) x))
|
2620
|
+
|
2621
|
+
(decl saddlp16 (Reg) Reg)
|
2622
|
+
(rule (saddlp16 x) (vec_rr_pair_long (VecRRPairLongOp.Saddlp16) x))
|
2623
|
+
|
2624
|
+
(decl uaddlp8 (Reg) Reg)
|
2625
|
+
(rule (uaddlp8 x) (vec_rr_pair_long (VecRRPairLongOp.Uaddlp8) x))
|
2626
|
+
|
2627
|
+
(decl uaddlp16 (Reg) Reg)
|
2628
|
+
(rule (uaddlp16 x) (vec_rr_pair_long (VecRRPairLongOp.Uaddlp16) x))
|
2629
|
+
|
2630
|
+
;; Helper for generating `umlal32` instructions.
|
2631
|
+
(decl umlal32 (Reg Reg Reg bool) Reg)
|
2632
|
+
(rule (umlal32 x y z high_half) (vec_rrrr_long (VecRRRLongModOp.Umlal32) x y z high_half))
|
2633
|
+
|
2634
|
+
;; Helper for generating `smull8` instructions.
|
2635
|
+
(decl smull8 (Reg Reg bool) Reg)
|
2636
|
+
(rule (smull8 x y high_half) (vec_rrr_long (VecRRRLongOp.Smull8) x y high_half))
|
2637
|
+
|
2638
|
+
;; Helper for generating `umull8` instructions.
|
2639
|
+
(decl umull8 (Reg Reg bool) Reg)
|
2640
|
+
(rule (umull8 x y high_half) (vec_rrr_long (VecRRRLongOp.Umull8) x y high_half))
|
2641
|
+
|
2642
|
+
;; Helper for generating `smull16` instructions.
|
2643
|
+
(decl smull16 (Reg Reg bool) Reg)
|
2644
|
+
(rule (smull16 x y high_half) (vec_rrr_long (VecRRRLongOp.Smull16) x y high_half))
|
2645
|
+
|
2646
|
+
;; Helper for generating `umull16` instructions.
|
2647
|
+
(decl umull16 (Reg Reg bool) Reg)
|
2648
|
+
(rule (umull16 x y high_half) (vec_rrr_long (VecRRRLongOp.Umull16) x y high_half))
|
2649
|
+
|
2650
|
+
;; Helper for generating `smull32` instructions.
|
2651
|
+
(decl smull32 (Reg Reg bool) Reg)
|
2652
|
+
(rule (smull32 x y high_half) (vec_rrr_long (VecRRRLongOp.Smull32) x y high_half))
|
2653
|
+
|
2654
|
+
;; Helper for generating `umull32` instructions.
|
2655
|
+
(decl umull32 (Reg Reg bool) Reg)
|
2656
|
+
(rule (umull32 x y high_half) (vec_rrr_long (VecRRRLongOp.Umull32) x y high_half))
|
2657
|
+
|
2658
|
+
;; Helper for generating `asr` instructions.
|
2659
|
+
(decl asr (Type Reg Reg) Reg)
|
2660
|
+
(rule (asr ty x y) (alu_rrr (ALUOp.Asr) ty x y))
|
2661
|
+
|
2662
|
+
(decl asr_imm (Type Reg ImmShift) Reg)
|
2663
|
+
(rule (asr_imm ty x imm) (alu_rr_imm_shift (ALUOp.Asr) ty x imm))
|
2664
|
+
|
2665
|
+
;; Helper for generating `lsr` instructions.
|
2666
|
+
(decl lsr (Type Reg Reg) Reg)
|
2667
|
+
(rule (lsr ty x y) (alu_rrr (ALUOp.Lsr) ty x y))
|
2668
|
+
|
2669
|
+
(decl lsr_imm (Type Reg ImmShift) Reg)
|
2670
|
+
(rule (lsr_imm ty x imm) (alu_rr_imm_shift (ALUOp.Lsr) ty x imm))
|
2671
|
+
|
2672
|
+
;; Helper for generating `lsl` instructions.
|
2673
|
+
(decl lsl (Type Reg Reg) Reg)
|
2674
|
+
(rule (lsl ty x y) (alu_rrr (ALUOp.Lsl) ty x y))
|
2675
|
+
|
2676
|
+
(decl lsl_imm (Type Reg ImmShift) Reg)
|
2677
|
+
(rule (lsl_imm ty x imm) (alu_rr_imm_shift (ALUOp.Lsl) ty x imm))
|
2678
|
+
|
2679
|
+
;; Helper for generating `udiv` instructions.
|
2680
|
+
(decl a64_udiv (Type Reg Reg) Reg)
|
2681
|
+
(rule (a64_udiv ty x y) (alu_rrr (ALUOp.UDiv) ty x y))
|
2682
|
+
|
2683
|
+
;; Helper for generating `sdiv` instructions.
|
2684
|
+
(decl a64_sdiv (Type Reg Reg) Reg)
|
2685
|
+
(rule (a64_sdiv ty x y) (alu_rrr (ALUOp.SDiv) ty x y))
|
2686
|
+
|
2687
|
+
;; Helper for generating `not` instructions.
|
2688
|
+
(decl not (Reg VectorSize) Reg)
|
2689
|
+
(rule (not x size) (vec_misc (VecMisc2.Not) x size))
|
2690
|
+
|
2691
|
+
;; Helpers for generating `orr_not` instructions.
|
2692
|
+
|
2693
|
+
(decl orr_not (Type Reg Reg) Reg)
|
2694
|
+
(rule (orr_not ty x y) (alu_rrr (ALUOp.OrrNot) ty x y))
|
2695
|
+
|
2696
|
+
(decl orr_not_shift (Type Reg Reg ShiftOpAndAmt) Reg)
|
2697
|
+
(rule (orr_not_shift ty x y shift) (alu_rrr_shift (ALUOp.OrrNot) ty x y shift))
|
2698
|
+
|
2699
|
+
;; Helpers for generating `orr` instructions.
|
2700
|
+
|
2701
|
+
(decl orr (Type Reg Reg) Reg)
|
2702
|
+
(rule (orr ty x y) (alu_rrr (ALUOp.Orr) ty x y))
|
2703
|
+
|
2704
|
+
(decl orr_imm (Type Reg ImmLogic) Reg)
|
2705
|
+
(rule (orr_imm ty x y) (alu_rr_imm_logic (ALUOp.Orr) ty x y))
|
2706
|
+
|
2707
|
+
(decl orr_shift (Type Reg Reg ShiftOpAndAmt) Reg)
|
2708
|
+
(rule (orr_shift ty x y shift) (alu_rrr_shift (ALUOp.Orr) ty x y shift))
|
2709
|
+
|
2710
|
+
(decl orr_vec (Reg Reg VectorSize) Reg)
|
2711
|
+
(rule (orr_vec x y size) (vec_rrr (VecALUOp.Orr) x y size))
|
2712
|
+
|
2713
|
+
;; Helpers for generating `and` instructions.
|
2714
|
+
|
2715
|
+
(decl and_reg (Type Reg Reg) Reg)
|
2716
|
+
(rule (and_reg ty x y) (alu_rrr (ALUOp.And) ty x y))
|
2717
|
+
|
2718
|
+
(decl and_imm (Type Reg ImmLogic) Reg)
|
2719
|
+
(rule (and_imm ty x y) (alu_rr_imm_logic (ALUOp.And) ty x y))
|
2720
|
+
|
2721
|
+
(decl and_vec (Reg Reg VectorSize) Reg)
|
2722
|
+
(rule (and_vec x y size) (vec_rrr (VecALUOp.And) x y size))
|
2723
|
+
|
2724
|
+
;; Helpers for generating `eor` instructions.
|
2725
|
+
(decl eor (Type Reg Reg) Reg)
|
2726
|
+
(rule (eor ty x y) (alu_rrr (ALUOp.Eor) ty x y))
|
2727
|
+
|
2728
|
+
(decl eor_vec (Reg Reg VectorSize) Reg)
|
2729
|
+
(rule (eor_vec x y size) (vec_rrr (VecALUOp.Eor) x y size))
|
2730
|
+
|
2731
|
+
;; Helpers for generating `bic` instructions.
|
2732
|
+
|
2733
|
+
(decl bic (Type Reg Reg) Reg)
|
2734
|
+
(rule (bic ty x y) (alu_rrr (ALUOp.AndNot) ty x y))
|
2735
|
+
|
2736
|
+
(decl bic_vec (Reg Reg VectorSize) Reg)
|
2737
|
+
(rule (bic_vec x y size) (vec_rrr (VecALUOp.Bic) x y size))
|
2738
|
+
|
2739
|
+
;; Helpers for generating `sshl` instructions.
|
2740
|
+
(decl sshl (Reg Reg VectorSize) Reg)
|
2741
|
+
(rule (sshl x y size) (vec_rrr (VecALUOp.Sshl) x y size))
|
2742
|
+
|
2743
|
+
;; Helpers for generating `ushl` instructions.
|
2744
|
+
(decl ushl (Reg Reg VectorSize) Reg)
|
2745
|
+
(rule (ushl x y size) (vec_rrr (VecALUOp.Ushl) x y size))
|
2746
|
+
|
2747
|
+
;; Helpers for generating `ushl` instructions.
|
2748
|
+
(decl ushl_vec_imm (Reg u8 VectorSize) Reg)
|
2749
|
+
(rule (ushl_vec_imm x amt size) (vec_shift_imm (VecShiftImmOp.Shl) amt x size))
|
2750
|
+
|
2751
|
+
;; Helpers for generating `ushr` instructions.
|
2752
|
+
(decl ushr_vec_imm (Reg u8 VectorSize) Reg)
|
2753
|
+
(rule (ushr_vec_imm x amt size) (vec_shift_imm (VecShiftImmOp.Ushr) amt x size))
|
2754
|
+
|
2755
|
+
;; Helpers for generating `sshr` instructions.
|
2756
|
+
(decl sshr_vec_imm (Reg u8 VectorSize) Reg)
|
2757
|
+
(rule (sshr_vec_imm x amt size) (vec_shift_imm (VecShiftImmOp.Sshr) amt x size))
|
2758
|
+
|
2759
|
+
;; Helpers for generating `rotr` instructions.
|
2760
|
+
|
2761
|
+
(decl a64_rotr (Type Reg Reg) Reg)
|
2762
|
+
(rule (a64_rotr ty x y) (alu_rrr (ALUOp.RotR) ty x y))
|
2763
|
+
|
2764
|
+
(decl a64_rotr_imm (Type Reg ImmShift) Reg)
|
2765
|
+
(rule (a64_rotr_imm ty x y) (alu_rr_imm_shift (ALUOp.RotR) ty x y))
|
2766
|
+
|
2767
|
+
;; Helpers for generating `rbit` instructions.
|
2768
|
+
|
2769
|
+
(decl rbit (Type Reg) Reg)
|
2770
|
+
(rule (rbit ty x) (bit_rr (BitOp.RBit) ty x))
|
2771
|
+
|
2772
|
+
;; Helpers for generating `clz` instructions.
|
2773
|
+
|
2774
|
+
(decl a64_clz (Type Reg) Reg)
|
2775
|
+
(rule (a64_clz ty x) (bit_rr (BitOp.Clz) ty x))
|
2776
|
+
|
2777
|
+
;; Helpers for generating `cls` instructions.
|
2778
|
+
|
2779
|
+
(decl a64_cls (Type Reg) Reg)
|
2780
|
+
(rule (a64_cls ty x) (bit_rr (BitOp.Cls) ty x))
|
2781
|
+
|
2782
|
+
;; Helpers for generating `rev` instructions
|
2783
|
+
|
2784
|
+
(decl a64_rev16 (Type Reg) Reg)
|
2785
|
+
(rule (a64_rev16 ty x) (bit_rr (BitOp.Rev16) ty x))
|
2786
|
+
|
2787
|
+
(decl a64_rev32 (Type Reg) Reg)
|
2788
|
+
(rule (a64_rev32 ty x) (bit_rr (BitOp.Rev32) ty x))
|
2789
|
+
|
2790
|
+
(decl a64_rev64 (Type Reg) Reg)
|
2791
|
+
(rule (a64_rev64 ty x) (bit_rr (BitOp.Rev64) ty x))
|
2792
|
+
|
2793
|
+
;; Helpers for generating `eon` instructions.
|
2794
|
+
|
2795
|
+
(decl eon (Type Reg Reg) Reg)
|
2796
|
+
(rule (eon ty x y) (alu_rrr (ALUOp.EorNot) ty x y))
|
2797
|
+
|
2798
|
+
;; Helpers for generating `cnt` instructions.
|
2799
|
+
|
2800
|
+
(decl vec_cnt (Reg VectorSize) Reg)
|
2801
|
+
(rule (vec_cnt x size) (vec_misc (VecMisc2.Cnt) x size))
|
2802
|
+
|
2803
|
+
;; Helpers for generating a `bsl` instruction.
|
2804
|
+
|
2805
|
+
(decl bsl (Type Reg Reg Reg) Reg)
|
2806
|
+
(rule (bsl ty c x y)
|
2807
|
+
(vec_rrr_mod (VecALUModOp.Bsl) c x y (vector_size ty)))
|
2808
|
+
|
2809
|
+
;; Helper for generating a `udf` instruction.
|
2810
|
+
|
2811
|
+
(decl udf (TrapCode) SideEffectNoResult)
|
2812
|
+
(rule (udf trap_code)
|
2813
|
+
(SideEffectNoResult.Inst (MInst.Udf trap_code)))
|
2814
|
+
|
2815
|
+
;; Helpers for generating various load instructions, with varying
|
2816
|
+
;; widths and sign/zero-extending properties.
|
2817
|
+
(decl aarch64_uload8 (AMode MemFlags) Reg)
|
2818
|
+
(rule (aarch64_uload8 amode flags)
|
2819
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2820
|
+
(_ Unit (emit (MInst.ULoad8 dst amode flags))))
|
2821
|
+
dst))
|
2822
|
+
(decl aarch64_sload8 (AMode MemFlags) Reg)
|
2823
|
+
(rule (aarch64_sload8 amode flags)
|
2824
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2825
|
+
(_ Unit (emit (MInst.SLoad8 dst amode flags))))
|
2826
|
+
dst))
|
2827
|
+
(decl aarch64_uload16 (AMode MemFlags) Reg)
|
2828
|
+
(rule (aarch64_uload16 amode flags)
|
2829
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2830
|
+
(_ Unit (emit (MInst.ULoad16 dst amode flags))))
|
2831
|
+
dst))
|
2832
|
+
(decl aarch64_sload16 (AMode MemFlags) Reg)
|
2833
|
+
(rule (aarch64_sload16 amode flags)
|
2834
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2835
|
+
(_ Unit (emit (MInst.SLoad16 dst amode flags))))
|
2836
|
+
dst))
|
2837
|
+
(decl aarch64_uload32 (AMode MemFlags) Reg)
|
2838
|
+
(rule (aarch64_uload32 amode flags)
|
2839
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2840
|
+
(_ Unit (emit (MInst.ULoad32 dst amode flags))))
|
2841
|
+
dst))
|
2842
|
+
(decl aarch64_sload32 (AMode MemFlags) Reg)
|
2843
|
+
(rule (aarch64_sload32 amode flags)
|
2844
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2845
|
+
(_ Unit (emit (MInst.SLoad32 dst amode flags))))
|
2846
|
+
dst))
|
2847
|
+
(decl aarch64_uload64 (AMode MemFlags) Reg)
|
2848
|
+
(rule (aarch64_uload64 amode flags)
|
2849
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
2850
|
+
(_ Unit (emit (MInst.ULoad64 dst amode flags))))
|
2851
|
+
dst))
|
2852
|
+
(decl aarch64_fpuload32 (AMode MemFlags) Reg)
|
2853
|
+
(rule (aarch64_fpuload32 amode flags)
|
2854
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
2855
|
+
(_ Unit (emit (MInst.FpuLoad32 dst amode flags))))
|
2856
|
+
dst))
|
2857
|
+
(decl aarch64_fpuload64 (AMode MemFlags) Reg)
|
2858
|
+
(rule (aarch64_fpuload64 amode flags)
|
2859
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
2860
|
+
(_ Unit (emit (MInst.FpuLoad64 dst amode flags))))
|
2861
|
+
dst))
|
2862
|
+
(decl aarch64_fpuload128 (AMode MemFlags) Reg)
|
2863
|
+
(rule (aarch64_fpuload128 amode flags)
|
2864
|
+
(let ((dst WritableReg (temp_writable_reg $F64X2))
|
2865
|
+
(_ Unit (emit (MInst.FpuLoad128 dst amode flags))))
|
2866
|
+
dst))
|
2867
|
+
(decl aarch64_loadp64 (PairAMode MemFlags) ValueRegs)
|
2868
|
+
(rule (aarch64_loadp64 amode flags)
|
2869
|
+
(let ((dst1 WritableReg (temp_writable_reg $I64))
|
2870
|
+
(dst2 WritableReg (temp_writable_reg $I64))
|
2871
|
+
(_ Unit (emit (MInst.LoadP64 dst1 dst2 amode flags))))
|
2872
|
+
(value_regs dst1 dst2)))
|
2873
|
+
|
2874
|
+
;; Helpers for generating various store instructions with varying
|
2875
|
+
;; widths.
|
2876
|
+
(decl aarch64_store8 (AMode MemFlags Reg) SideEffectNoResult)
|
2877
|
+
(rule (aarch64_store8 amode flags val)
|
2878
|
+
(SideEffectNoResult.Inst (MInst.Store8 val amode flags)))
|
2879
|
+
(decl aarch64_store16 (AMode MemFlags Reg) SideEffectNoResult)
|
2880
|
+
(rule (aarch64_store16 amode flags val)
|
2881
|
+
(SideEffectNoResult.Inst (MInst.Store16 val amode flags)))
|
2882
|
+
(decl aarch64_store32 (AMode MemFlags Reg) SideEffectNoResult)
|
2883
|
+
(rule (aarch64_store32 amode flags val)
|
2884
|
+
(SideEffectNoResult.Inst (MInst.Store32 val amode flags)))
|
2885
|
+
(decl aarch64_store64 (AMode MemFlags Reg) SideEffectNoResult)
|
2886
|
+
(rule (aarch64_store64 amode flags val)
|
2887
|
+
(SideEffectNoResult.Inst (MInst.Store64 val amode flags)))
|
2888
|
+
(decl aarch64_fpustore32 (AMode MemFlags Reg) SideEffectNoResult)
|
2889
|
+
(rule (aarch64_fpustore32 amode flags val)
|
2890
|
+
(SideEffectNoResult.Inst (MInst.FpuStore32 val amode flags)))
|
2891
|
+
(decl aarch64_fpustore64 (AMode MemFlags Reg) SideEffectNoResult)
|
2892
|
+
(rule (aarch64_fpustore64 amode flags val)
|
2893
|
+
(SideEffectNoResult.Inst (MInst.FpuStore64 val amode flags)))
|
2894
|
+
(decl aarch64_fpustore128 (AMode MemFlags Reg) SideEffectNoResult)
|
2895
|
+
(rule (aarch64_fpustore128 amode flags val)
|
2896
|
+
(SideEffectNoResult.Inst (MInst.FpuStore128 val amode flags)))
|
2897
|
+
(decl aarch64_storep64 (PairAMode MemFlags Reg Reg) SideEffectNoResult)
|
2898
|
+
(rule (aarch64_storep64 amode flags val1 val2)
|
2899
|
+
(SideEffectNoResult.Inst (MInst.StoreP64 val1 val2 amode flags)))
|
2900
|
+
|
2901
|
+
;; Helper for generating a `trapif` instruction.
|
2902
|
+
|
2903
|
+
(decl trap_if (ProducesFlags TrapCode Cond) InstOutput)
|
2904
|
+
(rule (trap_if flags trap_code cond)
|
2905
|
+
(side_effect
|
2906
|
+
(with_flags_side_effect flags
|
2907
|
+
(ConsumesFlags.ConsumesFlagsSideEffect
|
2908
|
+
(MInst.TrapIf (cond_br_cond cond) trap_code)))))
|
2909
|
+
|
2910
|
+
;; Immediate value helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2911
|
+
|
2912
|
+
;; Type of extension performed by an immediate helper
|
2913
|
+
(type ImmExtend
|
2914
|
+
(enum
|
2915
|
+
(Sign)
|
2916
|
+
(Zero)))
|
2917
|
+
|
2918
|
+
;; Arguments:
|
2919
|
+
;; * Immediate type
|
2920
|
+
;; * Way to extend the immediate value to the full width of the destination
|
2921
|
+
;; register
|
2922
|
+
;; * Immediate value - only the bits that fit within the type are used and
|
2923
|
+
;; extended, while the rest are ignored
|
2924
|
+
;;
|
2925
|
+
;; Note that, unlike the convention in the AArch64 backend, this helper leaves
|
2926
|
+
;; all bits in the destination register in a defined state, i.e. smaller types
|
2927
|
+
;; such as `I8` are either sign- or zero-extended.
|
2928
|
+
(decl imm (Type ImmExtend u64) Reg)
|
2929
|
+
|
2930
|
+
;; Move wide immediate instructions; to simplify, we only match when we
|
2931
|
+
;; are zero-extending the value.
|
2932
|
+
(rule 3 (imm (integral_ty ty) (ImmExtend.Zero) k)
|
2933
|
+
(if-let n (move_wide_const_from_u64 ty k))
|
2934
|
+
(add_range_fact
|
2935
|
+
(movz n (operand_size ty))
|
2936
|
+
64 k k))
|
2937
|
+
(rule 2 (imm (integral_ty (ty_32_or_64 ty)) (ImmExtend.Zero) k)
|
2938
|
+
(if-let n (move_wide_const_from_inverted_u64 ty k))
|
2939
|
+
(add_range_fact
|
2940
|
+
(movn n (operand_size ty))
|
2941
|
+
64 k k))
|
2942
|
+
|
2943
|
+
;; Weird logical-instruction immediate in ORI using zero register; to simplify,
|
2944
|
+
;; we only match when we are zero-extending the value.
|
2945
|
+
(rule 1 (imm (integral_ty ty) (ImmExtend.Zero) k)
|
2946
|
+
(if-let n (imm_logic_from_u64 ty k))
|
2947
|
+
(if-let m (imm_size_from_type ty))
|
2948
|
+
(add_range_fact
|
2949
|
+
(orr_imm ty (zero_reg) n)
|
2950
|
+
m k k))
|
2951
|
+
|
2952
|
+
(decl load_constant64_full (Type ImmExtend u64) Reg)
|
2953
|
+
(extern constructor load_constant64_full load_constant64_full)
|
2954
|
+
|
2955
|
+
;; Fallback for integral 64-bit constants
|
2956
|
+
(rule (imm (integral_ty ty) extend n)
|
2957
|
+
(load_constant64_full ty extend n))
|
2958
|
+
|
2959
|
+
;; Sign extension helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2960
|
+
|
2961
|
+
;; Place a `Value` into a register, sign extending it to 32-bits
|
2962
|
+
(decl put_in_reg_sext32 (Value) Reg)
|
2963
|
+
(rule -1 (put_in_reg_sext32 val @ (value_type (fits_in_32 ty)))
|
2964
|
+
(extend val $true (ty_bits ty) 32))
|
2965
|
+
|
2966
|
+
;; 32/64-bit passthrough.
|
2967
|
+
(rule (put_in_reg_sext32 val @ (value_type $I32)) val)
|
2968
|
+
(rule (put_in_reg_sext32 val @ (value_type $I64)) val)
|
2969
|
+
|
2970
|
+
;; Place a `Value` into a register, zero extending it to 32-bits
|
2971
|
+
(decl put_in_reg_zext32 (Value) Reg)
|
2972
|
+
(rule -1 (put_in_reg_zext32 val @ (value_type (fits_in_32 ty)))
|
2973
|
+
(extend val $false (ty_bits ty) 32))
|
2974
|
+
|
2975
|
+
;; 32/64-bit passthrough.
|
2976
|
+
(rule (put_in_reg_zext32 val @ (value_type $I32)) val)
|
2977
|
+
(rule (put_in_reg_zext32 val @ (value_type $I64)) val)
|
2978
|
+
|
2979
|
+
;; Place a `Value` into a register, sign extending it to 64-bits
|
2980
|
+
(decl put_in_reg_sext64 (Value) Reg)
|
2981
|
+
(rule 1 (put_in_reg_sext64 val @ (value_type (fits_in_32 ty)))
|
2982
|
+
(extend val $true (ty_bits ty) 64))
|
2983
|
+
|
2984
|
+
;; 64-bit passthrough.
|
2985
|
+
(rule (put_in_reg_sext64 val @ (value_type $I64)) val)
|
2986
|
+
|
2987
|
+
;; Place a `Value` into a register, zero extending it to 64-bits
|
2988
|
+
(decl put_in_reg_zext64 (Value) Reg)
|
2989
|
+
(rule 1 (put_in_reg_zext64 val @ (value_type (fits_in_32 ty)))
|
2990
|
+
(extend val $false (ty_bits ty) 64))
|
2991
|
+
|
2992
|
+
;; 64-bit passthrough.
|
2993
|
+
(rule (put_in_reg_zext64 val @ (value_type $I64)) val)
|
2994
|
+
|
2995
|
+
;; Misc instruction helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2996
|
+
|
2997
|
+
(decl trap_if_zero_divisor (Reg) Reg)
|
2998
|
+
(rule (trap_if_zero_divisor reg)
|
2999
|
+
(let ((_ Unit (emit (MInst.TrapIf (cond_br_zero reg) (trap_code_division_by_zero)))))
|
3000
|
+
reg))
|
3001
|
+
|
3002
|
+
(decl size_from_ty (Type) OperandSize)
|
3003
|
+
(rule 1 (size_from_ty (fits_in_32 _ty)) (OperandSize.Size32))
|
3004
|
+
(rule (size_from_ty $I64) (OperandSize.Size64))
|
3005
|
+
|
3006
|
+
;; Check for signed overflow. The only case is min_value / -1.
|
3007
|
+
;; The following checks must be done in 32-bit or 64-bit, depending
|
3008
|
+
;; on the input type.
|
3009
|
+
(decl trap_if_div_overflow (Type Reg Reg) Reg)
|
3010
|
+
(rule (trap_if_div_overflow ty x y)
|
3011
|
+
(let (
|
3012
|
+
;; Check RHS is -1.
|
3013
|
+
(_ Unit (emit (MInst.AluRRImm12 (ALUOp.AddS) (operand_size ty) (writable_zero_reg) y (u8_into_imm12 1))))
|
3014
|
+
|
3015
|
+
;; Check LHS is min_value, by subtracting 1 and branching if
|
3016
|
+
;; there is overflow.
|
3017
|
+
(_ Unit (emit (MInst.CCmpImm (size_from_ty ty)
|
3018
|
+
x
|
3019
|
+
(u8_into_uimm5 1)
|
3020
|
+
(nzcv $false $false $false $false)
|
3021
|
+
(Cond.Eq))))
|
3022
|
+
(_ Unit (emit (MInst.TrapIf (cond_br_cond (Cond.Vs))
|
3023
|
+
(trap_code_integer_overflow))))
|
3024
|
+
)
|
3025
|
+
x))
|
3026
|
+
|
3027
|
+
;; Check for unsigned overflow.
|
3028
|
+
(decl trap_if_overflow (ProducesFlags TrapCode) Reg)
|
3029
|
+
(rule (trap_if_overflow producer tc)
|
3030
|
+
(with_flags_reg
|
3031
|
+
producer
|
3032
|
+
(ConsumesFlags.ConsumesFlagsSideEffect
|
3033
|
+
(MInst.TrapIf (cond_br_cond (Cond.Hs)) tc))))
|
3034
|
+
|
3035
|
+
(decl sink_atomic_load (Inst) Reg)
|
3036
|
+
(rule (sink_atomic_load x @ (atomic_load _ addr))
|
3037
|
+
(let ((_ Unit (sink_inst x)))
|
3038
|
+
(put_in_reg addr)))
|
3039
|
+
|
3040
|
+
;; Helper for generating either an `AluRRR`, `AluRRRShift`, or `AluRRImmLogic`
|
3041
|
+
;; instruction depending on the input. Note that this requires that the `ALUOp`
|
3042
|
+
;; specified is commutative.
|
3043
|
+
(decl alu_rs_imm_logic_commutative (ALUOp Type Value Value) Reg)
|
3044
|
+
|
3045
|
+
;; Base case of operating on registers.
|
3046
|
+
(rule -1 (alu_rs_imm_logic_commutative op ty x y)
|
3047
|
+
(alu_rrr op ty x y))
|
3048
|
+
|
3049
|
+
;; Special cases for when one operand is a constant.
|
3050
|
+
(rule (alu_rs_imm_logic_commutative op ty x (iconst k))
|
3051
|
+
(if-let imm (imm_logic_from_imm64 ty k))
|
3052
|
+
(alu_rr_imm_logic op ty x imm))
|
3053
|
+
(rule 1 (alu_rs_imm_logic_commutative op ty (iconst k) x)
|
3054
|
+
(if-let imm (imm_logic_from_imm64 ty k))
|
3055
|
+
(alu_rr_imm_logic op ty x imm))
|
3056
|
+
|
3057
|
+
;; Special cases for when one operand is shifted left by a constant.
|
3058
|
+
(rule (alu_rs_imm_logic_commutative op ty x (ishl y (iconst k)))
|
3059
|
+
(if-let amt (lshl_from_imm64 ty k))
|
3060
|
+
(alu_rrr_shift op ty x y amt))
|
3061
|
+
(rule 1 (alu_rs_imm_logic_commutative op ty (ishl x (iconst k)) y)
|
3062
|
+
(if-let amt (lshl_from_imm64 ty k))
|
3063
|
+
(alu_rrr_shift op ty y x amt))
|
3064
|
+
|
3065
|
+
;; Same as `alu_rs_imm_logic_commutative` above, except that it doesn't require
|
3066
|
+
;; that the operation is commutative.
|
3067
|
+
(decl alu_rs_imm_logic (ALUOp Type Value Value) Reg)
|
3068
|
+
(rule -1 (alu_rs_imm_logic op ty x y)
|
3069
|
+
(alu_rrr op ty x y))
|
3070
|
+
(rule (alu_rs_imm_logic op ty x (iconst k))
|
3071
|
+
(if-let imm (imm_logic_from_imm64 ty k))
|
3072
|
+
(alu_rr_imm_logic op ty x imm))
|
3073
|
+
(rule (alu_rs_imm_logic op ty x (ishl y (iconst k)))
|
3074
|
+
(if-let amt (lshl_from_imm64 ty k))
|
3075
|
+
(alu_rrr_shift op ty x y amt))
|
3076
|
+
|
3077
|
+
;; Helper for generating i128 bitops which simply do the same operation to the
|
3078
|
+
;; hi/lo registers.
|
3079
|
+
;;
|
3080
|
+
;; TODO: Support immlogic here
|
3081
|
+
(decl i128_alu_bitop (ALUOp Type Value Value) ValueRegs)
|
3082
|
+
(rule (i128_alu_bitop op ty x y)
|
3083
|
+
(let (
|
3084
|
+
(x_regs ValueRegs (put_in_regs x))
|
3085
|
+
(x_lo Reg (value_regs_get x_regs 0))
|
3086
|
+
(x_hi Reg (value_regs_get x_regs 1))
|
3087
|
+
(y_regs ValueRegs (put_in_regs y))
|
3088
|
+
(y_lo Reg (value_regs_get y_regs 0))
|
3089
|
+
(y_hi Reg (value_regs_get y_regs 1))
|
3090
|
+
)
|
3091
|
+
(value_regs
|
3092
|
+
(alu_rrr op ty x_lo y_lo)
|
3093
|
+
(alu_rrr op ty x_hi y_hi))))
|
3094
|
+
|
3095
|
+
;; Helper for emitting `MInst.VecLoadReplicate` instructions.
|
3096
|
+
(decl ld1r (Reg VectorSize MemFlags) Reg)
|
3097
|
+
(rule (ld1r src size flags)
|
3098
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
3099
|
+
(_ Unit (emit (MInst.VecLoadReplicate dst src size flags))))
|
3100
|
+
dst))
|
3101
|
+
|
3102
|
+
;; Helper for emitting `MInst.LoadExtName` instructions.
|
3103
|
+
(decl load_ext_name (BoxExternalName i64) Reg)
|
3104
|
+
(rule (load_ext_name extname offset)
|
3105
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3106
|
+
(_ Unit (emit (MInst.LoadExtName dst extname offset))))
|
3107
|
+
dst))
|
3108
|
+
|
3109
|
+
;; Lower the address of a load or a store.
|
3110
|
+
;;
|
3111
|
+
;; This will create an `AMode` representing the address of the `Value` provided
|
3112
|
+
;; at runtime plus the immediate offset `i32` provided. The `Type` here is used
|
3113
|
+
;; to represent the size of the value being loaded or stored for offset scaling
|
3114
|
+
;; if necessary.
|
3115
|
+
;;
|
3116
|
+
;; Note that this is broken up into two phases. In the first phase this attempts
|
3117
|
+
;; to find constants within the `val` provided and fold them in to the `offset`
|
3118
|
+
;; provided. Afterwards though the `amode_no_more_iconst` helper is used at
|
3119
|
+
;; which pointer constants are no longer pattern-matched and instead only
|
3120
|
+
;; various modes are generated. This in theory would not be necessary with
|
3121
|
+
;; mid-end optimizations that fold constants into load/store immediate offsets
|
3122
|
+
;; instead, but for now each backend needs to do this.
|
3123
|
+
(decl amode (Type Value i32) AMode)
|
3124
|
+
(rule 0 (amode ty val offset)
|
3125
|
+
(amode_no_more_iconst ty val offset))
|
3126
|
+
(rule 1 (amode ty (iadd x (i32_from_iconst y)) offset)
|
3127
|
+
(if-let new_offset (s32_add_fallible y offset))
|
3128
|
+
(amode_no_more_iconst ty x new_offset))
|
3129
|
+
(rule 2 (amode ty (iadd (i32_from_iconst x) y) offset)
|
3130
|
+
(if-let new_offset (s32_add_fallible x offset))
|
3131
|
+
(amode_no_more_iconst ty y new_offset))
|
3132
|
+
|
3133
|
+
(decl amode_no_more_iconst (Type Value i32) AMode)
|
3134
|
+
;; Base case: move the `offset` into a register and add it to `val` via the
|
3135
|
+
;; amode
|
3136
|
+
(rule 0 (amode_no_more_iconst ty val offset)
|
3137
|
+
(AMode.RegReg val (imm $I64 (ImmExtend.Zero) (i64_as_u64 offset))))
|
3138
|
+
|
3139
|
+
;; Optimize cases where the `offset` provided fits into a immediates of
|
3140
|
+
;; various kinds of addressing modes.
|
3141
|
+
(rule 1 (amode_no_more_iconst ty val offset)
|
3142
|
+
(if-let simm9 (simm9_from_i64 offset))
|
3143
|
+
(AMode.Unscaled val simm9))
|
3144
|
+
(rule 2 (amode_no_more_iconst ty val offset)
|
3145
|
+
(if-let uimm12 (uimm12_scaled_from_i64 offset ty))
|
3146
|
+
(AMode.UnsignedOffset val uimm12))
|
3147
|
+
|
3148
|
+
;; Optimizations where addition can fold some operations into the `amode`.
|
3149
|
+
;;
|
3150
|
+
;; Note that here these take higher priority than constants because an
|
3151
|
+
;; add-of-extend can be folded into an amode, representing 2 otherwise emitted
|
3152
|
+
;; instructions. Constants on the other hand added to the amode represent only
|
3153
|
+
;; a single instruction folded in, so fewer instructions should be generated
|
3154
|
+
;; with these higher priority than the rules above.
|
3155
|
+
(rule 3 (amode_no_more_iconst ty (iadd x y) offset)
|
3156
|
+
(AMode.RegReg (amode_add x offset) y))
|
3157
|
+
(rule 4 (amode_no_more_iconst ty (iadd x (uextend y @ (value_type $I32))) offset)
|
3158
|
+
(AMode.RegExtended (amode_add x offset) y (ExtendOp.UXTW)))
|
3159
|
+
(rule 4 (amode_no_more_iconst ty (iadd x (sextend y @ (value_type $I32))) offset)
|
3160
|
+
(AMode.RegExtended (amode_add x offset) y (ExtendOp.SXTW)))
|
3161
|
+
(rule 5 (amode_no_more_iconst ty (iadd (uextend x @ (value_type $I32)) y) offset)
|
3162
|
+
(AMode.RegExtended (amode_add y offset) x (ExtendOp.UXTW)))
|
3163
|
+
(rule 5 (amode_no_more_iconst ty (iadd (sextend x @ (value_type $I32)) y) offset)
|
3164
|
+
(AMode.RegExtended (amode_add y offset) x (ExtendOp.SXTW)))
|
3165
|
+
|
3166
|
+
;; `RegScaled*` rules where this matches an addition of an "index register" to a
|
3167
|
+
;; base register. The index register is shifted by the size of the type loaded
|
3168
|
+
;; in bytes to enable this mode matching.
|
3169
|
+
;;
|
3170
|
+
;; Note that this can additionally bundle an extending operation but the
|
3171
|
+
;; extension must happen before the shift. This will pattern-match the shift
|
3172
|
+
;; first and then if that succeeds afterwards try to find an extend.
|
3173
|
+
(rule 6 (amode_no_more_iconst ty (iadd x (ishl y (iconst (u64_from_imm64 n)))) offset)
|
3174
|
+
(if-let $true (u64_eq (ty_bytes ty) (u64_shl 1 n)))
|
3175
|
+
(amode_reg_scaled (amode_add x offset) y))
|
3176
|
+
(rule 7 (amode_no_more_iconst ty (iadd (ishl y (iconst (u64_from_imm64 n))) x) offset)
|
3177
|
+
(if-let $true (u64_eq (ty_bytes ty) (u64_shl 1 n)))
|
3178
|
+
(amode_reg_scaled (amode_add x offset) y))
|
3179
|
+
|
3180
|
+
(decl amode_reg_scaled (Reg Value) AMode)
|
3181
|
+
(rule 0 (amode_reg_scaled base index)
|
3182
|
+
(AMode.RegScaled base index))
|
3183
|
+
(rule 1 (amode_reg_scaled base (uextend index @ (value_type $I32)))
|
3184
|
+
(AMode.RegScaledExtended base index (ExtendOp.UXTW)))
|
3185
|
+
(rule 1 (amode_reg_scaled base (sextend index @ (value_type $I32)))
|
3186
|
+
(AMode.RegScaledExtended base index (ExtendOp.SXTW)))
|
3187
|
+
|
3188
|
+
;; Helper to add a 32-bit signed immediate to the register provided. This will
|
3189
|
+
;; select an appropriate `add` instruction to use.
|
3190
|
+
(decl amode_add (Reg i32) Reg)
|
3191
|
+
(rule 0 (amode_add x y)
|
3192
|
+
(add $I64 x (imm $I64 (ImmExtend.Zero) (i64_as_u64 y))))
|
3193
|
+
(rule 1 (amode_add x y)
|
3194
|
+
(if-let (imm12_from_u64 imm12) (i64_as_u64 y))
|
3195
|
+
(add_imm $I64 x imm12))
|
3196
|
+
(rule 2 (amode_add x 0) x)
|
3197
|
+
|
3198
|
+
;; Creates a `PairAMode` for the `Value` provided plus the `i32` constant
|
3199
|
+
;; offset provided.
|
3200
|
+
(decl pair_amode (Value i32) PairAMode)
|
3201
|
+
|
3202
|
+
;; Base case where `val` and `offset` are combined with an `add`
|
3203
|
+
(rule 0 (pair_amode val offset)
|
3204
|
+
(if-let simm7 (simm7_scaled_from_i64 0 $I64))
|
3205
|
+
(PairAMode.SignedOffset (amode_add val offset) simm7))
|
3206
|
+
|
3207
|
+
;; Optimization when `offset` can fit into a `SImm7Scaled`.
|
3208
|
+
(rule 1 (pair_amode val offset)
|
3209
|
+
(if-let simm7 (simm7_scaled_from_i64 offset $I64))
|
3210
|
+
(PairAMode.SignedOffset val simm7))
|
3211
|
+
|
3212
|
+
(decl pure partial simm7_scaled_from_i64 (i64 Type) SImm7Scaled)
|
3213
|
+
(extern constructor simm7_scaled_from_i64 simm7_scaled_from_i64)
|
3214
|
+
|
3215
|
+
(decl pure partial uimm12_scaled_from_i64 (i64 Type) UImm12Scaled)
|
3216
|
+
(extern constructor uimm12_scaled_from_i64 uimm12_scaled_from_i64)
|
3217
|
+
|
3218
|
+
(decl pure partial simm9_from_i64 (i64) SImm9)
|
3219
|
+
(extern constructor simm9_from_i64 simm9_from_i64)
|
3220
|
+
|
3221
|
+
|
3222
|
+
(decl sink_load_into_addr (Type Inst) Reg)
|
3223
|
+
(rule (sink_load_into_addr ty x @ (load _ addr (offset32 offset)))
|
3224
|
+
(let ((_ Unit (sink_inst x)))
|
3225
|
+
(add_imm_to_addr addr (i64_as_u64 offset))))
|
3226
|
+
|
3227
|
+
(decl add_imm_to_addr (Reg u64) Reg)
|
3228
|
+
(rule 2 (add_imm_to_addr val 0) val)
|
3229
|
+
(rule 1 (add_imm_to_addr val (imm12_from_u64 imm)) (add_imm $I64 val imm))
|
3230
|
+
(rule 0 (add_imm_to_addr val offset) (add $I64 val (imm $I64 (ImmExtend.Zero) offset)))
|
3231
|
+
|
3232
|
+
;; Lower a constant f32.
|
3233
|
+
;;
|
3234
|
+
;; Note that we must make sure that all bits outside the lowest 32 are set to 0
|
3235
|
+
;; because this function is also used to load wider constants (that have zeros
|
3236
|
+
;; in their most significant bits).
|
3237
|
+
(decl constant_f32 (u32) Reg)
|
3238
|
+
(rule 2 (constant_f32 0)
|
3239
|
+
(vec_dup_imm (asimd_mov_mod_imm_zero (ScalarSize.Size32))
|
3240
|
+
$false
|
3241
|
+
(VectorSize.Size32x2)))
|
3242
|
+
(rule 1 (constant_f32 n)
|
3243
|
+
(if-let imm (asimd_fp_mod_imm_from_u64 n (ScalarSize.Size32)))
|
3244
|
+
(fpu_move_fp_imm imm (ScalarSize.Size32)))
|
3245
|
+
(rule (constant_f32 n)
|
3246
|
+
(mov_to_fpu (imm $I32 (ImmExtend.Zero) n) (ScalarSize.Size32)))
|
3247
|
+
|
3248
|
+
;; Lower a constant f64.
|
3249
|
+
;;
|
3250
|
+
;; Note that we must make sure that all bits outside the lowest 64 are set to 0
|
3251
|
+
;; because this function is also used to load wider constants (that have zeros
|
3252
|
+
;; in their most significant bits).
|
3253
|
+
;; TODO: Treat as half of a 128 bit vector and consider replicated patterns.
|
3254
|
+
;; Scalar MOVI might also be an option.
|
3255
|
+
(decl constant_f64 (u64) Reg)
|
3256
|
+
(rule 4 (constant_f64 0)
|
3257
|
+
(vec_dup_imm (asimd_mov_mod_imm_zero (ScalarSize.Size32))
|
3258
|
+
$false
|
3259
|
+
(VectorSize.Size32x2)))
|
3260
|
+
(rule 3 (constant_f64 n)
|
3261
|
+
(if-let imm (asimd_fp_mod_imm_from_u64 n (ScalarSize.Size64)))
|
3262
|
+
(fpu_move_fp_imm imm (ScalarSize.Size64)))
|
3263
|
+
(rule 2 (constant_f64 (u64_as_u32 n))
|
3264
|
+
(constant_f32 n))
|
3265
|
+
(rule 1 (constant_f64 (u64_low32_bits_unset n))
|
3266
|
+
(mov_to_fpu (imm $I64 (ImmExtend.Zero) n) (ScalarSize.Size64)))
|
3267
|
+
(rule (constant_f64 n)
|
3268
|
+
(fpu_load64 (AMode.Const (emit_u64_le_const n)) (mem_flags_trusted)))
|
3269
|
+
|
3270
|
+
;; Tests whether the low 32 bits in the input are all zero.
|
3271
|
+
(decl u64_low32_bits_unset (u64) u64)
|
3272
|
+
(extern extractor u64_low32_bits_unset u64_low32_bits_unset)
|
3273
|
+
|
3274
|
+
;; Lower a constant f128.
|
3275
|
+
(decl constant_f128 (u128) Reg)
|
3276
|
+
(rule 3 (constant_f128 0)
|
3277
|
+
(vec_dup_imm (asimd_mov_mod_imm_zero (ScalarSize.Size8))
|
3278
|
+
$false
|
3279
|
+
(VectorSize.Size8x16)))
|
3280
|
+
|
3281
|
+
;; If the upper 64-bits are all zero then defer to `constant_f64`.
|
3282
|
+
(rule 2 (constant_f128 (u128_as_u64 n)) (constant_f64 n))
|
3283
|
+
|
3284
|
+
;; If the low half of the u128 equals the high half then delegate to the splat
|
3285
|
+
;; logic as a splat of a 64-bit value.
|
3286
|
+
(rule 1 (constant_f128 (u128_replicated_u64 n))
|
3287
|
+
(splat_const n (VectorSize.Size64x2)))
|
3288
|
+
|
3289
|
+
;; Base case is to load the constant from memory.
|
3290
|
+
(rule (constant_f128 n)
|
3291
|
+
(fpu_load128 (AMode.Const (emit_u128_le_const n)) (mem_flags_trusted)))
|
3292
|
+
|
3293
|
+
;; Lower a vector splat with a constant parameter.
|
3294
|
+
;;
|
3295
|
+
;; The 64-bit input here only uses the low bits for the lane size in
|
3296
|
+
;; `VectorSize` and all other bits are ignored.
|
3297
|
+
(decl splat_const (u64 VectorSize) Reg)
|
3298
|
+
|
3299
|
+
;; If the splat'd constant can itself be reduced in size then attempt to do so
|
3300
|
+
;; as it will make it easier to create the immediates in the instructions below.
|
3301
|
+
(rule 5 (splat_const (u64_replicated_u32 n) (VectorSize.Size64x2))
|
3302
|
+
(splat_const n (VectorSize.Size32x4)))
|
3303
|
+
(rule 5 (splat_const (u32_replicated_u16 n) (VectorSize.Size32x4))
|
3304
|
+
(splat_const n (VectorSize.Size16x8)))
|
3305
|
+
(rule 5 (splat_const (u32_replicated_u16 n) (VectorSize.Size32x2))
|
3306
|
+
(splat_const n (VectorSize.Size16x4)))
|
3307
|
+
(rule 5 (splat_const (u16_replicated_u8 n) (VectorSize.Size16x8))
|
3308
|
+
(splat_const n (VectorSize.Size8x16)))
|
3309
|
+
(rule 5 (splat_const (u16_replicated_u8 n) (VectorSize.Size16x4))
|
3310
|
+
(splat_const n (VectorSize.Size8x8)))
|
3311
|
+
|
3312
|
+
;; Special cases for `vec_dup_imm` instructions where the input is either
|
3313
|
+
;; negated or not.
|
3314
|
+
(rule 4 (splat_const n size)
|
3315
|
+
(if-let imm (asimd_mov_mod_imm_from_u64 n (vector_lane_size size)))
|
3316
|
+
(vec_dup_imm imm $false size))
|
3317
|
+
(rule 3 (splat_const n size)
|
3318
|
+
(if-let imm (asimd_mov_mod_imm_from_u64 (u64_not n) (vector_lane_size size)))
|
3319
|
+
(vec_dup_imm imm $true size))
|
3320
|
+
|
3321
|
+
;; Special case a 32-bit splat where an immediate can be created by
|
3322
|
+
;; concatenating the 32-bit constant into a 64-bit value
|
3323
|
+
(rule 2 (splat_const n (VectorSize.Size32x4))
|
3324
|
+
(if-let imm (asimd_mov_mod_imm_from_u64 (u64_or n (u64_shl n 32)) (ScalarSize.Size64)))
|
3325
|
+
(vec_dup_imm imm $false (VectorSize.Size64x2)))
|
3326
|
+
(rule 2 (splat_const n (VectorSize.Size32x2))
|
3327
|
+
(if-let imm (asimd_mov_mod_imm_from_u64 (u64_or n (u64_shl n 32)) (ScalarSize.Size64)))
|
3328
|
+
(fpu_extend (vec_dup_imm imm $false (VectorSize.Size64x2)) (ScalarSize.Size64)))
|
3329
|
+
|
3330
|
+
(rule 1 (splat_const n size)
|
3331
|
+
(if-let imm (asimd_fp_mod_imm_from_u64 n (vector_lane_size size)))
|
3332
|
+
(vec_dup_fp_imm imm size))
|
3333
|
+
|
3334
|
+
;; The base case for splat is to use `vec_dup` with the immediate loaded into a
|
3335
|
+
;; register.
|
3336
|
+
(rule (splat_const n size)
|
3337
|
+
(vec_dup (imm $I64 (ImmExtend.Zero) n) size))
|
3338
|
+
|
3339
|
+
;; Lower a FloatCC to a Cond.
|
3340
|
+
(decl fp_cond_code (FloatCC) Cond)
|
3341
|
+
;; TODO: Port lower_fp_condcode() to ISLE.
|
3342
|
+
(extern constructor fp_cond_code fp_cond_code)
|
3343
|
+
|
3344
|
+
;; Lower an integer cond code.
|
3345
|
+
(decl cond_code (IntCC) Cond)
|
3346
|
+
;; TODO: Port lower_condcode() to ISLE.
|
3347
|
+
(extern constructor cond_code cond_code)
|
3348
|
+
|
3349
|
+
;; Invert a condition code.
|
3350
|
+
(decl invert_cond (Cond) Cond)
|
3351
|
+
;; TODO: Port cond.invert() to ISLE.
|
3352
|
+
(extern constructor invert_cond invert_cond)
|
3353
|
+
|
3354
|
+
;; Generate comparison to zero operator from input condition code
|
3355
|
+
(decl float_cc_cmp_zero_to_vec_misc_op (FloatCC) VecMisc2)
|
3356
|
+
(extern constructor float_cc_cmp_zero_to_vec_misc_op float_cc_cmp_zero_to_vec_misc_op)
|
3357
|
+
|
3358
|
+
(decl float_cc_cmp_zero_to_vec_misc_op_swap (FloatCC) VecMisc2)
|
3359
|
+
(extern constructor float_cc_cmp_zero_to_vec_misc_op_swap float_cc_cmp_zero_to_vec_misc_op_swap)
|
3360
|
+
|
3361
|
+
;; Match valid generic compare to zero cases
|
3362
|
+
(decl fcmp_zero_cond (FloatCC) FloatCC)
|
3363
|
+
(extern extractor fcmp_zero_cond fcmp_zero_cond)
|
3364
|
+
|
3365
|
+
;; Match not equal compare to zero separately as it requires two output instructions
|
3366
|
+
(decl fcmp_zero_cond_not_eq (FloatCC) FloatCC)
|
3367
|
+
(extern extractor fcmp_zero_cond_not_eq fcmp_zero_cond_not_eq)
|
3368
|
+
|
3369
|
+
;; Helper for generating float compare to zero instructions where 2nd argument is zero
|
3370
|
+
(decl float_cmp_zero (FloatCC Reg VectorSize) Reg)
|
3371
|
+
(rule (float_cmp_zero cond rn size)
|
3372
|
+
(vec_misc (float_cc_cmp_zero_to_vec_misc_op cond) rn size))
|
3373
|
+
|
3374
|
+
;; Helper for generating float compare to zero instructions in case where 1st argument is zero
|
3375
|
+
(decl float_cmp_zero_swap (FloatCC Reg VectorSize) Reg)
|
3376
|
+
(rule (float_cmp_zero_swap cond rn size)
|
3377
|
+
(vec_misc (float_cc_cmp_zero_to_vec_misc_op_swap cond) rn size))
|
3378
|
+
|
3379
|
+
;; Helper for generating float compare equal to zero instruction
|
3380
|
+
(decl fcmeq0 (Reg VectorSize) Reg)
|
3381
|
+
(rule (fcmeq0 rn size)
|
3382
|
+
(vec_misc (VecMisc2.Fcmeq0) rn size))
|
3383
|
+
|
3384
|
+
;; Generate comparison to zero operator from input condition code
|
3385
|
+
(decl int_cc_cmp_zero_to_vec_misc_op (IntCC) VecMisc2)
|
3386
|
+
(extern constructor int_cc_cmp_zero_to_vec_misc_op int_cc_cmp_zero_to_vec_misc_op)
|
3387
|
+
|
3388
|
+
(decl int_cc_cmp_zero_to_vec_misc_op_swap (IntCC) VecMisc2)
|
3389
|
+
(extern constructor int_cc_cmp_zero_to_vec_misc_op_swap int_cc_cmp_zero_to_vec_misc_op_swap)
|
3390
|
+
|
3391
|
+
;; Match valid generic compare to zero cases
|
3392
|
+
(decl icmp_zero_cond (IntCC) IntCC)
|
3393
|
+
(extern extractor icmp_zero_cond icmp_zero_cond)
|
3394
|
+
|
3395
|
+
;; Match not equal compare to zero separately as it requires two output instructions
|
3396
|
+
(decl icmp_zero_cond_not_eq (IntCC) IntCC)
|
3397
|
+
(extern extractor icmp_zero_cond_not_eq icmp_zero_cond_not_eq)
|
3398
|
+
|
3399
|
+
;; Helper for generating int compare to zero instructions where 2nd argument is zero
|
3400
|
+
(decl int_cmp_zero (IntCC Reg VectorSize) Reg)
|
3401
|
+
(rule (int_cmp_zero cond rn size)
|
3402
|
+
(vec_misc (int_cc_cmp_zero_to_vec_misc_op cond) rn size))
|
3403
|
+
|
3404
|
+
;; Helper for generating int compare to zero instructions in case where 1st argument is zero
|
3405
|
+
(decl int_cmp_zero_swap (IntCC Reg VectorSize) Reg)
|
3406
|
+
(rule (int_cmp_zero_swap cond rn size)
|
3407
|
+
(vec_misc (int_cc_cmp_zero_to_vec_misc_op_swap cond) rn size))
|
3408
|
+
|
3409
|
+
;; Helper for generating int compare equal to zero instruction
|
3410
|
+
(decl cmeq0 (Reg VectorSize) Reg)
|
3411
|
+
(rule (cmeq0 rn size)
|
3412
|
+
(vec_misc (VecMisc2.Cmeq0) rn size))
|
3413
|
+
|
3414
|
+
;; Helper for emitting `MInst.AtomicRMW` instructions.
|
3415
|
+
(decl lse_atomic_rmw (AtomicRMWOp Value Reg Type MemFlags) Reg)
|
3416
|
+
(rule (lse_atomic_rmw op p r_arg2 ty flags)
|
3417
|
+
(let (
|
3418
|
+
(r_addr Reg p)
|
3419
|
+
(dst WritableReg (temp_writable_reg ty))
|
3420
|
+
(_ Unit (emit (MInst.AtomicRMW op r_arg2 dst r_addr ty flags)))
|
3421
|
+
)
|
3422
|
+
dst))
|
3423
|
+
|
3424
|
+
;; Helper for emitting `MInst.AtomicCAS` instructions.
|
3425
|
+
(decl lse_atomic_cas (Reg Reg Reg Type MemFlags) Reg)
|
3426
|
+
(rule (lse_atomic_cas addr expect replace ty flags)
|
3427
|
+
(let (
|
3428
|
+
(dst WritableReg (temp_writable_reg ty))
|
3429
|
+
(_ Unit (emit (MInst.AtomicCAS dst expect replace addr ty flags)))
|
3430
|
+
)
|
3431
|
+
dst))
|
3432
|
+
|
3433
|
+
;; Helper for emitting `MInst.AtomicRMWLoop` instructions.
|
3434
|
+
;; - Make sure that both args are in virtual regs, since in effect
|
3435
|
+
;; we have to do a parallel copy to get them safely to the AtomicRMW input
|
3436
|
+
;; regs, and that's not guaranteed safe if either is in a real reg.
|
3437
|
+
;; - Move the args to the preordained AtomicRMW input regs
|
3438
|
+
;; - And finally, copy the preordained AtomicRMW output reg to its destination.
|
3439
|
+
(decl atomic_rmw_loop (AtomicRMWLoopOp Reg Reg Type MemFlags) Reg)
|
3440
|
+
(rule (atomic_rmw_loop op addr operand ty flags)
|
3441
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3442
|
+
(scratch1 WritableReg (temp_writable_reg $I64))
|
3443
|
+
(scratch2 WritableReg (temp_writable_reg $I64))
|
3444
|
+
(_ Unit (emit (MInst.AtomicRMWLoop ty op flags addr operand dst scratch1 scratch2))))
|
3445
|
+
dst))
|
3446
|
+
|
3447
|
+
;; Helper for emitting `MInst.AtomicCASLoop` instructions.
|
3448
|
+
;; This is very similar to, but not identical to, the AtomicRmw case. Note
|
3449
|
+
;; that the AtomicCASLoop sequence does its own masking, so we don't need to worry
|
3450
|
+
;; about zero-extending narrow (I8/I16/I32) values here.
|
3451
|
+
;; Make sure that all three args are in virtual regs. See corresponding comment
|
3452
|
+
;; for `atomic_rmw_loop` above.
|
3453
|
+
(decl atomic_cas_loop (Reg Reg Reg Type MemFlags) Reg)
|
3454
|
+
(rule (atomic_cas_loop addr expect replace ty flags)
|
3455
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3456
|
+
(scratch WritableReg (temp_writable_reg $I64))
|
3457
|
+
(_ Unit (emit (MInst.AtomicCASLoop ty flags addr expect replace dst scratch))))
|
3458
|
+
dst))
|
3459
|
+
|
3460
|
+
;; Copy a register of the given type to a new register.
|
3461
|
+
;;
|
3462
|
+
;; Generally, regalloc should take care of this kind of thing for us. This is
|
3463
|
+
;; only useful for implementing things like `bitcast` from an `r64` to an `i64`
|
3464
|
+
;; to avoid conflicting constraints on a single aliased value by splitting the
|
3465
|
+
;; value into two parts.
|
3466
|
+
(decl copy_reg (Type Reg) Reg)
|
3467
|
+
(rule (copy_reg $I32 src)
|
3468
|
+
(let ((dst WritableReg (temp_writable_reg $I32))
|
3469
|
+
(_ Unit (emit (MInst.Mov (OperandSize.Size32)
|
3470
|
+
dst
|
3471
|
+
src))))
|
3472
|
+
dst))
|
3473
|
+
(rule (copy_reg $I64 src)
|
3474
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3475
|
+
(_ Unit (emit (MInst.Mov (OperandSize.Size64)
|
3476
|
+
dst
|
3477
|
+
src))))
|
3478
|
+
dst))
|
3479
|
+
|
3480
|
+
|
3481
|
+
;; Helper for emitting `MInst.MovPReg` instructions.
|
3482
|
+
(decl mov_from_preg (PReg) Reg)
|
3483
|
+
(rule (mov_from_preg src)
|
3484
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3485
|
+
(_ Unit (emit (MInst.MovFromPReg dst src))))
|
3486
|
+
dst))
|
3487
|
+
|
3488
|
+
(decl mov_to_preg (PReg Reg) SideEffectNoResult)
|
3489
|
+
(rule (mov_to_preg dst src)
|
3490
|
+
(SideEffectNoResult.Inst (MInst.MovToPReg dst src)))
|
3491
|
+
|
3492
|
+
(decl preg_sp () PReg)
|
3493
|
+
(extern constructor preg_sp preg_sp)
|
3494
|
+
|
3495
|
+
(decl preg_fp () PReg)
|
3496
|
+
(extern constructor preg_fp preg_fp)
|
3497
|
+
|
3498
|
+
(decl preg_link () PReg)
|
3499
|
+
(extern constructor preg_link preg_link)
|
3500
|
+
|
3501
|
+
(decl preg_pinned () PReg)
|
3502
|
+
(extern constructor preg_pinned preg_pinned)
|
3503
|
+
|
3504
|
+
(decl aarch64_sp () Reg)
|
3505
|
+
(rule (aarch64_sp)
|
3506
|
+
(mov_from_preg (preg_sp)))
|
3507
|
+
|
3508
|
+
(decl aarch64_fp () Reg)
|
3509
|
+
(rule (aarch64_fp)
|
3510
|
+
(mov_from_preg (preg_fp)))
|
3511
|
+
|
3512
|
+
(decl aarch64_link () Reg)
|
3513
|
+
(rule 1 (aarch64_link)
|
3514
|
+
(if (preserve_frame_pointers))
|
3515
|
+
(if (sign_return_address_disabled))
|
3516
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3517
|
+
;; Even though LR is not an allocatable register, whether it
|
3518
|
+
;; contains the return address for the current function is
|
3519
|
+
;; unknown at this point. For example, this operation may come
|
3520
|
+
;; immediately after a call, in which case LR would not have a
|
3521
|
+
;; valid value. That's why we must obtain the return address from
|
3522
|
+
;; the frame record that corresponds to the current subroutine on
|
3523
|
+
;; the stack; the presence of the record is guaranteed by the
|
3524
|
+
;; `preserve_frame_pointers` setting.
|
3525
|
+
(addr AMode (AMode.FPOffset 8))
|
3526
|
+
(_ Unit (emit (MInst.ULoad64 dst addr (mem_flags_trusted)))))
|
3527
|
+
dst))
|
3528
|
+
|
3529
|
+
(rule (aarch64_link)
|
3530
|
+
(if (preserve_frame_pointers))
|
3531
|
+
;; Similarly to the rule above, we must load the return address from the
|
3532
|
+
;; the frame record. Furthermore, we can use LR as a scratch register
|
3533
|
+
;; because the function will set it to the return address immediately
|
3534
|
+
;; before returning.
|
3535
|
+
(let ((addr AMode (AMode.FPOffset 8))
|
3536
|
+
(lr WritableReg (writable_link_reg))
|
3537
|
+
(_ Unit (emit (MInst.ULoad64 lr addr (mem_flags_trusted))))
|
3538
|
+
(_ Unit (emit (MInst.Xpaclri))))
|
3539
|
+
(mov_from_preg (preg_link))))
|
3540
|
+
|
3541
|
+
;; Helper for getting the maximum shift amount for a type.
|
3542
|
+
|
3543
|
+
(decl max_shift (Type) u8)
|
3544
|
+
(rule (max_shift $F64) 63)
|
3545
|
+
(rule (max_shift $F32) 31)
|
3546
|
+
|
3547
|
+
;; Helper for generating `fcopysign` instruction sequences.
|
3548
|
+
|
3549
|
+
(decl fcopy_sign (Reg Reg Type) Reg)
|
3550
|
+
(rule 1 (fcopy_sign x y (ty_scalar_float ty))
|
3551
|
+
(let ((dst WritableReg (temp_writable_reg $F64))
|
3552
|
+
(tmp Reg (fpu_rri (fpu_op_ri_ushr (ty_bits ty) (max_shift ty)) y))
|
3553
|
+
(_ Unit (emit (MInst.FpuRRIMod (fpu_op_ri_sli (ty_bits ty) (max_shift ty)) dst x tmp))))
|
3554
|
+
dst))
|
3555
|
+
(rule (fcopy_sign x y ty @ (multi_lane _ _))
|
3556
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
3557
|
+
(tmp Reg (ushr_vec_imm y (max_shift (lane_type ty)) (vector_size ty)))
|
3558
|
+
(_ Unit (emit (MInst.VecShiftImmMod (VecShiftImmModOp.Sli) dst x tmp (vector_size ty) (max_shift (lane_type ty))))))
|
3559
|
+
dst))
|
3560
|
+
|
3561
|
+
;; Helpers for generating `MInst.FpuToInt` instructions.
|
3562
|
+
|
3563
|
+
(decl fpu_to_int_nan_check (ScalarSize Reg) Reg)
|
3564
|
+
(rule (fpu_to_int_nan_check size src)
|
3565
|
+
(let ((r ValueRegs
|
3566
|
+
(with_flags (fpu_cmp size src src)
|
3567
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3568
|
+
(MInst.TrapIf (cond_br_cond (Cond.Vs))
|
3569
|
+
(trap_code_bad_conversion_to_integer))
|
3570
|
+
src))))
|
3571
|
+
(value_regs_get r 0)))
|
3572
|
+
|
3573
|
+
;; Checks that the value is not less than the minimum bound,
|
3574
|
+
;; accepting a boolean (whether the type is signed), input type,
|
3575
|
+
;; output type, and registers containing the source and minimum bound.
|
3576
|
+
(decl fpu_to_int_underflow_check (bool Type Type Reg Reg) Reg)
|
3577
|
+
(rule (fpu_to_int_underflow_check $true $F32 (fits_in_16 out_ty) src min)
|
3578
|
+
(let ((r ValueRegs
|
3579
|
+
(with_flags (fpu_cmp (ScalarSize.Size32) src min)
|
3580
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3581
|
+
(MInst.TrapIf (cond_br_cond (Cond.Le))
|
3582
|
+
(trap_code_integer_overflow))
|
3583
|
+
src))))
|
3584
|
+
(value_regs_get r 0)))
|
3585
|
+
(rule (fpu_to_int_underflow_check $true $F64 (fits_in_32 out_ty) src min)
|
3586
|
+
(let ((r ValueRegs
|
3587
|
+
(with_flags (fpu_cmp (ScalarSize.Size64) src min)
|
3588
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3589
|
+
(MInst.TrapIf (cond_br_cond (Cond.Le))
|
3590
|
+
(trap_code_integer_overflow))
|
3591
|
+
src))))
|
3592
|
+
(value_regs_get r 0)))
|
3593
|
+
(rule -1 (fpu_to_int_underflow_check $true in_ty _out_ty src min)
|
3594
|
+
(let ((r ValueRegs
|
3595
|
+
(with_flags (fpu_cmp (scalar_size in_ty) src min)
|
3596
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3597
|
+
(MInst.TrapIf (cond_br_cond (Cond.Lt))
|
3598
|
+
(trap_code_integer_overflow))
|
3599
|
+
src))))
|
3600
|
+
(value_regs_get r 0)))
|
3601
|
+
(rule (fpu_to_int_underflow_check $false in_ty _out_ty src min)
|
3602
|
+
(let ((r ValueRegs
|
3603
|
+
(with_flags (fpu_cmp (scalar_size in_ty) src min)
|
3604
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3605
|
+
(MInst.TrapIf (cond_br_cond (Cond.Le))
|
3606
|
+
(trap_code_integer_overflow))
|
3607
|
+
src))))
|
3608
|
+
(value_regs_get r 0)))
|
3609
|
+
|
3610
|
+
(decl fpu_to_int_overflow_check (ScalarSize Reg Reg) Reg)
|
3611
|
+
(rule (fpu_to_int_overflow_check size src max)
|
3612
|
+
(let ((r ValueRegs
|
3613
|
+
(with_flags (fpu_cmp size src max)
|
3614
|
+
(ConsumesFlags.ConsumesFlagsReturnsReg
|
3615
|
+
(MInst.TrapIf (cond_br_cond (Cond.Ge))
|
3616
|
+
(trap_code_integer_overflow))
|
3617
|
+
src))))
|
3618
|
+
(value_regs_get r 0)))
|
3619
|
+
|
3620
|
+
;; Emits the appropriate instruction sequence to convert a
|
3621
|
+
;; floating-point value to an integer, trapping if the value
|
3622
|
+
;; is a NaN or does not fit in the target type.
|
3623
|
+
;; Accepts the specific conversion op, the source register,
|
3624
|
+
;; whether the input is signed, and finally the input and output
|
3625
|
+
;; types.
|
3626
|
+
(decl fpu_to_int_cvt (FpuToIntOp Reg bool Type Type) Reg)
|
3627
|
+
(rule (fpu_to_int_cvt op src signed in_ty out_ty)
|
3628
|
+
(let ((size ScalarSize (scalar_size in_ty))
|
3629
|
+
(in_bits u8 (ty_bits in_ty))
|
3630
|
+
(out_bits u8 (ty_bits out_ty))
|
3631
|
+
(src Reg (fpu_to_int_nan_check size src))
|
3632
|
+
(min Reg (min_fp_value signed in_bits out_bits))
|
3633
|
+
(src Reg (fpu_to_int_underflow_check signed in_ty out_ty src min))
|
3634
|
+
(max Reg (max_fp_value signed in_bits out_bits))
|
3635
|
+
(src Reg (fpu_to_int_overflow_check size src max)))
|
3636
|
+
(fpu_to_int op src)))
|
3637
|
+
|
3638
|
+
;; Emits the appropriate instruction sequence to convert a
|
3639
|
+
;; floating-point value to an integer, saturating if the value
|
3640
|
+
;; does not fit in the target type.
|
3641
|
+
;; Accepts the specific conversion op, the source register,
|
3642
|
+
;; whether the input is signed, and finally the output type.
|
3643
|
+
(decl fpu_to_int_cvt_sat (FpuToIntOp Reg bool Type) Reg)
|
3644
|
+
(rule 1 (fpu_to_int_cvt_sat op src _ $I64)
|
3645
|
+
(fpu_to_int op src))
|
3646
|
+
(rule 1 (fpu_to_int_cvt_sat op src _ $I32)
|
3647
|
+
(fpu_to_int op src))
|
3648
|
+
(rule (fpu_to_int_cvt_sat op src $false (fits_in_16 out_ty))
|
3649
|
+
(let ((result Reg (fpu_to_int op src))
|
3650
|
+
(max Reg (imm out_ty (ImmExtend.Zero) (ty_mask out_ty))))
|
3651
|
+
(with_flags_reg
|
3652
|
+
(cmp (OperandSize.Size32) result max)
|
3653
|
+
(csel (Cond.Hi) max result))))
|
3654
|
+
(rule (fpu_to_int_cvt_sat op src $true (fits_in_16 out_ty))
|
3655
|
+
(let ((result Reg (fpu_to_int op src))
|
3656
|
+
(max Reg (signed_max out_ty))
|
3657
|
+
(min Reg (signed_min out_ty))
|
3658
|
+
(result Reg (with_flags_reg
|
3659
|
+
(cmp (operand_size out_ty) result max)
|
3660
|
+
(csel (Cond.Gt) max result)))
|
3661
|
+
(result Reg (with_flags_reg
|
3662
|
+
(cmp (operand_size out_ty) result min)
|
3663
|
+
(csel (Cond.Lt) min result))))
|
3664
|
+
result))
|
3665
|
+
|
3666
|
+
(decl signed_min (Type) Reg)
|
3667
|
+
(rule (signed_min $I8) (imm $I8 (ImmExtend.Sign) 0x80))
|
3668
|
+
(rule (signed_min $I16) (imm $I16 (ImmExtend.Sign) 0x8000))
|
3669
|
+
|
3670
|
+
(decl signed_max (Type) Reg)
|
3671
|
+
(rule (signed_max $I8) (imm $I8 (ImmExtend.Sign) 0x7F))
|
3672
|
+
(rule (signed_max $I16) (imm $I16 (ImmExtend.Sign) 0x7FFF))
|
3673
|
+
|
3674
|
+
(decl fpu_to_int (FpuToIntOp Reg) Reg)
|
3675
|
+
(rule (fpu_to_int op src)
|
3676
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3677
|
+
(_ Unit (emit (MInst.FpuToInt op dst src))))
|
3678
|
+
dst))
|
3679
|
+
|
3680
|
+
;; Helper for generating `MInst.IntToFpu` instructions.
|
3681
|
+
|
3682
|
+
(decl int_to_fpu (IntToFpuOp Reg) Reg)
|
3683
|
+
(rule (int_to_fpu op src)
|
3684
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
3685
|
+
(_ Unit (emit (MInst.IntToFpu op dst src))))
|
3686
|
+
dst))
|
3687
|
+
|
3688
|
+
;;;; Helpers for Emitting Calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
3689
|
+
|
3690
|
+
(decl gen_call (SigRef ExternalName RelocDistance ValueSlice) InstOutput)
|
3691
|
+
(extern constructor gen_call gen_call)
|
3692
|
+
|
3693
|
+
(decl gen_call_indirect (SigRef Value ValueSlice) InstOutput)
|
3694
|
+
(extern constructor gen_call_indirect gen_call_indirect)
|
3695
|
+
|
3696
|
+
;; Helpers for pinned register manipulation.
|
3697
|
+
|
3698
|
+
(decl write_pinned_reg (Reg) SideEffectNoResult)
|
3699
|
+
(rule (write_pinned_reg val)
|
3700
|
+
(mov_to_preg (preg_pinned) val))
|
3701
|
+
|
3702
|
+
;; Helpers for stackslot effective address generation.
|
3703
|
+
|
3704
|
+
(decl compute_stack_addr (StackSlot Offset32) Reg)
|
3705
|
+
(rule (compute_stack_addr stack_slot offset)
|
3706
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3707
|
+
(_ Unit (emit (abi_stackslot_addr dst stack_slot offset))))
|
3708
|
+
dst))
|
3709
|
+
|
3710
|
+
;; Helper for emitting instruction sequences to perform a vector comparison.
|
3711
|
+
|
3712
|
+
(decl vec_cmp_vc (Reg Reg VectorSize) Reg)
|
3713
|
+
(rule (vec_cmp_vc rn rm size)
|
3714
|
+
(let ((dst Reg (vec_rrr (VecALUOp.Fcmeq) rn rn size))
|
3715
|
+
(tmp Reg (vec_rrr (VecALUOp.Fcmeq) rm rm size))
|
3716
|
+
(dst Reg (vec_rrr (VecALUOp.And) dst tmp size)))
|
3717
|
+
dst))
|
3718
|
+
|
3719
|
+
(decl vec_cmp (Reg Reg Type Cond) Reg)
|
3720
|
+
|
3721
|
+
;; Floating point Vs / Vc
|
3722
|
+
(rule (vec_cmp rn rm ty (Cond.Vc))
|
3723
|
+
(if (ty_vector_float ty))
|
3724
|
+
(vec_cmp_vc rn rm (vector_size ty)))
|
3725
|
+
(rule (vec_cmp rn rm ty (Cond.Vs))
|
3726
|
+
(if (ty_vector_float ty))
|
3727
|
+
(let ((tmp Reg (vec_cmp_vc rn rm (vector_size ty))))
|
3728
|
+
(vec_misc (VecMisc2.Not) tmp (vector_size ty))))
|
3729
|
+
|
3730
|
+
;; 'Less than' operations are implemented by swapping the order of
|
3731
|
+
;; operands and using the 'greater than' instructions.
|
3732
|
+
;; 'Not equal' is implemented with 'equal' and inverting the result.
|
3733
|
+
|
3734
|
+
;; Floating-point
|
3735
|
+
(rule (vec_cmp rn rm ty (Cond.Eq))
|
3736
|
+
(if (ty_vector_float ty))
|
3737
|
+
(vec_rrr (VecALUOp.Fcmeq) rn rm (vector_size ty)))
|
3738
|
+
(rule (vec_cmp rn rm ty (Cond.Ne))
|
3739
|
+
(if (ty_vector_float ty))
|
3740
|
+
(let ((tmp Reg (vec_rrr (VecALUOp.Fcmeq) rn rm (vector_size ty))))
|
3741
|
+
(vec_misc (VecMisc2.Not) tmp (vector_size ty))))
|
3742
|
+
(rule (vec_cmp rn rm ty (Cond.Ge))
|
3743
|
+
(if (ty_vector_float ty))
|
3744
|
+
(vec_rrr (VecALUOp.Fcmge) rn rm (vector_size ty)))
|
3745
|
+
(rule (vec_cmp rn rm ty (Cond.Gt))
|
3746
|
+
(if (ty_vector_float ty))
|
3747
|
+
(vec_rrr (VecALUOp.Fcmgt) rn rm (vector_size ty)))
|
3748
|
+
;; Floating-point swapped-operands
|
3749
|
+
(rule (vec_cmp rn rm ty (Cond.Mi))
|
3750
|
+
(if (ty_vector_float ty))
|
3751
|
+
(vec_rrr (VecALUOp.Fcmgt) rm rn (vector_size ty)))
|
3752
|
+
(rule (vec_cmp rn rm ty (Cond.Ls))
|
3753
|
+
(if (ty_vector_float ty))
|
3754
|
+
(vec_rrr (VecALUOp.Fcmge) rm rn (vector_size ty)))
|
3755
|
+
|
3756
|
+
;; Integer
|
3757
|
+
(rule 1 (vec_cmp rn rm ty (Cond.Eq))
|
3758
|
+
(if (ty_vector_not_float ty))
|
3759
|
+
(vec_rrr (VecALUOp.Cmeq) rn rm (vector_size ty)))
|
3760
|
+
(rule 1 (vec_cmp rn rm ty (Cond.Ne))
|
3761
|
+
(if (ty_vector_not_float ty))
|
3762
|
+
(let ((tmp Reg (vec_rrr (VecALUOp.Cmeq) rn rm (vector_size ty))))
|
3763
|
+
(vec_misc (VecMisc2.Not) tmp (vector_size ty))))
|
3764
|
+
(rule 1 (vec_cmp rn rm ty (Cond.Ge))
|
3765
|
+
(if (ty_vector_not_float ty))
|
3766
|
+
(vec_rrr (VecALUOp.Cmge) rn rm (vector_size ty)))
|
3767
|
+
(rule 1 (vec_cmp rn rm ty (Cond.Gt))
|
3768
|
+
(if (ty_vector_not_float ty))
|
3769
|
+
(vec_rrr (VecALUOp.Cmgt) rn rm (vector_size ty)))
|
3770
|
+
(rule (vec_cmp rn rm ty (Cond.Hs))
|
3771
|
+
(if (ty_vector_not_float ty))
|
3772
|
+
(vec_rrr (VecALUOp.Cmhs) rn rm (vector_size ty)))
|
3773
|
+
(rule (vec_cmp rn rm ty (Cond.Hi))
|
3774
|
+
(if (ty_vector_not_float ty))
|
3775
|
+
(vec_rrr (VecALUOp.Cmhi) rn rm (vector_size ty)))
|
3776
|
+
;; Integer swapped-operands
|
3777
|
+
(rule (vec_cmp rn rm ty (Cond.Le))
|
3778
|
+
(if (ty_vector_not_float ty))
|
3779
|
+
(vec_rrr (VecALUOp.Cmge) rm rn (vector_size ty)))
|
3780
|
+
(rule (vec_cmp rn rm ty (Cond.Lt))
|
3781
|
+
(if (ty_vector_not_float ty))
|
3782
|
+
(vec_rrr (VecALUOp.Cmgt) rm rn (vector_size ty)))
|
3783
|
+
(rule 1 (vec_cmp rn rm ty (Cond.Ls))
|
3784
|
+
(if (ty_vector_not_float ty))
|
3785
|
+
(vec_rrr (VecALUOp.Cmhs) rm rn (vector_size ty)))
|
3786
|
+
(rule (vec_cmp rn rm ty (Cond.Lo))
|
3787
|
+
(if (ty_vector_not_float ty))
|
3788
|
+
(vec_rrr (VecALUOp.Cmhi) rm rn (vector_size ty)))
|
3789
|
+
|
3790
|
+
;; Helper for determining if any value in a vector is true.
|
3791
|
+
;; This operation is implemented by using umaxp to create a scalar value, which
|
3792
|
+
;; is then compared against zero.
|
3793
|
+
;;
|
3794
|
+
;; umaxp vn.4s, vm.4s, vm.4s
|
3795
|
+
;; mov xm, vn.d[0]
|
3796
|
+
;; cmp xm, #0
|
3797
|
+
(decl vanytrue (Reg Type) ProducesFlags)
|
3798
|
+
(rule 1 (vanytrue src (ty_vec128 ty))
|
3799
|
+
(let ((src Reg (vec_rrr (VecALUOp.Umaxp) src src (VectorSize.Size32x4)))
|
3800
|
+
(src Reg (mov_from_vec src 0 (ScalarSize.Size64))))
|
3801
|
+
(cmp_imm (OperandSize.Size64) src (u8_into_imm12 0))))
|
3802
|
+
(rule (vanytrue src ty)
|
3803
|
+
(if (ty_vec64 ty))
|
3804
|
+
(let ((src Reg (mov_from_vec src 0 (ScalarSize.Size64))))
|
3805
|
+
(cmp_imm (OperandSize.Size64) src (u8_into_imm12 0))))
|
3806
|
+
|
3807
|
+
;;;; TLS Values ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
3808
|
+
|
3809
|
+
;; Helper for emitting ElfTlsGetAddr.
|
3810
|
+
(decl elf_tls_get_addr (ExternalName) Reg)
|
3811
|
+
(rule (elf_tls_get_addr name)
|
3812
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3813
|
+
(tmp WritableReg (temp_writable_reg $I64))
|
3814
|
+
(_ Unit (emit (MInst.ElfTlsGetAddr (box_external_name name) dst tmp))))
|
3815
|
+
dst))
|
3816
|
+
|
3817
|
+
(decl macho_tls_get_addr (ExternalName) Reg)
|
3818
|
+
(rule (macho_tls_get_addr name)
|
3819
|
+
(let ((dst WritableReg (temp_writable_reg $I64))
|
3820
|
+
(_ Unit (emit (MInst.MachOTlsGetAddr name dst))))
|
3821
|
+
dst))
|
3822
|
+
|
3823
|
+
;; A tuple of `ProducesFlags` and `IntCC`.
|
3824
|
+
(type FlagsAndCC (enum (FlagsAndCC (flags ProducesFlags)
|
3825
|
+
(cc IntCC))))
|
3826
|
+
|
3827
|
+
;; Helper constructor for `FlagsAndCC`.
|
3828
|
+
(decl flags_and_cc (ProducesFlags IntCC) FlagsAndCC)
|
3829
|
+
(rule (flags_and_cc flags cc) (FlagsAndCC.FlagsAndCC flags cc))
|
3830
|
+
|
3831
|
+
;; Materialize a `FlagsAndCC` into a boolean `ValueRegs`.
|
3832
|
+
(decl flags_and_cc_to_bool (FlagsAndCC) ValueRegs)
|
3833
|
+
(rule (flags_and_cc_to_bool (FlagsAndCC.FlagsAndCC flags cc))
|
3834
|
+
(with_flags flags (materialize_bool_result (cond_code cc))))
|
3835
|
+
|
3836
|
+
;; Get the `ProducesFlags` out of a `FlagsAndCC`.
|
3837
|
+
(decl flags_and_cc_flags (FlagsAndCC) ProducesFlags)
|
3838
|
+
(rule (flags_and_cc_flags (FlagsAndCC.FlagsAndCC flags _cc)) flags)
|
3839
|
+
|
3840
|
+
;; Get the `IntCC` out of a `FlagsAndCC`.
|
3841
|
+
(decl flags_and_cc_cc (FlagsAndCC) IntCC)
|
3842
|
+
(rule (flags_and_cc_cc (FlagsAndCC.FlagsAndCC _flags cc)) cc)
|
3843
|
+
|
3844
|
+
;; Helpers for lowering `icmp` sequences.
|
3845
|
+
;; `lower_icmp` contains shared functionality for lowering `icmp`
|
3846
|
+
;; sequences, which `lower_icmp_into_{reg,flags}` extend from.
|
3847
|
+
(decl lower_icmp (IntCC Value Value Type) FlagsAndCC)
|
3848
|
+
(decl lower_icmp_into_reg (IntCC Value Value Type Type) ValueRegs)
|
3849
|
+
(decl lower_icmp_into_flags (IntCC Value Value Type) FlagsAndCC)
|
3850
|
+
(decl lower_icmp_const (IntCC Value u64 Type) FlagsAndCC)
|
3851
|
+
;; For most cases, `lower_icmp_into_flags` is the same as `lower_icmp`,
|
3852
|
+
;; except for some I128 cases (see below).
|
3853
|
+
(rule -1 (lower_icmp_into_flags cond x y ty) (lower_icmp cond x y ty))
|
3854
|
+
|
3855
|
+
;; Vectors.
|
3856
|
+
;; `icmp` into flags for vectors is invalid.
|
3857
|
+
(rule 1 (lower_icmp_into_reg cond x y in_ty @ (multi_lane _ _) _out_ty)
|
3858
|
+
(let ((cond Cond (cond_code cond))
|
3859
|
+
(rn Reg (put_in_reg x))
|
3860
|
+
(rm Reg (put_in_reg y)))
|
3861
|
+
(vec_cmp rn rm in_ty cond)))
|
3862
|
+
|
3863
|
+
;; Determines the appropriate extend op given the value type and the given ArgumentExtension.
|
3864
|
+
(decl lower_extend_op (Type ArgumentExtension) ExtendOp)
|
3865
|
+
(rule (lower_extend_op $I8 (ArgumentExtension.Sext)) (ExtendOp.SXTB))
|
3866
|
+
(rule (lower_extend_op $I16 (ArgumentExtension.Sext)) (ExtendOp.SXTH))
|
3867
|
+
(rule (lower_extend_op $I8 (ArgumentExtension.Uext)) (ExtendOp.UXTB))
|
3868
|
+
(rule (lower_extend_op $I16 (ArgumentExtension.Uext)) (ExtendOp.UXTH))
|
3869
|
+
|
3870
|
+
;; Integers <= 64-bits.
|
3871
|
+
(rule -2 (lower_icmp_into_reg cond rn rm in_ty out_ty)
|
3872
|
+
(if (ty_int_ref_scalar_64 in_ty))
|
3873
|
+
(let ((cc Cond (cond_code cond)))
|
3874
|
+
(flags_and_cc_to_bool (lower_icmp cond rn rm in_ty))))
|
3875
|
+
|
3876
|
+
(rule 1 (lower_icmp cond rn rm (fits_in_16 ty))
|
3877
|
+
(if (signed_cond_code cond))
|
3878
|
+
(let ((rn Reg (put_in_reg_sext32 rn)))
|
3879
|
+
(flags_and_cc (cmp_extend (operand_size ty) rn rm (lower_extend_op ty (ArgumentExtension.Sext))) cond)))
|
3880
|
+
(rule -1 (lower_icmp cond rn (imm12_from_value rm) (fits_in_16 ty))
|
3881
|
+
(let ((rn Reg (put_in_reg_zext32 rn)))
|
3882
|
+
(flags_and_cc (cmp_imm (operand_size ty) rn rm) cond)))
|
3883
|
+
(rule -2 (lower_icmp cond rn rm (fits_in_16 ty))
|
3884
|
+
(let ((rn Reg (put_in_reg_zext32 rn)))
|
3885
|
+
(flags_and_cc (cmp_extend (operand_size ty) rn rm (lower_extend_op ty (ArgumentExtension.Uext))) cond)))
|
3886
|
+
(rule -3 (lower_icmp cond rn (u64_from_iconst c) ty)
|
3887
|
+
(if (ty_int_ref_scalar_64 ty))
|
3888
|
+
(lower_icmp_const cond rn c ty))
|
3889
|
+
(rule -4 (lower_icmp cond rn rm ty)
|
3890
|
+
(if (ty_int_ref_scalar_64 ty))
|
3891
|
+
(flags_and_cc (cmp (operand_size ty) rn rm) cond))
|
3892
|
+
|
3893
|
+
;; We get better encodings when testing against an immediate that's even instead
|
3894
|
+
;; of odd, so rewrite comparisons to use even immediates:
|
3895
|
+
;;
|
3896
|
+
;; A >= B + 1
|
3897
|
+
;; ==> A - 1 >= B
|
3898
|
+
;; ==> A > B
|
3899
|
+
(rule (lower_icmp_const (IntCC.UnsignedGreaterThanOrEqual) a b ty)
|
3900
|
+
(if (ty_int_ref_scalar_64 ty))
|
3901
|
+
(if-let $true (u64_is_odd b))
|
3902
|
+
(if-let (imm12_from_u64 imm) (u64_sub b 1))
|
3903
|
+
(flags_and_cc (cmp_imm (operand_size ty) a imm) (IntCC.UnsignedGreaterThan)))
|
3904
|
+
(rule (lower_icmp_const (IntCC.SignedGreaterThanOrEqual) a b ty)
|
3905
|
+
(if (ty_int_ref_scalar_64 ty))
|
3906
|
+
(if-let $true (u64_is_odd b))
|
3907
|
+
(if-let (imm12_from_u64 imm) (u64_sub b 1))
|
3908
|
+
(flags_and_cc (cmp_imm (operand_size ty) a imm) (IntCC.SignedGreaterThan)))
|
3909
|
+
|
3910
|
+
(rule -1 (lower_icmp_const cond rn (imm12_from_u64 c) ty)
|
3911
|
+
(if (ty_int_ref_scalar_64 ty))
|
3912
|
+
(flags_and_cc (cmp_imm (operand_size ty) rn c) cond))
|
3913
|
+
(rule -2 (lower_icmp_const cond rn c ty)
|
3914
|
+
(if (ty_int_ref_scalar_64 ty))
|
3915
|
+
(flags_and_cc (cmp (operand_size ty) rn (imm ty (ImmExtend.Zero) c)) cond))
|
3916
|
+
|
3917
|
+
|
3918
|
+
;; 128-bit integers.
|
3919
|
+
(rule (lower_icmp_into_reg cond @ (IntCC.Equal) rn rm $I128 $I8)
|
3920
|
+
(let ((cc Cond (cond_code cond)))
|
3921
|
+
(flags_and_cc_to_bool
|
3922
|
+
(lower_icmp cond rn rm $I128))))
|
3923
|
+
(rule (lower_icmp_into_reg cond @ (IntCC.NotEqual) rn rm $I128 $I8)
|
3924
|
+
(let ((cc Cond (cond_code cond)))
|
3925
|
+
(flags_and_cc_to_bool
|
3926
|
+
(lower_icmp cond rn rm $I128))))
|
3927
|
+
|
3928
|
+
;; cmp lhs_lo, rhs_lo
|
3929
|
+
;; ccmp lhs_hi, rhs_hi, #0, eq
|
3930
|
+
(decl lower_icmp_i128_eq_ne (Value Value) ProducesFlags)
|
3931
|
+
(rule (lower_icmp_i128_eq_ne lhs rhs)
|
3932
|
+
(let ((lhs ValueRegs (put_in_regs lhs))
|
3933
|
+
(rhs ValueRegs (put_in_regs rhs))
|
3934
|
+
(lhs_lo Reg (value_regs_get lhs 0))
|
3935
|
+
(lhs_hi Reg (value_regs_get lhs 1))
|
3936
|
+
(rhs_lo Reg (value_regs_get rhs 0))
|
3937
|
+
(rhs_hi Reg (value_regs_get rhs 1))
|
3938
|
+
(cmp_inst ProducesFlags (cmp (OperandSize.Size64) lhs_lo rhs_lo)))
|
3939
|
+
(ccmp (OperandSize.Size64) lhs_hi rhs_hi
|
3940
|
+
(nzcv $false $false $false $false) (Cond.Eq) cmp_inst)))
|
3941
|
+
|
3942
|
+
(rule (lower_icmp (IntCC.Equal) lhs rhs $I128)
|
3943
|
+
(flags_and_cc (lower_icmp_i128_eq_ne lhs rhs) (IntCC.Equal)))
|
3944
|
+
(rule (lower_icmp (IntCC.NotEqual) lhs rhs $I128)
|
3945
|
+
(flags_and_cc (lower_icmp_i128_eq_ne lhs rhs) (IntCC.NotEqual)))
|
3946
|
+
|
3947
|
+
;; cmp lhs_lo, rhs_lo
|
3948
|
+
;; cset tmp1, unsigned_cond
|
3949
|
+
;; cmp lhs_hi, rhs_hi
|
3950
|
+
;; cset tmp2, cond
|
3951
|
+
;; csel dst, tmp1, tmp2, eq
|
3952
|
+
(rule -1 (lower_icmp_into_reg cond lhs rhs $I128 $I8)
|
3953
|
+
(let ((unsigned_cond Cond (cond_code (intcc_unsigned cond)))
|
3954
|
+
(cond Cond (cond_code cond))
|
3955
|
+
(lhs ValueRegs (put_in_regs lhs))
|
3956
|
+
(rhs ValueRegs (put_in_regs rhs))
|
3957
|
+
(lhs_lo Reg (value_regs_get lhs 0))
|
3958
|
+
(lhs_hi Reg (value_regs_get lhs 1))
|
3959
|
+
(rhs_lo Reg (value_regs_get rhs 0))
|
3960
|
+
(rhs_hi Reg (value_regs_get rhs 1))
|
3961
|
+
(tmp1 Reg (with_flags_reg (cmp (OperandSize.Size64) lhs_lo rhs_lo)
|
3962
|
+
(materialize_bool_result unsigned_cond))))
|
3963
|
+
(with_flags (cmp (OperandSize.Size64) lhs_hi rhs_hi)
|
3964
|
+
(lower_icmp_i128_consumer cond tmp1))))
|
3965
|
+
|
3966
|
+
(decl lower_icmp_i128_consumer (Cond Reg) ConsumesFlags)
|
3967
|
+
(rule (lower_icmp_i128_consumer cond tmp1)
|
3968
|
+
(let ((tmp2 WritableReg (temp_writable_reg $I64))
|
3969
|
+
(dst WritableReg (temp_writable_reg $I64)))
|
3970
|
+
(ConsumesFlags.ConsumesFlagsTwiceReturnsValueRegs
|
3971
|
+
(MInst.CSet tmp2 cond)
|
3972
|
+
(MInst.CSel dst (Cond.Eq) tmp1 tmp2)
|
3973
|
+
(value_reg dst))))
|
3974
|
+
|
3975
|
+
(decl lower_bmask (Type Type ValueRegs) ValueRegs)
|
3976
|
+
|
3977
|
+
|
3978
|
+
;; For conversions that exactly fit a register, we can use csetm.
|
3979
|
+
;;
|
3980
|
+
;; cmp val, #0
|
3981
|
+
;; csetm res, ne
|
3982
|
+
(rule 0
|
3983
|
+
(lower_bmask (fits_in_64 _) (ty_32_or_64 in_ty) val)
|
3984
|
+
(with_flags_reg
|
3985
|
+
(cmp_imm (operand_size in_ty) (value_regs_get val 0) (u8_into_imm12 0))
|
3986
|
+
(csetm (Cond.Ne))))
|
3987
|
+
|
3988
|
+
;; For conversions from a 128-bit value into a 64-bit or smaller one, we or the
|
3989
|
+
;; two registers of the 128-bit value together, and then recurse with the
|
3990
|
+
;; combined value as a 64-bit test.
|
3991
|
+
;;
|
3992
|
+
;; orr val, lo, hi
|
3993
|
+
;; cmp val, #0
|
3994
|
+
;; csetm res, ne
|
3995
|
+
(rule 1
|
3996
|
+
(lower_bmask (fits_in_64 ty) $I128 val)
|
3997
|
+
(let ((lo Reg (value_regs_get val 0))
|
3998
|
+
(hi Reg (value_regs_get val 1))
|
3999
|
+
(combined Reg (orr $I64 lo hi)))
|
4000
|
+
(lower_bmask ty $I64 (value_reg combined))))
|
4001
|
+
|
4002
|
+
;; For converting from any type into i128, duplicate the result of
|
4003
|
+
;; converting to i64.
|
4004
|
+
(rule 2
|
4005
|
+
(lower_bmask $I128 in_ty val)
|
4006
|
+
(let ((res ValueRegs (lower_bmask $I64 in_ty val))
|
4007
|
+
(res Reg (value_regs_get res 0)))
|
4008
|
+
(value_regs res res)))
|
4009
|
+
|
4010
|
+
;; For conversions smaller than a register, we need to mask off the high bits, and then
|
4011
|
+
;; we can recurse into the general case.
|
4012
|
+
;;
|
4013
|
+
;; and tmp, val, #ty_mask
|
4014
|
+
;; cmp tmp, #0
|
4015
|
+
;; csetm res, ne
|
4016
|
+
(rule 3
|
4017
|
+
(lower_bmask out_ty (fits_in_16 in_ty) val)
|
4018
|
+
; This if-let can't fail due to ty_mask always producing 8/16 consecutive 1s.
|
4019
|
+
(if-let mask_bits (imm_logic_from_u64 $I32 (ty_mask in_ty)))
|
4020
|
+
(let ((masked Reg (and_imm $I32 (value_regs_get val 0) mask_bits)))
|
4021
|
+
(lower_bmask out_ty $I32 masked)))
|
4022
|
+
|
4023
|
+
;; Exceptional `lower_icmp_into_flags` rules.
|
4024
|
+
;; We need to guarantee that the flags for `cond` are correct, so we
|
4025
|
+
;; compare `dst` with 1.
|
4026
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.SignedGreaterThanOrEqual) lhs rhs $I128)
|
4027
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4028
|
+
(dst Reg (value_regs_get dst 0))
|
4029
|
+
(tmp Reg (imm $I64 (ImmExtend.Sign) 1))) ;; mov tmp, #1
|
4030
|
+
(flags_and_cc (cmp (OperandSize.Size64) dst tmp) cond)))
|
4031
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.UnsignedGreaterThanOrEqual) lhs rhs $I128)
|
4032
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4033
|
+
(dst Reg (value_regs_get dst 0))
|
4034
|
+
(tmp Reg (imm $I64 (ImmExtend.Zero) 1)))
|
4035
|
+
(flags_and_cc (cmp (OperandSize.Size64) dst tmp) cond)))
|
4036
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.SignedLessThanOrEqual) lhs rhs $I128)
|
4037
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4038
|
+
(dst Reg (value_regs_get dst 0))
|
4039
|
+
(tmp Reg (imm $I64 (ImmExtend.Sign) 1)))
|
4040
|
+
(flags_and_cc (cmp (OperandSize.Size64) tmp dst) cond)))
|
4041
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.UnsignedLessThanOrEqual) lhs rhs $I128)
|
4042
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4043
|
+
(dst Reg (value_regs_get dst 0))
|
4044
|
+
(tmp Reg (imm $I64 (ImmExtend.Zero) 1)))
|
4045
|
+
(flags_and_cc (cmp (OperandSize.Size64) tmp dst) cond)))
|
4046
|
+
;; For strict comparisons, we compare with 0.
|
4047
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.SignedGreaterThan) lhs rhs $I128)
|
4048
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4049
|
+
(dst Reg (value_regs_get dst 0)))
|
4050
|
+
(flags_and_cc (cmp (OperandSize.Size64) dst (zero_reg)) cond)))
|
4051
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.UnsignedGreaterThan) lhs rhs $I128)
|
4052
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4053
|
+
(dst Reg (value_regs_get dst 0)))
|
4054
|
+
(flags_and_cc (cmp (OperandSize.Size64) dst (zero_reg)) cond)))
|
4055
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.SignedLessThan) lhs rhs $I128)
|
4056
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4057
|
+
(dst Reg (value_regs_get dst 0)))
|
4058
|
+
(flags_and_cc (cmp (OperandSize.Size64) (zero_reg) dst) cond)))
|
4059
|
+
(rule (lower_icmp_into_flags cond @ (IntCC.UnsignedLessThan) lhs rhs $I128)
|
4060
|
+
(let ((dst ValueRegs (lower_icmp_into_reg cond lhs rhs $I128 $I8))
|
4061
|
+
(dst Reg (value_regs_get dst 0)))
|
4062
|
+
(flags_and_cc (cmp (OperandSize.Size64) (zero_reg) dst) cond)))
|
4063
|
+
|
4064
|
+
;; Helpers for generating select instruction sequences.
|
4065
|
+
(decl lower_select (ProducesFlags Cond Type Value Value) ValueRegs)
|
4066
|
+
(rule 2 (lower_select flags cond (ty_scalar_float ty) rn rm)
|
4067
|
+
(with_flags flags (fpu_csel ty cond rn rm)))
|
4068
|
+
(rule 3 (lower_select flags cond (ty_vec128 ty) rn rm)
|
4069
|
+
(with_flags flags (vec_csel cond rn rm)))
|
4070
|
+
(rule (lower_select flags cond ty rn rm)
|
4071
|
+
(if (ty_vec64 ty))
|
4072
|
+
(with_flags flags (fpu_csel $F64 cond rn rm)))
|
4073
|
+
(rule 4 (lower_select flags cond $I128 rn rm)
|
4074
|
+
(let ((dst_lo WritableReg (temp_writable_reg $I64))
|
4075
|
+
(dst_hi WritableReg (temp_writable_reg $I64))
|
4076
|
+
(rn ValueRegs (put_in_regs rn))
|
4077
|
+
(rm ValueRegs (put_in_regs rm))
|
4078
|
+
(rn_lo Reg (value_regs_get rn 0))
|
4079
|
+
(rn_hi Reg (value_regs_get rn 1))
|
4080
|
+
(rm_lo Reg (value_regs_get rm 0))
|
4081
|
+
(rm_hi Reg (value_regs_get rm 1)))
|
4082
|
+
(with_flags flags
|
4083
|
+
(ConsumesFlags.ConsumesFlagsTwiceReturnsValueRegs
|
4084
|
+
(MInst.CSel dst_lo cond rn_lo rm_lo)
|
4085
|
+
(MInst.CSel dst_hi cond rn_hi rm_hi)
|
4086
|
+
(value_regs dst_lo dst_hi)))))
|
4087
|
+
(rule 1 (lower_select flags cond ty rn rm)
|
4088
|
+
(if (ty_int_ref_scalar_64 ty))
|
4089
|
+
(with_flags flags (csel cond rn rm)))
|
4090
|
+
|
4091
|
+
;; Helper for emitting `MInst.Jump` instructions.
|
4092
|
+
(decl aarch64_jump (BranchTarget) SideEffectNoResult)
|
4093
|
+
(rule (aarch64_jump target)
|
4094
|
+
(SideEffectNoResult.Inst (MInst.Jump target)))
|
4095
|
+
|
4096
|
+
;; Helper for emitting `MInst.JTSequence` instructions.
|
4097
|
+
;; Emit the compound instruction that does:
|
4098
|
+
;;
|
4099
|
+
;; b.hs default
|
4100
|
+
;; csel rB, xzr, rIndex, hs
|
4101
|
+
;; csdb
|
4102
|
+
;; adr rA, jt
|
4103
|
+
;; ldrsw rB, [rA, rB, uxtw #2]
|
4104
|
+
;; add rA, rA, rB
|
4105
|
+
;; br rA
|
4106
|
+
;; [jt entries]
|
4107
|
+
;;
|
4108
|
+
;; This must be *one* instruction in the vcode because
|
4109
|
+
;; we cannot allow regalloc to insert any spills/fills
|
4110
|
+
;; in the middle of the sequence; otherwise, the ADR's
|
4111
|
+
;; PC-rel offset to the jumptable would be incorrect.
|
4112
|
+
;; (The alternative is to introduce a relocation pass
|
4113
|
+
;; for inlined jumptables, which is much worse, IMHO.)
|
4114
|
+
(decl jt_sequence (Reg MachLabel BoxVecMachLabel) ConsumesFlags)
|
4115
|
+
(rule (jt_sequence ridx default targets)
|
4116
|
+
(let ((rtmp1 WritableReg (temp_writable_reg $I64))
|
4117
|
+
(rtmp2 WritableReg (temp_writable_reg $I64)))
|
4118
|
+
(ConsumesFlags.ConsumesFlagsSideEffect
|
4119
|
+
(MInst.JTSequence default targets ridx rtmp1 rtmp2))))
|
4120
|
+
|
4121
|
+
;; Helper for emitting `MInst.CondBr` instructions.
|
4122
|
+
(decl cond_br (BranchTarget BranchTarget CondBrKind) ConsumesFlags)
|
4123
|
+
(rule (cond_br taken not_taken kind)
|
4124
|
+
(ConsumesFlags.ConsumesFlagsSideEffect
|
4125
|
+
(MInst.CondBr taken not_taken kind)))
|
4126
|
+
|
4127
|
+
;; Helper for emitting `MInst.TestBitAndBranch` instructions.
|
4128
|
+
(decl test_branch (TestBitAndBranchKind BranchTarget BranchTarget Reg u8) SideEffectNoResult)
|
4129
|
+
(rule (test_branch kind taken not_taken rn bit)
|
4130
|
+
(SideEffectNoResult.Inst (MInst.TestBitAndBranch kind taken not_taken rn bit)))
|
4131
|
+
|
4132
|
+
;; Helper for emitting `tbnz` instructions.
|
4133
|
+
(decl tbnz (BranchTarget BranchTarget Reg u8) SideEffectNoResult)
|
4134
|
+
(rule (tbnz taken not_taken rn bit)
|
4135
|
+
(test_branch (TestBitAndBranchKind.NZ) taken not_taken rn bit))
|
4136
|
+
|
4137
|
+
;; Helper for emitting `tbz` instructions.
|
4138
|
+
(decl tbz (BranchTarget BranchTarget Reg u8) SideEffectNoResult)
|
4139
|
+
(rule (tbz taken not_taken rn bit)
|
4140
|
+
(test_branch (TestBitAndBranchKind.Z) taken not_taken rn bit))
|
4141
|
+
|
4142
|
+
;; Helper for emitting `MInst.MovToNZCV` instructions.
|
4143
|
+
(decl mov_to_nzcv (Reg) ProducesFlags)
|
4144
|
+
(rule (mov_to_nzcv rn)
|
4145
|
+
(ProducesFlags.ProducesFlagsSideEffect
|
4146
|
+
(MInst.MovToNZCV rn)))
|
4147
|
+
|
4148
|
+
;; Helper for emitting `MInst.EmitIsland` instructions.
|
4149
|
+
(decl emit_island (CodeOffset) SideEffectNoResult)
|
4150
|
+
(rule (emit_island needed_space)
|
4151
|
+
(SideEffectNoResult.Inst
|
4152
|
+
(MInst.EmitIsland needed_space)))
|
4153
|
+
|
4154
|
+
;; Helper for emitting `br_table` sequences.
|
4155
|
+
(decl br_table_impl (u64 Reg MachLabel BoxVecMachLabel) Unit)
|
4156
|
+
(rule (br_table_impl (imm12_from_u64 jt_size) ridx default targets)
|
4157
|
+
(emit_side_effect (with_flags_side_effect
|
4158
|
+
(cmp_imm (OperandSize.Size32) ridx jt_size)
|
4159
|
+
(jt_sequence ridx default targets))))
|
4160
|
+
(rule -1 (br_table_impl jt_size ridx default targets)
|
4161
|
+
(let ((jt_size Reg (imm $I64 (ImmExtend.Zero) jt_size)))
|
4162
|
+
(emit_side_effect (with_flags_side_effect
|
4163
|
+
(cmp (OperandSize.Size32) ridx jt_size)
|
4164
|
+
(jt_sequence ridx default targets)))))
|
4165
|
+
|
4166
|
+
;; Helper for emitting the `uzp1` instruction
|
4167
|
+
(decl vec_uzp1 (Reg Reg VectorSize) Reg)
|
4168
|
+
(rule (vec_uzp1 rn rm size) (vec_rrr (VecALUOp.Uzp1) rn rm size))
|
4169
|
+
|
4170
|
+
;; Helper for emitting the `uzp2` instruction
|
4171
|
+
(decl vec_uzp2 (Reg Reg VectorSize) Reg)
|
4172
|
+
(rule (vec_uzp2 rn rm size) (vec_rrr (VecALUOp.Uzp2) rn rm size))
|
4173
|
+
|
4174
|
+
;; Helper for emitting the `zip1` instruction
|
4175
|
+
(decl vec_zip1 (Reg Reg VectorSize) Reg)
|
4176
|
+
(rule (vec_zip1 rn rm size) (vec_rrr (VecALUOp.Zip1) rn rm size))
|
4177
|
+
|
4178
|
+
;; Helper for emitting the `zip2` instruction
|
4179
|
+
(decl vec_zip2 (Reg Reg VectorSize) Reg)
|
4180
|
+
(rule (vec_zip2 rn rm size) (vec_rrr (VecALUOp.Zip2) rn rm size))
|
4181
|
+
|
4182
|
+
;; Helper for emitting the `trn1` instruction
|
4183
|
+
(decl vec_trn1 (Reg Reg VectorSize) Reg)
|
4184
|
+
(rule (vec_trn1 rn rm size) (vec_rrr (VecALUOp.Trn1) rn rm size))
|
4185
|
+
|
4186
|
+
;; Helper for emitting the `trn2` instruction
|
4187
|
+
(decl vec_trn2 (Reg Reg VectorSize) Reg)
|
4188
|
+
(rule (vec_trn2 rn rm size) (vec_rrr (VecALUOp.Trn2) rn rm size))
|
4189
|
+
|
4190
|
+
;; Helper for creating a zero value `ASIMDMovModImm` immediate.
|
4191
|
+
(decl asimd_mov_mod_imm_zero (ScalarSize) ASIMDMovModImm)
|
4192
|
+
(extern constructor asimd_mov_mod_imm_zero asimd_mov_mod_imm_zero)
|
4193
|
+
|
4194
|
+
;; Helper for fallibly creating an `ASIMDMovModImm` immediate from its parts.
|
4195
|
+
(decl pure partial asimd_mov_mod_imm_from_u64 (u64 ScalarSize) ASIMDMovModImm)
|
4196
|
+
(extern constructor asimd_mov_mod_imm_from_u64 asimd_mov_mod_imm_from_u64)
|
4197
|
+
|
4198
|
+
;; Helper for fallibly creating an `ASIMDFPModImm` immediate from its parts.
|
4199
|
+
(decl pure partial asimd_fp_mod_imm_from_u64 (u64 ScalarSize) ASIMDFPModImm)
|
4200
|
+
(extern constructor asimd_fp_mod_imm_from_u64 asimd_fp_mod_imm_from_u64)
|
4201
|
+
|
4202
|
+
;; Helper for creating a `VecDupFPImm` instruction
|
4203
|
+
(decl vec_dup_fp_imm (ASIMDFPModImm VectorSize) Reg)
|
4204
|
+
(rule (vec_dup_fp_imm imm size)
|
4205
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
4206
|
+
(_ Unit (emit (MInst.VecDupFPImm dst imm size))))
|
4207
|
+
dst))
|
4208
|
+
|
4209
|
+
;; Helper for creating a `FpuLoad64` instruction
|
4210
|
+
(decl fpu_load64 (AMode MemFlags) Reg)
|
4211
|
+
(rule (fpu_load64 amode flags)
|
4212
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
4213
|
+
(_ Unit (emit (MInst.FpuLoad64 dst amode flags))))
|
4214
|
+
dst))
|
4215
|
+
|
4216
|
+
;; Helper for creating a `FpuLoad128` instruction
|
4217
|
+
(decl fpu_load128 (AMode MemFlags) Reg)
|
4218
|
+
(rule (fpu_load128 amode flags)
|
4219
|
+
(let ((dst WritableReg (temp_writable_reg $I8X16))
|
4220
|
+
(_ Unit (emit (MInst.FpuLoad128 dst amode flags))))
|
4221
|
+
dst))
|