wasmtime 22.0.0 → 23.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ }