wasmtime 22.0.0 → 23.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2164) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +127 -90
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cranelift-bforest-0.110.2/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.110.2/Cargo.toml +50 -0
  6. data/ext/cargo-vendor/cranelift-bitset-0.110.2/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-bitset-0.110.2/Cargo.toml +60 -0
  8. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/compound.rs +508 -0
  9. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/lib.rs +19 -0
  10. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/scalar.rs +575 -0
  11. data/ext/cargo-vendor/cranelift-bitset-0.110.2/tests/bitset.rs +78 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.110.2/.cargo-checksum.json +1 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.110.2/Cargo.toml +206 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/binemit/stack_map.rs +141 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/context.rs +390 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/data_value.rs +410 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/dfg.rs +1806 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/globalvalue.rs +147 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/immediates.rs +2109 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/instructions.rs +1015 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/jumptable.rs +168 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/mod.rs +110 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/trapcode.rs +148 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/types.rs +643 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/user_stack_maps.rs +101 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit.rs +3605 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit_tests.rs +7927 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/mod.rs +3058 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst.isle +4221 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/lower.isle +2969 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/mod.rs +259 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/mod.rs +462 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit.rs +2741 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit_tests.rs +2219 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/mod.rs +1935 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst.isle +3153 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower/isle.rs +654 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower.isle +2953 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/mod.rs +265 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit.rs +3421 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/mod.rs +3395 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/lower.isle +3983 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/mod.rs +220 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit.rs +4297 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_state.rs +65 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/mod.rs +2818 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst.isle +5299 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/lower.isle +4819 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/mod.rs +239 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isle_prelude.rs +965 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/legalizer/mod.rs +343 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/lib.rs +106 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/abi.rs +2427 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/buffer.rs +2544 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/helpers.rs +23 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/isle.rs +908 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/lower.rs +1462 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/mod.rs +564 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/vcode.rs +1840 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude.isle +654 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude_lower.isle +1070 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/write.rs +660 -0
  63. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/.cargo-checksum.json +1 -0
  64. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/Cargo.toml +45 -0
  65. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/types.rs +512 -0
  66. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/typevar.rs +980 -0
  67. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/gen_inst.rs +1278 -0
  68. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/instructions.rs +3760 -0
  69. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/types.rs +143 -0
  70. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/.cargo-checksum.json +1 -0
  71. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/Cargo.toml +31 -0
  72. data/ext/cargo-vendor/cranelift-control-0.110.2/.cargo-checksum.json +1 -0
  73. data/ext/cargo-vendor/cranelift-control-0.110.2/Cargo.toml +39 -0
  74. data/ext/cargo-vendor/cranelift-entity-0.110.2/.cargo-checksum.json +1 -0
  75. data/ext/cargo-vendor/cranelift-entity-0.110.2/Cargo.toml +66 -0
  76. data/ext/cargo-vendor/cranelift-entity-0.110.2/src/set.rs +193 -0
  77. data/ext/cargo-vendor/cranelift-frontend-0.110.2/.cargo-checksum.json +1 -0
  78. data/ext/cargo-vendor/cranelift-frontend-0.110.2/Cargo.toml +87 -0
  79. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/frontend.rs +2867 -0
  80. data/ext/cargo-vendor/cranelift-isle-0.110.2/.cargo-checksum.json +1 -0
  81. data/ext/cargo-vendor/cranelift-isle-0.110.2/Cargo.toml +60 -0
  82. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/codegen.rs +920 -0
  83. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/parser.rs +562 -0
  84. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/sema.rs +2503 -0
  85. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/trie_again.rs +695 -0
  86. data/ext/cargo-vendor/cranelift-native-0.110.2/.cargo-checksum.json +1 -0
  87. data/ext/cargo-vendor/cranelift-native-0.110.2/Cargo.toml +52 -0
  88. data/ext/cargo-vendor/cranelift-native-0.110.2/src/lib.rs +188 -0
  89. data/ext/cargo-vendor/cranelift-wasm-0.110.2/.cargo-checksum.json +1 -0
  90. data/ext/cargo-vendor/cranelift-wasm-0.110.2/Cargo.toml +119 -0
  91. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator/bounds_checks.rs +731 -0
  92. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator.rs +3694 -0
  93. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/heap.rs +119 -0
  94. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/sections_translator.rs +333 -0
  95. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/.cargo-checksum.json +1 -0
  96. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/Cargo.toml +69 -0
  97. data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -0
  98. data/ext/cargo-vendor/termcolor-1.4.1/COPYING +3 -0
  99. data/ext/cargo-vendor/termcolor-1.4.1/Cargo.toml +40 -0
  100. data/ext/cargo-vendor/termcolor-1.4.1/LICENSE-MIT +21 -0
  101. data/ext/cargo-vendor/termcolor-1.4.1/README.md +110 -0
  102. data/ext/cargo-vendor/termcolor-1.4.1/UNLICENSE +24 -0
  103. data/ext/cargo-vendor/termcolor-1.4.1/rustfmt.toml +2 -0
  104. data/ext/cargo-vendor/termcolor-1.4.1/src/lib.rs +2572 -0
  105. data/ext/cargo-vendor/wasi-common-23.0.2/.cargo-checksum.json +1 -0
  106. data/ext/cargo-vendor/wasi-common-23.0.2/Cargo.toml +234 -0
  107. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/mod.rs +135 -0
  108. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/async_.rs +295 -0
  109. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/sync.rs +284 -0
  110. data/ext/cargo-vendor/wasm-encoder-0.212.0/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/wasm-encoder-0.212.0/Cargo.toml +49 -0
  112. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/component/types.rs +771 -0
  113. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/code.rs +3571 -0
  114. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/exports.rs +85 -0
  115. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/globals.rs +100 -0
  116. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/imports.rs +143 -0
  117. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/memories.rs +115 -0
  118. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tables.rs +121 -0
  119. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tags.rs +85 -0
  120. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/types.rs +663 -0
  121. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/lib.rs +218 -0
  122. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/reencode.rs +1804 -0
  123. data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +65 -0
  125. data/ext/cargo-vendor/wasm-encoder-0.215.0/README.md +80 -0
  126. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/aliases.rs +160 -0
  127. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/builder.rs +455 -0
  128. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/canonicals.rs +159 -0
  129. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/components.rs +29 -0
  130. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/exports.rs +124 -0
  131. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/imports.rs +175 -0
  132. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/instances.rs +200 -0
  133. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/modules.rs +29 -0
  134. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/names.rs +149 -0
  135. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/start.rs +52 -0
  136. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +802 -0
  137. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component.rs +168 -0
  138. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +3947 -0
  139. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/custom.rs +73 -0
  140. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/data.rs +186 -0
  141. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/dump.rs +627 -0
  142. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/elements.rs +222 -0
  143. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/exports.rs +85 -0
  144. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/functions.rs +63 -0
  145. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/globals.rs +100 -0
  146. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/imports.rs +143 -0
  147. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/linking.rs +263 -0
  148. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/memories.rs +115 -0
  149. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/names.rs +298 -0
  150. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/producers.rs +181 -0
  151. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/start.rs +39 -0
  152. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tables.rs +129 -0
  153. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tags.rs +85 -0
  154. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +678 -0
  155. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core.rs +168 -0
  156. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/lib.rs +218 -0
  157. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/raw.rs +30 -0
  158. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +2002 -0
  159. data/ext/cargo-vendor/wasmparser-0.212.0/.cargo-checksum.json +1 -0
  160. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.lock +669 -0
  161. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.toml +112 -0
  162. data/ext/cargo-vendor/wasmparser-0.212.0/src/binary_reader.rs +1968 -0
  163. data/ext/cargo-vendor/wasmparser-0.212.0/src/features.rs +166 -0
  164. data/ext/cargo-vendor/wasmparser-0.212.0/src/lib.rs +814 -0
  165. data/ext/cargo-vendor/wasmparser-0.212.0/src/parser.rs +1682 -0
  166. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/operators.rs +453 -0
  167. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/tables.rs +93 -0
  168. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/types.rs +1941 -0
  169. data/ext/cargo-vendor/wasmparser-0.212.0/src/resources.rs +234 -0
  170. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/component.rs +3252 -0
  171. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core.rs +1454 -0
  172. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/operators.rs +4230 -0
  173. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/types.rs +4598 -0
  174. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator.rs +1632 -0
  175. data/ext/cargo-vendor/wasmprinter-0.212.0/.cargo-checksum.json +1 -0
  176. data/ext/cargo-vendor/wasmprinter-0.212.0/Cargo.toml +54 -0
  177. data/ext/cargo-vendor/wasmprinter-0.212.0/src/lib.rs +3221 -0
  178. data/ext/cargo-vendor/wasmprinter-0.212.0/src/operator.rs +1189 -0
  179. data/ext/cargo-vendor/wasmprinter-0.212.0/src/print.rs +190 -0
  180. data/ext/cargo-vendor/wasmprinter-0.212.0/tests/all.rs +48 -0
  181. data/ext/cargo-vendor/wasmtime-23.0.2/.cargo-checksum.json +1 -0
  182. data/ext/cargo-vendor/wasmtime-23.0.2/Cargo.toml +399 -0
  183. data/ext/cargo-vendor/wasmtime-23.0.2/build.rs +38 -0
  184. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/code_builder.rs +274 -0
  185. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/runtime.rs +167 -0
  186. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile.rs +881 -0
  187. data/ext/cargo-vendor/wasmtime-23.0.2/src/config.rs +2902 -0
  188. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine/serialization.rs +893 -0
  189. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine.rs +719 -0
  190. data/ext/cargo-vendor/wasmtime-23.0.2/src/lib.rs +406 -0
  191. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/jitdump.rs +65 -0
  192. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/perfmap.rs +47 -0
  193. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/vtune.rs +80 -0
  194. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent.rs +104 -0
  195. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code_memory.rs +337 -0
  196. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/mod.rs +488 -0
  197. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/component.rs +811 -0
  198. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/host.rs +439 -0
  199. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/options.rs +552 -0
  200. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/typed.rs +2497 -0
  201. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func.rs +688 -0
  202. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/instance.rs +846 -0
  203. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/linker.rs +673 -0
  204. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/matching.rs +216 -0
  205. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/mod.rs +663 -0
  206. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resources.rs +1132 -0
  207. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/values.rs +979 -0
  208. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/coredump.rs +339 -0
  209. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/debug.rs +165 -0
  210. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/global.rs +310 -0
  211. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/table.rs +480 -0
  212. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func/typed.rs +788 -0
  213. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func.rs +2593 -0
  214. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/disabled/rooting.rs +224 -0
  215. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/externref.rs +591 -0
  216. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/rooting.rs +1590 -0
  217. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instance.rs +989 -0
  218. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instantiate.rs +332 -0
  219. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/limits.rs +398 -0
  220. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/linker.rs +1498 -0
  221. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/memory.rs +1101 -0
  222. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module/registry.rs +353 -0
  223. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module.rs +1179 -0
  224. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/profiling.rs +280 -0
  225. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/stack.rs +72 -0
  226. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/data.rs +301 -0
  227. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store.rs +2873 -0
  228. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/func.rs +93 -0
  229. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/memory.rs +295 -0
  230. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/table.rs +28 -0
  231. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline.rs +75 -0
  232. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trap.rs +642 -0
  233. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types/matching.rs +428 -0
  234. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types.rs +2771 -0
  235. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/values.rs +966 -0
  236. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/arch/riscv64.rs +41 -0
  237. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/libcalls.rs +571 -0
  238. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/resources.rs +351 -0
  239. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component.rs +857 -0
  240. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/const_expr.rs +102 -0
  241. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/cow.rs +988 -0
  242. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/disabled.rs +23 -0
  243. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/drc.rs +964 -0
  244. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/free_list.rs +770 -0
  245. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_ref.rs +490 -0
  246. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_runtime.rs +505 -0
  247. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc.rs +244 -0
  248. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/on_demand.rs +219 -0
  249. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +199 -0
  250. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
  251. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  252. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +703 -0
  253. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +990 -0
  254. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  255. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +279 -0
  256. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling.rs +793 -0
  257. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator.rs +808 -0
  258. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance.rs +1518 -0
  259. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/libcalls.rs +832 -0
  260. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/memory.rs +815 -0
  261. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap.rs +217 -0
  262. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap_vec.rs +159 -0
  263. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/module_id.rs +19 -0
  264. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/disabled.rs +43 -0
  265. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/enabled.rs +213 -0
  266. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/mod.rs +59 -0
  267. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/sys.rs +113 -0
  268. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mmap.rs +112 -0
  269. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mod.rs +34 -0
  270. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/unwind.rs +17 -0
  271. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/vm.rs +105 -0
  272. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/mmap.rs +98 -0
  273. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/unwind.rs +17 -0
  274. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/mmap.rs +159 -0
  275. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/signals.rs +407 -0
  276. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/unwind.rs +149 -0
  277. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/mmap.rs +220 -0
  278. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/unwind.rs +46 -0
  279. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/table.rs +898 -0
  280. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory.rs +235 -0
  281. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory_disabled.rs +104 -0
  282. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/traphandlers.rs +767 -0
  283. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  284. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext.rs +1246 -0
  285. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm.rs +403 -0
  286. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime.rs +113 -0
  287. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/.cargo-checksum.json +1 -0
  288. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/Cargo.toml +32 -0
  289. data/ext/cargo-vendor/wasmtime-cache-23.0.2/.cargo-checksum.json +1 -0
  290. data/ext/cargo-vendor/wasmtime-cache-23.0.2/Cargo.toml +103 -0
  291. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/.cargo-checksum.json +1 -0
  292. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/Cargo.toml +106 -0
  293. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/bindgen.rs +500 -0
  294. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/codegen.rs +698 -0
  295. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char.rs +268 -0
  296. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char_async.rs +291 -0
  297. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions.rs +706 -0
  298. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions_async.rs +757 -0
  299. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code.rs +194 -0
  300. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code_async.rs +213 -0
  301. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import.rs +120 -0
  302. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import_async.rs +132 -0
  303. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty.rs +74 -0
  304. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty_async.rs +80 -0
  305. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags.rs +743 -0
  306. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags_async.rs +791 -0
  307. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats.rs +343 -0
  308. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats_async.rs +376 -0
  309. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new.rs +94 -0
  310. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new_async.rs +103 -0
  311. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers.rs +873 -0
  312. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers_async.rs +976 -0
  313. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists.rs +1924 -0
  314. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists_async.rs +2114 -0
  315. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments.rs +614 -0
  316. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments_async.rs +638 -0
  317. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return.rs +357 -0
  318. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return_async.rs +391 -0
  319. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion.rs +354 -0
  320. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion_async.rs +379 -0
  321. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records.rs +940 -0
  322. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records_async.rs +1008 -0
  323. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename.rs +183 -0
  324. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename_async.rs +202 -0
  325. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export.rs +657 -0
  326. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export_async.rs +712 -0
  327. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import.rs +1088 -0
  328. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import_async.rs +1166 -0
  329. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types.rs +315 -0
  330. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types_async.rs +337 -0
  331. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions.rs +399 -0
  332. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions_async.rs +439 -0
  333. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists.rs +427 -0
  334. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists_async.rs +464 -0
  335. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi.rs +245 -0
  336. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi_async.rs +264 -0
  337. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous.rs +338 -0
  338. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous_async.rs +356 -0
  339. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default.rs +94 -0
  340. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default_async.rs +103 -0
  341. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export.rs +149 -0
  342. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export_async.rs +158 -0
  343. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke.rs +133 -0
  344. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke_async.rs +146 -0
  345. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings.rs +316 -0
  346. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings_async.rs +344 -0
  347. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo.rs +165 -0
  348. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo_async.rs +178 -0
  349. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths.rs +317 -0
  350. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths_async.rs +349 -0
  351. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants.rs +1896 -0
  352. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants_async.rs +2019 -0
  353. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat.rs +145 -0
  354. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat_async.rs +151 -0
  355. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types.rs +175 -0
  356. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types_async.rs +191 -0
  357. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/.cargo-checksum.json +1 -0
  358. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/Cargo.toml +35 -0
  359. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/.cargo-checksum.json +1 -0
  360. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/Cargo.toml +125 -0
  361. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler.rs +1029 -0
  362. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/gc.rs +257 -0
  363. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/address_transform.rs +841 -0
  364. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/attr.rs +328 -0
  365. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/expression.rs +1264 -0
  366. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/line_program.rs +287 -0
  367. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/mod.rs +273 -0
  368. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/range_info_builder.rs +234 -0
  369. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/simulate.rs +423 -0
  370. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/unit.rs +520 -0
  371. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/utils.rs +165 -0
  372. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/write_debuginfo.rs +176 -0
  373. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug.rs +178 -0
  374. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/func_environ.rs +2721 -0
  375. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/gc/enabled.rs +648 -0
  376. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/lib.rs +458 -0
  377. data/ext/cargo-vendor/wasmtime-environ-23.0.2/.cargo-checksum.json +1 -0
  378. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.lock +792 -0
  379. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.toml +185 -0
  380. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/mod.rs +379 -0
  381. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_environ.rs +1264 -0
  382. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/dfg.rs +718 -0
  383. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/info.rs +683 -0
  384. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/names.rs +275 -0
  385. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/inline.rs +1333 -0
  386. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate.rs +993 -0
  387. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types.rs +1041 -0
  388. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder.rs +976 -0
  389. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component.rs +109 -0
  390. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/lib.rs +64 -0
  391. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module.rs +702 -0
  392. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/stack_map.rs +31 -0
  393. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/tunables.rs +165 -0
  394. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/vmoffsets.rs +897 -0
  395. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/.cargo-checksum.json +1 -0
  396. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/Cargo.toml +75 -0
  397. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/.cargo-checksum.json +1 -0
  398. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/Cargo.toml +77 -0
  399. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/.cargo-checksum.json +1 -0
  400. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/Cargo.toml +62 -0
  401. data/ext/cargo-vendor/wasmtime-slab-23.0.2/.cargo-checksum.json +1 -0
  402. data/ext/cargo-vendor/wasmtime-slab-23.0.2/Cargo.toml +31 -0
  403. data/ext/cargo-vendor/wasmtime-types-23.0.2/.cargo-checksum.json +1 -0
  404. data/ext/cargo-vendor/wasmtime-types-23.0.2/Cargo.toml +71 -0
  405. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/lib.rs +1760 -0
  406. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/prelude.rs +86 -0
  407. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/.cargo-checksum.json +1 -0
  408. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/Cargo.toml +40 -0
  409. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/.cargo-checksum.json +1 -0
  410. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/Cargo.toml +215 -0
  411. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/bindings.rs +561 -0
  412. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/filesystem.rs +448 -0
  413. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem.rs +1091 -0
  414. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/io.rs +391 -0
  415. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/lib.rs +419 -0
  416. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview1.rs +2801 -0
  417. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/stdio.rs +596 -0
  418. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/api.rs +197 -0
  419. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/async_.rs +397 -0
  420. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/sync.rs +331 -0
  421. data/ext/cargo-vendor/wasmtime-winch-23.0.2/.cargo-checksum.json +1 -0
  422. data/ext/cargo-vendor/wasmtime-winch-23.0.2/Cargo.toml +92 -0
  423. data/ext/cargo-vendor/wasmtime-winch-23.0.2/src/compiler.rs +242 -0
  424. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/.cargo-checksum.json +1 -0
  425. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/Cargo.toml +57 -0
  426. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/lib.rs +2777 -0
  427. data/ext/cargo-vendor/wast-215.0.0/.cargo-checksum.json +1 -0
  428. data/ext/cargo-vendor/wast-215.0.0/Cargo.toml +101 -0
  429. data/ext/cargo-vendor/wast-215.0.0/src/component/binary.rs +1014 -0
  430. data/ext/cargo-vendor/wast-215.0.0/src/component/component.rs +320 -0
  431. data/ext/cargo-vendor/wast-215.0.0/src/component/expand.rs +875 -0
  432. data/ext/cargo-vendor/wast-215.0.0/src/component/resolve.rs +988 -0
  433. data/ext/cargo-vendor/wast-215.0.0/src/component.rs +28 -0
  434. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf.rs +610 -0
  435. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf_disabled.rs +41 -0
  436. data/ext/cargo-vendor/wast-215.0.0/src/core/binary.rs +1542 -0
  437. data/ext/cargo-vendor/wast-215.0.0/src/core/expr.rs +2110 -0
  438. data/ext/cargo-vendor/wast-215.0.0/src/core/memory.rs +279 -0
  439. data/ext/cargo-vendor/wast-215.0.0/src/core/module.rs +215 -0
  440. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/deinline_import_export.rs +232 -0
  441. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/names.rs +791 -0
  442. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/types.rs +270 -0
  443. data/ext/cargo-vendor/wast-215.0.0/src/core/table.rs +308 -0
  444. data/ext/cargo-vendor/wast-215.0.0/src/core/types.rs +1057 -0
  445. data/ext/cargo-vendor/wast-215.0.0/src/core.rs +30 -0
  446. data/ext/cargo-vendor/wast-215.0.0/src/lib.rs +556 -0
  447. data/ext/cargo-vendor/wast-215.0.0/src/parser.rs +1434 -0
  448. data/ext/cargo-vendor/wast-215.0.0/src/wat.rs +68 -0
  449. data/ext/cargo-vendor/wat-1.215.0/.cargo-checksum.json +1 -0
  450. data/ext/cargo-vendor/wat-1.215.0/Cargo.toml +56 -0
  451. data/ext/cargo-vendor/wat-1.215.0/src/lib.rs +469 -0
  452. data/ext/cargo-vendor/wiggle-23.0.2/.cargo-checksum.json +1 -0
  453. data/ext/cargo-vendor/wiggle-23.0.2/Cargo.toml +110 -0
  454. data/ext/cargo-vendor/wiggle-generate-23.0.2/.cargo-checksum.json +1 -0
  455. data/ext/cargo-vendor/wiggle-generate-23.0.2/Cargo.toml +76 -0
  456. data/ext/cargo-vendor/wiggle-macro-23.0.2/.cargo-checksum.json +1 -0
  457. data/ext/cargo-vendor/wiggle-macro-23.0.2/Cargo.toml +59 -0
  458. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -0
  459. data/ext/cargo-vendor/winapi-util-0.1.9/COPYING +3 -0
  460. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +53 -0
  461. data/ext/cargo-vendor/winapi-util-0.1.9/LICENSE-MIT +21 -0
  462. data/ext/cargo-vendor/winapi-util-0.1.9/README.md +64 -0
  463. data/ext/cargo-vendor/winapi-util-0.1.9/UNLICENSE +24 -0
  464. data/ext/cargo-vendor/winapi-util-0.1.9/rustfmt.toml +2 -0
  465. data/ext/cargo-vendor/winapi-util-0.1.9/src/console.rs +407 -0
  466. data/ext/cargo-vendor/winapi-util-0.1.9/src/file.rs +166 -0
  467. data/ext/cargo-vendor/winapi-util-0.1.9/src/lib.rs +35 -0
  468. data/ext/cargo-vendor/winapi-util-0.1.9/src/sysinfo.rs +161 -0
  469. data/ext/cargo-vendor/winapi-util-0.1.9/src/win.rs +246 -0
  470. data/ext/cargo-vendor/winch-codegen-0.21.2/.cargo-checksum.json +1 -0
  471. data/ext/cargo-vendor/winch-codegen-0.21.2/Cargo.toml +87 -0
  472. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/env.rs +449 -0
  473. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/mod.rs +878 -0
  474. data/ext/cargo-vendor/winch-codegen-0.21.2/src/visitor.rs +2154 -0
  475. data/ext/cargo-vendor/wit-parser-0.212.0/.cargo-checksum.json +1 -0
  476. data/ext/cargo-vendor/wit-parser-0.212.0/Cargo.toml +112 -0
  477. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/lex.rs +751 -0
  478. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/resolve.rs +1539 -0
  479. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast.rs +1851 -0
  480. data/ext/cargo-vendor/wit-parser-0.212.0/src/decoding.rs +1798 -0
  481. data/ext/cargo-vendor/wit-parser-0.212.0/src/lib.rs +888 -0
  482. data/ext/cargo-vendor/wit-parser-0.212.0/src/resolve.rs +2740 -0
  483. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit.json +308 -0
  484. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/a.wit +23 -0
  485. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/b.wit +23 -0
  486. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package.wit.json +250 -0
  487. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +2 -0
  488. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +2 -0
  489. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/packages.wit +13 -0
  490. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps.wit.json +83 -0
  491. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +9 -0
  492. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +5 -0
  493. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/packages.wit +11 -0
  494. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps.wit.json +116 -0
  495. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit +23 -0
  496. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit.json +130 -0
  497. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit +15 -0
  498. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit.json +87 -0
  499. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit +23 -0
  500. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit.json +130 -0
  501. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit +23 -0
  502. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit.json +130 -0
  503. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit +11 -0
  504. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit.json +70 -0
  505. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit +3 -0
  506. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit.result +1 -0
  507. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit +13 -0
  508. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit.result +8 -0
  509. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit +23 -0
  510. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit.result +1 -0
  511. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit +23 -0
  512. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit.result +5 -0
  513. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
  514. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
  515. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +9 -0
  516. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit +11 -0
  517. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
  518. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
  519. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
  520. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit.json +583 -0
  521. data/ext/src/ruby_api/memory.rs +2 -1
  522. data/lib/wasmtime/version.rb +1 -1
  523. metadata +1736 -1643
  524. data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +0 -1
  525. data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +0 -41
  526. data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +0 -1
  527. data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +0 -193
  528. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/binemit/stack_map.rs +0 -155
  529. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/bitset.rs +0 -187
  530. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +0 -384
  531. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/data_value.rs +0 -385
  532. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +0 -1777
  533. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/globalvalue.rs +0 -147
  534. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +0 -1612
  535. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/instructions.rs +0 -1020
  536. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/jumptable.rs +0 -168
  537. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/mod.rs +0 -108
  538. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/trapcode.rs +0 -149
  539. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +0 -627
  540. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +0 -3584
  541. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +0 -7901
  542. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +0 -3060
  543. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +0 -4218
  544. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/lower.isle +0 -2933
  545. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/mod.rs +0 -242
  546. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/mod.rs +0 -449
  547. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +0 -2682
  548. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +0 -2215
  549. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +0 -1938
  550. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +0 -3127
  551. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +0 -649
  552. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +0 -2923
  553. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +0 -260
  554. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +0 -3401
  555. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +0 -3401
  556. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +0 -3995
  557. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/mod.rs +0 -215
  558. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +0 -4287
  559. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +0 -52
  560. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +0 -2821
  561. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +0 -5289
  562. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +0 -4810
  563. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/mod.rs +0 -234
  564. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +0 -986
  565. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/legalizer/mod.rs +0 -348
  566. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +0 -106
  567. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +0 -2419
  568. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +0 -2508
  569. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/helpers.rs +0 -33
  570. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +0 -909
  571. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +0 -1432
  572. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +0 -551
  573. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +0 -1741
  574. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +0 -664
  575. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +0 -1073
  576. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +0 -638
  577. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +0 -1
  578. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +0 -36
  579. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +0 -496
  580. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/typevar.rs +0 -980
  581. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_inst.rs +0 -1278
  582. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/instructions.rs +0 -3791
  583. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/types.rs +0 -137
  584. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +0 -1
  585. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +0 -22
  586. data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +0 -1
  587. data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +0 -30
  588. data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +0 -1
  589. data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +0 -53
  590. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +0 -290
  591. data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +0 -1
  592. data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +0 -68
  593. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +0 -1857
  594. data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +0 -1
  595. data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +0 -47
  596. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/codegen.rs +0 -886
  597. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/parser.rs +0 -562
  598. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +0 -2492
  599. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/trie_again.rs +0 -684
  600. data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +0 -1
  601. data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +0 -43
  602. data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +0 -188
  603. data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +0 -1
  604. data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +0 -110
  605. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator/bounds_checks.rs +0 -713
  606. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +0 -3695
  607. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/heap.rs +0 -116
  608. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +0 -343
  609. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +0 -1
  610. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +0 -48
  611. data/ext/cargo-vendor/memoffset-0.9.0/.cargo-checksum.json +0 -1
  612. data/ext/cargo-vendor/memoffset-0.9.0/Cargo.toml +0 -37
  613. data/ext/cargo-vendor/memoffset-0.9.0/LICENSE +0 -19
  614. data/ext/cargo-vendor/memoffset-0.9.0/README.md +0 -85
  615. data/ext/cargo-vendor/memoffset-0.9.0/build.rs +0 -25
  616. data/ext/cargo-vendor/memoffset-0.9.0/src/lib.rs +0 -94
  617. data/ext/cargo-vendor/memoffset-0.9.0/src/offset_of.rs +0 -400
  618. data/ext/cargo-vendor/memoffset-0.9.0/src/raw_field.rs +0 -226
  619. data/ext/cargo-vendor/memoffset-0.9.0/src/span_of.rs +0 -263
  620. data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +0 -1
  621. data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +0 -224
  622. data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/mod.rs +0 -137
  623. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/async_.rs +0 -293
  624. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/sync.rs +0 -279
  625. data/ext/cargo-vendor/wasm-encoder-0.209.1/.cargo-checksum.json +0 -1
  626. data/ext/cargo-vendor/wasm-encoder-0.209.1/Cargo.toml +0 -46
  627. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/component/types.rs +0 -792
  628. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/code.rs +0 -3595
  629. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/exports.rs +0 -98
  630. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/globals.rs +0 -112
  631. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/imports.rs +0 -157
  632. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/memories.rs +0 -128
  633. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tables.rs +0 -134
  634. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tags.rs +0 -104
  635. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/types.rs +0 -678
  636. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/lib.rs +0 -215
  637. data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +0 -1
  638. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +0 -662
  639. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +0 -109
  640. data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +0 -1929
  641. data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +0 -164
  642. data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +0 -814
  643. data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +0 -1682
  644. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +0 -423
  645. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/tables.rs +0 -93
  646. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +0 -1788
  647. data/ext/cargo-vendor/wasmparser-0.209.1/src/resources.rs +0 -235
  648. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +0 -3236
  649. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +0 -1464
  650. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +0 -4231
  651. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +0 -4550
  652. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +0 -1633
  653. data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +0 -1
  654. data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +0 -51
  655. data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +0 -3225
  656. data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +0 -1171
  657. data/ext/cargo-vendor/wasmprinter-0.209.1/tests/all.rs +0 -293
  658. data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +0 -1
  659. data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +0 -387
  660. data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +0 -42
  661. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/code_builder.rs +0 -275
  662. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +0 -167
  663. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +0 -917
  664. data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +0 -2943
  665. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +0 -890
  666. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine.rs +0 -728
  667. data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +0 -389
  668. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +0 -67
  669. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +0 -48
  670. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/vtune.rs +0 -81
  671. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent.rs +0 -106
  672. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +0 -338
  673. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +0 -489
  674. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +0 -656
  675. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/host.rs +0 -440
  676. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/options.rs +0 -555
  677. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +0 -2498
  678. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +0 -689
  679. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +0 -810
  680. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +0 -854
  681. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +0 -217
  682. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +0 -657
  683. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resources.rs +0 -1133
  684. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/values.rs +0 -980
  685. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/coredump.rs +0 -342
  686. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +0 -166
  687. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +0 -310
  688. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +0 -481
  689. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +0 -780
  690. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +0 -2564
  691. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/rooting.rs +0 -224
  692. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +0 -592
  693. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/rooting.rs +0 -1588
  694. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +0 -992
  695. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +0 -337
  696. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/limits.rs +0 -399
  697. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +0 -1499
  698. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/memory.rs +0 -998
  699. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +0 -353
  700. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +0 -1322
  701. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/profiling.rs +0 -221
  702. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/stack.rs +0 -73
  703. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/data.rs +0 -301
  704. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +0 -2824
  705. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +0 -94
  706. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +0 -287
  707. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/table.rs +0 -29
  708. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline.rs +0 -78
  709. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trap.rs +0 -642
  710. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types/matching.rs +0 -421
  711. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +0 -2580
  712. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +0 -966
  713. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/arch/riscv64.rs +0 -41
  714. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/libcalls.rs +0 -571
  715. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +0 -352
  716. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +0 -857
  717. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/const_expr.rs +0 -102
  718. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +0 -972
  719. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/disabled.rs +0 -24
  720. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/drc.rs +0 -968
  721. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/free_list.rs +0 -771
  722. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +0 -491
  723. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_runtime.rs +0 -506
  724. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc.rs +0 -245
  725. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +0 -220
  726. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -194
  727. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -94
  728. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -78
  729. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -707
  730. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -975
  731. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -245
  732. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -278
  733. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +0 -794
  734. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +0 -801
  735. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +0 -1514
  736. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/libcalls.rs +0 -834
  737. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +0 -736
  738. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap.rs +0 -220
  739. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap_vec.rs +0 -162
  740. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/module_id.rs +0 -43
  741. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/disabled.rs +0 -43
  742. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/enabled.rs +0 -214
  743. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/mod.rs +0 -54
  744. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/sys.rs +0 -114
  745. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mmap.rs +0 -112
  746. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mod.rs +0 -34
  747. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/unwind.rs +0 -17
  748. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +0 -105
  749. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/mmap.rs +0 -95
  750. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/unwind.rs +0 -17
  751. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/mmap.rs +0 -162
  752. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +0 -407
  753. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/unwind.rs +0 -150
  754. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/mmap.rs +0 -221
  755. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/unwind.rs +0 -46
  756. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +0 -899
  757. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory.rs +0 -233
  758. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory_disabled.rs +0 -101
  759. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +0 -768
  760. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -79
  761. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +0 -1302
  762. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +0 -277
  763. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +0 -113
  764. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +0 -1
  765. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +0 -22
  766. data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +0 -1
  767. data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +0 -89
  768. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +0 -1
  769. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +0 -86
  770. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +0 -493
  771. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +0 -651
  772. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +0 -198
  773. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +0 -215
  774. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +0 -586
  775. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +0 -631
  776. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +0 -165
  777. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +0 -178
  778. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +0 -91
  779. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +0 -97
  780. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +0 -45
  781. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +0 -45
  782. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +0 -637
  783. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +0 -679
  784. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +0 -255
  785. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +0 -282
  786. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +0 -59
  787. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +0 -62
  788. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +0 -722
  789. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +0 -819
  790. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +0 -1743
  791. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +0 -1927
  792. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +0 -543
  793. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +0 -561
  794. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +0 -270
  795. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +0 -298
  796. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +0 -251
  797. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +0 -270
  798. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +0 -815
  799. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +0 -877
  800. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +0 -154
  801. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +0 -167
  802. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +0 -467
  803. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +0 -516
  804. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +0 -1014
  805. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +0 -1086
  806. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +0 -249
  807. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +0 -265
  808. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +0 -313
  809. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +0 -347
  810. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +0 -350
  811. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +0 -381
  812. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +0 -216
  813. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +0 -229
  814. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +0 -275
  815. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +0 -287
  816. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +0 -59
  817. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +0 -62
  818. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +0 -86
  819. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +0 -89
  820. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +0 -104
  821. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +0 -111
  822. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +0 -247
  823. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +0 -269
  824. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +0 -136
  825. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +0 -143
  826. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +0 -288
  827. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +0 -314
  828. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +0 -1750
  829. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +0 -1867
  830. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +0 -84
  831. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +0 -84
  832. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +0 -138
  833. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +0 -148
  834. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +0 -1
  835. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +0 -25
  836. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +0 -1
  837. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +0 -115
  838. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +0 -1067
  839. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/gc.rs +0 -252
  840. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +0 -783
  841. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/attr.rs +0 -320
  842. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/expression.rs +0 -1248
  843. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/line_program.rs +0 -287
  844. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +0 -256
  845. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/range_info_builder.rs +0 -221
  846. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +0 -411
  847. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +0 -529
  848. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +0 -186
  849. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +0 -196
  850. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug.rs +0 -18
  851. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +0 -2910
  852. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +0 -648
  853. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +0 -462
  854. data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +0 -1
  855. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +0 -774
  856. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +0 -161
  857. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +0 -374
  858. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +0 -1348
  859. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/dfg.rs +0 -691
  860. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +0 -672
  861. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/inline.rs +0 -1332
  862. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +0 -985
  863. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +0 -1038
  864. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +0 -1004
  865. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component.rs +0 -107
  866. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +0 -151
  867. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +0 -704
  868. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/stack_map.rs +0 -37
  869. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +0 -175
  870. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +0 -989
  871. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +0 -1
  872. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +0 -65
  873. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +0 -1
  874. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +0 -68
  875. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +0 -1
  876. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +0 -52
  877. data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +0 -1
  878. data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +0 -21
  879. data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +0 -1
  880. data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +0 -56
  881. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +0 -1737
  882. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +0 -1
  883. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +0 -32
  884. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +0 -1
  885. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +0 -201
  886. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +0 -289
  887. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +0 -446
  888. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +0 -1091
  889. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +0 -388
  890. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +0 -417
  891. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +0 -2801
  892. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +0 -533
  893. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/api.rs +0 -198
  894. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/async_.rs +0 -397
  895. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/sync.rs +0 -331
  896. data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +0 -1
  897. data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +0 -82
  898. data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +0 -239
  899. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +0 -1
  900. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +0 -47
  901. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +0 -2639
  902. data/ext/cargo-vendor/wast-209.0.1/.cargo-checksum.json +0 -1
  903. data/ext/cargo-vendor/wast-209.0.1/Cargo.toml +0 -60
  904. data/ext/cargo-vendor/wast-209.0.1/src/component/binary.rs +0 -1000
  905. data/ext/cargo-vendor/wast-209.0.1/src/component/component.rs +0 -321
  906. data/ext/cargo-vendor/wast-209.0.1/src/component/expand.rs +0 -875
  907. data/ext/cargo-vendor/wast-209.0.1/src/component/resolve.rs +0 -999
  908. data/ext/cargo-vendor/wast-209.0.1/src/component.rs +0 -28
  909. data/ext/cargo-vendor/wast-209.0.1/src/core/binary.rs +0 -1396
  910. data/ext/cargo-vendor/wast-209.0.1/src/core/expr.rs +0 -2016
  911. data/ext/cargo-vendor/wast-209.0.1/src/core/memory.rs +0 -284
  912. data/ext/cargo-vendor/wast-209.0.1/src/core/module.rs +0 -218
  913. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/deinline_import_export.rs +0 -235
  914. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/names.rs +0 -751
  915. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/types.rs +0 -267
  916. data/ext/cargo-vendor/wast-209.0.1/src/core/table.rs +0 -302
  917. data/ext/cargo-vendor/wast-209.0.1/src/core/types.rs +0 -901
  918. data/ext/cargo-vendor/wast-209.0.1/src/core.rs +0 -29
  919. data/ext/cargo-vendor/wast-209.0.1/src/lib.rs +0 -551
  920. data/ext/cargo-vendor/wast-209.0.1/src/parser.rs +0 -1414
  921. data/ext/cargo-vendor/wast-209.0.1/src/wat.rs +0 -71
  922. data/ext/cargo-vendor/wat-1.209.1/.cargo-checksum.json +0 -1
  923. data/ext/cargo-vendor/wat-1.209.1/Cargo.toml +0 -34
  924. data/ext/cargo-vendor/wat-1.209.1/src/lib.rs +0 -401
  925. data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +0 -124
  927. data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +0 -67
  929. data/ext/cargo-vendor/wiggle-generate-22.0.0/LICENSE +0 -220
  930. data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +0 -1
  931. data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +0 -51
  932. data/ext/cargo-vendor/wiggle-macro-22.0.0/LICENSE +0 -220
  933. data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +0 -1
  934. data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +0 -77
  935. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +0 -448
  936. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +0 -882
  937. data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +0 -2149
  938. data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +0 -1
  939. data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +0 -112
  940. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/lex.rs +0 -747
  941. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +0 -1524
  942. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +0 -1668
  943. data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +0 -1795
  944. data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +0 -873
  945. data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +0 -2498
  946. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +0 -288
  947. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +0 -549
  948. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/LICENSE +0 -0
  949. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/README.md +0 -0
  950. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/lib.rs +0 -0
  951. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/map.rs +0 -0
  952. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/node.rs +0 -0
  953. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/path.rs +0 -0
  954. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/pool.rs +0 -0
  955. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/set.rs +0 -0
  956. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/LICENSE +0 -0
  957. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/README.md +0 -0
  958. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/benches/x64-evex-encoding.rs +0 -0
  959. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/build.rs +0 -0
  960. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/alias_analysis.rs +0 -0
  961. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/binemit/mod.rs +0 -0
  962. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cfg_printer.rs +0 -0
  963. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/constant_hash.rs +0 -0
  964. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ctxhash.rs +0 -0
  965. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cursor.rs +0 -0
  966. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dbg.rs +0 -0
  967. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dominator_tree.rs +0 -0
  968. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/cost.rs +0 -0
  969. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/elaborate.rs +0 -0
  970. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph.rs +0 -0
  971. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/flowgraph.rs +0 -0
  972. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/incremental_cache.rs +0 -0
  973. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/inst_predicates.rs +0 -0
  974. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/atomic_rmw_op.rs +0 -0
  975. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/builder.rs +0 -0
  976. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/condcodes.rs +0 -0
  977. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/constant.rs +0 -0
  978. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/dynamic_type.rs +0 -0
  979. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/entities.rs +0 -0
  980. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extfunc.rs +0 -0
  981. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extname.rs +0 -0
  982. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/function.rs +0 -0
  983. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/known_symbol.rs +0 -0
  984. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/layout.rs +0 -0
  985. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/libcall.rs +0 -0
  986. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memflags.rs +0 -0
  987. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memtype.rs +0 -0
  988. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/pcc.rs +0 -0
  989. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/progpoint.rs +0 -0
  990. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/sourceloc.rs +0 -0
  991. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/stackslot.rs +0 -0
  992. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/abi.rs +0 -0
  993. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/args.rs +0 -0
  994. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/imms.rs +0 -0
  995. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/regs.rs +0 -0
  996. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  997. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind.rs +0 -0
  998. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst_neon.isle +0 -0
  999. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1000. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle.rs +0 -0
  1001. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower.rs +0 -0
  1002. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1003. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/pcc.rs +0 -0
  1004. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/settings.rs +0 -0
  1005. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/call_conv.rs +0 -0
  1006. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/abi.rs +0 -0
  1007. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/args.rs +0 -0
  1008. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/encode.rs +0 -0
  1009. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/imms.rs +0 -0
  1010. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/regs.rs +0 -0
  1011. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1012. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind.rs +0 -0
  1013. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/vector.rs +0 -0
  1014. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst_vector.isle +0 -0
  1015. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1016. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower.rs +0 -0
  1017. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/settings.rs +0 -0
  1018. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/abi.rs +0 -0
  1019. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/args.rs +0 -0
  1020. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1021. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/imms.rs +0 -0
  1022. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/regs.rs +0 -0
  1023. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1024. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind.rs +0 -0
  1025. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst.isle +0 -0
  1026. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1027. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle.rs +0 -0
  1028. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower.rs +0 -0
  1029. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/settings.rs +0 -0
  1030. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/systemv.rs +0 -0
  1031. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/winx64.rs +0 -0
  1032. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind.rs +0 -0
  1033. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/abi.rs +0 -0
  1034. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/evex.rs +0 -0
  1035. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/mod.rs +0 -0
  1036. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/rex.rs +0 -0
  1037. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/vex.rs +0 -0
  1038. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/args.rs +0 -0
  1039. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/emit_tests.rs +0 -0
  1040. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/regs.rs +0 -0
  1041. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1042. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1043. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind.rs +0 -0
  1044. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1045. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle.rs +0 -0
  1046. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower.rs +0 -0
  1047. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/pcc.rs +0 -0
  1048. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/settings.rs +0 -0
  1049. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/iterators.rs +0 -0
  1050. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/legalizer/globalvalue.rs +0 -0
  1051. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/loop_analysis.rs +0 -0
  1052. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/blockorder.rs +0 -0
  1053. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/compile.rs +0 -0
  1054. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/inst_common.rs +0 -0
  1055. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/pcc.rs +0 -0
  1056. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/reg.rs +0 -0
  1057. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/valueregs.rs +0 -0
  1058. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/nan_canonicalization.rs +0 -0
  1059. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/README.md +0 -0
  1060. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/arithmetic.isle +0 -0
  1061. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/bitops.isle +0 -0
  1062. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/cprop.isle +0 -0
  1063. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/extends.isle +0 -0
  1064. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/generated_code.rs +0 -0
  1065. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/icmp.isle +0 -0
  1066. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/remat.isle +0 -0
  1067. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/selects.isle +0 -0
  1068. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/shifts.isle +0 -0
  1069. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spaceship.isle +0 -0
  1070. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spectre.isle +0 -0
  1071. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/vector.isle +0 -0
  1072. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts.rs +0 -0
  1073. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/prelude_opt.isle +0 -0
  1074. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/print_errors.rs +0 -0
  1075. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ranges.rs +0 -0
  1076. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/remove_constant_phis.rs +0 -0
  1077. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/result.rs +0 -0
  1078. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/scoped_hash_map.rs +0 -0
  1079. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/settings.rs +0 -0
  1080. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/souper_harvest.rs +0 -0
  1081. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/timing.rs +0 -0
  1082. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/traversals.rs +0 -0
  1083. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unionfind.rs +0 -0
  1084. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unreachable_code.rs +0 -0
  1085. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/value_label.rs +0 -0
  1086. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/verifier/mod.rs +0 -0
  1087. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/LICENSE +0 -0
  1088. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/README.md +0 -0
  1089. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/formats.rs +0 -0
  1090. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/instructions.rs +0 -0
  1091. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/isa.rs +0 -0
  1092. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/mod.rs +0 -0
  1093. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/operands.rs +0 -0
  1094. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/settings.rs +0 -0
  1095. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/constant_hash.rs +0 -0
  1096. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/error.rs +0 -0
  1097. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_isle.rs +0 -0
  1098. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_settings.rs +0 -0
  1099. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_types.rs +0 -0
  1100. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/arm64.rs +0 -0
  1101. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/mod.rs +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/riscv64.rs +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/s390x.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/x86.rs +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isle.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/lib.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/entities.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/formats.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/immediates.rs +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/mod.rs +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/settings.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/srcgen.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/unique_table.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/LICENSE +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/README.md +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constant_hash.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constants.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/lib.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/LICENSE +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/README.md +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/chaos.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/lib.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/zero_sized.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/LICENSE +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/README.md +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/boxed_slice.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/iter.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/keys.rs +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/lib.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/list.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/map.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/packed_option.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/primary.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/sparse.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/unsigned.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/LICENSE +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/README.md +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/lib.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/ssa.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/switch.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/variable.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/README.md +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/build.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bad_converters.isle +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/error1.isle +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/extra_parens.isle +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_expression.isle +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_rhs.isle +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_prio.isle +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows.isle +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows_main.rs +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets.isle +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets_main.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor.isle +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor_main.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor.isle +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor_main.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test.isle +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test_main.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/bound_var.isle +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/construct_and_extract.isle +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions.isle +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions_extern.isle +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/let.isle +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/nodebug.isle +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test2.isle +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test3.isle +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test4.isle +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/tutorial.isle +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst.isle +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst_main.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing.isle +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing_main.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/ast.rs +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/compile.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/disjointsets.rs +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/error.rs +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lexer.rs +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lib.rs +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/log.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/overlap.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/serialize.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/stablemapset.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/tests/run_tests.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/LICENSE +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/README.md +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/src/riscv.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/LICENSE +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/README.md +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/dummy.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/mod.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/spec.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/func_translator.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/lib.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/module_translator.rs +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/state.rs +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/table.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/translation_utils.rs +0 -0
  1203. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/README.md +0 -0
  1204. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/clocks.rs +0 -0
  1205. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/lib.rs +0 -0
  1206. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/noop_scheduler.rs +0 -0
  1207. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/clocks.rs +0 -0
  1208. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/common/mod.rs +0 -0
  1209. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/random.rs +0 -0
  1210. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/scheduler.rs +0 -0
  1211. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/LICENSE +0 -0
  1212. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/README.md +0 -0
  1213. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/clocks.rs +0 -0
  1214. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/ctx.rs +0 -0
  1215. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/dir.rs +0 -0
  1216. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/error.rs +0 -0
  1217. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/file.rs +0 -0
  1218. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/lib.rs +0 -0
  1219. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/pipe.rs +0 -0
  1220. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/random.rs +0 -0
  1221. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched/subscription.rs +0 -0
  1222. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched.rs +0 -0
  1223. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/mod.rs +0 -0
  1224. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_0.rs +0 -0
  1225. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1/error.rs +0 -0
  1226. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1.rs +0 -0
  1227. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/string_array.rs +0 -0
  1228. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/clocks.rs +0 -0
  1229. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/dir.rs +0 -0
  1230. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/file.rs +0 -0
  1231. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/mod.rs +0 -0
  1232. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/net.rs +0 -0
  1233. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/unix.rs +0 -0
  1234. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/windows.rs +0 -0
  1235. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched.rs +0 -0
  1236. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/stdio.rs +0 -0
  1237. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/table.rs +0 -0
  1238. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/dir.rs +0 -0
  1239. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/file.rs +0 -0
  1240. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/net.rs +0 -0
  1241. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/unix.rs +0 -0
  1242. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/windows.rs +0 -0
  1243. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched.rs +0 -0
  1244. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/stdio.rs +0 -0
  1245. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/tests/all/main.rs +0 -0
  1246. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/typenames.witx +0 -0
  1247. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1248. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/typenames.witx +0 -0
  1249. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1250. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/LICENSE +0 -0
  1251. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/README.md +0 -0
  1252. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/aliases.rs +0 -0
  1253. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/builder.rs +0 -0
  1254. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/canonicals.rs +0 -0
  1255. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/components.rs +0 -0
  1256. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/exports.rs +0 -0
  1257. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/imports.rs +0 -0
  1258. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/instances.rs +0 -0
  1259. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/modules.rs +0 -0
  1260. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/names.rs +0 -0
  1261. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/start.rs +0 -0
  1262. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component.rs +0 -0
  1263. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/custom.rs +0 -0
  1264. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/data.rs +0 -0
  1265. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/dump.rs +0 -0
  1266. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/elements.rs +0 -0
  1267. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/functions.rs +0 -0
  1268. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/linking.rs +0 -0
  1269. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/names.rs +0 -0
  1270. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/producers.rs +0 -0
  1271. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/start.rs +0 -0
  1272. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core.rs +0 -0
  1273. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/raw.rs +0 -0
  1274. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/README.md +0 -0
  1275. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/benches/benchmark.rs +0 -0
  1276. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/examples/simple.rs +0 -0
  1277. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/hash.rs +0 -0
  1278. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/detail.rs +0 -0
  1279. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/tests.rs +0 -0
  1280. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map.rs +0 -0
  1281. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_set.rs +0 -0
  1282. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/map.rs +0 -0
  1283. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/mod.rs +0 -0
  1284. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/set.rs +0 -0
  1285. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/limits.rs +0 -0
  1286. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/aliases.rs +0 -0
  1287. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/canonicals.rs +0 -0
  1288. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/exports.rs +0 -0
  1289. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/imports.rs +0 -0
  1290. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/instances.rs +0 -0
  1291. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/names.rs +0 -0
  1292. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/start.rs +0 -0
  1293. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/types.rs +0 -0
  1294. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component.rs +0 -0
  1295. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/branch_hinting.rs +0 -0
  1296. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/code.rs +0 -0
  1297. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/coredumps.rs +0 -0
  1298. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/custom.rs +0 -0
  1299. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/data.rs +0 -0
  1300. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/dylink0.rs +0 -0
  1301. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/elements.rs +0 -0
  1302. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/exports.rs +0 -0
  1303. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/functions.rs +0 -0
  1304. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/globals.rs +0 -0
  1305. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/imports.rs +0 -0
  1306. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/init.rs +0 -0
  1307. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/linking.rs +0 -0
  1308. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/memories.rs +0 -0
  1309. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/names.rs +0 -0
  1310. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/producers.rs +0 -0
  1311. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/reloc.rs +0 -0
  1312. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/tags.rs +0 -0
  1313. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/types/matches.rs +0 -0
  1314. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core.rs +0 -0
  1315. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers.rs +0 -0
  1316. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/core/canonical.rs +0 -0
  1317. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/func.rs +0 -0
  1318. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/names.rs +0 -0
  1319. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/tests/big-module.rs +0 -0
  1320. /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/LICENSE +0 -0
  1321. /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/README.md +0 -0
  1322. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/LICENSE +0 -0
  1323. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/README.md +0 -0
  1324. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1325. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/code.rs +0 -0
  1326. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1327. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1328. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1329. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1330. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1331. /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
  1332. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1333. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/resource_table.rs +0 -0
  1334. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/storage.rs +0 -0
  1335. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/store.rs +0 -0
  1336. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/types.rs +0 -0
  1337. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/externals.rs +0 -0
  1338. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/anyref.rs +0 -0
  1339. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/externref.rs +0 -0
  1340. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/i31.rs +0 -0
  1341. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled.rs +0 -0
  1342. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/anyref.rs +0 -0
  1343. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/i31.rs +0 -0
  1344. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled.rs +0 -0
  1345. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/noextern.rs +0 -0
  1346. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc.rs +0 -0
  1347. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/resources.rs +0 -0
  1348. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/signatures.rs +0 -0
  1349. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/context.rs +0 -0
  1350. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/func_refs.rs +0 -0
  1351. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/trampoline/global.rs +0 -0
  1352. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/type_registry.rs +0 -0
  1353. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/uninhabited.rs +0 -0
  1354. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/unix.rs +0 -0
  1355. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/v128.rs +0 -0
  1356. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/aarch64.rs +0 -0
  1357. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/mod.rs +0 -0
  1358. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.S +0 -0
  1359. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.rs +0 -0
  1360. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/x86_64.rs +0 -0
  1361. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/async_yield.rs +0 -0
  1362. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/debug_builtins.rs +0 -0
  1363. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/export.rs +0 -0
  1364. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1365. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled.rs +0 -0
  1366. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/host_data.rs +0 -0
  1367. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/i31.rs +0 -0
  1368. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/helpers.c +0 -0
  1369. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/imports.rs +0 -0
  1370. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/mpk/pkru.rs +0 -0
  1371. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/store_box.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/capi.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/mod.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/mod.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/windows.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_nostd.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_std.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasmtime-asm-macros-22.0.0 → wasmtime-asm-macros-23.0.2}/src/lib.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/LICENSE +0 -0
  1396. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/build.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config/tests.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/lib.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/tests.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests/system_time_stub.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests.rs +0 -0
  1403. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker.rs +0 -0
  1404. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/tests/cache_write_default_config.rs +0 -0
  1405. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/build.rs +0 -0
  1406. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/component.rs +0 -0
  1407. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/lib.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/char.wit +0 -0
  1409. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/conventions.wit +0 -0
  1410. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/dead-code.wit +0 -0
  1411. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/direct-import.wit +0 -0
  1412. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/empty.wit +0 -0
  1413. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/flags.wit +0 -0
  1414. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/floats.wit +0 -0
  1415. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/function-new.wit +0 -0
  1416. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/integers.wit +0 -0
  1417. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/lists.wit +0 -0
  1418. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/many-arguments.wit +0 -0
  1419. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multi-return.wit +0 -0
  1420. /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
  1421. /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
  1422. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/root.wit +0 -0
  1423. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/records.wit +0 -0
  1424. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/rename.wit +0 -0
  1425. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-export.wit +0 -0
  1426. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-import.wit +0 -0
  1427. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/share-types.wit +0 -0
  1428. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-functions.wit +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-lists.wit +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-wasi.wit +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/small-anonymous.wit +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-default.wit +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-export.wit +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke.wit +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/strings.wit +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/unversioned-foo.wit +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/use-paths.wit +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/variants.wit +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/wat.wit +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/worlds-with-types.wit +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen_no_std.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/expanded.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-component-util-22.0.0 → wasmtime-component-util-23.0.2}/src/lib.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/LICENSE +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/SECURITY.md +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/builder.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiled_function.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiler/component.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/debug/transform/refs.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc/disabled.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/isa_builder.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/obj.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/LICENSE +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/examples/factc.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/address_map.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/builtin.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/address_map.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_artifacts.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_types.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/trap_encoding.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/artifacts.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/compiler.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/translate/adapt.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/types_builder/resources.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/vmcomponent_offsets.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/demangling.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/core_types.rs +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/signature.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/trampoline.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/transcode.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/traps.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/gc.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_artifacts.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_types.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/obj.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/ref_bits.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/scopevec.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/trap_encoding.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/LICENSE +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/build.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/lib.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/aarch64.rs +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/arm.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/riscv64.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/s390x.S +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86_64.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.c +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/README.md +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/gdb_jit_int.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/lib.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/perf_jitdump.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/lib.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/libc.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/miri.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/win.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-slab-22.0.0 → wasmtime-slab-23.0.2}/src/lib.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/LICENSE +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/src/error.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-22.0.0 → wasmtime-versioned-export-macros-23.0.2}/src/lib.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/LICENSE +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/README.md +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks/host.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ctx.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/error.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/clocks.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/env.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/exit.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/filesystem/sync.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/instance_network.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/mod.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/network.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/random.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp_create_socket.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp_create_socket.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ip_name_lookup.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/network.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/pipe.rs +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/poll.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/preview0.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/random.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/runtime.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stdio/worker_thread_stdin.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stream.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/tcp.rs +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/udp.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/write_stream.rs +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/main.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/preview1.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/process_stdin.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/command-extended.wit +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/command.wit +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/environment.wit +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/exit.wit +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/imports.wit +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/run.wit +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/stdio.wit +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/terminal.wit +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/wall-clock.wit +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/world.wit +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/preopens.wit +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/types.wit +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/world.wit +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/handler.wit +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/proxy.wit +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/types.wit +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/error.wit +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/poll.wit +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/streams.wit +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/world.wit +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure-seed.wit +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure.wit +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/random.wit +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/world.wit +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/instance-network.wit +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/network.wit +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp.wit +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp.wit +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/world.wit +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/test.wit +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/typenames.witx +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/typenames.witx +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/LICENSE +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/builder.rs +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/lib.rs +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/rust.rs +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/source.rs +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/types.rs +0 -0
  1582. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/README.md +0 -0
  1583. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/alias.rs +0 -0
  1584. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/custom.rs +0 -0
  1585. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/export.rs +0 -0
  1586. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/func.rs +0 -0
  1587. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/import.rs +0 -0
  1588. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/instance.rs +0 -0
  1589. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/item_ref.rs +0 -0
  1590. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/module.rs +0 -0
  1591. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/types.rs +0 -0
  1592. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/wast.rs +0 -0
  1593. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/custom.rs +0 -0
  1594. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/export.rs +0 -0
  1595. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/func.rs +0 -0
  1596. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/global.rs +0 -0
  1597. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/import.rs +0 -0
  1598. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/resolve/mod.rs +0 -0
  1599. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/tag.rs +0 -0
  1600. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/wast.rs +0 -0
  1601. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/encode.rs +0 -0
  1602. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/error.rs +0 -0
  1603. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/gensym.rs +0 -0
  1604. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/lexer.rs +0 -0
  1605. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/names.rs +0 -0
  1606. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/token.rs +0 -0
  1607. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/wast.rs +0 -0
  1608. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/annotations.rs +0 -0
  1609. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/comments.rs +0 -0
  1610. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  1611. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  1612. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  1613. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  1614. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat +0 -0
  1615. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  1616. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat +0 -0
  1617. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  1618. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  1619. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  1620. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  1621. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  1622. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat +0 -0
  1623. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat.err +0 -0
  1624. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat +0 -0
  1625. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat.err +0 -0
  1626. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat +0 -0
  1627. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat.err +0 -0
  1628. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  1629. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  1630. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  1631. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  1632. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  1633. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  1634. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  1635. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  1636. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  1637. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  1638. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  1639. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  1640. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  1641. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  1642. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  1643. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  1644. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  1645. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  1646. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  1647. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  1648. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  1649. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  1650. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  1651. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  1652. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  1653. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  1654. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  1655. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  1656. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  1657. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  1658. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  1659. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  1660. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  1661. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  1662. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  1663. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  1664. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  1665. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  1666. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  1667. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  1668. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  1669. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  1670. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  1671. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  1672. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  1673. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  1674. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  1675. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  1676. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  1677. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  1678. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  1679. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  1680. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  1681. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  1682. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat +0 -0
  1683. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  1684. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  1685. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  1686. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat +0 -0
  1687. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat.err +0 -0
  1688. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat +0 -0
  1689. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat.err +0 -0
  1690. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat +0 -0
  1691. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat.err +0 -0
  1692. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat +0 -0
  1693. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat.err +0 -0
  1694. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat +0 -0
  1695. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat.err +0 -0
  1696. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat +0 -0
  1697. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat.err +0 -0
  1698. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat +0 -0
  1699. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat.err +0 -0
  1700. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat +0 -0
  1701. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat.err +0 -0
  1702. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat +0 -0
  1703. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat.err +0 -0
  1704. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat +0 -0
  1705. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat.err +0 -0
  1706. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat +0 -0
  1707. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat.err +0 -0
  1708. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat +0 -0
  1709. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat.err +0 -0
  1710. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat +0 -0
  1711. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat.err +0 -0
  1712. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat +0 -0
  1713. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat.err +0 -0
  1714. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat +0 -0
  1715. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat.err +0 -0
  1716. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat +0 -0
  1717. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat.err +0 -0
  1718. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  1719. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  1720. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail.rs +0 -0
  1721. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/recursive.rs +0 -0
  1722. /data/ext/cargo-vendor/{wat-1.209.1 → wat-1.215.0}/README.md +0 -0
  1723. /data/ext/cargo-vendor/{wast-209.0.1 → wiggle-23.0.2}/LICENSE +0 -0
  1724. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/README.md +0 -0
  1725. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/error.rs +0 -0
  1726. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/guest_type.rs +0 -0
  1727. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/lib.rs +0 -0
  1728. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/region.rs +0 -0
  1729. /data/ext/cargo-vendor/{wat-1.209.1 → wiggle-generate-23.0.2}/LICENSE +0 -0
  1730. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/README.md +0 -0
  1731. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/codegen_settings.rs +0 -0
  1732. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/config.rs +0 -0
  1733. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/funcs.rs +0 -0
  1734. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lib.rs +0 -0
  1735. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lifetimes.rs +0 -0
  1736. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/module_trait.rs +0 -0
  1737. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/names.rs +0 -0
  1738. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/error.rs +0 -0
  1739. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/flags.rs +0 -0
  1740. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/handle.rs +0 -0
  1741. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/mod.rs +0 -0
  1742. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/record.rs +0 -0
  1743. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/variant.rs +0 -0
  1744. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/wasmtime.rs +0 -0
  1745. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-macro-23.0.2}/LICENSE +0 -0
  1746. /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/build.rs +0 -0
  1747. /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/src/lib.rs +0 -0
  1748. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/LICENSE +0 -0
  1749. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/build.rs +0 -0
  1750. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/local.rs +0 -0
  1751. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/mod.rs +0 -0
  1752. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/bounds.rs +0 -0
  1753. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/builtin.rs +0 -0
  1754. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/call.rs +0 -0
  1755. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/context.rs +0 -0
  1756. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/control.rs +0 -0
  1757. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/frame/mod.rs +0 -0
  1758. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/abi.rs +0 -0
  1759. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/address.rs +0 -0
  1760. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/asm.rs +0 -0
  1761. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/masm.rs +0 -0
  1762. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/mod.rs +0 -0
  1763. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/regs.rs +0 -0
  1764. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/mod.rs +0 -0
  1765. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/reg.rs +0 -0
  1766. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/abi.rs +0 -0
  1767. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/address.rs +0 -0
  1768. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/asm.rs +0 -0
  1769. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/masm.rs +0 -0
  1770. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/mod.rs +0 -0
  1771. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/regs.rs +0 -0
  1772. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/lib.rs +0 -0
  1773. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/masm.rs +0 -0
  1774. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regalloc.rs +0 -0
  1775. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regset.rs +0 -0
  1776. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/stack.rs +0 -0
  1777. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/README.md +0 -0
  1778. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/abi.rs +0 -0
  1779. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/ast/toposort.rs +0 -0
  1780. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/live.rs +0 -0
  1781. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/metadata.rs +0 -0
  1782. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/serde_.rs +0 -0
  1783. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/sizealign.rs +0 -0
  1784. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/all.rs +0 -0
  1785. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit +0 -0
  1786. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit.json +0 -0
  1787. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  1788. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  1789. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/root.wit +0 -0
  1790. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include.wit.json +0 -0
  1791. /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
  1792. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  1793. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource.wit.json +0 -0
  1794. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  1795. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  1796. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/join.wit +0 -0
  1797. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1.wit.json +0 -0
  1798. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  1799. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  1800. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  1801. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond.wit.json +0 -0
  1802. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit +0 -0
  1803. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit.json +0 -0
  1804. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/feature-gates.wit +0 -0
  1805. /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
  1806. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  1807. /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
  1808. /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
  1809. /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
  1810. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  1811. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  1812. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/root.wit +0 -0
  1813. /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
  1814. /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
  1815. /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
  1816. /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
  1817. /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
  1818. /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
  1819. /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
  1820. /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
  1821. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  1822. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union.wit.json +0 -0
  1823. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps.wit.json +0 -0
  1824. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit +0 -0
  1825. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit.json +0 -0
  1826. /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
  1827. /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
  1828. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  1829. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps.wit.json +0 -0
  1830. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit +0 -0
  1831. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  1832. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit +0 -0
  1833. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit.json +0 -0
  1834. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit +0 -0
  1835. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit.json +0 -0
  1836. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit +0 -0
  1837. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  1838. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  1839. /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
  1840. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  1841. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  1842. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1843. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps.wit.json +0 -0
  1844. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/a.wit +0 -0
  1845. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/b.wit +0 -0
  1846. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names.wit.json +0 -0
  1847. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/bar.wit +0 -0
  1848. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  1849. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  1850. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/foo.wit +0 -0
  1851. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file.wit.json +0 -0
  1852. /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
  1853. /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
  1854. /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
  1855. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit +0 -0
  1856. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit.json +0 -0
  1857. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit +0 -0
  1858. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit.json +0 -0
  1859. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit +0 -0
  1860. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit.json +0 -0
  1861. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1862. /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
  1863. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async.wit.result +0 -0
  1864. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  1865. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  1866. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  1867. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  1868. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  1869. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit +0 -0
  1870. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit.result +0 -0
  1871. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit +0 -0
  1872. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit.result +0 -0
  1873. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit +0 -0
  1874. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit.result +0 -0
  1875. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit +0 -0
  1876. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit.result +0 -0
  1877. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit +0 -0
  1878. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit.result +0 -0
  1879. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  1880. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  1881. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  1882. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  1883. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  1884. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  1885. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  1886. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1887. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  1888. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  1889. /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
  1890. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  1891. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  1892. /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
  1893. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  1894. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  1895. /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
  1896. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  1897. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  1898. /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
  1899. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  1900. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  1901. /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
  1902. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  1903. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  1904. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  1905. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  1906. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  1907. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  1908. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  1909. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  1910. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  1911. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  1912. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  1913. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  1914. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  1916. /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
  1917. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  1934. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  1935. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit +0 -0
  1936. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit.result +0 -0
  1937. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit +0 -0
  1938. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit.result +0 -0
  1939. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  1940. /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
  1941. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  1942. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  1943. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package.wit.result +0 -0
  1944. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit +0 -0
  1945. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  1946. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  1947. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  1948. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  1949. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  1950. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  1951. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  1952. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  1953. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  1954. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1955. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1956. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  1957. /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
  1958. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  1959. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  1960. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  1961. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  1962. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  1963. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  1964. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  1965. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  1966. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  1967. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  1968. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  1969. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  1970. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  1971. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  1972. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  1973. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  1974. /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
  1975. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  1976. /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
  1977. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  1978. /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
  1979. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  1980. /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
  1981. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  1982. /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
  1983. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  1984. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  1985. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  1986. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  1987. /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
  1988. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  1989. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  1990. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  1991. /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
  1992. /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
  1993. /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
  1994. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1995. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1996. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  1997. /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
  1998. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  1999. /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
  2000. /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
  2001. /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
  2002. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2003. /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
  2004. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit +0 -0
  2005. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2006. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  2007. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2008. /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
  2009. /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
  2010. /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
  2011. /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
  2012. /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
  2013. /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
  2014. /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
  2015. /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
  2016. /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
  2017. /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
  2018. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2019. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2020. /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
  2021. /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
  2022. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2023. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2024. /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
  2025. /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
  2026. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  2027. /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
  2028. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  2029. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit.result +0 -0
  2030. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  2031. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit.result +0 -0
  2032. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  2033. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  2034. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  2035. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  2036. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  2037. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  2038. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  2039. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit.result +0 -0
  2040. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit.result +0 -0
  2042. /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
  2043. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  2044. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8.wit.result +0 -0
  2045. /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
  2046. /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
  2047. /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
  2048. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2049. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2050. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2051. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2052. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2053. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2054. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2055. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2056. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2057. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2058. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2059. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2060. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2061. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2062. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2063. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2064. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2065. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2066. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2067. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2068. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2069. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2070. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2071. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2072. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2073. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2074. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2075. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2076. /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
  2077. /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
  2078. /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
  2079. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2080. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2081. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2082. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2083. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2084. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2085. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2086. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2087. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2088. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2089. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2090. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2091. /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
  2092. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2093. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2094. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2095. /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
  2096. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2097. /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
  2098. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2099. /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
  2100. /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
  2101. /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
  2102. /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
  2103. /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
  2104. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit +0 -0
  2105. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit.json +0 -0
  2106. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit +0 -0
  2107. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit.json +0 -0
  2108. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2109. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2110. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit +0 -0
  2111. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit.json +0 -0
  2112. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit +0 -0
  2113. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit.json +0 -0
  2114. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit +0 -0
  2115. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit.json +0 -0
  2116. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit +0 -0
  2117. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit.json +0 -0
  2118. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit +0 -0
  2119. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2120. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit +0 -0
  2121. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit.json +0 -0
  2122. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wat +0 -0
  2123. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2124. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/since-and-unstable.wit +0 -0
  2125. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2126. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit.json +0 -0
  2127. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit +0 -0
  2128. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit.json +0 -0
  2129. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit +0 -0
  2130. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit.json +0 -0
  2131. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit +0 -0
  2132. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2133. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit +0 -0
  2134. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2135. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit +0 -0
  2136. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit.json +0 -0
  2137. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit +0 -0
  2138. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit.json +0 -0
  2139. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2140. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2141. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/foo.wit +0 -0
  2142. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions.wit.json +0 -0
  2143. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit +0 -0
  2144. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit.json +0 -0
  2145. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit.json +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit.json +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit.json +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit.json +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit.json +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit.json +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit.json +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit.json +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit +0 -0
  2164. /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,2902 @@
1
+ use crate::prelude::*;
2
+ use alloc::sync::Arc;
3
+ use core::fmt;
4
+ use core::str::FromStr;
5
+ use hashbrown::{HashMap, HashSet};
6
+ use serde_derive::{Deserialize, Serialize};
7
+ #[cfg(any(feature = "cache", feature = "cranelift", feature = "winch"))]
8
+ use std::path::Path;
9
+ use target_lexicon::Architecture;
10
+ use wasmparser::WasmFeatures;
11
+ #[cfg(feature = "cache")]
12
+ use wasmtime_cache::CacheConfig;
13
+ use wasmtime_environ::Tunables;
14
+
15
+ #[cfg(feature = "runtime")]
16
+ use crate::memory::MemoryCreator;
17
+ #[cfg(feature = "runtime")]
18
+ use crate::profiling_agent::{self, ProfilingAgent};
19
+ #[cfg(feature = "runtime")]
20
+ use crate::runtime::vm::{
21
+ GcRuntime, InstanceAllocator, OnDemandInstanceAllocator, RuntimeMemoryCreator,
22
+ };
23
+ #[cfg(feature = "runtime")]
24
+ use crate::trampoline::MemoryCreatorProxy;
25
+
26
+ #[cfg(feature = "async")]
27
+ use crate::stack::{StackCreator, StackCreatorProxy};
28
+ #[cfg(feature = "async")]
29
+ use wasmtime_fiber::RuntimeFiberStackCreator;
30
+
31
+ #[cfg(feature = "pooling-allocator")]
32
+ pub use crate::runtime::vm::MpkEnabled;
33
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
34
+ pub use wasmtime_environ::CacheStore;
35
+
36
+ /// Represents the module instance allocation strategy to use.
37
+ #[derive(Clone)]
38
+ pub enum InstanceAllocationStrategy {
39
+ /// The on-demand instance allocation strategy.
40
+ ///
41
+ /// Resources related to a module instance are allocated at instantiation time and
42
+ /// immediately deallocated when the `Store` referencing the instance is dropped.
43
+ ///
44
+ /// This is the default allocation strategy for Wasmtime.
45
+ OnDemand,
46
+ /// The pooling instance allocation strategy.
47
+ ///
48
+ /// A pool of resources is created in advance and module instantiation reuses resources
49
+ /// from the pool. Resources are returned to the pool when the `Store` referencing the instance
50
+ /// is dropped.
51
+ #[cfg(feature = "pooling-allocator")]
52
+ Pooling(PoolingAllocationConfig),
53
+ }
54
+
55
+ impl InstanceAllocationStrategy {
56
+ /// The default pooling instance allocation strategy.
57
+ #[cfg(feature = "pooling-allocator")]
58
+ pub fn pooling() -> Self {
59
+ Self::Pooling(Default::default())
60
+ }
61
+ }
62
+
63
+ impl Default for InstanceAllocationStrategy {
64
+ fn default() -> Self {
65
+ Self::OnDemand
66
+ }
67
+ }
68
+
69
+ #[derive(Clone)]
70
+ /// Configure the strategy used for versioning in serializing and deserializing [`crate::Module`].
71
+ pub enum ModuleVersionStrategy {
72
+ /// Use the wasmtime crate's Cargo package version.
73
+ WasmtimeVersion,
74
+ /// Use a custom version string. Must be at most 255 bytes.
75
+ Custom(String),
76
+ /// Emit no version string in serialization, and accept all version strings in deserialization.
77
+ None,
78
+ }
79
+
80
+ impl Default for ModuleVersionStrategy {
81
+ fn default() -> Self {
82
+ ModuleVersionStrategy::WasmtimeVersion
83
+ }
84
+ }
85
+
86
+ impl core::hash::Hash for ModuleVersionStrategy {
87
+ fn hash<H: core::hash::Hasher>(&self, hasher: &mut H) {
88
+ match self {
89
+ Self::WasmtimeVersion => env!("CARGO_PKG_VERSION").hash(hasher),
90
+ Self::Custom(s) => s.hash(hasher),
91
+ Self::None => {}
92
+ };
93
+ }
94
+ }
95
+
96
+ /// Global configuration options used to create an [`Engine`](crate::Engine)
97
+ /// and customize its behavior.
98
+ ///
99
+ /// This structure exposed a builder-like interface and is primarily consumed by
100
+ /// [`Engine::new()`](crate::Engine::new).
101
+ ///
102
+ /// The validation of `Config` is deferred until the engine is being built, thus
103
+ /// a problematic config may cause `Engine::new` to fail.
104
+ #[derive(Clone)]
105
+ pub struct Config {
106
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
107
+ compiler_config: CompilerConfig,
108
+ profiling_strategy: ProfilingStrategy,
109
+ tunables: ConfigTunables,
110
+
111
+ #[cfg(feature = "cache")]
112
+ pub(crate) cache_config: CacheConfig,
113
+ #[cfg(feature = "runtime")]
114
+ pub(crate) mem_creator: Option<Arc<dyn RuntimeMemoryCreator>>,
115
+ pub(crate) allocation_strategy: InstanceAllocationStrategy,
116
+ pub(crate) max_wasm_stack: usize,
117
+ pub(crate) features: WasmFeatures,
118
+ pub(crate) wasm_backtrace: bool,
119
+ pub(crate) wasm_backtrace_details_env_used: bool,
120
+ pub(crate) native_unwind_info: Option<bool>,
121
+ #[cfg(feature = "async")]
122
+ pub(crate) async_stack_size: usize,
123
+ #[cfg(feature = "async")]
124
+ pub(crate) stack_creator: Option<Arc<dyn RuntimeFiberStackCreator>>,
125
+ pub(crate) async_support: bool,
126
+ pub(crate) module_version: ModuleVersionStrategy,
127
+ pub(crate) parallel_compilation: bool,
128
+ pub(crate) memory_init_cow: bool,
129
+ pub(crate) memory_guaranteed_dense_image_size: u64,
130
+ pub(crate) force_memory_init_memfd: bool,
131
+ pub(crate) wmemcheck: bool,
132
+ pub(crate) coredump_on_trap: bool,
133
+ pub(crate) macos_use_mach_ports: bool,
134
+ pub(crate) detect_host_feature: Option<fn(&str) -> Option<bool>>,
135
+ }
136
+
137
+ #[derive(Default, Clone)]
138
+ struct ConfigTunables {
139
+ static_memory_reservation: Option<u64>,
140
+ static_memory_offset_guard_size: Option<u64>,
141
+ dynamic_memory_offset_guard_size: Option<u64>,
142
+ dynamic_memory_growth_reserve: Option<u64>,
143
+ generate_native_debuginfo: Option<bool>,
144
+ parse_wasm_debuginfo: Option<bool>,
145
+ consume_fuel: Option<bool>,
146
+ epoch_interruption: Option<bool>,
147
+ static_memory_bound_is_maximum: Option<bool>,
148
+ guard_before_linear_memory: Option<bool>,
149
+ table_lazy_init: Option<bool>,
150
+ generate_address_map: Option<bool>,
151
+ debug_adapter_modules: Option<bool>,
152
+ relaxed_simd_deterministic: Option<bool>,
153
+ tail_callable: Option<bool>,
154
+ }
155
+
156
+ /// User-provided configuration for the compiler.
157
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
158
+ #[derive(Debug, Clone)]
159
+ struct CompilerConfig {
160
+ strategy: Option<Strategy>,
161
+ target: Option<target_lexicon::Triple>,
162
+ settings: HashMap<String, String>,
163
+ flags: HashSet<String>,
164
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
165
+ cache_store: Option<Arc<dyn CacheStore>>,
166
+ clif_dir: Option<std::path::PathBuf>,
167
+ wmemcheck: bool,
168
+ }
169
+
170
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
171
+ impl CompilerConfig {
172
+ fn new() -> Self {
173
+ Self {
174
+ strategy: Strategy::Auto.not_auto(),
175
+ target: None,
176
+ settings: HashMap::new(),
177
+ flags: HashSet::new(),
178
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
179
+ cache_store: None,
180
+ clif_dir: None,
181
+ wmemcheck: false,
182
+ }
183
+ }
184
+
185
+ /// Ensures that the key is not set or equals to the given value.
186
+ /// If the key is not set, it will be set to the given value.
187
+ ///
188
+ /// # Returns
189
+ ///
190
+ /// Returns true if successfully set or already had the given setting
191
+ /// value, or false if the setting was explicitly set to something
192
+ /// else previously.
193
+ fn ensure_setting_unset_or_given(&mut self, k: &str, v: &str) -> bool {
194
+ if let Some(value) = self.settings.get(k) {
195
+ if value != v {
196
+ return false;
197
+ }
198
+ } else {
199
+ self.settings.insert(k.to_string(), v.to_string());
200
+ }
201
+ true
202
+ }
203
+ }
204
+
205
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
206
+ impl Default for CompilerConfig {
207
+ fn default() -> Self {
208
+ Self::new()
209
+ }
210
+ }
211
+
212
+ impl Config {
213
+ /// Creates a new configuration object with the default configuration
214
+ /// specified.
215
+ pub fn new() -> Self {
216
+ let mut ret = Self {
217
+ tunables: ConfigTunables::default(),
218
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
219
+ compiler_config: CompilerConfig::default(),
220
+ #[cfg(feature = "cache")]
221
+ cache_config: CacheConfig::new_cache_disabled(),
222
+ profiling_strategy: ProfilingStrategy::None,
223
+ #[cfg(feature = "runtime")]
224
+ mem_creator: None,
225
+ allocation_strategy: InstanceAllocationStrategy::OnDemand,
226
+ // 512k of stack -- note that this is chosen currently to not be too
227
+ // big, not be too small, and be a good default for most platforms.
228
+ // One platform of particular note is Windows where the stack size
229
+ // of the main thread seems to, by default, be smaller than that of
230
+ // Linux and macOS. This 512k value at least lets our current test
231
+ // suite pass on the main thread of Windows (using `--test-threads
232
+ // 1` forces this), or at least it passed when this change was
233
+ // committed.
234
+ max_wasm_stack: 512 * 1024,
235
+ wasm_backtrace: true,
236
+ wasm_backtrace_details_env_used: false,
237
+ native_unwind_info: None,
238
+ features: WasmFeatures::default(),
239
+ #[cfg(feature = "async")]
240
+ async_stack_size: 2 << 20,
241
+ #[cfg(feature = "async")]
242
+ stack_creator: None,
243
+ async_support: false,
244
+ module_version: ModuleVersionStrategy::default(),
245
+ parallel_compilation: !cfg!(miri),
246
+ memory_init_cow: true,
247
+ memory_guaranteed_dense_image_size: 16 << 20,
248
+ force_memory_init_memfd: false,
249
+ wmemcheck: false,
250
+ coredump_on_trap: false,
251
+ macos_use_mach_ports: !cfg!(miri),
252
+ #[cfg(feature = "std")]
253
+ detect_host_feature: Some(detect_host_feature),
254
+ #[cfg(not(feature = "std"))]
255
+ detect_host_feature: None,
256
+ };
257
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
258
+ {
259
+ ret.cranelift_debug_verifier(false);
260
+ ret.cranelift_opt_level(OptLevel::Speed);
261
+ }
262
+
263
+ // Not yet implemented in Wasmtime
264
+ ret.features.set(WasmFeatures::EXTENDED_CONST, false);
265
+
266
+ // Conditionally enabled features depending on compile-time crate
267
+ // features. Note that if these features are disabled then `Config` has
268
+ // no way of re-enabling them.
269
+ ret.features
270
+ .set(WasmFeatures::REFERENCE_TYPES, cfg!(feature = "gc"));
271
+ ret.features
272
+ .set(WasmFeatures::THREADS, cfg!(feature = "threads"));
273
+ ret.features.set(
274
+ WasmFeatures::COMPONENT_MODEL,
275
+ cfg!(feature = "component-model"),
276
+ );
277
+
278
+ // If GC is disabled at compile time also disable it in features
279
+ // forcibly irrespective of `wasmparser` defaults. Note that these also
280
+ // aren't yet fully implemented in Wasmtime.
281
+ if !cfg!(feature = "gc") {
282
+ ret.features.set(WasmFeatures::FUNCTION_REFERENCES, false);
283
+ ret.features.set(WasmFeatures::GC, false);
284
+ }
285
+
286
+ ret.wasm_multi_value(true);
287
+ ret.wasm_bulk_memory(true);
288
+ ret.wasm_simd(true);
289
+ ret.wasm_backtrace_details(WasmBacktraceDetails::Environment);
290
+
291
+ // This is on-by-default in `wasmparser` since it's a stage 4+ proposal
292
+ // but it's not implemented in Wasmtime yet so disable it.
293
+ ret.features.set(WasmFeatures::TAIL_CALL, false);
294
+
295
+ ret
296
+ }
297
+
298
+ /// Sets the target triple for the [`Config`].
299
+ ///
300
+ /// By default, the host target triple is used for the [`Config`].
301
+ ///
302
+ /// This method can be used to change the target triple.
303
+ ///
304
+ /// Cranelift flags will not be inferred for the given target and any
305
+ /// existing target-specific Cranelift flags will be cleared.
306
+ ///
307
+ /// # Errors
308
+ ///
309
+ /// This method will error if the given target triple is not supported.
310
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
311
+ pub fn target(&mut self, target: &str) -> Result<&mut Self> {
312
+ self.compiler_config.target =
313
+ Some(target_lexicon::Triple::from_str(target).map_err(|e| anyhow::anyhow!(e))?);
314
+
315
+ Ok(self)
316
+ }
317
+
318
+ /// Enables the incremental compilation cache in Cranelift, using the provided `CacheStore`
319
+ /// backend for storage.
320
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
321
+ pub fn enable_incremental_compilation(
322
+ &mut self,
323
+ cache_store: Arc<dyn CacheStore>,
324
+ ) -> Result<&mut Self> {
325
+ self.compiler_config.cache_store = Some(cache_store);
326
+ Ok(self)
327
+ }
328
+
329
+ /// Whether or not to enable support for asynchronous functions in Wasmtime.
330
+ ///
331
+ /// When enabled, the config can optionally define host functions with `async`.
332
+ /// Instances created and functions called with this `Config` *must* be called
333
+ /// through their asynchronous APIs, however. For example using
334
+ /// [`Func::call`](crate::Func::call) will panic when used with this config.
335
+ ///
336
+ /// # Asynchronous Wasm
337
+ ///
338
+ /// WebAssembly does not currently have a way to specify at the bytecode
339
+ /// level what is and isn't async. Host-defined functions, however, may be
340
+ /// defined as `async`. WebAssembly imports always appear synchronous, which
341
+ /// gives rise to a bit of an impedance mismatch here. To solve this
342
+ /// Wasmtime supports "asynchronous configs" which enables calling these
343
+ /// asynchronous functions in a way that looks synchronous to the executing
344
+ /// WebAssembly code.
345
+ ///
346
+ /// An asynchronous config must always invoke wasm code asynchronously,
347
+ /// meaning we'll always represent its computation as a
348
+ /// [`Future`](std::future::Future). The `poll` method of the futures
349
+ /// returned by Wasmtime will perform the actual work of calling the
350
+ /// WebAssembly. Wasmtime won't manage its own thread pools or similar,
351
+ /// that's left up to the embedder.
352
+ ///
353
+ /// To implement futures in a way that WebAssembly sees asynchronous host
354
+ /// functions as synchronous, all async Wasmtime futures will execute on a
355
+ /// separately allocated native stack from the thread otherwise executing
356
+ /// Wasmtime. This separate native stack can then be switched to and from.
357
+ /// Using this whenever an `async` host function returns a future that
358
+ /// resolves to `Pending` we switch away from the temporary stack back to
359
+ /// the main stack and propagate the `Pending` status.
360
+ ///
361
+ /// In general it's encouraged that the integration with `async` and
362
+ /// wasmtime is designed early on in your embedding of Wasmtime to ensure
363
+ /// that it's planned that WebAssembly executes in the right context of your
364
+ /// application.
365
+ ///
366
+ /// # Execution in `poll`
367
+ ///
368
+ /// The [`Future::poll`](std::future::Future::poll) method is the main
369
+ /// driving force behind Rust's futures. That method's own documentation
370
+ /// states "an implementation of `poll` should strive to return quickly, and
371
+ /// should not block". This, however, can be at odds with executing
372
+ /// WebAssembly code as part of the `poll` method itself. If your
373
+ /// WebAssembly is untrusted then this could allow the `poll` method to take
374
+ /// arbitrarily long in the worst case, likely blocking all other
375
+ /// asynchronous tasks.
376
+ ///
377
+ /// To remedy this situation you have a a few possible ways to solve this:
378
+ ///
379
+ /// * The most efficient solution is to enable
380
+ /// [`Config::epoch_interruption`] in conjunction with
381
+ /// [`crate::Store::epoch_deadline_async_yield_and_update`]. Coupled with
382
+ /// periodic calls to [`crate::Engine::increment_epoch`] this will cause
383
+ /// executing WebAssembly to periodically yield back according to the
384
+ /// epoch configuration settings. This enables `Future::poll` to take at
385
+ /// most a certain amount of time according to epoch configuration
386
+ /// settings and when increments happen. The benefit of this approach is
387
+ /// that the instrumentation in compiled code is quite lightweight, but a
388
+ /// downside can be that the scheduling is somewhat nondeterministic since
389
+ /// increments are usually timer-based which are not always deterministic.
390
+ ///
391
+ /// Note that to prevent infinite execution of wasm it's recommended to
392
+ /// place a timeout on the entire future representing executing wasm code
393
+ /// and the periodic yields with epochs should ensure that when the
394
+ /// timeout is reached it's appropriately recognized.
395
+ ///
396
+ /// * Alternatively you can enable the
397
+ /// [`Config::consume_fuel`](crate::Config::consume_fuel) method as well
398
+ /// as [`crate::Store::fuel_async_yield_interval`] When doing so this will
399
+ /// configure Wasmtime futures to yield periodically while they're
400
+ /// executing WebAssembly code. After consuming the specified amount of
401
+ /// fuel wasm futures will return `Poll::Pending` from their `poll`
402
+ /// method, and will get automatically re-polled later. This enables the
403
+ /// `Future::poll` method to take roughly a fixed amount of time since
404
+ /// fuel is guaranteed to get consumed while wasm is executing. Unlike
405
+ /// epoch-based preemption this is deterministic since wasm always
406
+ /// consumes a fixed amount of fuel per-operation. The downside of this
407
+ /// approach, however, is that the compiled code instrumentation is
408
+ /// significantly more expensive than epoch checks.
409
+ ///
410
+ /// Note that to prevent infinite execution of wasm it's recommended to
411
+ /// place a timeout on the entire future representing executing wasm code
412
+ /// and the periodic yields with epochs should ensure that when the
413
+ /// timeout is reached it's appropriately recognized.
414
+ ///
415
+ /// In all cases special care needs to be taken when integrating
416
+ /// asynchronous wasm into your application. You should carefully plan where
417
+ /// WebAssembly will execute and what compute resources will be allotted to
418
+ /// it. If Wasmtime doesn't support exactly what you'd like just yet, please
419
+ /// feel free to open an issue!
420
+ #[cfg(feature = "async")]
421
+ pub fn async_support(&mut self, enable: bool) -> &mut Self {
422
+ self.async_support = enable;
423
+ self
424
+ }
425
+
426
+ /// Configures whether DWARF debug information will be emitted during
427
+ /// compilation.
428
+ ///
429
+ /// Note that the `debug-builtins` compile-time Cargo feature must also be
430
+ /// enabled for native debuggers such as GDB or LLDB to be able to debug
431
+ /// guest WebAssembly programs.
432
+ ///
433
+ /// By default this option is `false`.
434
+ pub fn debug_info(&mut self, enable: bool) -> &mut Self {
435
+ self.tunables.generate_native_debuginfo = Some(enable);
436
+ self
437
+ }
438
+
439
+ /// Configures whether [`WasmBacktrace`] will be present in the context of
440
+ /// errors returned from Wasmtime.
441
+ ///
442
+ /// A backtrace may be collected whenever an error is returned from a host
443
+ /// function call through to WebAssembly or when WebAssembly itself hits a
444
+ /// trap condition, such as an out-of-bounds memory access. This flag
445
+ /// indicates, in these conditions, whether the backtrace is collected or
446
+ /// not.
447
+ ///
448
+ /// Currently wasm backtraces are implemented through frame pointer walking.
449
+ /// This means that collecting a backtrace is expected to be a fast and
450
+ /// relatively cheap operation. Additionally backtrace collection is
451
+ /// suitable in concurrent environments since one thread capturing a
452
+ /// backtrace won't block other threads.
453
+ ///
454
+ /// Collected backtraces are attached via [`anyhow::Error::context`] to
455
+ /// errors returned from host functions. The [`WasmBacktrace`] type can be
456
+ /// acquired via [`anyhow::Error::downcast_ref`] to inspect the backtrace.
457
+ /// When this option is disabled then this context is never applied to
458
+ /// errors coming out of wasm.
459
+ ///
460
+ /// This option is `true` by default.
461
+ ///
462
+ /// [`WasmBacktrace`]: crate::WasmBacktrace
463
+ pub fn wasm_backtrace(&mut self, enable: bool) -> &mut Self {
464
+ self.wasm_backtrace = enable;
465
+ self
466
+ }
467
+
468
+ /// Configures whether backtraces in `Trap` will parse debug info in the wasm file to
469
+ /// have filename/line number information.
470
+ ///
471
+ /// When enabled this will causes modules to retain debugging information
472
+ /// found in wasm binaries. This debug information will be used when a trap
473
+ /// happens to symbolicate each stack frame and attempt to print a
474
+ /// filename/line number for each wasm frame in the stack trace.
475
+ ///
476
+ /// By default this option is `WasmBacktraceDetails::Environment`, meaning
477
+ /// that wasm will read `WASMTIME_BACKTRACE_DETAILS` to indicate whether
478
+ /// details should be parsed. Note that the `std` feature of this crate must
479
+ /// be active to read environment variables, otherwise this is disabled by
480
+ /// default.
481
+ pub fn wasm_backtrace_details(&mut self, enable: WasmBacktraceDetails) -> &mut Self {
482
+ self.wasm_backtrace_details_env_used = false;
483
+ self.tunables.parse_wasm_debuginfo = match enable {
484
+ WasmBacktraceDetails::Enable => Some(true),
485
+ WasmBacktraceDetails::Disable => Some(false),
486
+ WasmBacktraceDetails::Environment => {
487
+ self.wasm_backtrace_details_env_used = true;
488
+ #[cfg(feature = "std")]
489
+ {
490
+ std::env::var("WASMTIME_BACKTRACE_DETAILS")
491
+ .map(|s| Some(s == "1"))
492
+ .unwrap_or(Some(false))
493
+ }
494
+ #[cfg(not(feature = "std"))]
495
+ {
496
+ Some(false)
497
+ }
498
+ }
499
+ };
500
+ self
501
+ }
502
+
503
+ /// Configures whether to generate native unwind information
504
+ /// (e.g. `.eh_frame` on Linux).
505
+ ///
506
+ /// This configuration option only exists to help third-party stack
507
+ /// capturing mechanisms, such as the system's unwinder or the `backtrace`
508
+ /// crate, determine how to unwind through Wasm frames. It does not affect
509
+ /// whether Wasmtime can capture Wasm backtraces or not. The presence of
510
+ /// [`WasmBacktrace`] is controlled by the [`Config::wasm_backtrace`]
511
+ /// option.
512
+ ///
513
+ /// Native unwind information is included:
514
+ /// - When targeting Windows, since the Windows ABI requires it.
515
+ /// - By default.
516
+ ///
517
+ /// [`WasmBacktrace`]: crate::WasmBacktrace
518
+ pub fn native_unwind_info(&mut self, enable: bool) -> &mut Self {
519
+ self.native_unwind_info = Some(enable);
520
+ self
521
+ }
522
+
523
+ /// Configures whether execution of WebAssembly will "consume fuel" to
524
+ /// either halt or yield execution as desired.
525
+ ///
526
+ /// This can be used to deterministically prevent infinitely-executing
527
+ /// WebAssembly code by instrumenting generated code to consume fuel as it
528
+ /// executes. When fuel runs out a trap is raised, however [`Store`] can be
529
+ /// configured to yield execution periodically via
530
+ /// [`crate::Store::fuel_async_yield_interval`].
531
+ ///
532
+ /// Note that a [`Store`] starts with no fuel, so if you enable this option
533
+ /// you'll have to be sure to pour some fuel into [`Store`] before
534
+ /// executing some code.
535
+ ///
536
+ /// By default this option is `false`.
537
+ ///
538
+ /// [`Store`]: crate::Store
539
+ pub fn consume_fuel(&mut self, enable: bool) -> &mut Self {
540
+ self.tunables.consume_fuel = Some(enable);
541
+ self
542
+ }
543
+
544
+ /// Enables epoch-based interruption.
545
+ ///
546
+ /// When executing code in async mode, we sometimes want to
547
+ /// implement a form of cooperative timeslicing: long-running Wasm
548
+ /// guest code should periodically yield to the executor
549
+ /// loop. This yielding could be implemented by using "fuel" (see
550
+ /// [`consume_fuel`](Config::consume_fuel)). However, fuel
551
+ /// instrumentation is somewhat expensive: it modifies the
552
+ /// compiled form of the Wasm code so that it maintains a precise
553
+ /// instruction count, frequently checking this count against the
554
+ /// remaining fuel. If one does not need this precise count or
555
+ /// deterministic interruptions, and only needs a periodic
556
+ /// interrupt of some form, then It would be better to have a more
557
+ /// lightweight mechanism.
558
+ ///
559
+ /// Epoch-based interruption is that mechanism. There is a global
560
+ /// "epoch", which is a counter that divides time into arbitrary
561
+ /// periods (or epochs). This counter lives on the
562
+ /// [`Engine`](crate::Engine) and can be incremented by calling
563
+ /// [`Engine::increment_epoch`](crate::Engine::increment_epoch).
564
+ /// Epoch-based instrumentation works by setting a "deadline
565
+ /// epoch". The compiled code knows the deadline, and at certain
566
+ /// points, checks the current epoch against that deadline. It
567
+ /// will yield if the deadline has been reached.
568
+ ///
569
+ /// The idea is that checking an infrequently-changing counter is
570
+ /// cheaper than counting and frequently storing a precise metric
571
+ /// (instructions executed) locally. The interruptions are not
572
+ /// deterministic, but if the embedder increments the epoch in a
573
+ /// periodic way (say, every regular timer tick by a thread or
574
+ /// signal handler), then we can ensure that all async code will
575
+ /// yield to the executor within a bounded time.
576
+ ///
577
+ /// The deadline check cannot be avoided by malicious wasm code. It is safe
578
+ /// to use epoch deadlines to limit the execution time of untrusted
579
+ /// code.
580
+ ///
581
+ /// The [`Store`](crate::Store) tracks the deadline, and controls
582
+ /// what happens when the deadline is reached during
583
+ /// execution. Several behaviors are possible:
584
+ ///
585
+ /// - Trap if code is executing when the epoch deadline is
586
+ /// met. See
587
+ /// [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap).
588
+ ///
589
+ /// - Call an arbitrary function. This function may chose to trap or
590
+ /// increment the epoch. See
591
+ /// [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback).
592
+ ///
593
+ /// - Yield to the executor loop, then resume when the future is
594
+ /// next polled. See
595
+ /// [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update).
596
+ ///
597
+ /// Trapping is the default. The yielding behaviour may be used for
598
+ /// the timeslicing behavior described above.
599
+ ///
600
+ /// This feature is available with or without async support.
601
+ /// However, without async support, the timeslicing behaviour is
602
+ /// not available. This means epoch-based interruption can only
603
+ /// serve as a simple external-interruption mechanism.
604
+ ///
605
+ /// An initial deadline must be set before executing code by calling
606
+ /// [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline). If this
607
+ /// deadline is not configured then wasm will immediately trap.
608
+ ///
609
+ /// ## When to use fuel vs. epochs
610
+ ///
611
+ /// In general, epoch-based interruption results in faster
612
+ /// execution. This difference is sometimes significant: in some
613
+ /// measurements, up to 2-3x. This is because epoch-based
614
+ /// interruption does less work: it only watches for a global
615
+ /// rarely-changing counter to increment, rather than keeping a
616
+ /// local frequently-changing counter and comparing it to a
617
+ /// deadline.
618
+ ///
619
+ /// Fuel, in contrast, should be used when *deterministic*
620
+ /// yielding or trapping is needed. For example, if it is required
621
+ /// that the same function call with the same starting state will
622
+ /// always either complete or trap with an out-of-fuel error,
623
+ /// deterministically, then fuel with a fixed bound should be
624
+ /// used.
625
+ ///
626
+ /// # See Also
627
+ ///
628
+ /// - [`Engine::increment_epoch`](crate::Engine::increment_epoch)
629
+ /// - [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline)
630
+ /// - [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap)
631
+ /// - [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback)
632
+ /// - [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update)
633
+ pub fn epoch_interruption(&mut self, enable: bool) -> &mut Self {
634
+ self.tunables.epoch_interruption = Some(enable);
635
+ self
636
+ }
637
+
638
+ /// Configures the maximum amount of stack space available for
639
+ /// executing WebAssembly code.
640
+ ///
641
+ /// WebAssembly has well-defined semantics on stack overflow. This is
642
+ /// intended to be a knob which can help configure how much stack space
643
+ /// wasm execution is allowed to consume. Note that the number here is not
644
+ /// super-precise, but rather wasm will take at most "pretty close to this
645
+ /// much" stack space.
646
+ ///
647
+ /// If a wasm call (or series of nested wasm calls) take more stack space
648
+ /// than the `size` specified then a stack overflow trap will be raised.
649
+ ///
650
+ /// Caveat: this knob only limits the stack space consumed by wasm code.
651
+ /// More importantly, it does not ensure that this much stack space is
652
+ /// available on the calling thread stack. Exhausting the thread stack
653
+ /// typically leads to an **abort** of the process.
654
+ ///
655
+ /// Here are some examples of how that could happen:
656
+ ///
657
+ /// - Let's assume this option is set to 2 MiB and then a thread that has
658
+ /// a stack with 512 KiB left.
659
+ ///
660
+ /// If wasm code consumes more than 512 KiB then the process will be aborted.
661
+ ///
662
+ /// - Assuming the same conditions, but this time wasm code does not consume
663
+ /// any stack but calls into a host function. The host function consumes
664
+ /// more than 512 KiB of stack space. The process will be aborted.
665
+ ///
666
+ /// There's another gotcha related to recursive calling into wasm: the stack
667
+ /// space consumed by a host function is counted towards this limit. The
668
+ /// host functions are not prevented from consuming more than this limit.
669
+ /// However, if the host function that used more than this limit and called
670
+ /// back into wasm, then the execution will trap immediately because of
671
+ /// stack overflow.
672
+ ///
673
+ /// When the `async` feature is enabled, this value cannot exceed the
674
+ /// `async_stack_size` option. Be careful not to set this value too close
675
+ /// to `async_stack_size` as doing so may limit how much stack space
676
+ /// is available for host functions.
677
+ ///
678
+ /// By default this option is 512 KiB.
679
+ ///
680
+ /// # Errors
681
+ ///
682
+ /// The `Engine::new` method will fail if the `size` specified here is
683
+ /// either 0 or larger than the [`Config::async_stack_size`] configuration.
684
+ pub fn max_wasm_stack(&mut self, size: usize) -> &mut Self {
685
+ self.max_wasm_stack = size;
686
+ self
687
+ }
688
+
689
+ /// Configures the size of the stacks used for asynchronous execution.
690
+ ///
691
+ /// This setting configures the size of the stacks that are allocated for
692
+ /// asynchronous execution. The value cannot be less than `max_wasm_stack`.
693
+ ///
694
+ /// The amount of stack space guaranteed for host functions is
695
+ /// `async_stack_size - max_wasm_stack`, so take care not to set these two values
696
+ /// close to one another; doing so may cause host functions to overflow the
697
+ /// stack and abort the process.
698
+ ///
699
+ /// By default this option is 2 MiB.
700
+ ///
701
+ /// # Errors
702
+ ///
703
+ /// The `Engine::new` method will fail if the value for this option is
704
+ /// smaller than the [`Config::max_wasm_stack`] option.
705
+ #[cfg(feature = "async")]
706
+ pub fn async_stack_size(&mut self, size: usize) -> &mut Self {
707
+ self.async_stack_size = size;
708
+ self
709
+ }
710
+
711
+ /// Configures whether the WebAssembly tail calls proposal will be enabled
712
+ /// for compilation or not.
713
+ ///
714
+ /// The [WebAssembly tail calls proposal] introduces the `return_call` and
715
+ /// `return_call_indirect` instructions. These instructions allow for Wasm
716
+ /// programs to implement some recursive algorithms with *O(1)* stack space
717
+ /// usage.
718
+ ///
719
+ /// This is `true` by default except on s390x or when the Winch compiler is
720
+ /// enabled.
721
+ ///
722
+ /// [WebAssembly tail calls proposal]: https://github.com/WebAssembly/tail-call
723
+ pub fn wasm_tail_call(&mut self, enable: bool) -> &mut Self {
724
+ self.features.set(WasmFeatures::TAIL_CALL, enable);
725
+ self.tunables.tail_callable = Some(enable);
726
+ self
727
+ }
728
+
729
+ /// Configures whether the WebAssembly custom-page-sizes proposal will be
730
+ /// enabled for compilation or not.
731
+ ///
732
+ /// The [WebAssembly custom-page-sizes proposal] allows a memory to
733
+ /// customize its page sizes. By default, Wasm page sizes are 64KiB
734
+ /// large. This proposal allows the memory to opt into smaller page sizes
735
+ /// instead, allowing Wasm to run in environments with less than 64KiB RAM
736
+ /// available, for example.
737
+ ///
738
+ /// Note that the page size is part of the memory's type, and because
739
+ /// different memories may have different types, they may also have
740
+ /// different page sizes.
741
+ ///
742
+ /// Currently the only valid page sizes are 64KiB (the default) and 1
743
+ /// byte. Future extensions may relax this constraint and allow all powers
744
+ /// of two.
745
+ ///
746
+ /// Support for this proposal is disabled by default.
747
+ ///
748
+ /// [WebAssembly custom-page-sizes proposal]: https://github.com/WebAssembly/custom-page-sizes
749
+ pub fn wasm_custom_page_sizes(&mut self, enable: bool) -> &mut Self {
750
+ self.features.set(WasmFeatures::CUSTOM_PAGE_SIZES, enable);
751
+ self
752
+ }
753
+
754
+ /// Configures whether the WebAssembly [threads] proposal will be enabled
755
+ /// for compilation.
756
+ ///
757
+ /// This feature gates items such as shared memories and atomic
758
+ /// instructions. Note that the threads feature depends on the bulk memory
759
+ /// feature, which is enabled by default. Additionally note that while the
760
+ /// wasm feature is called "threads" it does not actually include the
761
+ /// ability to spawn threads. Spawning threads is part of the [wasi-threads]
762
+ /// proposal which is a separately gated feature in Wasmtime.
763
+ ///
764
+ /// Embeddings of Wasmtime are able to build their own custom threading
765
+ /// scheme on top of the core wasm threads proposal, however.
766
+ ///
767
+ /// This is `true` by default.
768
+ ///
769
+ /// [threads]: https://github.com/webassembly/threads
770
+ /// [wasi-threads]: https://github.com/webassembly/wasi-threads
771
+ #[cfg(feature = "threads")]
772
+ pub fn wasm_threads(&mut self, enable: bool) -> &mut Self {
773
+ self.features.set(WasmFeatures::THREADS, enable);
774
+ self
775
+ }
776
+
777
+ /// Configures whether the [WebAssembly reference types proposal][proposal]
778
+ /// will be enabled for compilation.
779
+ ///
780
+ /// This feature gates items such as the `externref` and `funcref` types as
781
+ /// well as allowing a module to define multiple tables.
782
+ ///
783
+ /// Note that the reference types proposal depends on the bulk memory proposal.
784
+ ///
785
+ /// This feature is `true` by default.
786
+ ///
787
+ /// # Errors
788
+ ///
789
+ /// The validation of this feature are deferred until the engine is being built,
790
+ /// and thus may cause `Engine::new` fail if the `bulk_memory` feature is disabled.
791
+ ///
792
+ /// [proposal]: https://github.com/webassembly/reference-types
793
+ #[cfg(feature = "gc")]
794
+ pub fn wasm_reference_types(&mut self, enable: bool) -> &mut Self {
795
+ self.features.set(WasmFeatures::REFERENCE_TYPES, enable);
796
+ self
797
+ }
798
+
799
+ /// Configures whether the [WebAssembly function references
800
+ /// proposal][proposal] will be enabled for compilation.
801
+ ///
802
+ /// This feature gates non-nullable reference types, function reference
803
+ /// types, `call_ref`, `ref.func`, and non-nullable reference related
804
+ /// instructions.
805
+ ///
806
+ /// Note that the function references proposal depends on the reference
807
+ /// types proposal.
808
+ ///
809
+ /// This feature is `false` by default.
810
+ ///
811
+ /// [proposal]: https://github.com/WebAssembly/function-references
812
+ #[cfg(feature = "gc")]
813
+ pub fn wasm_function_references(&mut self, enable: bool) -> &mut Self {
814
+ self.features.set(WasmFeatures::FUNCTION_REFERENCES, enable);
815
+ self
816
+ }
817
+
818
+ /// Configures whether the [WebAssembly Garbage Collection
819
+ /// proposal][proposal] will be enabled for compilation.
820
+ ///
821
+ /// This feature gates `struct` and `array` type definitions and references,
822
+ /// the `i31ref` type, and all related instructions.
823
+ ///
824
+ /// Note that the function references proposal depends on the typed function
825
+ /// references proposal.
826
+ ///
827
+ /// This feature is `false` by default.
828
+ ///
829
+ /// **Warning: Wasmtime's implementation of the GC proposal is still in
830
+ /// progress and generally not ready for primetime.**
831
+ ///
832
+ /// [proposal]: https://github.com/WebAssembly/gc
833
+ #[cfg(feature = "gc")]
834
+ pub fn wasm_gc(&mut self, enable: bool) -> &mut Self {
835
+ self.features.set(WasmFeatures::GC, enable);
836
+ self
837
+ }
838
+
839
+ /// Configures whether the WebAssembly SIMD proposal will be
840
+ /// enabled for compilation.
841
+ ///
842
+ /// The [WebAssembly SIMD proposal][proposal]. This feature gates items such
843
+ /// as the `v128` type and all of its operators being in a module. Note that
844
+ /// this does not enable the [relaxed simd proposal].
845
+ ///
846
+ /// On x86_64 platforms note that enabling this feature requires SSE 4.2 and
847
+ /// below to be available on the target platform. Compilation will fail if
848
+ /// the compile target does not include SSE 4.2.
849
+ ///
850
+ /// This is `true` by default.
851
+ ///
852
+ /// [proposal]: https://github.com/webassembly/simd
853
+ /// [relaxed simd proposal]: https://github.com/WebAssembly/relaxed-simd
854
+ pub fn wasm_simd(&mut self, enable: bool) -> &mut Self {
855
+ self.features.set(WasmFeatures::SIMD, enable);
856
+ self
857
+ }
858
+
859
+ /// Configures whether the WebAssembly Relaxed SIMD proposal will be
860
+ /// enabled for compilation.
861
+ ///
862
+ /// The relaxed SIMD proposal adds new instructions to WebAssembly which,
863
+ /// for some specific inputs, are allowed to produce different results on
864
+ /// different hosts. More-or-less this proposal enables exposing
865
+ /// platform-specific semantics of SIMD instructions in a controlled
866
+ /// fashion to a WebAssembly program. From an embedder's perspective this
867
+ /// means that WebAssembly programs may execute differently depending on
868
+ /// whether the host is x86_64 or AArch64, for example.
869
+ ///
870
+ /// By default Wasmtime lowers relaxed SIMD instructions to the fastest
871
+ /// lowering for the platform it's running on. This means that, by default,
872
+ /// some relaxed SIMD instructions may have different results for the same
873
+ /// inputs across x86_64 and AArch64. This behavior can be disabled through
874
+ /// the [`Config::relaxed_simd_deterministic`] option which will force
875
+ /// deterministic behavior across all platforms, as classified by the
876
+ /// specification, at the cost of performance.
877
+ ///
878
+ /// This is `true` by default.
879
+ ///
880
+ /// [proposal]: https://github.com/webassembly/relaxed-simd
881
+ pub fn wasm_relaxed_simd(&mut self, enable: bool) -> &mut Self {
882
+ self.features.set(WasmFeatures::RELAXED_SIMD, enable);
883
+ self
884
+ }
885
+
886
+ /// This option can be used to control the behavior of the [relaxed SIMD
887
+ /// proposal's][proposal] instructions.
888
+ ///
889
+ /// The relaxed SIMD proposal introduces instructions that are allowed to
890
+ /// have different behavior on different architectures, primarily to afford
891
+ /// an efficient implementation on all architectures. This means, however,
892
+ /// that the same module may execute differently on one host than another,
893
+ /// which typically is not otherwise the case. This option is provided to
894
+ /// force Wasmtime to generate deterministic code for all relaxed simd
895
+ /// instructions, at the cost of performance, for all architectures. When
896
+ /// this option is enabled then the deterministic behavior of all
897
+ /// instructions in the relaxed SIMD proposal is selected.
898
+ ///
899
+ /// This is `false` by default.
900
+ ///
901
+ /// [proposal]: https://github.com/webassembly/relaxed-simd
902
+ pub fn relaxed_simd_deterministic(&mut self, enable: bool) -> &mut Self {
903
+ self.tunables.relaxed_simd_deterministic = Some(enable);
904
+ self
905
+ }
906
+
907
+ /// Configures whether the [WebAssembly bulk memory operations
908
+ /// proposal][proposal] will be enabled for compilation.
909
+ ///
910
+ /// This feature gates items such as the `memory.copy` instruction, passive
911
+ /// data/table segments, etc, being in a module.
912
+ ///
913
+ /// This is `true` by default.
914
+ ///
915
+ /// Feature `reference_types`, which is also `true` by default, requires
916
+ /// this feature to be enabled. Thus disabling this feature must also disable
917
+ /// `reference_types` as well using [`wasm_reference_types`](crate::Config::wasm_reference_types).
918
+ ///
919
+ /// # Errors
920
+ ///
921
+ /// Disabling this feature without disabling `reference_types` will cause
922
+ /// `Engine::new` to fail.
923
+ ///
924
+ /// [proposal]: https://github.com/webassembly/bulk-memory-operations
925
+ pub fn wasm_bulk_memory(&mut self, enable: bool) -> &mut Self {
926
+ self.features.set(WasmFeatures::BULK_MEMORY, enable);
927
+ self
928
+ }
929
+
930
+ /// Configures whether the WebAssembly multi-value [proposal] will
931
+ /// be enabled for compilation.
932
+ ///
933
+ /// This feature gates functions and blocks returning multiple values in a
934
+ /// module, for example.
935
+ ///
936
+ /// This is `true` by default.
937
+ ///
938
+ /// [proposal]: https://github.com/webassembly/multi-value
939
+ pub fn wasm_multi_value(&mut self, enable: bool) -> &mut Self {
940
+ self.features.set(WasmFeatures::MULTI_VALUE, enable);
941
+ self
942
+ }
943
+
944
+ /// Configures whether the WebAssembly multi-memory [proposal] will
945
+ /// be enabled for compilation.
946
+ ///
947
+ /// This feature gates modules having more than one linear memory
948
+ /// declaration or import.
949
+ ///
950
+ /// This is `true` by default.
951
+ ///
952
+ /// [proposal]: https://github.com/webassembly/multi-memory
953
+ pub fn wasm_multi_memory(&mut self, enable: bool) -> &mut Self {
954
+ self.features.set(WasmFeatures::MULTI_MEMORY, enable);
955
+ self
956
+ }
957
+
958
+ /// Configures whether the WebAssembly memory64 [proposal] will
959
+ /// be enabled for compilation.
960
+ ///
961
+ /// Note that this the upstream specification is not finalized and Wasmtime
962
+ /// may also have bugs for this feature since it hasn't been exercised
963
+ /// much.
964
+ ///
965
+ /// This is `false` by default.
966
+ ///
967
+ /// [proposal]: https://github.com/webassembly/memory64
968
+ pub fn wasm_memory64(&mut self, enable: bool) -> &mut Self {
969
+ self.features.set(WasmFeatures::MEMORY64, enable);
970
+ self
971
+ }
972
+
973
+ /// Configures whether the WebAssembly component-model [proposal] will
974
+ /// be enabled for compilation.
975
+ ///
976
+ /// Note that this feature is a work-in-progress and is incomplete.
977
+ ///
978
+ /// This is `false` by default.
979
+ ///
980
+ /// [proposal]: https://github.com/webassembly/component-model
981
+ #[cfg(feature = "component-model")]
982
+ pub fn wasm_component_model(&mut self, enable: bool) -> &mut Self {
983
+ self.features.set(WasmFeatures::COMPONENT_MODEL, enable);
984
+ self
985
+ }
986
+
987
+ /// Configures whether components support more than 32 flags in each `flags`
988
+ /// type.
989
+ ///
990
+ /// This is part of the transition plan in
991
+ /// https://github.com/WebAssembly/component-model/issues/370.
992
+ #[cfg(feature = "component-model")]
993
+ pub fn wasm_component_model_more_flags(&mut self, enable: bool) -> &mut Self {
994
+ self.features
995
+ .set(WasmFeatures::COMPONENT_MODEL_MORE_FLAGS, enable);
996
+ self
997
+ }
998
+
999
+ /// Configures which compilation strategy will be used for wasm modules.
1000
+ ///
1001
+ /// This method can be used to configure which compiler is used for wasm
1002
+ /// modules, and for more documentation consult the [`Strategy`] enumeration
1003
+ /// and its documentation.
1004
+ ///
1005
+ /// The default value for this is `Strategy::Auto`.
1006
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1007
+ pub fn strategy(&mut self, strategy: Strategy) -> &mut Self {
1008
+ self.compiler_config.strategy = strategy.not_auto();
1009
+ self
1010
+ }
1011
+
1012
+ /// Creates a default profiler based on the profiling strategy chosen.
1013
+ ///
1014
+ /// Profiler creation calls the type's default initializer where the purpose is
1015
+ /// really just to put in place the type used for profiling.
1016
+ ///
1017
+ /// Some [`ProfilingStrategy`] require specific platforms or particular feature
1018
+ /// to be enabled, such as `ProfilingStrategy::JitDump` requires the `jitdump`
1019
+ /// feature.
1020
+ ///
1021
+ /// # Errors
1022
+ ///
1023
+ /// The validation of this field is deferred until the engine is being built, and thus may
1024
+ /// cause `Engine::new` fail if the required feature is disabled, or the platform is not
1025
+ /// supported.
1026
+ pub fn profiler(&mut self, profile: ProfilingStrategy) -> &mut Self {
1027
+ self.profiling_strategy = profile;
1028
+ self
1029
+ }
1030
+
1031
+ /// Configures whether the debug verifier of Cranelift is enabled or not.
1032
+ ///
1033
+ /// When Cranelift is used as a code generation backend this will configure
1034
+ /// it to have the `enable_verifier` flag which will enable a number of debug
1035
+ /// checks inside of Cranelift. This is largely only useful for the
1036
+ /// developers of wasmtime itself.
1037
+ ///
1038
+ /// The default value for this is `false`
1039
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1040
+ pub fn cranelift_debug_verifier(&mut self, enable: bool) -> &mut Self {
1041
+ let val = if enable { "true" } else { "false" };
1042
+ self.compiler_config
1043
+ .settings
1044
+ .insert("enable_verifier".to_string(), val.to_string());
1045
+ self
1046
+ }
1047
+
1048
+ /// Configures the Cranelift code generator optimization level.
1049
+ ///
1050
+ /// When the Cranelift code generator is used you can configure the
1051
+ /// optimization level used for generated code in a few various ways. For
1052
+ /// more information see the documentation of [`OptLevel`].
1053
+ ///
1054
+ /// The default value for this is `OptLevel::None`.
1055
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1056
+ pub fn cranelift_opt_level(&mut self, level: OptLevel) -> &mut Self {
1057
+ let val = match level {
1058
+ OptLevel::None => "none",
1059
+ OptLevel::Speed => "speed",
1060
+ OptLevel::SpeedAndSize => "speed_and_size",
1061
+ };
1062
+ self.compiler_config
1063
+ .settings
1064
+ .insert("opt_level".to_string(), val.to_string());
1065
+ self
1066
+ }
1067
+
1068
+ /// Configures whether Cranelift should perform a NaN-canonicalization pass.
1069
+ ///
1070
+ /// When Cranelift is used as a code generation backend this will configure
1071
+ /// it to replace NaNs with a single canonical value. This is useful for
1072
+ /// users requiring entirely deterministic WebAssembly computation. This is
1073
+ /// not required by the WebAssembly spec, so it is not enabled by default.
1074
+ ///
1075
+ /// Note that this option affects not only WebAssembly's `f32` and `f64`
1076
+ /// types but additionally the `v128` type. This option will cause
1077
+ /// operations using any of these types to have extra checks placed after
1078
+ /// them to normalize NaN values as needed.
1079
+ ///
1080
+ /// The default value for this is `false`
1081
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1082
+ pub fn cranelift_nan_canonicalization(&mut self, enable: bool) -> &mut Self {
1083
+ let val = if enable { "true" } else { "false" };
1084
+ self.compiler_config
1085
+ .settings
1086
+ .insert("enable_nan_canonicalization".to_string(), val.to_string());
1087
+ self
1088
+ }
1089
+
1090
+ /// Controls whether proof-carrying code (PCC) is used to validate
1091
+ /// lowering of Wasm sandbox checks.
1092
+ ///
1093
+ /// Proof-carrying code carries "facts" about program values from
1094
+ /// the IR all the way to machine code, and checks those facts
1095
+ /// against known machine-instruction semantics. This guards
1096
+ /// against bugs in instruction lowering that might create holes
1097
+ /// in the Wasm sandbox.
1098
+ ///
1099
+ /// PCC is designed to be fast: it does not require complex
1100
+ /// solvers or logic engines to verify, but only a linear pass
1101
+ /// over a trail of "breadcrumbs" or facts at each intermediate
1102
+ /// value. Thus, it is appropriate to enable in production.
1103
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1104
+ pub fn cranelift_pcc(&mut self, enable: bool) -> &mut Self {
1105
+ let val = if enable { "true" } else { "false" };
1106
+ self.compiler_config
1107
+ .settings
1108
+ .insert("enable_pcc".to_string(), val.to_string());
1109
+ self
1110
+ }
1111
+
1112
+ /// Allows setting a Cranelift boolean flag or preset. This allows
1113
+ /// fine-tuning of Cranelift settings.
1114
+ ///
1115
+ /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1116
+ /// either; other `Config` functions should be preferred for stability.
1117
+ ///
1118
+ /// # Safety
1119
+ ///
1120
+ /// This is marked as unsafe, because setting the wrong flag might break invariants,
1121
+ /// resulting in execution hazards.
1122
+ ///
1123
+ /// # Errors
1124
+ ///
1125
+ /// The validation of the flags are deferred until the engine is being built, and thus may
1126
+ /// cause `Engine::new` fail if the flag's name does not exist, or the value is not appropriate
1127
+ /// for the flag type.
1128
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1129
+ pub unsafe fn cranelift_flag_enable(&mut self, flag: &str) -> &mut Self {
1130
+ self.compiler_config.flags.insert(flag.to_string());
1131
+ self
1132
+ }
1133
+
1134
+ /// Allows settings another Cranelift flag defined by a flag name and value. This allows
1135
+ /// fine-tuning of Cranelift settings.
1136
+ ///
1137
+ /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1138
+ /// either; other `Config` functions should be preferred for stability.
1139
+ ///
1140
+ /// # Safety
1141
+ ///
1142
+ /// This is marked as unsafe, because setting the wrong flag might break invariants,
1143
+ /// resulting in execution hazards.
1144
+ ///
1145
+ /// # Errors
1146
+ ///
1147
+ /// The validation of the flags are deferred until the engine is being built, and thus may
1148
+ /// cause `Engine::new` fail if the flag's name does not exist, or incompatible with other
1149
+ /// settings.
1150
+ ///
1151
+ /// For example, feature `wasm_backtrace` will set `unwind_info` to `true`, but if it's
1152
+ /// manually set to false then it will fail.
1153
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1154
+ pub unsafe fn cranelift_flag_set(&mut self, name: &str, value: &str) -> &mut Self {
1155
+ self.compiler_config
1156
+ .settings
1157
+ .insert(name.to_string(), value.to_string());
1158
+ self
1159
+ }
1160
+
1161
+ /// Loads cache configuration specified at `path`.
1162
+ ///
1163
+ /// This method will read the file specified by `path` on the filesystem and
1164
+ /// attempt to load cache configuration from it. This method can also fail
1165
+ /// due to I/O errors, misconfiguration, syntax errors, etc. For expected
1166
+ /// syntax in the configuration file see the [documentation online][docs].
1167
+ ///
1168
+ /// By default cache configuration is not enabled or loaded.
1169
+ ///
1170
+ /// This method is only available when the `cache` feature of this crate is
1171
+ /// enabled.
1172
+ ///
1173
+ /// # Errors
1174
+ ///
1175
+ /// This method can fail due to any error that happens when loading the file
1176
+ /// pointed to by `path` and attempting to load the cache configuration.
1177
+ ///
1178
+ /// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
1179
+ #[cfg(feature = "cache")]
1180
+ pub fn cache_config_load(&mut self, path: impl AsRef<Path>) -> Result<&mut Self> {
1181
+ self.cache_config = CacheConfig::from_file(Some(path.as_ref()))?;
1182
+ Ok(self)
1183
+ }
1184
+
1185
+ /// Disable caching.
1186
+ ///
1187
+ /// Every call to [`Module::new(my_wasm)`][crate::Module::new] will
1188
+ /// recompile `my_wasm`, even when it is unchanged.
1189
+ ///
1190
+ /// By default, new configs do not have caching enabled. This method is only
1191
+ /// useful for disabling a previous cache configuration.
1192
+ ///
1193
+ /// This method is only available when the `cache` feature of this crate is
1194
+ /// enabled.
1195
+ #[cfg(feature = "cache")]
1196
+ pub fn disable_cache(&mut self) -> &mut Self {
1197
+ self.cache_config = CacheConfig::new_cache_disabled();
1198
+ self
1199
+ }
1200
+
1201
+ /// Loads cache configuration from the system default path.
1202
+ ///
1203
+ /// This commit is the same as [`Config::cache_config_load`] except that it
1204
+ /// does not take a path argument and instead loads the default
1205
+ /// configuration present on the system. This is located, for example, on
1206
+ /// Unix at `$HOME/.config/wasmtime/config.toml` and is typically created
1207
+ /// with the `wasmtime config new` command.
1208
+ ///
1209
+ /// By default cache configuration is not enabled or loaded.
1210
+ ///
1211
+ /// This method is only available when the `cache` feature of this crate is
1212
+ /// enabled.
1213
+ ///
1214
+ /// # Errors
1215
+ ///
1216
+ /// This method can fail due to any error that happens when loading the
1217
+ /// default system configuration. Note that it is not an error if the
1218
+ /// default config file does not exist, in which case the default settings
1219
+ /// for an enabled cache are applied.
1220
+ ///
1221
+ /// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
1222
+ #[cfg(feature = "cache")]
1223
+ pub fn cache_config_load_default(&mut self) -> Result<&mut Self> {
1224
+ self.cache_config = CacheConfig::from_file(None)?;
1225
+ Ok(self)
1226
+ }
1227
+
1228
+ /// Sets a custom memory creator.
1229
+ ///
1230
+ /// Custom memory creators are used when creating host `Memory` objects or when
1231
+ /// creating instance linear memories for the on-demand instance allocation strategy.
1232
+ #[cfg(feature = "runtime")]
1233
+ pub fn with_host_memory(&mut self, mem_creator: Arc<dyn MemoryCreator>) -> &mut Self {
1234
+ self.mem_creator = Some(Arc::new(MemoryCreatorProxy(mem_creator)));
1235
+ self
1236
+ }
1237
+
1238
+ /// Sets a custom stack creator.
1239
+ ///
1240
+ /// Custom memory creators are used when creating creating async instance stacks for
1241
+ /// the on-demand instance allocation strategy.
1242
+ #[cfg(feature = "async")]
1243
+ pub fn with_host_stack(&mut self, stack_creator: Arc<dyn StackCreator>) -> &mut Self {
1244
+ self.stack_creator = Some(Arc::new(StackCreatorProxy(stack_creator)));
1245
+ self
1246
+ }
1247
+
1248
+ /// Sets the instance allocation strategy to use.
1249
+ ///
1250
+ /// When using the pooling instance allocation strategy, all linear memories
1251
+ /// will be created as "static" and the
1252
+ /// [`Config::static_memory_maximum_size`] and
1253
+ /// [`Config::static_memory_guard_size`] options will be used to configure
1254
+ /// the virtual memory allocations of linear memories.
1255
+ pub fn allocation_strategy(&mut self, strategy: InstanceAllocationStrategy) -> &mut Self {
1256
+ self.allocation_strategy = strategy;
1257
+ self
1258
+ }
1259
+
1260
+ /// Configures the maximum size, in bytes, where a linear memory is
1261
+ /// considered static, above which it'll be considered dynamic.
1262
+ ///
1263
+ /// > Note: this value has important performance ramifications, be sure to
1264
+ /// > understand what this value does before tweaking it and benchmarking.
1265
+ ///
1266
+ /// This function configures the threshold for wasm memories whether they're
1267
+ /// implemented as a dynamically relocatable chunk of memory or a statically
1268
+ /// located chunk of memory. The `max_size` parameter here is the size, in
1269
+ /// bytes, where if the maximum size of a linear memory is below `max_size`
1270
+ /// then it will be statically allocated with enough space to never have to
1271
+ /// move. If the maximum size of a linear memory is larger than `max_size`
1272
+ /// then wasm memory will be dynamically located and may move in memory
1273
+ /// through growth operations.
1274
+ ///
1275
+ /// Specifying a `max_size` of 0 means that all memories will be dynamic and
1276
+ /// may be relocated through `memory.grow`. Also note that if any wasm
1277
+ /// memory's maximum size is below `max_size` then it will still reserve
1278
+ /// `max_size` bytes in the virtual memory space.
1279
+ ///
1280
+ /// ## Static vs Dynamic Memory
1281
+ ///
1282
+ /// Linear memories represent contiguous arrays of bytes, but they can also
1283
+ /// be grown through the API and wasm instructions. When memory is grown if
1284
+ /// space hasn't been preallocated then growth may involve relocating the
1285
+ /// base pointer in memory. Memories in Wasmtime are classified in two
1286
+ /// different ways:
1287
+ ///
1288
+ /// * **static** - these memories preallocate all space necessary they'll
1289
+ /// ever need, meaning that the base pointer of these memories is never
1290
+ /// moved. Static memories may take more virtual memory space because of
1291
+ /// pre-reserving space for memories.
1292
+ ///
1293
+ /// * **dynamic** - these memories are not preallocated and may move during
1294
+ /// growth operations. Dynamic memories consume less virtual memory space
1295
+ /// because they don't need to preallocate space for future growth.
1296
+ ///
1297
+ /// Static memories can be optimized better in JIT code because once the
1298
+ /// base address is loaded in a function it's known that we never need to
1299
+ /// reload it because it never changes, `memory.grow` is generally a pretty
1300
+ /// fast operation because the wasm memory is never relocated, and under
1301
+ /// some conditions bounds checks can be elided on memory accesses.
1302
+ ///
1303
+ /// Dynamic memories can't be quite as heavily optimized because the base
1304
+ /// address may need to be reloaded more often, they may require relocating
1305
+ /// lots of data on `memory.grow`, and dynamic memories require
1306
+ /// unconditional bounds checks on all memory accesses.
1307
+ ///
1308
+ /// ## Should you use static or dynamic memory?
1309
+ ///
1310
+ /// In general you probably don't need to change the value of this property.
1311
+ /// The defaults here are optimized for each target platform to consume a
1312
+ /// reasonable amount of physical memory while also generating speedy
1313
+ /// machine code.
1314
+ ///
1315
+ /// One of the main reasons you may want to configure this today is if your
1316
+ /// environment can't reserve virtual memory space for each wasm linear
1317
+ /// memory. On 64-bit platforms wasm memories require a 6GB reservation by
1318
+ /// default, and system limits may prevent this in some scenarios. In this
1319
+ /// case you may wish to force memories to be allocated dynamically meaning
1320
+ /// that the virtual memory footprint of creating a wasm memory should be
1321
+ /// exactly what's used by the wasm itself.
1322
+ ///
1323
+ /// For 32-bit memories a static memory must contain at least 4GB of
1324
+ /// reserved address space plus a guard page to elide any bounds checks at
1325
+ /// all. Smaller static memories will use similar bounds checks as dynamic
1326
+ /// memories.
1327
+ ///
1328
+ /// ## Default
1329
+ ///
1330
+ /// The default value for this property depends on the host platform. For
1331
+ /// 64-bit platforms there's lots of address space available, so the default
1332
+ /// configured here is 4GB. WebAssembly linear memories currently max out at
1333
+ /// 4GB which means that on 64-bit platforms Wasmtime by default always uses
1334
+ /// a static memory. This, coupled with a sufficiently sized guard region,
1335
+ /// should produce the fastest JIT code on 64-bit platforms, but does
1336
+ /// require a large address space reservation for each wasm memory.
1337
+ ///
1338
+ /// For 32-bit platforms this value defaults to 1GB. This means that wasm
1339
+ /// memories whose maximum size is less than 1GB will be allocated
1340
+ /// statically, otherwise they'll be considered dynamic.
1341
+ ///
1342
+ /// ## Static Memory and Pooled Instance Allocation
1343
+ ///
1344
+ /// When using the pooling instance allocator memories are considered to
1345
+ /// always be static memories, they are never dynamic. This setting
1346
+ /// configures the size of linear memory to reserve for each memory in the
1347
+ /// pooling allocator.
1348
+ ///
1349
+ /// Note that the pooling allocator can reduce the amount of memory needed
1350
+ /// for pooling allocation by using memory protection; see
1351
+ /// `PoolingAllocatorConfig::memory_protection_keys` for details.
1352
+ pub fn static_memory_maximum_size(&mut self, max_size: u64) -> &mut Self {
1353
+ self.tunables.static_memory_reservation = Some(max_size);
1354
+ self
1355
+ }
1356
+
1357
+ /// Indicates that the "static" style of memory should always be used.
1358
+ ///
1359
+ /// This configuration option enables selecting the "static" option for all
1360
+ /// linear memories created within this `Config`. This means that all
1361
+ /// memories will be allocated up-front and will never move. Additionally
1362
+ /// this means that all memories are synthetically limited by the
1363
+ /// [`Config::static_memory_maximum_size`] option, regardless of what the
1364
+ /// actual maximum size is on the memory's original type.
1365
+ ///
1366
+ /// For the difference between static and dynamic memories, see the
1367
+ /// [`Config::static_memory_maximum_size`].
1368
+ pub fn static_memory_forced(&mut self, force: bool) -> &mut Self {
1369
+ self.tunables.static_memory_bound_is_maximum = Some(force);
1370
+ self
1371
+ }
1372
+
1373
+ /// Configures the size, in bytes, of the guard region used at the end of a
1374
+ /// static memory's address space reservation.
1375
+ ///
1376
+ /// > Note: this value has important performance ramifications, be sure to
1377
+ /// > understand what this value does before tweaking it and benchmarking.
1378
+ ///
1379
+ /// All WebAssembly loads/stores are bounds-checked and generate a trap if
1380
+ /// they're out-of-bounds. Loads and stores are often very performance
1381
+ /// critical, so we want the bounds check to be as fast as possible!
1382
+ /// Accelerating these memory accesses is the motivation for a guard after a
1383
+ /// memory allocation.
1384
+ ///
1385
+ /// Memories (both static and dynamic) can be configured with a guard at the
1386
+ /// end of them which consists of unmapped virtual memory. This unmapped
1387
+ /// memory will trigger a memory access violation (e.g. segfault) if
1388
+ /// accessed. This allows JIT code to elide bounds checks if it can prove
1389
+ /// that an access, if out of bounds, would hit the guard region. This means
1390
+ /// that having such a guard of unmapped memory can remove the need for
1391
+ /// bounds checks in JIT code.
1392
+ ///
1393
+ /// For the difference between static and dynamic memories, see the
1394
+ /// [`Config::static_memory_maximum_size`].
1395
+ ///
1396
+ /// ## How big should the guard be?
1397
+ ///
1398
+ /// In general, like with configuring `static_memory_maximum_size`, you
1399
+ /// probably don't want to change this value from the defaults. Otherwise,
1400
+ /// though, the size of the guard region affects the number of bounds checks
1401
+ /// needed for generated wasm code. More specifically, loads/stores with
1402
+ /// immediate offsets will generate bounds checks based on how big the guard
1403
+ /// page is.
1404
+ ///
1405
+ /// For 32-bit wasm memories a 4GB static memory is required to even start
1406
+ /// removing bounds checks. A 4GB guard size will guarantee that the module
1407
+ /// has zero bounds checks for memory accesses. A 2GB guard size will
1408
+ /// eliminate all bounds checks with an immediate offset less than 2GB. A
1409
+ /// guard size of zero means that all memory accesses will still have bounds
1410
+ /// checks.
1411
+ ///
1412
+ /// ## Default
1413
+ ///
1414
+ /// The default value for this property is 2GB on 64-bit platforms. This
1415
+ /// allows eliminating almost all bounds checks on loads/stores with an
1416
+ /// immediate offset of less than 2GB. On 32-bit platforms this defaults to
1417
+ /// 64KB.
1418
+ ///
1419
+ /// ## Errors
1420
+ ///
1421
+ /// The `Engine::new` method will return an error if this option is smaller
1422
+ /// than the value configured for [`Config::dynamic_memory_guard_size`].
1423
+ pub fn static_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
1424
+ self.tunables.static_memory_offset_guard_size = Some(guard_size);
1425
+ self
1426
+ }
1427
+
1428
+ /// Configures the size, in bytes, of the guard region used at the end of a
1429
+ /// dynamic memory's address space reservation.
1430
+ ///
1431
+ /// For the difference between static and dynamic memories, see the
1432
+ /// [`Config::static_memory_maximum_size`]
1433
+ ///
1434
+ /// For more information about what a guard is, see the documentation on
1435
+ /// [`Config::static_memory_guard_size`].
1436
+ ///
1437
+ /// Note that the size of the guard region for dynamic memories is not super
1438
+ /// critical for performance. Making it reasonably-sized can improve
1439
+ /// generated code slightly, but for maximum performance you'll want to lean
1440
+ /// towards static memories rather than dynamic anyway.
1441
+ ///
1442
+ /// Also note that the dynamic memory guard size must be smaller than the
1443
+ /// static memory guard size, so if a large dynamic memory guard is
1444
+ /// specified then the static memory guard size will also be automatically
1445
+ /// increased.
1446
+ ///
1447
+ /// ## Default
1448
+ ///
1449
+ /// This value defaults to 64KB.
1450
+ ///
1451
+ /// ## Errors
1452
+ ///
1453
+ /// The `Engine::new` method will return an error if this option is larger
1454
+ /// than the value configured for [`Config::static_memory_guard_size`].
1455
+ pub fn dynamic_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
1456
+ self.tunables.dynamic_memory_offset_guard_size = Some(guard_size);
1457
+ self
1458
+ }
1459
+
1460
+ /// Configures the size, in bytes, of the extra virtual memory space
1461
+ /// reserved after a "dynamic" memory for growing into.
1462
+ ///
1463
+ /// For the difference between static and dynamic memories, see the
1464
+ /// [`Config::static_memory_maximum_size`]
1465
+ ///
1466
+ /// Dynamic memories can be relocated in the process's virtual address space
1467
+ /// on growth and do not always reserve their entire space up-front. This
1468
+ /// means that a growth of the memory may require movement in the address
1469
+ /// space, which in the worst case can copy a large number of bytes from one
1470
+ /// region to another.
1471
+ ///
1472
+ /// This setting configures how many bytes are reserved after the initial
1473
+ /// reservation for a dynamic memory for growing into. A value of 0 here
1474
+ /// means that no extra bytes are reserved and all calls to `memory.grow`
1475
+ /// will need to relocate the wasm linear memory (copying all the bytes). A
1476
+ /// value of 1 megabyte, however, means that `memory.grow` can allocate up
1477
+ /// to a megabyte of extra memory before the memory needs to be moved in
1478
+ /// linear memory.
1479
+ ///
1480
+ /// Note that this is a currently simple heuristic for optimizing the growth
1481
+ /// of dynamic memories, primarily implemented for the memory64 proposal
1482
+ /// where all memories are currently "dynamic". This is unlikely to be a
1483
+ /// one-size-fits-all style approach and if you're an embedder running into
1484
+ /// issues with dynamic memories and growth and are interested in having
1485
+ /// other growth strategies available here please feel free to [open an
1486
+ /// issue on the Wasmtime repository][issue]!
1487
+ ///
1488
+ /// [issue]: https://github.com/bytecodealliance/wasmtime/issues/ne
1489
+ ///
1490
+ /// ## Default
1491
+ ///
1492
+ /// For 64-bit platforms this defaults to 2GB, and for 32-bit platforms this
1493
+ /// defaults to 1MB.
1494
+ pub fn dynamic_memory_reserved_for_growth(&mut self, reserved: u64) -> &mut Self {
1495
+ self.tunables.dynamic_memory_growth_reserve = Some(reserved);
1496
+ self
1497
+ }
1498
+
1499
+ /// Indicates whether a guard region is present before allocations of
1500
+ /// linear memory.
1501
+ ///
1502
+ /// Guard regions before linear memories are never used during normal
1503
+ /// operation of WebAssembly modules, even if they have out-of-bounds
1504
+ /// loads. The only purpose for a preceding guard region in linear memory
1505
+ /// is extra protection against possible bugs in code generators like
1506
+ /// Cranelift. This setting does not affect performance in any way, but will
1507
+ /// result in larger virtual memory reservations for linear memories (it
1508
+ /// won't actually ever use more memory, just use more of the address
1509
+ /// space).
1510
+ ///
1511
+ /// The size of the guard region before linear memory is the same as the
1512
+ /// guard size that comes after linear memory, which is configured by
1513
+ /// [`Config::static_memory_guard_size`] and
1514
+ /// [`Config::dynamic_memory_guard_size`].
1515
+ ///
1516
+ /// ## Default
1517
+ ///
1518
+ /// This value defaults to `true`.
1519
+ pub fn guard_before_linear_memory(&mut self, guard: bool) -> &mut Self {
1520
+ self.tunables.guard_before_linear_memory = Some(guard);
1521
+ self
1522
+ }
1523
+
1524
+ /// Indicates whether to initialize tables lazily, so that instantiation
1525
+ /// is fast but indirect calls are a little slower. If false, tables
1526
+ /// are initialized eagerly during instantiation from any active element
1527
+ /// segments that apply to them.
1528
+ ///
1529
+ /// ## Default
1530
+ ///
1531
+ /// This value defaults to `true`.
1532
+ pub fn table_lazy_init(&mut self, table_lazy_init: bool) -> &mut Self {
1533
+ self.tunables.table_lazy_init = Some(table_lazy_init);
1534
+ self
1535
+ }
1536
+
1537
+ /// Configure the version information used in serialized and deserialzied [`crate::Module`]s.
1538
+ /// This effects the behavior of [`crate::Module::serialize()`], as well as
1539
+ /// [`crate::Module::deserialize()`] and related functions.
1540
+ ///
1541
+ /// The default strategy is to use the wasmtime crate's Cargo package version.
1542
+ pub fn module_version(&mut self, strategy: ModuleVersionStrategy) -> Result<&mut Self> {
1543
+ match strategy {
1544
+ // This case requires special precondition for assertion in SerializedModule::to_bytes
1545
+ ModuleVersionStrategy::Custom(ref v) => {
1546
+ if v.as_bytes().len() > 255 {
1547
+ bail!("custom module version cannot be more than 255 bytes: {}", v);
1548
+ }
1549
+ }
1550
+ _ => {}
1551
+ }
1552
+ self.module_version = strategy;
1553
+ Ok(self)
1554
+ }
1555
+
1556
+ /// Configure whether wasmtime should compile a module using multiple
1557
+ /// threads.
1558
+ ///
1559
+ /// Disabling this will result in a single thread being used to compile
1560
+ /// the wasm bytecode.
1561
+ ///
1562
+ /// By default parallel compilation is enabled.
1563
+ #[cfg(feature = "parallel-compilation")]
1564
+ pub fn parallel_compilation(&mut self, parallel: bool) -> &mut Self {
1565
+ self.parallel_compilation = parallel;
1566
+ self
1567
+ }
1568
+
1569
+ /// Configures whether compiled artifacts will contain information to map
1570
+ /// native program addresses back to the original wasm module.
1571
+ ///
1572
+ /// This configuration option is `true` by default and, if enabled,
1573
+ /// generates the appropriate tables in compiled modules to map from native
1574
+ /// address back to wasm source addresses. This is used for displaying wasm
1575
+ /// program counters in backtraces as well as generating filenames/line
1576
+ /// numbers if so configured as well (and the original wasm module has DWARF
1577
+ /// debugging information present).
1578
+ pub fn generate_address_map(&mut self, generate: bool) -> &mut Self {
1579
+ self.tunables.generate_address_map = Some(generate);
1580
+ self
1581
+ }
1582
+
1583
+ /// Configures whether copy-on-write memory-mapped data is used to
1584
+ /// initialize a linear memory.
1585
+ ///
1586
+ /// Initializing linear memory via a copy-on-write mapping can drastically
1587
+ /// improve instantiation costs of a WebAssembly module because copying
1588
+ /// memory is deferred. Additionally if a page of memory is only ever read
1589
+ /// from WebAssembly and never written too then the same underlying page of
1590
+ /// data will be reused between all instantiations of a module meaning that
1591
+ /// if a module is instantiated many times this can lower the overall memory
1592
+ /// required needed to run that module.
1593
+ ///
1594
+ /// The main disadvantage of copy-on-write initialization, however, is that
1595
+ /// it may be possible for highly-parallel scenarios to be less scalable. If
1596
+ /// a page is read initially by a WebAssembly module then that page will be
1597
+ /// mapped to a read-only copy shared between all WebAssembly instances. If
1598
+ /// the same page is then written, however, then a private copy is created
1599
+ /// and swapped out from the read-only version. This also requires an [IPI],
1600
+ /// however, which can be a significant bottleneck in high-parallelism
1601
+ /// situations.
1602
+ ///
1603
+ /// This feature is only applicable when a WebAssembly module meets specific
1604
+ /// criteria to be initialized in this fashion, such as:
1605
+ ///
1606
+ /// * Only memories defined in the module can be initialized this way.
1607
+ /// * Data segments for memory must use statically known offsets.
1608
+ /// * Data segments for memory must all be in-bounds.
1609
+ ///
1610
+ /// Modules which do not meet these criteria will fall back to
1611
+ /// initialization of linear memory based on copying memory.
1612
+ ///
1613
+ /// This feature of Wasmtime is also platform-specific:
1614
+ ///
1615
+ /// * Linux - this feature is supported for all instances of [`Module`].
1616
+ /// Modules backed by an existing mmap (such as those created by
1617
+ /// [`Module::deserialize_file`]) will reuse that mmap to cow-initialize
1618
+ /// memory. Other instance of [`Module`] may use the `memfd_create`
1619
+ /// syscall to create an initialization image to `mmap`.
1620
+ /// * Unix (not Linux) - this feature is only supported when loading modules
1621
+ /// from a precompiled file via [`Module::deserialize_file`] where there
1622
+ /// is a file descriptor to use to map data into the process. Note that
1623
+ /// the module must have been compiled with this setting enabled as well.
1624
+ /// * Windows - there is no support for this feature at this time. Memory
1625
+ /// initialization will always copy bytes.
1626
+ ///
1627
+ /// By default this option is enabled.
1628
+ ///
1629
+ /// [`Module::deserialize_file`]: crate::Module::deserialize_file
1630
+ /// [`Module`]: crate::Module
1631
+ /// [IPI]: https://en.wikipedia.org/wiki/Inter-processor_interrupt
1632
+ pub fn memory_init_cow(&mut self, enable: bool) -> &mut Self {
1633
+ self.memory_init_cow = enable;
1634
+ self
1635
+ }
1636
+
1637
+ /// A configuration option to force the usage of `memfd_create` on Linux to
1638
+ /// be used as the backing source for a module's initial memory image.
1639
+ ///
1640
+ /// When [`Config::memory_init_cow`] is enabled, which is enabled by
1641
+ /// default, module memory initialization images are taken from a module's
1642
+ /// original mmap if possible. If a precompiled module was loaded from disk
1643
+ /// this means that the disk's file is used as an mmap source for the
1644
+ /// initial linear memory contents. This option can be used to force, on
1645
+ /// Linux, that instead of using the original file on disk a new in-memory
1646
+ /// file is created with `memfd_create` to hold the contents of the initial
1647
+ /// image.
1648
+ ///
1649
+ /// This option can be used to avoid possibly loading the contents of memory
1650
+ /// from disk through a page fault. Instead with `memfd_create` the contents
1651
+ /// of memory are always in RAM, meaning that even page faults which
1652
+ /// initially populate a wasm linear memory will only work with RAM instead
1653
+ /// of ever hitting the disk that the original precompiled module is stored
1654
+ /// on.
1655
+ ///
1656
+ /// This option is disabled by default.
1657
+ pub fn force_memory_init_memfd(&mut self, enable: bool) -> &mut Self {
1658
+ self.force_memory_init_memfd = enable;
1659
+ self
1660
+ }
1661
+
1662
+ /// Configures whether or not a coredump should be generated and attached to
1663
+ /// the anyhow::Error when a trap is raised.
1664
+ ///
1665
+ /// This option is disabled by default.
1666
+ #[cfg(feature = "coredump")]
1667
+ pub fn coredump_on_trap(&mut self, enable: bool) -> &mut Self {
1668
+ self.coredump_on_trap = enable;
1669
+ self
1670
+ }
1671
+
1672
+ /// Enables memory error checking for wasm programs.
1673
+ ///
1674
+ /// This option is disabled by default.
1675
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1676
+ pub fn wmemcheck(&mut self, enable: bool) -> &mut Self {
1677
+ self.wmemcheck = enable;
1678
+ self.compiler_config.wmemcheck = enable;
1679
+ self
1680
+ }
1681
+
1682
+ /// Configures the "guaranteed dense image size" for copy-on-write
1683
+ /// initialized memories.
1684
+ ///
1685
+ /// When using the [`Config::memory_init_cow`] feature to initialize memory
1686
+ /// efficiently (which is enabled by default), compiled modules contain an
1687
+ /// image of the module's initial heap. If the module has a fairly sparse
1688
+ /// initial heap, with just a few data segments at very different offsets,
1689
+ /// this could result in a large region of zero bytes in the image. In
1690
+ /// other words, it's not very memory-efficient.
1691
+ ///
1692
+ /// We normally use a heuristic to avoid this: if less than half
1693
+ /// of the initialized range (first non-zero to last non-zero
1694
+ /// byte) of any memory in the module has pages with nonzero
1695
+ /// bytes, then we avoid creating a memory image for the entire module.
1696
+ ///
1697
+ /// However, if the embedder always needs the instantiation-time efficiency
1698
+ /// of copy-on-write initialization, and is otherwise carefully controlling
1699
+ /// parameters of the modules (for example, by limiting the maximum heap
1700
+ /// size of the modules), then it may be desirable to ensure a memory image
1701
+ /// is created even if this could go against the heuristic above. Thus, we
1702
+ /// add another condition: there is a size of initialized data region up to
1703
+ /// which we *always* allow a memory image. The embedder can set this to a
1704
+ /// known maximum heap size if they desire to always get the benefits of
1705
+ /// copy-on-write images.
1706
+ ///
1707
+ /// In the future we may implement a "best of both worlds"
1708
+ /// solution where we have a dense image up to some limit, and
1709
+ /// then support a sparse list of initializers beyond that; this
1710
+ /// would get most of the benefit of copy-on-write and pay the incremental
1711
+ /// cost of eager initialization only for those bits of memory
1712
+ /// that are out-of-bounds. However, for now, an embedder desiring
1713
+ /// fast instantiation should ensure that this setting is as large
1714
+ /// as the maximum module initial memory content size.
1715
+ ///
1716
+ /// By default this value is 16 MiB.
1717
+ pub fn memory_guaranteed_dense_image_size(&mut self, size_in_bytes: u64) -> &mut Self {
1718
+ self.memory_guaranteed_dense_image_size = size_in_bytes;
1719
+ self
1720
+ }
1721
+
1722
+ pub(crate) fn conditionally_enable_defaults(&mut self) {
1723
+ // If tail calls were not explicitly enabled/disabled (i.e. tail_callable is None), enable
1724
+ // them if we are targeting a backend that supports them. Currently the Cranelift
1725
+ // compilation strategy is the only one that supports tail calls, but not targeting s390x.
1726
+ if self.tunables.tail_callable.is_none() {
1727
+ #[cfg(feature = "cranelift")]
1728
+ let default_tail_calls = self.compiler_config.strategy == Some(Strategy::Cranelift)
1729
+ && self.compiler_config.target.as_ref().map_or_else(
1730
+ || target_lexicon::Triple::host().architecture,
1731
+ |triple| triple.architecture,
1732
+ ) != Architecture::S390x;
1733
+ #[cfg(not(feature = "cranelift"))]
1734
+ let default_tail_calls = false;
1735
+
1736
+ self.wasm_tail_call(default_tail_calls);
1737
+ }
1738
+ }
1739
+
1740
+ pub(crate) fn validate(&self) -> Result<Tunables> {
1741
+ if self.features.contains(WasmFeatures::REFERENCE_TYPES)
1742
+ && !self.features.contains(WasmFeatures::BULK_MEMORY)
1743
+ {
1744
+ bail!("feature 'reference_types' requires 'bulk_memory' to be enabled");
1745
+ }
1746
+ if self.features.contains(WasmFeatures::THREADS)
1747
+ && !self.features.contains(WasmFeatures::BULK_MEMORY)
1748
+ {
1749
+ bail!("feature 'threads' requires 'bulk_memory' to be enabled");
1750
+ }
1751
+ if self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
1752
+ && !self.features.contains(WasmFeatures::REFERENCE_TYPES)
1753
+ {
1754
+ bail!("feature 'function_references' requires 'reference_types' to be enabled");
1755
+ }
1756
+ if self.features.contains(WasmFeatures::GC)
1757
+ && !self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
1758
+ {
1759
+ bail!("feature 'gc' requires 'function_references' to be enabled");
1760
+ }
1761
+ #[cfg(feature = "async")]
1762
+ if self.async_support && self.max_wasm_stack > self.async_stack_size {
1763
+ bail!("max_wasm_stack size cannot exceed the async_stack_size");
1764
+ }
1765
+ if self.max_wasm_stack == 0 {
1766
+ bail!("max_wasm_stack size cannot be zero");
1767
+ }
1768
+ #[cfg(not(feature = "wmemcheck"))]
1769
+ if self.wmemcheck {
1770
+ bail!("wmemcheck (memory checker) was requested but is not enabled in this build");
1771
+ }
1772
+
1773
+ #[cfg(not(any(feature = "cranelift", feature = "winch")))]
1774
+ let mut tunables = Tunables::default_host();
1775
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1776
+ let mut tunables = match &self.compiler_config.target.as_ref() {
1777
+ Some(target) => Tunables::default_for_target(target)?,
1778
+ None => Tunables::default_host(),
1779
+ };
1780
+
1781
+ macro_rules! set_fields {
1782
+ ($($field:ident)*) => (
1783
+ let ConfigTunables {
1784
+ $($field,)*
1785
+ } = &self.tunables;
1786
+
1787
+ $(
1788
+ if let Some(e) = $field {
1789
+ tunables.$field = *e;
1790
+ }
1791
+ )*
1792
+ )
1793
+ }
1794
+
1795
+ set_fields! {
1796
+ static_memory_reservation
1797
+ static_memory_offset_guard_size
1798
+ dynamic_memory_offset_guard_size
1799
+ dynamic_memory_growth_reserve
1800
+ generate_native_debuginfo
1801
+ parse_wasm_debuginfo
1802
+ consume_fuel
1803
+ epoch_interruption
1804
+ static_memory_bound_is_maximum
1805
+ guard_before_linear_memory
1806
+ table_lazy_init
1807
+ generate_address_map
1808
+ debug_adapter_modules
1809
+ relaxed_simd_deterministic
1810
+ tail_callable
1811
+ }
1812
+
1813
+ // If we're going to compile with winch, we must use the winch calling convention.
1814
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1815
+ {
1816
+ tunables.winch_callable = self.compiler_config.strategy == Some(Strategy::Winch);
1817
+
1818
+ if tunables.winch_callable && tunables.tail_callable {
1819
+ bail!("Winch does not support the WebAssembly tail call proposal");
1820
+ }
1821
+
1822
+ if tunables.winch_callable && !tunables.table_lazy_init {
1823
+ bail!("Winch requires the table-lazy-init configuration option");
1824
+ }
1825
+ }
1826
+
1827
+ if tunables.static_memory_offset_guard_size < tunables.dynamic_memory_offset_guard_size {
1828
+ bail!("static memory guard size cannot be smaller than dynamic memory guard size");
1829
+ }
1830
+
1831
+ Ok(tunables)
1832
+ }
1833
+
1834
+ #[cfg(feature = "runtime")]
1835
+ pub(crate) fn build_allocator(
1836
+ &self,
1837
+ tunables: &Tunables,
1838
+ ) -> Result<Box<dyn InstanceAllocator + Send + Sync>> {
1839
+ #[cfg(feature = "async")]
1840
+ let stack_size = self.async_stack_size;
1841
+
1842
+ #[cfg(not(feature = "async"))]
1843
+ let stack_size = 0;
1844
+
1845
+ let _ = tunables;
1846
+
1847
+ match &self.allocation_strategy {
1848
+ InstanceAllocationStrategy::OnDemand => {
1849
+ #[allow(unused_mut)]
1850
+ let mut allocator = Box::new(OnDemandInstanceAllocator::new(
1851
+ self.mem_creator.clone(),
1852
+ stack_size,
1853
+ ));
1854
+ #[cfg(feature = "async")]
1855
+ if let Some(stack_creator) = &self.stack_creator {
1856
+ allocator.set_stack_creator(stack_creator.clone());
1857
+ }
1858
+ Ok(allocator)
1859
+ }
1860
+ #[cfg(feature = "pooling-allocator")]
1861
+ InstanceAllocationStrategy::Pooling(config) => {
1862
+ let mut config = config.config;
1863
+ config.stack_size = stack_size;
1864
+ Ok(Box::new(crate::runtime::vm::PoolingInstanceAllocator::new(
1865
+ &config, tunables,
1866
+ )?))
1867
+ }
1868
+ }
1869
+ }
1870
+
1871
+ #[cfg(feature = "runtime")]
1872
+ pub(crate) fn build_gc_runtime(&self) -> Result<Arc<dyn GcRuntime>> {
1873
+ Ok(Arc::new(crate::runtime::vm::default_gc_runtime()) as Arc<dyn GcRuntime>)
1874
+ }
1875
+
1876
+ #[cfg(feature = "runtime")]
1877
+ pub(crate) fn build_profiler(&self) -> Result<Box<dyn ProfilingAgent>> {
1878
+ Ok(match self.profiling_strategy {
1879
+ ProfilingStrategy::PerfMap => profiling_agent::new_perfmap()?,
1880
+ ProfilingStrategy::JitDump => profiling_agent::new_jitdump()?,
1881
+ ProfilingStrategy::VTune => profiling_agent::new_vtune()?,
1882
+ ProfilingStrategy::None => profiling_agent::new_null(),
1883
+ })
1884
+ }
1885
+
1886
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1887
+ pub(crate) fn build_compiler(
1888
+ mut self,
1889
+ tunables: &Tunables,
1890
+ ) -> Result<(Self, Box<dyn wasmtime_environ::Compiler>)> {
1891
+ let target = self.compiler_config.target.clone();
1892
+
1893
+ let mut compiler = match self.compiler_config.strategy {
1894
+ #[cfg(feature = "cranelift")]
1895
+ Some(Strategy::Cranelift) => wasmtime_cranelift::builder(target)?,
1896
+ #[cfg(not(feature = "cranelift"))]
1897
+ Some(Strategy::Cranelift) => bail!("cranelift support not compiled in"),
1898
+ #[cfg(feature = "winch")]
1899
+ Some(Strategy::Winch) => wasmtime_winch::builder(target)?,
1900
+ #[cfg(not(feature = "winch"))]
1901
+ Some(Strategy::Winch) => bail!("winch support not compiled in"),
1902
+
1903
+ None | Some(Strategy::Auto) => unreachable!(),
1904
+ };
1905
+
1906
+ if let Some(path) = &self.compiler_config.clif_dir {
1907
+ compiler.clif_dir(path)?;
1908
+ }
1909
+
1910
+ // If probestack is enabled for a target, Wasmtime will always use the
1911
+ // inline strategy which doesn't require us to define a `__probestack`
1912
+ // function or similar.
1913
+ self.compiler_config
1914
+ .settings
1915
+ .insert("probestack_strategy".into(), "inline".into());
1916
+
1917
+ let host = target_lexicon::Triple::host();
1918
+ let target = self
1919
+ .compiler_config
1920
+ .target
1921
+ .as_ref()
1922
+ .unwrap_or(&host)
1923
+ .clone();
1924
+
1925
+ // On supported targets, we enable stack probing by default.
1926
+ // This is required on Windows because of the way Windows
1927
+ // commits its stacks, but it's also a good idea on other
1928
+ // platforms to ensure guard pages are hit for large frame
1929
+ // sizes.
1930
+ if probestack_supported(target.architecture) {
1931
+ self.compiler_config
1932
+ .flags
1933
+ .insert("enable_probestack".into());
1934
+ }
1935
+
1936
+ if self.features.contains(WasmFeatures::TAIL_CALL) {
1937
+ ensure!(
1938
+ target.architecture != Architecture::S390x,
1939
+ "Tail calls are not supported on s390x yet: \
1940
+ https://github.com/bytecodealliance/wasmtime/issues/6530"
1941
+ );
1942
+ }
1943
+
1944
+ if let Some(unwind_requested) = self.native_unwind_info {
1945
+ if !self
1946
+ .compiler_config
1947
+ .ensure_setting_unset_or_given("unwind_info", &unwind_requested.to_string())
1948
+ {
1949
+ bail!("incompatible settings requested for Cranelift and Wasmtime `unwind-info` settings");
1950
+ }
1951
+ }
1952
+
1953
+ if target.operating_system == target_lexicon::OperatingSystem::Windows {
1954
+ if !self
1955
+ .compiler_config
1956
+ .ensure_setting_unset_or_given("unwind_info", "true")
1957
+ {
1958
+ bail!("`native_unwind_info` cannot be disabled on Windows");
1959
+ }
1960
+ }
1961
+
1962
+ // We require frame pointers for correct stack walking, which is safety
1963
+ // critical in the presence of reference types, and otherwise it is just
1964
+ // really bad developer experience to get wrong.
1965
+ self.compiler_config
1966
+ .settings
1967
+ .insert("preserve_frame_pointers".into(), "true".into());
1968
+
1969
+ // check for incompatible compiler options and set required values
1970
+ if self.features.contains(WasmFeatures::REFERENCE_TYPES) {
1971
+ if !self
1972
+ .compiler_config
1973
+ .ensure_setting_unset_or_given("enable_safepoints", "true")
1974
+ {
1975
+ bail!("compiler option 'enable_safepoints' must be enabled when 'reference types' is enabled");
1976
+ }
1977
+ }
1978
+
1979
+ if self.features.contains(WasmFeatures::RELAXED_SIMD)
1980
+ && !self.features.contains(WasmFeatures::SIMD)
1981
+ {
1982
+ bail!("cannot disable the simd proposal but enable the relaxed simd proposal");
1983
+ }
1984
+
1985
+ // Apply compiler settings and flags
1986
+ for (k, v) in self.compiler_config.settings.iter() {
1987
+ compiler.set(k, v)?;
1988
+ }
1989
+ for flag in self.compiler_config.flags.iter() {
1990
+ compiler.enable(flag)?;
1991
+ }
1992
+
1993
+ #[cfg(feature = "incremental-cache")]
1994
+ if let Some(cache_store) = &self.compiler_config.cache_store {
1995
+ compiler.enable_incremental_compilation(cache_store.clone())?;
1996
+ }
1997
+
1998
+ compiler.set_tunables(tunables.clone())?;
1999
+ compiler.wmemcheck(self.compiler_config.wmemcheck);
2000
+
2001
+ Ok((self, compiler.build()?))
2002
+ }
2003
+
2004
+ /// Internal setting for whether adapter modules for components will have
2005
+ /// extra WebAssembly instructions inserted performing more debug checks
2006
+ /// then are necessary.
2007
+ #[cfg(feature = "component-model")]
2008
+ pub fn debug_adapter_modules(&mut self, debug: bool) -> &mut Self {
2009
+ self.tunables.debug_adapter_modules = Some(debug);
2010
+ self
2011
+ }
2012
+
2013
+ /// Enables clif output when compiling a WebAssembly module.
2014
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
2015
+ pub fn emit_clif(&mut self, path: &Path) -> &mut Self {
2016
+ self.compiler_config.clif_dir = Some(path.to_path_buf());
2017
+ self
2018
+ }
2019
+
2020
+ /// Configures whether, when on macOS, Mach ports are used for exception
2021
+ /// handling instead of traditional Unix-based signal handling.
2022
+ ///
2023
+ /// WebAssembly traps in Wasmtime are implemented with native faults, for
2024
+ /// example a `SIGSEGV` will occur when a WebAssembly guest accesses
2025
+ /// out-of-bounds memory. Handling this can be configured to either use Unix
2026
+ /// signals or Mach ports on macOS. By default Mach ports are used.
2027
+ ///
2028
+ /// Mach ports enable Wasmtime to work by default with foreign
2029
+ /// error-handling systems such as breakpad which also use Mach ports to
2030
+ /// handle signals. In this situation Wasmtime will continue to handle guest
2031
+ /// faults gracefully while any non-guest faults will get forwarded to
2032
+ /// process-level handlers such as breakpad. Some more background on this
2033
+ /// can be found in #2456.
2034
+ ///
2035
+ /// A downside of using mach ports, however, is that they don't interact
2036
+ /// well with `fork()`. Forking a Wasmtime process on macOS will produce a
2037
+ /// child process that cannot successfully run WebAssembly. In this
2038
+ /// situation traditional Unix signal handling should be used as that's
2039
+ /// inherited and works across forks.
2040
+ ///
2041
+ /// If your embedding wants to use a custom error handler which leverages
2042
+ /// Mach ports and you additionally wish to `fork()` the process and use
2043
+ /// Wasmtime in the child process that's not currently possible. Please
2044
+ /// reach out to us if you're in this bucket!
2045
+ ///
2046
+ /// This option defaults to `true`, using Mach ports by default.
2047
+ pub fn macos_use_mach_ports(&mut self, mach_ports: bool) -> &mut Self {
2048
+ self.macos_use_mach_ports = mach_ports;
2049
+ self
2050
+ }
2051
+
2052
+ /// Configures an embedder-provided function, `detect`, which is used to
2053
+ /// determine if an ISA-specific feature is available on the current host.
2054
+ ///
2055
+ /// This function is used to verify that any features enabled for a compiler
2056
+ /// backend, such as AVX support on x86\_64, are also available on the host.
2057
+ /// It is undefined behavior to execute an AVX instruction on a host that
2058
+ /// doesn't support AVX instructions, for example.
2059
+ ///
2060
+ /// When the `std` feature is active on this crate then this function is
2061
+ /// configured to a default implementation that uses the standard library's
2062
+ /// feature detection. When the `std` feature is disabled then there is no
2063
+ /// default available and this method must be called to configure a feature
2064
+ /// probing function.
2065
+ ///
2066
+ /// The `detect` function provided is given a string name of an ISA feature.
2067
+ /// The function should then return:
2068
+ ///
2069
+ /// * `Some(true)` - indicates that the feature was found on the host and it
2070
+ /// is supported.
2071
+ /// * `Some(false)` - the feature name was recognized but it was not
2072
+ /// detected on the host, for example the CPU is too old.
2073
+ /// * `None` - the feature name was not recognized and it's not known
2074
+ /// whether it's on the host or not.
2075
+ ///
2076
+ /// Feature names passed to `detect` match the same feature name used in the
2077
+ /// Rust standard library. For example `"sse4.2"` is used on x86\_64.
2078
+ ///
2079
+ /// # Unsafety
2080
+ ///
2081
+ /// This function is `unsafe` because it is undefined behavior to execute
2082
+ /// instructions that a host does not support. This means that the result of
2083
+ /// `detect` must be correct for memory safe execution at runtime.
2084
+ pub unsafe fn detect_host_feature(&mut self, detect: fn(&str) -> Option<bool>) -> &mut Self {
2085
+ self.detect_host_feature = Some(detect);
2086
+ self
2087
+ }
2088
+ }
2089
+
2090
+ impl Default for Config {
2091
+ fn default() -> Config {
2092
+ Config::new()
2093
+ }
2094
+ }
2095
+
2096
+ impl fmt::Debug for Config {
2097
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2098
+ let mut f = f.debug_struct("Config");
2099
+ f.field("debug_info", &self.tunables.generate_native_debuginfo);
2100
+
2101
+ // Not every flag in WasmFeatures can be enabled as part of creating
2102
+ // a Config. This impl gives a complete picture of all WasmFeatures
2103
+ // enabled, and doesn't require maintence by hand (which has become out
2104
+ // of date in the past), at the cost of possible confusion for why
2105
+ // a flag in this set doesn't have a Config setter.
2106
+ use bitflags::Flags;
2107
+ for flag in WasmFeatures::FLAGS.iter() {
2108
+ f.field(
2109
+ &format!("wasm_{}", flag.name().to_lowercase()),
2110
+ &self.features.contains(*flag.value()),
2111
+ );
2112
+ }
2113
+
2114
+ f.field("parallel_compilation", &self.parallel_compilation);
2115
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
2116
+ {
2117
+ f.field("compiler_config", &self.compiler_config);
2118
+ }
2119
+
2120
+ if let Some(enable) = self.tunables.parse_wasm_debuginfo {
2121
+ f.field("parse_wasm_debuginfo", &enable);
2122
+ }
2123
+ if let Some(size) = self.tunables.static_memory_reservation {
2124
+ f.field("static_memory_maximum_reservation", &size);
2125
+ }
2126
+ if let Some(size) = self.tunables.static_memory_offset_guard_size {
2127
+ f.field("static_memory_guard_size", &size);
2128
+ }
2129
+ if let Some(size) = self.tunables.dynamic_memory_offset_guard_size {
2130
+ f.field("dynamic_memory_guard_size", &size);
2131
+ }
2132
+ if let Some(enable) = self.tunables.guard_before_linear_memory {
2133
+ f.field("guard_before_linear_memory", &enable);
2134
+ }
2135
+ f.finish()
2136
+ }
2137
+ }
2138
+
2139
+ /// Possible Compilation strategies for a wasm module.
2140
+ ///
2141
+ /// This is used as an argument to the [`Config::strategy`] method.
2142
+ #[non_exhaustive]
2143
+ #[derive(PartialEq, Eq, Clone, Debug, Copy)]
2144
+ pub enum Strategy {
2145
+ /// An indicator that the compilation strategy should be automatically
2146
+ /// selected.
2147
+ ///
2148
+ /// This is generally what you want for most projects and indicates that the
2149
+ /// `wasmtime` crate itself should make the decision about what the best
2150
+ /// code generator for a wasm module is.
2151
+ ///
2152
+ /// Currently this always defaults to Cranelift, but the default value may
2153
+ /// change over time.
2154
+ Auto,
2155
+
2156
+ /// Currently the default backend, Cranelift aims to be a reasonably fast
2157
+ /// code generator which generates high quality machine code.
2158
+ Cranelift,
2159
+
2160
+ /// A baseline compiler for WebAssembly, currently under active development and not ready for
2161
+ /// production applications.
2162
+ Winch,
2163
+ }
2164
+
2165
+ impl Strategy {
2166
+ fn not_auto(&self) -> Option<Strategy> {
2167
+ match self {
2168
+ Strategy::Auto => {
2169
+ if cfg!(feature = "cranelift") {
2170
+ Some(Strategy::Cranelift)
2171
+ } else if cfg!(feature = "winch") {
2172
+ Some(Strategy::Winch)
2173
+ } else {
2174
+ None
2175
+ }
2176
+ }
2177
+ other => Some(*other),
2178
+ }
2179
+ }
2180
+ }
2181
+
2182
+ /// Possible optimization levels for the Cranelift codegen backend.
2183
+ #[non_exhaustive]
2184
+ #[derive(Copy, Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
2185
+ pub enum OptLevel {
2186
+ /// No optimizations performed, minimizes compilation time by disabling most
2187
+ /// optimizations.
2188
+ None,
2189
+ /// Generates the fastest possible code, but may take longer.
2190
+ Speed,
2191
+ /// Similar to `speed`, but also performs transformations aimed at reducing
2192
+ /// code size.
2193
+ SpeedAndSize,
2194
+ }
2195
+
2196
+ /// Select which profiling technique to support.
2197
+ #[derive(Debug, Clone, Copy, PartialEq)]
2198
+ pub enum ProfilingStrategy {
2199
+ /// No profiler support.
2200
+ None,
2201
+
2202
+ /// Collect function name information as the "perf map" file format, used with `perf` on Linux.
2203
+ PerfMap,
2204
+
2205
+ /// Collect profiling info for "jitdump" file format, used with `perf` on
2206
+ /// Linux.
2207
+ JitDump,
2208
+
2209
+ /// Collect profiling info using the "ittapi", used with `VTune` on Linux.
2210
+ VTune,
2211
+ }
2212
+
2213
+ /// Select how wasm backtrace detailed information is handled.
2214
+ #[derive(Debug, Clone, Copy)]
2215
+ pub enum WasmBacktraceDetails {
2216
+ /// Support is unconditionally enabled and wasmtime will parse and read
2217
+ /// debug information.
2218
+ Enable,
2219
+
2220
+ /// Support is disabled, and wasmtime will not parse debug information for
2221
+ /// backtrace details.
2222
+ Disable,
2223
+
2224
+ /// Support for backtrace details is conditional on the
2225
+ /// `WASMTIME_BACKTRACE_DETAILS` environment variable.
2226
+ Environment,
2227
+ }
2228
+
2229
+ /// Configuration options used with [`InstanceAllocationStrategy::Pooling`] to
2230
+ /// change the behavior of the pooling instance allocator.
2231
+ ///
2232
+ /// This structure has a builder-style API in the same manner as [`Config`] and
2233
+ /// is configured with [`Config::allocation_strategy`].
2234
+ ///
2235
+ /// Note that usage of the pooling allocator does not affect compiled
2236
+ /// WebAssembly code. Compiled `*.cwasm` files, for example, are usable both
2237
+ /// with and without the pooling allocator.
2238
+ ///
2239
+ /// ## Advantages of Pooled Allocation
2240
+ ///
2241
+ /// The main benefit of the pooling allocator is to make WebAssembly
2242
+ /// instantiation both faster and more scalable in terms of parallelism.
2243
+ /// Allocation is faster because virtual memory is already configured and ready
2244
+ /// to go within the pool, there's no need to [`mmap`] (for example on Unix) a
2245
+ /// new region and configure it with guard pages. By avoiding [`mmap`] this
2246
+ /// avoids whole-process virtual memory locks which can improve scalability and
2247
+ /// performance through avoiding this.
2248
+ ///
2249
+ /// Additionally with pooled allocation it's possible to create "affine slots"
2250
+ /// to a particular WebAssembly module or component over time. For example if
2251
+ /// the same module is multiple times over time the pooling allocator will, by
2252
+ /// default, attempt to reuse the same slot. This mean that the slot has been
2253
+ /// pre-configured and can retain virtual memory mappings for a copy-on-write
2254
+ /// image, for example (see [`Config::memory_init_cow`] for more information.
2255
+ /// This means that in a steady state instance deallocation is a single
2256
+ /// [`madvise`] to reset linear memory to its original contents followed by a
2257
+ /// single (optional) [`mprotect`] during the next instantiation to shrink
2258
+ /// memory back to its original size. Compared to non-pooled allocation this
2259
+ /// avoids the need to [`mmap`] a new region of memory, [`munmap`] it, and
2260
+ /// [`mprotect`] regions too.
2261
+ ///
2262
+ /// Another benefit of pooled allocation is that it's possible to configure
2263
+ /// things such that no virtual memory management is required at all in a steady
2264
+ /// state. For example a pooling allocator can be configured with
2265
+ /// [`Config::memory_init_cow`] disabledd, dynamic bounds checks enabled
2266
+ /// through
2267
+ /// [`Config::static_memory_maximum_size(0)`](Config::static_memory_maximum_size),
2268
+ /// and sufficient space through
2269
+ /// [`PoolingAllocationConfig::table_keep_resident`] /
2270
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`]. With all these
2271
+ /// options in place no virtual memory tricks are used at all and everything is
2272
+ /// manually managed by Wasmtime (for example resetting memory is a
2273
+ /// `memset(0)`). This is not as fast in a single-threaded scenario but can
2274
+ /// provide benefits in high-parallelism situations as no virtual memory locks
2275
+ /// or IPIs need happen.
2276
+ ///
2277
+ /// ## Disadvantages of Pooled Allocation
2278
+ ///
2279
+ /// Despite the above advantages to instantiation performance the pooling
2280
+ /// allocator is not enabled by default in Wasmtime. One reason is that the
2281
+ /// performance advantages are not necessarily portable, for example while the
2282
+ /// pooling allocator works on Windows it has not been tuned for performance on
2283
+ /// Windows in the same way it has on Linux.
2284
+ ///
2285
+ /// Additionally the main cost of the pooling allocator is that it requires a
2286
+ /// very large reservation of virtual memory (on the order of most of the
2287
+ /// addressable virtual address space). WebAssembly 32-bit linear memories in
2288
+ /// Wasmtime are, by default 4G address space reservations with a 2G guard
2289
+ /// region both before and after the linear memory. Memories in the pooling
2290
+ /// allocator are contiguous which means that we only need a guard after linear
2291
+ /// memory because the previous linear memory's slot post-guard is our own
2292
+ /// pre-guard. This means that, by default, the pooling allocator uses 6G of
2293
+ /// virtual memory per WebAssembly linear memory slot. 6G of virtual memory is
2294
+ /// 32.5 bits of a 64-bit address. Many 64-bit systems can only actually use
2295
+ /// 48-bit addresses by default (although this can be extended on architectures
2296
+ /// nowadays too), and of those 48 bits one of them is reserved to indicate
2297
+ /// kernel-vs-userspace. This leaves 47-32.5=14.5 bits left, meaning you can
2298
+ /// only have at most 64k slots of linear memories on many systems by default.
2299
+ /// This is a relatively small number and shows how the pooling allocator can
2300
+ /// quickly exhaust all of virtual memory.
2301
+ ///
2302
+ /// Another disadvantage of the pooling allocator is that it may keep memory
2303
+ /// alive when nothing is using it. A previously used slot for an instance might
2304
+ /// have paged-in memory that will not get paged out until the
2305
+ /// [`Engine`](crate::Engine) owning the pooling allocator is dropped. While
2306
+ /// suitable for some applications this behavior may not be suitable for all
2307
+ /// applications.
2308
+ ///
2309
+ /// Finally the last disadvantage of the pooling allocator is that the
2310
+ /// configuration values for the maximum number of instances, memories, tables,
2311
+ /// etc, must all be fixed up-front. There's not always a clear answer as to
2312
+ /// what these values should be so not all applications may be able to work
2313
+ /// with this constraint.
2314
+ ///
2315
+ /// [`madvise`]: https://man7.org/linux/man-pages/man2/madvise.2.html
2316
+ /// [`mprotect`]: https://man7.org/linux/man-pages/man2/mprotect.2.html
2317
+ /// [`mmap`]: https://man7.org/linux/man-pages/man2/mmap.2.html
2318
+ /// [`munmap`]: https://man7.org/linux/man-pages/man2/munmap.2.html
2319
+ #[cfg(feature = "pooling-allocator")]
2320
+ #[derive(Debug, Clone, Default)]
2321
+ pub struct PoolingAllocationConfig {
2322
+ config: crate::runtime::vm::PoolingInstanceAllocatorConfig,
2323
+ }
2324
+
2325
+ #[cfg(feature = "pooling-allocator")]
2326
+ impl PoolingAllocationConfig {
2327
+ /// Configures the maximum number of "unused warm slots" to retain in the
2328
+ /// pooling allocator.
2329
+ ///
2330
+ /// The pooling allocator operates over slots to allocate from, and each
2331
+ /// slot is considered "cold" if it's never been used before or "warm" if
2332
+ /// it's been used by some module in the past. Slots in the pooling
2333
+ /// allocator additionally track an "affinity" flag to a particular core
2334
+ /// wasm module. When a module is instantiated into a slot then the slot is
2335
+ /// considered affine to that module, even after the instance has been
2336
+ /// deallocated.
2337
+ ///
2338
+ /// When a new instance is created then a slot must be chosen, and the
2339
+ /// current algorithm for selecting a slot is:
2340
+ ///
2341
+ /// * If there are slots that are affine to the module being instantiated,
2342
+ /// then the most recently used slot is selected to be allocated from.
2343
+ /// This is done to improve reuse of resources such as memory mappings and
2344
+ /// additionally try to benefit from temporal locality for things like
2345
+ /// caches.
2346
+ ///
2347
+ /// * Otherwise if there are more than N affine slots to other modules, then
2348
+ /// one of those affine slots is chosen to be allocated. The slot chosen
2349
+ /// is picked on a least-recently-used basis.
2350
+ ///
2351
+ /// * Finally, if there are less than N affine slots to other modules, then
2352
+ /// the non-affine slots are allocated from.
2353
+ ///
2354
+ /// This setting, `max_unused_warm_slots`, is the value for N in the above
2355
+ /// algorithm. The purpose of this setting is to have a knob over the RSS
2356
+ /// impact of "unused slots" for a long-running wasm server.
2357
+ ///
2358
+ /// If this setting is set to 0, for example, then affine slots are
2359
+ /// aggressively reused on a least-recently-used basis. A "cold" slot is
2360
+ /// only used if there are no affine slots available to allocate from. This
2361
+ /// means that the set of slots used over the lifetime of a program is the
2362
+ /// same as the maximum concurrent number of wasm instances.
2363
+ ///
2364
+ /// If this setting is set to infinity, however, then cold slots are
2365
+ /// prioritized to be allocated from. This means that the set of slots used
2366
+ /// over the lifetime of a program will approach
2367
+ /// [`PoolingAllocationConfig::total_memories`], or the maximum number of
2368
+ /// slots in the pooling allocator.
2369
+ ///
2370
+ /// Wasmtime does not aggressively decommit all resources associated with a
2371
+ /// slot when the slot is not in use. For example the
2372
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`] option can be
2373
+ /// used to keep memory associated with a slot, even when it's not in use.
2374
+ /// This means that the total set of used slots in the pooling instance
2375
+ /// allocator can impact the overall RSS usage of a program.
2376
+ ///
2377
+ /// The default value for this option is `100`.
2378
+ pub fn max_unused_warm_slots(&mut self, max: u32) -> &mut Self {
2379
+ self.config.max_unused_warm_slots = max;
2380
+ self
2381
+ }
2382
+
2383
+ /// The target number of decommits to do per batch.
2384
+ ///
2385
+ /// This is not precise, as we can queue up decommits at times when we
2386
+ /// aren't prepared to immediately flush them, and so we may go over this
2387
+ /// target size occasionally.
2388
+ ///
2389
+ /// A batch size of one effectively disables batching.
2390
+ ///
2391
+ /// Defaults to `1`.
2392
+ pub fn decommit_batch_size(&mut self, batch_size: usize) -> &mut Self {
2393
+ self.config.decommit_batch_size = batch_size;
2394
+ self
2395
+ }
2396
+
2397
+ /// Configures whether or not stacks used for async futures are reset to
2398
+ /// zero after usage.
2399
+ ///
2400
+ /// When the [`async_support`](Config::async_support) method is enabled for
2401
+ /// Wasmtime and the [`call_async`] variant
2402
+ /// of calling WebAssembly is used then Wasmtime will create a separate
2403
+ /// runtime execution stack for each future produced by [`call_async`].
2404
+ /// During the deallocation process Wasmtime won't by default reset the
2405
+ /// contents of the stack back to zero.
2406
+ ///
2407
+ /// When this option is enabled it can be seen as a defense-in-depth
2408
+ /// mechanism to reset a stack back to zero. This is not required for
2409
+ /// correctness and can be a costly operation in highly concurrent
2410
+ /// environments due to modifications of the virtual address space requiring
2411
+ /// process-wide synchronization.
2412
+ ///
2413
+ /// This option defaults to `false`.
2414
+ ///
2415
+ /// [`call_async`]: crate::TypedFunc::call_async
2416
+ #[cfg(feature = "async")]
2417
+ pub fn async_stack_zeroing(&mut self, enable: bool) -> &mut Self {
2418
+ self.config.async_stack_zeroing = enable;
2419
+ self
2420
+ }
2421
+
2422
+ /// How much memory, in bytes, to keep resident for async stacks allocated
2423
+ /// with the pooling allocator.
2424
+ ///
2425
+ /// When [`PoolingAllocationConfig::async_stack_zeroing`] is enabled then
2426
+ /// Wasmtime will reset the contents of async stacks back to zero upon
2427
+ /// deallocation. This option can be used to perform the zeroing operation
2428
+ /// with `memset` up to a certain threshold of bytes instead of using system
2429
+ /// calls to reset the stack to zero.
2430
+ ///
2431
+ /// Note that when using this option the memory with async stacks will
2432
+ /// never be decommitted.
2433
+ #[cfg(feature = "async")]
2434
+ pub fn async_stack_keep_resident(&mut self, size: usize) -> &mut Self {
2435
+ self.config.async_stack_keep_resident = size;
2436
+ self
2437
+ }
2438
+
2439
+ /// How much memory, in bytes, to keep resident for each linear memory
2440
+ /// after deallocation.
2441
+ ///
2442
+ /// This option is only applicable on Linux and has no effect on other
2443
+ /// platforms.
2444
+ ///
2445
+ /// By default Wasmtime will use `madvise` to reset the entire contents of
2446
+ /// linear memory back to zero when a linear memory is deallocated. This
2447
+ /// option can be used to use `memset` instead to set memory back to zero
2448
+ /// which can, in some configurations, reduce the number of page faults
2449
+ /// taken when a slot is reused.
2450
+ pub fn linear_memory_keep_resident(&mut self, size: usize) -> &mut Self {
2451
+ self.config.linear_memory_keep_resident = size;
2452
+ self
2453
+ }
2454
+
2455
+ /// How much memory, in bytes, to keep resident for each table after
2456
+ /// deallocation.
2457
+ ///
2458
+ /// This option is only applicable on Linux and has no effect on other
2459
+ /// platforms.
2460
+ ///
2461
+ /// This option is the same as
2462
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`] except that it
2463
+ /// is applicable to tables instead.
2464
+ pub fn table_keep_resident(&mut self, size: usize) -> &mut Self {
2465
+ self.config.table_keep_resident = size;
2466
+ self
2467
+ }
2468
+
2469
+ /// The maximum number of concurrent component instances supported (default
2470
+ /// is `1000`).
2471
+ ///
2472
+ /// This provides an upper-bound on the total size of component
2473
+ /// metadata-related allocations, along with
2474
+ /// [`PoolingAllocationConfig::max_component_instance_size`]. The upper bound is
2475
+ ///
2476
+ /// ```text
2477
+ /// total_component_instances * max_component_instance_size
2478
+ /// ```
2479
+ ///
2480
+ /// where `max_component_instance_size` is rounded up to the size and alignment
2481
+ /// of the internal representation of the metadata.
2482
+ pub fn total_component_instances(&mut self, count: u32) -> &mut Self {
2483
+ self.config.limits.total_component_instances = count;
2484
+ self
2485
+ }
2486
+
2487
+ /// The maximum size, in bytes, allocated for a component instance's
2488
+ /// `VMComponentContext` metadata.
2489
+ ///
2490
+ /// The [`wasmtime::component::Instance`][crate::component::Instance] type
2491
+ /// has a static size but its internal `VMComponentContext` is dynamically
2492
+ /// sized depending on the component being instantiated. This size limit
2493
+ /// loosely correlates to the size of the component, taking into account
2494
+ /// factors such as:
2495
+ ///
2496
+ /// * number of lifted and lowered functions,
2497
+ /// * number of memories
2498
+ /// * number of inner instances
2499
+ /// * number of resources
2500
+ ///
2501
+ /// If the allocated size per instance is too small then instantiation of a
2502
+ /// module will fail at runtime with an error indicating how many bytes were
2503
+ /// needed.
2504
+ ///
2505
+ /// The default value for this is 1MiB.
2506
+ ///
2507
+ /// This provides an upper-bound on the total size of component
2508
+ /// metadata-related allocations, along with
2509
+ /// [`PoolingAllocationConfig::total_component_instances`]. The upper bound is
2510
+ ///
2511
+ /// ```text
2512
+ /// total_component_instances * max_component_instance_size
2513
+ /// ```
2514
+ ///
2515
+ /// where `max_component_instance_size` is rounded up to the size and alignment
2516
+ /// of the internal representation of the metadata.
2517
+ pub fn max_component_instance_size(&mut self, size: usize) -> &mut Self {
2518
+ self.config.limits.component_instance_size = size;
2519
+ self
2520
+ }
2521
+
2522
+ /// The maximum number of core instances a single component may contain
2523
+ /// (default is `20`).
2524
+ ///
2525
+ /// This method (along with
2526
+ /// [`PoolingAllocationConfig::max_memories_per_component`],
2527
+ /// [`PoolingAllocationConfig::max_tables_per_component`], and
2528
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2529
+ /// the amount of resources a single component allocation consumes.
2530
+ ///
2531
+ /// If a component will instantiate more core instances than `count`, then
2532
+ /// the component will fail to instantiate.
2533
+ pub fn max_core_instances_per_component(&mut self, count: u32) -> &mut Self {
2534
+ self.config.limits.max_core_instances_per_component = count;
2535
+ self
2536
+ }
2537
+
2538
+ /// The maximum number of Wasm linear memories that a single component may
2539
+ /// transitively contain (default is `20`).
2540
+ ///
2541
+ /// This method (along with
2542
+ /// [`PoolingAllocationConfig::max_core_instances_per_component`],
2543
+ /// [`PoolingAllocationConfig::max_tables_per_component`], and
2544
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2545
+ /// the amount of resources a single component allocation consumes.
2546
+ ///
2547
+ /// If a component transitively contains more linear memories than `count`,
2548
+ /// then the component will fail to instantiate.
2549
+ pub fn max_memories_per_component(&mut self, count: u32) -> &mut Self {
2550
+ self.config.limits.max_memories_per_component = count;
2551
+ self
2552
+ }
2553
+
2554
+ /// The maximum number of tables that a single component may transitively
2555
+ /// contain (default is `20`).
2556
+ ///
2557
+ /// This method (along with
2558
+ /// [`PoolingAllocationConfig::max_core_instances_per_component`],
2559
+ /// [`PoolingAllocationConfig::max_memories_per_component`],
2560
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2561
+ /// the amount of resources a single component allocation consumes.
2562
+ ///
2563
+ /// If a component will transitively contains more tables than `count`, then
2564
+ /// the component will fail to instantiate.
2565
+ pub fn max_tables_per_component(&mut self, count: u32) -> &mut Self {
2566
+ self.config.limits.max_tables_per_component = count;
2567
+ self
2568
+ }
2569
+
2570
+ /// The maximum number of concurrent Wasm linear memories supported (default
2571
+ /// is `1000`).
2572
+ ///
2573
+ /// This value has a direct impact on the amount of memory allocated by the pooling
2574
+ /// instance allocator.
2575
+ ///
2576
+ /// The pooling instance allocator allocates a memory pool, where each entry
2577
+ /// in the pool contains the reserved address space for each linear memory
2578
+ /// supported by an instance.
2579
+ ///
2580
+ /// The memory pool will reserve a large quantity of host process address
2581
+ /// space to elide the bounds checks required for correct WebAssembly memory
2582
+ /// semantics. Even with 64-bit address spaces, the address space is limited
2583
+ /// when dealing with a large number of linear memories.
2584
+ ///
2585
+ /// For example, on Linux x86_64, the userland address space limit is 128
2586
+ /// TiB. That might seem like a lot, but each linear memory will *reserve* 6
2587
+ /// GiB of space by default.
2588
+ pub fn total_memories(&mut self, count: u32) -> &mut Self {
2589
+ self.config.limits.total_memories = count;
2590
+ self
2591
+ }
2592
+
2593
+ /// The maximum number of concurrent tables supported (default is `1000`).
2594
+ ///
2595
+ /// This value has a direct impact on the amount of memory allocated by the
2596
+ /// pooling instance allocator.
2597
+ ///
2598
+ /// The pooling instance allocator allocates a table pool, where each entry
2599
+ /// in the pool contains the space needed for each WebAssembly table
2600
+ /// supported by an instance (see `table_elements` to control the size of
2601
+ /// each table).
2602
+ pub fn total_tables(&mut self, count: u32) -> &mut Self {
2603
+ self.config.limits.total_tables = count;
2604
+ self
2605
+ }
2606
+
2607
+ /// The maximum number of execution stacks allowed for asynchronous
2608
+ /// execution, when enabled (default is `1000`).
2609
+ ///
2610
+ /// This value has a direct impact on the amount of memory allocated by the
2611
+ /// pooling instance allocator.
2612
+ #[cfg(feature = "async")]
2613
+ pub fn total_stacks(&mut self, count: u32) -> &mut Self {
2614
+ self.config.limits.total_stacks = count;
2615
+ self
2616
+ }
2617
+
2618
+ /// The maximum number of concurrent core instances supported (default is
2619
+ /// `1000`).
2620
+ ///
2621
+ /// This provides an upper-bound on the total size of core instance
2622
+ /// metadata-related allocations, along with
2623
+ /// [`PoolingAllocationConfig::max_core_instance_size`]. The upper bound is
2624
+ ///
2625
+ /// ```text
2626
+ /// total_core_instances * max_core_instance_size
2627
+ /// ```
2628
+ ///
2629
+ /// where `max_core_instance_size` is rounded up to the size and alignment of
2630
+ /// the internal representation of the metadata.
2631
+ pub fn total_core_instances(&mut self, count: u32) -> &mut Self {
2632
+ self.config.limits.total_core_instances = count;
2633
+ self
2634
+ }
2635
+
2636
+ /// The maximum size, in bytes, allocated for a core instance's `VMContext`
2637
+ /// metadata.
2638
+ ///
2639
+ /// The [`Instance`][crate::Instance] type has a static size but its
2640
+ /// `VMContext` metadata is dynamically sized depending on the module being
2641
+ /// instantiated. This size limit loosely correlates to the size of the Wasm
2642
+ /// module, taking into account factors such as:
2643
+ ///
2644
+ /// * number of functions
2645
+ /// * number of globals
2646
+ /// * number of memories
2647
+ /// * number of tables
2648
+ /// * number of function types
2649
+ ///
2650
+ /// If the allocated size per instance is too small then instantiation of a
2651
+ /// module will fail at runtime with an error indicating how many bytes were
2652
+ /// needed.
2653
+ ///
2654
+ /// The default value for this is 1MiB.
2655
+ ///
2656
+ /// This provides an upper-bound on the total size of core instance
2657
+ /// metadata-related allocations, along with
2658
+ /// [`PoolingAllocationConfig::total_core_instances`]. The upper bound is
2659
+ ///
2660
+ /// ```text
2661
+ /// total_core_instances * max_core_instance_size
2662
+ /// ```
2663
+ ///
2664
+ /// where `max_core_instance_size` is rounded up to the size and alignment of
2665
+ /// the internal representation of the metadata.
2666
+ pub fn max_core_instance_size(&mut self, size: usize) -> &mut Self {
2667
+ self.config.limits.core_instance_size = size;
2668
+ self
2669
+ }
2670
+
2671
+ /// The maximum number of defined tables for a core module (default is `1`).
2672
+ ///
2673
+ /// This value controls the capacity of the `VMTableDefinition` table in
2674
+ /// each instance's `VMContext` structure.
2675
+ ///
2676
+ /// The allocated size of the table will be `tables *
2677
+ /// sizeof(VMTableDefinition)` for each instance regardless of how many
2678
+ /// tables are defined by an instance's module.
2679
+ pub fn max_tables_per_module(&mut self, tables: u32) -> &mut Self {
2680
+ self.config.limits.max_tables_per_module = tables;
2681
+ self
2682
+ }
2683
+
2684
+ /// The maximum table elements for any table defined in a module (default is
2685
+ /// `20000`).
2686
+ ///
2687
+ /// If a table's minimum element limit is greater than this value, the
2688
+ /// module will fail to instantiate.
2689
+ ///
2690
+ /// If a table's maximum element limit is unbounded or greater than this
2691
+ /// value, the maximum will be `table_elements` for the purpose of any
2692
+ /// `table.grow` instruction.
2693
+ ///
2694
+ /// This value is used to reserve the maximum space for each supported
2695
+ /// table; table elements are pointer-sized in the Wasmtime runtime.
2696
+ /// Therefore, the space reserved for each instance is `tables *
2697
+ /// table_elements * sizeof::<*const ()>`.
2698
+ pub fn table_elements(&mut self, elements: u32) -> &mut Self {
2699
+ self.config.limits.table_elements = elements;
2700
+ self
2701
+ }
2702
+
2703
+ /// The maximum number of defined linear memories for a module (default is
2704
+ /// `1`).
2705
+ ///
2706
+ /// This value controls the capacity of the `VMMemoryDefinition` table in
2707
+ /// each core instance's `VMContext` structure.
2708
+ ///
2709
+ /// The allocated size of the table will be `memories *
2710
+ /// sizeof(VMMemoryDefinition)` for each core instance regardless of how
2711
+ /// many memories are defined by the core instance's module.
2712
+ pub fn max_memories_per_module(&mut self, memories: u32) -> &mut Self {
2713
+ self.config.limits.max_memories_per_module = memories;
2714
+ self
2715
+ }
2716
+
2717
+ /// The maximum byte size that any WebAssembly linear memory may grow to.
2718
+ ///
2719
+ /// This option defaults to 4 GiB meaning that for 32-bit linear memories
2720
+ /// there is no restrictions. 64-bit linear memories will not be allowed to
2721
+ /// grow beyond 4 GiB by default.
2722
+ ///
2723
+ /// If a memory's minimum size is greater than this value, the module will
2724
+ /// fail to instantiate.
2725
+ ///
2726
+ /// If a memory's maximum size is unbounded or greater than this value, the
2727
+ /// maximum will be `max_memory_size` for the purpose of any `memory.grow`
2728
+ /// instruction.
2729
+ ///
2730
+ /// This value is used to control the maximum accessible space for each
2731
+ /// linear memory of a core instance. This can be thought of as a simple
2732
+ /// mechanism like [`Store::limiter`](crate::Store::limiter) to limit memory
2733
+ /// at runtime. This value can also affect striping/coloring behavior when
2734
+ /// used in conjunction with
2735
+ /// [`memory_protection_keys`](PoolingAllocationConfig::memory_protection_keys).
2736
+ ///
2737
+ /// The virtual memory reservation size of each linear memory is controlled
2738
+ /// by the [`Config::static_memory_maximum_size`] setting and this method's
2739
+ /// configuration cannot exceed [`Config::static_memory_maximum_size`].
2740
+ pub fn max_memory_size(&mut self, bytes: usize) -> &mut Self {
2741
+ self.config.limits.max_memory_size = bytes;
2742
+ self
2743
+ }
2744
+
2745
+ /// Configures whether memory protection keys (MPK) should be used for more
2746
+ /// efficient layout of pool-allocated memories.
2747
+ ///
2748
+ /// When using the pooling allocator (see [`Config::allocation_strategy`],
2749
+ /// [`InstanceAllocationStrategy::Pooling`]), memory protection keys can
2750
+ /// reduce the total amount of allocated virtual memory by eliminating guard
2751
+ /// regions between WebAssembly memories in the pool. It does so by
2752
+ /// "coloring" memory regions with different memory keys and setting which
2753
+ /// regions are accessible each time executions switches from host to guest
2754
+ /// (or vice versa).
2755
+ ///
2756
+ /// Leveraging MPK requires configuring a smaller-than-default
2757
+ /// [`max_memory_size`](PoolingAllocationConfig::max_memory_size) to enable
2758
+ /// this coloring/striping behavior. For example embeddings might want to
2759
+ /// reduce the default 4G allowance to 128M.
2760
+ ///
2761
+ /// MPK is only available on Linux (called `pku` there) and recent x86
2762
+ /// systems; we check for MPK support at runtime by examining the `CPUID`
2763
+ /// register. This configuration setting can be in three states:
2764
+ ///
2765
+ /// - `auto`: if MPK support is available the guard regions are removed; if
2766
+ /// not, the guard regions remain
2767
+ /// - `enable`: use MPK to eliminate guard regions; fail if MPK is not
2768
+ /// supported
2769
+ /// - `disable`: never use MPK
2770
+ ///
2771
+ /// By default this value is `disabled`, but may become `auto` in future
2772
+ /// releases.
2773
+ ///
2774
+ /// __WARNING__: this configuration options is still experimental--use at
2775
+ /// your own risk! MPK uses kernel and CPU features to protect memory
2776
+ /// regions; you may observe segmentation faults if anything is
2777
+ /// misconfigured.
2778
+ #[cfg(feature = "memory-protection-keys")]
2779
+ pub fn memory_protection_keys(&mut self, enable: MpkEnabled) -> &mut Self {
2780
+ self.config.memory_protection_keys = enable;
2781
+ self
2782
+ }
2783
+
2784
+ /// Sets an upper limit on how many memory protection keys (MPK) Wasmtime
2785
+ /// will use.
2786
+ ///
2787
+ /// This setting is only applicable when
2788
+ /// [`PoolingAllocationConfig::memory_protection_keys`] is set to `enable`
2789
+ /// or `auto`. Configuring this above the HW and OS limits (typically 15)
2790
+ /// has no effect.
2791
+ ///
2792
+ /// If multiple Wasmtime engines are used in the same process, note that all
2793
+ /// engines will share the same set of allocated keys; this setting will
2794
+ /// limit how many keys are allocated initially and thus available to all
2795
+ /// other engines.
2796
+ #[cfg(feature = "memory-protection-keys")]
2797
+ pub fn max_memory_protection_keys(&mut self, max: usize) -> &mut Self {
2798
+ self.config.max_memory_protection_keys = max;
2799
+ self
2800
+ }
2801
+
2802
+ /// Check if memory protection keys (MPK) are available on the current host.
2803
+ ///
2804
+ /// This is a convenience method for determining MPK availability using the
2805
+ /// same method that [`MpkEnabled::Auto`] does. See
2806
+ /// [`PoolingAllocationConfig::memory_protection_keys`] for more
2807
+ /// information.
2808
+ #[cfg(feature = "memory-protection-keys")]
2809
+ pub fn are_memory_protection_keys_available() -> bool {
2810
+ crate::runtime::vm::mpk::is_supported()
2811
+ }
2812
+
2813
+ /// The maximum number of concurrent GC heaps supported (default is `1000`).
2814
+ ///
2815
+ /// This value has a direct impact on the amount of memory allocated by the
2816
+ /// pooling instance allocator.
2817
+ ///
2818
+ /// The pooling instance allocator allocates a GC heap pool, where each
2819
+ /// entry in the pool contains the space needed for each GC heap used by a
2820
+ /// store.
2821
+ #[cfg(feature = "gc")]
2822
+ pub fn total_gc_heaps(&mut self, count: u32) -> &mut Self {
2823
+ self.config.limits.total_gc_heaps = count;
2824
+ self
2825
+ }
2826
+ }
2827
+
2828
+ pub(crate) fn probestack_supported(arch: Architecture) -> bool {
2829
+ matches!(
2830
+ arch,
2831
+ Architecture::X86_64 | Architecture::Aarch64(_) | Architecture::Riscv64(_)
2832
+ )
2833
+ }
2834
+
2835
+ #[cfg(feature = "std")]
2836
+ fn detect_host_feature(feature: &str) -> Option<bool> {
2837
+ #[cfg(target_arch = "aarch64")]
2838
+ {
2839
+ return match feature {
2840
+ "lse" => Some(std::arch::is_aarch64_feature_detected!("lse")),
2841
+ "paca" => Some(std::arch::is_aarch64_feature_detected!("paca")),
2842
+
2843
+ _ => None,
2844
+ };
2845
+ }
2846
+
2847
+ // There is no is_s390x_feature_detected macro yet, so for now
2848
+ // we use getauxval from the libc crate directly.
2849
+ #[cfg(all(target_arch = "s390x", target_os = "linux"))]
2850
+ {
2851
+ let v = unsafe { libc::getauxval(libc::AT_HWCAP) };
2852
+ const HWCAP_S390X_VXRS_EXT2: libc::c_ulong = 32768;
2853
+
2854
+ return match feature {
2855
+ // There is no separate HWCAP bit for mie2, so assume
2856
+ // that any machine with vxrs_ext2 also has mie2.
2857
+ "vxrs_ext2" | "mie2" => Some((v & HWCAP_S390X_VXRS_EXT2) != 0),
2858
+
2859
+ _ => None,
2860
+ };
2861
+ }
2862
+
2863
+ #[cfg(target_arch = "riscv64")]
2864
+ {
2865
+ return match feature {
2866
+ // due to `is_riscv64_feature_detected` is not stable.
2867
+ // we cannot use it. For now lie and say all features are always
2868
+ // found to keep tests working.
2869
+ _ => Some(true),
2870
+ };
2871
+ }
2872
+
2873
+ #[cfg(target_arch = "x86_64")]
2874
+ {
2875
+ return match feature {
2876
+ "sse3" => Some(std::is_x86_feature_detected!("sse3")),
2877
+ "ssse3" => Some(std::is_x86_feature_detected!("ssse3")),
2878
+ "sse4.1" => Some(std::is_x86_feature_detected!("sse4.1")),
2879
+ "sse4.2" => Some(std::is_x86_feature_detected!("sse4.2")),
2880
+ "popcnt" => Some(std::is_x86_feature_detected!("popcnt")),
2881
+ "avx" => Some(std::is_x86_feature_detected!("avx")),
2882
+ "avx2" => Some(std::is_x86_feature_detected!("avx2")),
2883
+ "fma" => Some(std::is_x86_feature_detected!("fma")),
2884
+ "bmi1" => Some(std::is_x86_feature_detected!("bmi1")),
2885
+ "bmi2" => Some(std::is_x86_feature_detected!("bmi2")),
2886
+ "avx512bitalg" => Some(std::is_x86_feature_detected!("avx512bitalg")),
2887
+ "avx512dq" => Some(std::is_x86_feature_detected!("avx512dq")),
2888
+ "avx512f" => Some(std::is_x86_feature_detected!("avx512f")),
2889
+ "avx512vl" => Some(std::is_x86_feature_detected!("avx512vl")),
2890
+ "avx512vbmi" => Some(std::is_x86_feature_detected!("avx512vbmi")),
2891
+ "lzcnt" => Some(std::is_x86_feature_detected!("lzcnt")),
2892
+
2893
+ _ => None,
2894
+ };
2895
+ }
2896
+
2897
+ #[allow(unreachable_code)]
2898
+ {
2899
+ let _ = feature;
2900
+ return None;
2901
+ }
2902
+ }