wasmtime 21.0.1 → 22.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2043) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +80 -87
  3. data/ext/Cargo.toml +4 -4
  4. data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +41 -0
  6. data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +193 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +384 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/dominator_tree.rs +727 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/egraph.rs +835 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/inst_predicates.rs +230 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +1777 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/extfunc.rs +402 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +1612 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/stackslot.rs +208 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +627 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/abi.rs +1556 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/args.rs +711 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +3584 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +7901 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/imms.rs +1213 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +3060 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/regs.rs +269 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +4218 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/pcc.rs +568 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/abi.rs +1029 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/args.rs +2054 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +2682 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +2215 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/encode.rs +675 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/imms.rs +374 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +1938 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/vector.rs +1150 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +3127 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst_vector.isle +1907 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +649 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +2923 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +260 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/abi.rs +1016 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/args.rs +298 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +3401 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit_tests.rs +13388 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/imms.rs +202 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +3401 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/regs.rs +169 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst.isle +5028 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +3995 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/abi.rs +1390 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/args.rs +2240 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +4287 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +52 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_tests.rs +5171 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +2821 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/regs.rs +275 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/unwind/systemv.rs +198 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +5289 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +4810 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/pcc.rs +1014 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +986 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +106 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +2419 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/blockorder.rs +465 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +2508 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +909 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +1432 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +551 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/reg.rs +479 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/valueregs.rs +138 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +1741 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/cprop.isle +297 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/shifts.isle +307 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +664 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +1073 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/timing.rs +296 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/traversals.rs +216 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/verifier/mod.rs +1957 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +638 -0
  81. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +1 -0
  82. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +36 -0
  83. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +496 -0
  84. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isa/riscv64.rs +174 -0
  85. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +22 -0
  87. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/src/constants.rs +28 -0
  88. data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +1 -0
  89. data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +30 -0
  90. data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +1 -0
  91. data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +53 -0
  92. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +290 -0
  93. data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +1 -0
  94. data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +68 -0
  95. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +1857 -0
  96. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/lib.rs +187 -0
  97. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/ssa.rs +1328 -0
  98. data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +47 -0
  100. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +2492 -0
  101. data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +1 -0
  102. data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +43 -0
  103. data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +188 -0
  104. data/ext/cargo-vendor/cranelift-native-0.109.0/src/riscv.rs +128 -0
  105. data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +1 -0
  106. data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +110 -0
  107. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +3695 -0
  108. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/func_translator.rs +296 -0
  109. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/module_translator.rs +120 -0
  110. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +343 -0
  111. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/state.rs +522 -0
  112. data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
  114. data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
  115. data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
  116. data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
  117. data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
  118. data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
  119. data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
  120. data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
  121. data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
  122. data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
  123. data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
  124. data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
  125. data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
  126. data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
  127. data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
  128. data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
  129. data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
  130. data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
  131. data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
  132. data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
  133. data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
  134. data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
  135. data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
  136. data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
  137. data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
  138. data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
  139. data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
  140. data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
  141. data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
  142. data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
  143. data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
  144. data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
  145. data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
  146. data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
  147. data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
  148. data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
  149. data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
  150. data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
  151. data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
  152. data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
  153. data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
  154. data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
  155. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
  156. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
  157. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
  158. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
  159. data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
  160. data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
  161. data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
  162. data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
  163. data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
  164. data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
  165. data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
  166. data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
  167. data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
  168. data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
  169. data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
  170. data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
  171. data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
  172. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
  173. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
  174. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
  175. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
  176. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
  177. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
  178. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
  179. data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +1 -0
  180. data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +224 -0
  181. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_0.rs +1080 -0
  182. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_1.rs +1562 -0
  183. data/ext/cargo-vendor/wasi-common-22.0.0/src/string_array.rs +75 -0
  184. data/ext/cargo-vendor/wasi-common-22.0.0/src/sync/sched/windows.rs +221 -0
  185. data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/file.rs +247 -0
  186. data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +1 -0
  187. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +662 -0
  188. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +109 -0
  189. data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +1929 -0
  190. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/hash.rs +120 -0
  191. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/detail.rs +1094 -0
  192. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/tests.rs +183 -0
  193. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map.rs +656 -0
  194. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_set.rs +316 -0
  195. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/map.rs +840 -0
  196. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/mod.rs +24 -0
  197. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/set.rs +660 -0
  198. data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +164 -0
  199. data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +814 -0
  200. data/ext/cargo-vendor/wasmparser-0.209.1/src/limits.rs +79 -0
  201. data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +1682 -0
  202. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/imports.rs +130 -0
  203. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/instances.rs +166 -0
  204. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/names.rs +99 -0
  205. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/types.rs +553 -0
  206. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/branch_hinting.rs +59 -0
  207. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/code.rs +142 -0
  208. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/coredumps.rs +278 -0
  209. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/custom.rs +128 -0
  210. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/data.rs +96 -0
  211. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/elements.rs +146 -0
  212. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/globals.rs +61 -0
  213. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/init.rs +57 -0
  214. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/linking.rs +457 -0
  215. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/names.rs +159 -0
  216. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +423 -0
  217. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/producers.rs +84 -0
  218. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/reloc.rs +300 -0
  219. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +1788 -0
  220. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers.rs +315 -0
  221. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +3236 -0
  222. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core/canonical.rs +233 -0
  223. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +1464 -0
  224. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/func.rs +331 -0
  225. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/names.rs +1016 -0
  226. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +4231 -0
  227. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +4550 -0
  228. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +1633 -0
  229. data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +1 -0
  230. data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +51 -0
  231. data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +3225 -0
  232. data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +1171 -0
  233. data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +1 -0
  234. data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +387 -0
  235. data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +42 -0
  236. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +167 -0
  237. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +917 -0
  238. data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +2943 -0
  239. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +890 -0
  240. data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +389 -0
  241. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +67 -0
  242. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +48 -0
  243. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code.rs +102 -0
  244. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +338 -0
  245. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
  246. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
  247. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
  248. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
  249. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
  250. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
  251. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
  252. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +489 -0
  253. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +656 -0
  254. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +2498 -0
  255. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +689 -0
  256. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +810 -0
  257. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +854 -0
  258. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +217 -0
  259. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +657 -0
  260. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resource_table.rs +355 -0
  261. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/types.rs +897 -0
  262. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +166 -0
  263. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +310 -0
  264. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +481 -0
  265. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +780 -0
  266. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +2564 -0
  267. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/anyref.rs +410 -0
  268. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +592 -0
  269. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/i31.rs +299 -0
  270. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/noextern.rs +154 -0
  271. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc.rs +92 -0
  272. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +992 -0
  273. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +337 -0
  274. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +1499 -0
  275. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +353 -0
  276. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +1322 -0
  277. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/func_refs.rs +90 -0
  278. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +2824 -0
  279. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +94 -0
  280. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +287 -0
  281. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/type_registry.rs +1015 -0
  282. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +2580 -0
  283. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/v128.rs +116 -0
  284. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +966 -0
  285. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +352 -0
  286. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +857 -0
  287. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +972 -0
  288. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/export.rs +108 -0
  289. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +491 -0
  290. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +220 -0
  291. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +194 -0
  292. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +94 -0
  293. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  294. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +707 -0
  295. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +975 -0
  296. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  297. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +278 -0
  298. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +794 -0
  299. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +801 -0
  300. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +1514 -0
  301. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +736 -0
  302. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/capi.rs +200 -0
  303. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +105 -0
  304. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/vm.rs +59 -0
  305. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/mod.rs +36 -0
  306. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +407 -0
  307. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/vm.rs +190 -0
  308. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/vm.rs +75 -0
  309. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +899 -0
  310. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +768 -0
  311. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  312. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +1302 -0
  313. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +277 -0
  314. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +113 -0
  315. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +1 -0
  316. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +22 -0
  317. data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +1 -0
  318. data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +89 -0
  319. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/config.rs +584 -0
  320. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/lib.rs +235 -0
  321. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/tests.rs +91 -0
  322. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker/tests.rs +758 -0
  323. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker.rs +890 -0
  324. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +1 -0
  325. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +86 -0
  326. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +493 -0
  327. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/component.rs +1330 -0
  328. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +651 -0
  329. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +198 -0
  330. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +215 -0
  331. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +586 -0
  332. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +631 -0
  333. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +165 -0
  334. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +178 -0
  335. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +91 -0
  336. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +97 -0
  337. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +45 -0
  338. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +45 -0
  339. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +637 -0
  340. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +679 -0
  341. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +255 -0
  342. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +282 -0
  343. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +59 -0
  344. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +62 -0
  345. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +722 -0
  346. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +819 -0
  347. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +1743 -0
  348. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +1927 -0
  349. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +543 -0
  350. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +561 -0
  351. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +270 -0
  352. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +298 -0
  353. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +251 -0
  354. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +270 -0
  355. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +815 -0
  356. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +877 -0
  357. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +167 -0
  359. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +467 -0
  360. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +516 -0
  361. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +1014 -0
  362. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +1086 -0
  363. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +249 -0
  364. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +265 -0
  365. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +313 -0
  366. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +347 -0
  367. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +350 -0
  368. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +381 -0
  369. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +216 -0
  370. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +229 -0
  371. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +275 -0
  372. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +287 -0
  373. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +59 -0
  374. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +62 -0
  375. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +86 -0
  376. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +89 -0
  377. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +104 -0
  378. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +111 -0
  379. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +247 -0
  380. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +269 -0
  381. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +136 -0
  382. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +143 -0
  383. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +288 -0
  384. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +314 -0
  385. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +1750 -0
  386. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +1867 -0
  387. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +84 -0
  388. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +84 -0
  389. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +138 -0
  390. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +148 -0
  391. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded.rs +65 -0
  392. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +1 -0
  393. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +25 -0
  394. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +1 -0
  395. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +115 -0
  396. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler/component.rs +957 -0
  397. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +1067 -0
  398. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +783 -0
  399. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +256 -0
  400. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +411 -0
  401. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +529 -0
  402. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +186 -0
  403. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +196 -0
  404. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +2910 -0
  405. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +648 -0
  406. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +462 -0
  407. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/obj.rs +545 -0
  408. data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +1 -0
  409. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +774 -0
  410. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +161 -0
  411. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/address_map.rs +73 -0
  412. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +374 -0
  413. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_artifacts.rs +315 -0
  414. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +1348 -0
  415. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_types.rs +455 -0
  416. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/artifacts.rs +68 -0
  417. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +672 -0
  418. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/adapt.rs +455 -0
  419. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +985 -0
  420. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +1038 -0
  421. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder/resources.rs +233 -0
  422. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +1004 -0
  423. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/trampoline.rs +3234 -0
  424. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/transcode.rs +90 -0
  425. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact.rs +714 -0
  426. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +151 -0
  427. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +704 -0
  428. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_artifacts.rs +144 -0
  429. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_types.rs +139 -0
  430. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/ref_bits.rs +36 -0
  431. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +175 -0
  432. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +989 -0
  433. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +1 -0
  434. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +65 -0
  435. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/build.rs +39 -0
  436. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/lib.rs +340 -0
  437. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/unix.rs +494 -0
  438. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/windows.rs +170 -0
  439. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +1 -0
  440. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +68 -0
  441. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/gdb_jit_int.rs +130 -0
  442. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/perf_jitdump.rs +293 -0
  443. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +1 -0
  444. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +52 -0
  445. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/libc.rs +164 -0
  446. data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +1 -0
  447. data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +21 -0
  448. data/ext/cargo-vendor/wasmtime-slab-22.0.0/src/lib.rs +498 -0
  449. data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +1 -0
  450. data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +56 -0
  451. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +1737 -0
  452. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +1 -0
  453. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +32 -0
  454. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +1 -0
  455. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +201 -0
  456. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +289 -0
  457. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ctx.rs +704 -0
  458. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +446 -0
  459. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/clocks.rs +109 -0
  460. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/env.rs +18 -0
  461. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/exit.rs +14 -0
  462. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem/sync.rs +525 -0
  463. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +1091 -0
  464. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/instance_network.rs +18 -0
  465. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +388 -0
  466. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/network.rs +545 -0
  467. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/random.rs +45 -0
  468. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp.rs +547 -0
  469. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp_create_socket.rs +18 -0
  470. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp.rs +762 -0
  471. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp_create_socket.rs +18 -0
  472. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ip_name_lookup.rs +132 -0
  473. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +417 -0
  474. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/network.rs +113 -0
  475. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/pipe.rs +826 -0
  476. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/poll.rs +245 -0
  477. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview0.rs +983 -0
  478. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +2801 -0
  479. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +533 -0
  480. data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +1 -0
  481. data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +82 -0
  482. data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +239 -0
  483. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +1 -0
  484. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +47 -0
  485. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +2639 -0
  486. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/rust.rs +427 -0
  487. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/types.rs +202 -0
  488. data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +1 -0
  489. data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +124 -0
  490. data/ext/cargo-vendor/wiggle-22.0.0/src/guest_type.rs +200 -0
  491. data/ext/cargo-vendor/wiggle-22.0.0/src/lib.rs +605 -0
  492. data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +1 -0
  493. data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +67 -0
  494. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/funcs.rs +434 -0
  495. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/module_trait.rs +89 -0
  496. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/names.rs +299 -0
  497. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/flags.rs +92 -0
  498. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/handle.rs +84 -0
  499. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/mod.rs +129 -0
  500. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/record.rs +129 -0
  501. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/variant.rs +186 -0
  502. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/wasmtime.rs +172 -0
  503. data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +1 -0
  504. data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +51 -0
  505. data/ext/cargo-vendor/wiggle-macro-22.0.0/build.rs +5 -0
  506. data/ext/cargo-vendor/wiggle-macro-22.0.0/src/lib.rs +233 -0
  507. data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +1 -0
  508. data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +77 -0
  509. data/ext/cargo-vendor/winch-codegen-0.20.0/src/abi/mod.rs +671 -0
  510. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/context.rs +536 -0
  511. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/control.rs +972 -0
  512. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +448 -0
  513. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +882 -0
  514. data/ext/cargo-vendor/winch-codegen-0.20.0/src/frame/mod.rs +258 -0
  515. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/asm.rs +430 -0
  516. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/masm.rs +572 -0
  517. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/regs.rs +161 -0
  518. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/asm.rs +1423 -0
  519. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/masm.rs +1120 -0
  520. data/ext/cargo-vendor/winch-codegen-0.20.0/src/masm.rs +941 -0
  521. data/ext/cargo-vendor/winch-codegen-0.20.0/src/regalloc.rs +65 -0
  522. data/ext/cargo-vendor/winch-codegen-0.20.0/src/stack.rs +439 -0
  523. data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +2149 -0
  524. data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +1 -0
  525. data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +112 -0
  526. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +1524 -0
  527. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +1668 -0
  528. data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +1795 -0
  529. data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +873 -0
  530. data/ext/cargo-vendor/wit-parser-0.209.1/src/live.rs +126 -0
  531. data/ext/cargo-vendor/wit-parser-0.209.1/src/metadata.rs +772 -0
  532. data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +2498 -0
  533. data/ext/cargo-vendor/wit-parser-0.209.1/src/serde_.rs +124 -0
  534. data/ext/cargo-vendor/wit-parser-0.209.1/tests/all.rs +154 -0
  535. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/complex-include.wit.json +200 -0
  536. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/diamond1.wit.json +59 -0
  537. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/disambiguate-diamond.wit.json +115 -0
  538. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit +118 -0
  539. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +288 -0
  540. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps-union.wit.json +410 -0
  541. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps.wit.json +362 -0
  542. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/ignore-files-deps.wit.json +41 -0
  543. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/import-export-overlap2.wit.json +43 -0
  544. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/include-reps.wit.json +68 -0
  545. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/kinds-of-deps.wit.json +95 -0
  546. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/many-names.wit.json +42 -0
  547. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/multi-file.wit.json +304 -0
  548. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit +8 -0
  549. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  550. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit +8 -0
  551. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  552. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit +6 -0
  553. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
  554. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit +8 -0
  555. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
  556. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit +11 -0
  557. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
  558. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit +4 -0
  559. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  560. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit +5 -0
  561. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  562. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
  563. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
  564. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
  565. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
  566. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
  567. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
  568. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
  569. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
  570. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
  571. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/shared-types.wit.json +87 -0
  572. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit +89 -0
  573. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +549 -0
  574. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/stress-export-elaborate.wit.json +1156 -0
  575. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-diamond.wit.json +124 -0
  576. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-iface-no-collide.wit.json +68 -0
  577. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import1.wit.json +81 -0
  578. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import2.wit.json +72 -0
  579. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import3.wit.json +73 -0
  580. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-same-fields4.wit.json +82 -0
  581. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-top-level-resources.wit.json +237 -0
  582. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-union-dedup.wit.json +112 -0
  583. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-with-types.wit.json +204 -0
  584. data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
  585. data/lib/wasmtime/version.rb +1 -1
  586. metadata +1525 -1459
  587. data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +0 -1
  588. data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +0 -40
  589. data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +0 -1
  590. data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +0 -189
  591. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +0 -395
  592. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dce.rs +0 -37
  593. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dominator_tree.rs +0 -803
  594. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +0 -839
  595. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/inst_predicates.rs +0 -236
  596. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/dfg.rs +0 -1777
  597. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/extfunc.rs +0 -411
  598. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/immediates.rs +0 -1612
  599. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/stackslot.rs +0 -216
  600. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/types.rs +0 -629
  601. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +0 -1580
  602. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +0 -721
  603. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +0 -3846
  604. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +0 -7902
  605. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +0 -1213
  606. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +0 -3094
  607. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +0 -288
  608. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  609. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +0 -4225
  610. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +0 -568
  611. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +0 -1051
  612. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +0 -1938
  613. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +0 -2681
  614. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +0 -2197
  615. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/encode.rs +0 -654
  616. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/imms.rs +0 -374
  617. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +0 -1975
  618. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  619. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +0 -1144
  620. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +0 -2969
  621. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst_vector.isle +0 -1899
  622. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +0 -625
  623. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +0 -2883
  624. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/mod.rs +0 -260
  625. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +0 -1037
  626. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +0 -314
  627. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +0 -3646
  628. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit_tests.rs +0 -13389
  629. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +0 -202
  630. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +0 -3421
  631. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +0 -180
  632. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  633. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst.isle +0 -5033
  634. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/lower.isle +0 -3995
  635. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +0 -1410
  636. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +0 -2256
  637. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +0 -4311
  638. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_state.rs +0 -74
  639. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +0 -5171
  640. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +0 -2838
  641. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +0 -276
  642. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/unwind/systemv.rs +0 -198
  643. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +0 -5294
  644. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +0 -4808
  645. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +0 -1014
  646. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isle_prelude.rs +0 -957
  647. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +0 -106
  648. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +0 -2506
  649. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +0 -465
  650. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/buffer.rs +0 -2512
  651. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +0 -903
  652. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +0 -1432
  653. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +0 -555
  654. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +0 -522
  655. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +0 -138
  656. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +0 -1741
  657. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/cprop.isle +0 -281
  658. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/shifts.isle +0 -307
  659. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude.isle +0 -646
  660. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude_lower.isle +0 -1073
  661. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/timing.rs +0 -297
  662. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/verifier/mod.rs +0 -1957
  663. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/write.rs +0 -631
  664. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +0 -1
  665. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +0 -35
  666. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/types.rs +0 -496
  667. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +0 -168
  668. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +0 -1
  669. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +0 -22
  670. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/src/constants.rs +0 -28
  671. data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +0 -1
  672. data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +0 -30
  673. data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +0 -1
  674. data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +0 -52
  675. data/ext/cargo-vendor/cranelift-entity-0.108.1/src/set.rs +0 -290
  676. data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +0 -1
  677. data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +0 -67
  678. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/frontend.rs +0 -1854
  679. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/lib.rs +0 -189
  680. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/ssa.rs +0 -1328
  681. data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +0 -1
  682. data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +0 -46
  683. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +0 -2492
  684. data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +0 -1
  685. data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +0 -43
  686. data/ext/cargo-vendor/cranelift-native-0.108.1/src/lib.rs +0 -188
  687. data/ext/cargo-vendor/cranelift-native-0.108.1/src/riscv.rs +0 -128
  688. data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +0 -1
  689. data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +0 -109
  690. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +0 -3687
  691. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/func_translator.rs +0 -296
  692. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/module_translator.rs +0 -128
  693. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +0 -389
  694. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/state.rs +0 -522
  695. data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
  696. data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
  697. data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
  698. data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
  699. data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
  700. data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
  701. data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
  702. data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
  703. data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
  704. data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
  705. data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
  706. data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
  707. data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
  708. data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
  709. data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
  710. data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
  711. data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
  712. data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
  713. data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
  714. data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
  715. data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
  716. data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
  717. data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
  718. data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
  719. data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
  720. data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
  721. data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
  722. data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
  723. data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
  724. data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
  725. data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
  726. data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
  727. data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
  728. data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
  729. data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
  730. data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
  731. data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
  732. data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
  733. data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
  734. data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
  735. data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
  736. data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
  737. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
  738. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
  739. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
  740. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
  741. data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
  742. data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
  743. data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
  744. data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
  745. data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
  746. data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
  747. data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
  748. data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
  749. data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
  750. data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
  751. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
  752. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
  753. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
  754. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
  755. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
  756. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
  757. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
  758. data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +0 -1
  759. data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +0 -223
  760. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_0.rs +0 -1145
  761. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_1.rs +0 -1497
  762. data/ext/cargo-vendor/wasi-common-21.0.1/src/string_array.rs +0 -74
  763. data/ext/cargo-vendor/wasi-common-21.0.1/src/sync/sched/windows.rs +0 -221
  764. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/file.rs +0 -247
  765. data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +0 -1
  766. data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +0 -45
  767. data/ext/cargo-vendor/wasm-encoder-0.207.0/README.md +0 -80
  768. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/aliases.rs +0 -160
  769. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/builder.rs +0 -455
  770. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/canonicals.rs +0 -159
  771. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/components.rs +0 -29
  772. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/exports.rs +0 -124
  773. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/imports.rs +0 -175
  774. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/instances.rs +0 -200
  775. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/modules.rs +0 -29
  776. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/names.rs +0 -149
  777. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/start.rs +0 -52
  778. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/types.rs +0 -792
  779. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component.rs +0 -168
  780. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +0 -3502
  781. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/custom.rs +0 -73
  782. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/data.rs +0 -186
  783. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/dump.rs +0 -627
  784. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/elements.rs +0 -221
  785. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/exports.rs +0 -98
  786. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/functions.rs +0 -63
  787. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +0 -112
  788. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +0 -157
  789. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/linking.rs +0 -263
  790. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +0 -128
  791. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/names.rs +0 -298
  792. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/producers.rs +0 -180
  793. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/start.rs +0 -39
  794. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +0 -134
  795. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tags.rs +0 -104
  796. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +0 -678
  797. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core.rs +0 -168
  798. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/lib.rs +0 -215
  799. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/raw.rs +0 -30
  800. data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +0 -1
  801. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +0 -659
  802. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +0 -95
  803. data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +0 -1867
  804. data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +0 -805
  805. data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +0 -78
  806. data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +0 -137
  807. data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +0 -1636
  808. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/imports.rs +0 -129
  809. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +0 -164
  810. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +0 -102
  811. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +0 -551
  812. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/branch_hinting.rs +0 -59
  813. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +0 -146
  814. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +0 -244
  815. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +0 -64
  816. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +0 -96
  817. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +0 -152
  818. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +0 -51
  819. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/init.rs +0 -51
  820. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +0 -450
  821. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +0 -159
  822. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +0 -430
  823. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/producers.rs +0 -83
  824. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +0 -301
  825. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +0 -1773
  826. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +0 -316
  827. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +0 -3242
  828. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +0 -233
  829. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +0 -1450
  830. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +0 -331
  831. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +0 -947
  832. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +0 -4117
  833. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +0 -4492
  834. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +0 -1786
  835. data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +0 -1
  836. data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +0 -50
  837. data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +0 -3226
  838. data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +0 -1164
  839. data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +0 -1
  840. data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +0 -386
  841. data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +0 -37
  842. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +0 -176
  843. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +0 -910
  844. data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +0 -2904
  845. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +0 -887
  846. data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +0 -328
  847. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +0 -67
  848. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +0 -48
  849. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +0 -102
  850. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +0 -337
  851. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +0 -661
  852. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +0 -2498
  853. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +0 -746
  854. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +0 -814
  855. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +0 -783
  856. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +0 -217
  857. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +0 -783
  858. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +0 -355
  859. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +0 -892
  860. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +0 -166
  861. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +0 -310
  862. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +0 -477
  863. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +0 -899
  864. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +0 -2627
  865. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +0 -473
  866. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +0 -650
  867. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +0 -346
  868. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +0 -89
  869. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +0 -992
  870. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +0 -346
  871. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +0 -1506
  872. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +0 -353
  873. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +0 -1295
  874. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +0 -90
  875. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +0 -2820
  876. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +0 -139
  877. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +0 -287
  878. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +0 -807
  879. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +0 -2239
  880. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +0 -131
  881. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +0 -966
  882. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +0 -352
  883. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +0 -860
  884. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +0 -893
  885. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +0 -108
  886. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +0 -491
  887. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +0 -218
  888. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
  889. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -66
  890. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -705
  891. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1000
  892. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -233
  893. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -245
  894. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +0 -656
  895. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +0 -798
  896. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +0 -1519
  897. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +0 -744
  898. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +0 -200
  899. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +0 -109
  900. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/vm.rs +0 -63
  901. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +0 -25
  902. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +0 -401
  903. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +0 -215
  904. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/vm.rs +0 -79
  905. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +0 -847
  906. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +0 -768
  907. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -138
  908. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +0 -1337
  909. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +0 -287
  910. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +0 -110
  911. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +0 -1
  912. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +0 -22
  913. data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +0 -1
  914. data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +0 -88
  915. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/config.rs +0 -584
  916. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +0 -235
  917. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/tests.rs +0 -91
  918. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker/tests.rs +0 -758
  919. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker.rs +0 -890
  920. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +0 -1
  921. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +0 -79
  922. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +0 -436
  923. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +0 -1295
  924. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +0 -576
  925. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +0 -25
  927. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +0 -114
  929. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +0 -968
  930. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +0 -1383
  931. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/address_transform.rs +0 -783
  932. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +0 -256
  933. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/simulate.rs +0 -411
  934. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +0 -529
  935. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +0 -186
  936. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +0 -196
  937. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +0 -2888
  938. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +0 -648
  939. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +0 -511
  940. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/obj.rs +0 -545
  941. data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +0 -1
  942. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +0 -772
  943. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +0 -154
  944. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +0 -73
  945. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +0 -419
  946. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +0 -315
  947. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +0 -1337
  948. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +0 -362
  949. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/artifacts.rs +0 -72
  950. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +0 -672
  951. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +0 -455
  952. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +0 -978
  953. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +0 -1029
  954. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +0 -233
  955. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +0 -997
  956. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +0 -3234
  957. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +0 -90
  958. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +0 -714
  959. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +0 -161
  960. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +0 -697
  961. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +0 -146
  962. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +0 -91
  963. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/ref_bits.rs +0 -36
  964. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +0 -168
  965. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +0 -1015
  966. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +0 -1
  967. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +0 -64
  968. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +0 -38
  969. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +0 -328
  970. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +0 -490
  971. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +0 -166
  972. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +0 -1
  973. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +0 -67
  974. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/gdb_jit_int.rs +0 -130
  975. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/perf_jitdump.rs +0 -293
  976. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +0 -1
  977. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +0 -51
  978. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +0 -163
  979. data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +0 -1
  980. data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +0 -21
  981. data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +0 -498
  982. data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +0 -1
  983. data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +0 -55
  984. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +0 -1572
  985. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +0 -1
  986. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +0 -32
  987. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +0 -1
  988. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +0 -200
  989. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +0 -280
  990. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +0 -667
  991. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +0 -446
  992. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/clocks.rs +0 -103
  993. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/env.rs +0 -15
  994. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/exit.rs +0 -11
  995. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem/sync.rs +0 -518
  996. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem.rs +0 -1079
  997. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/instance_network.rs +0 -15
  998. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/io.rs +0 -367
  999. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/network.rs +0 -539
  1000. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/random.rs +0 -36
  1001. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp.rs +0 -306
  1002. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp_create_socket.rs +0 -15
  1003. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp.rs +0 -532
  1004. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp_create_socket.rs +0 -15
  1005. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ip_name_lookup.rs +0 -126
  1006. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +0 -426
  1007. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/network.rs +0 -107
  1008. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/pipe.rs +0 -826
  1009. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/poll.rs +0 -233
  1010. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +0 -877
  1011. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +0 -2660
  1012. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/stdio.rs +0 -507
  1013. data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +0 -1
  1014. data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +0 -81
  1015. data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +0 -261
  1016. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +0 -1
  1017. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +0 -46
  1018. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +0 -2541
  1019. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +0 -421
  1020. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/types.rs +0 -202
  1021. data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +0 -1
  1022. data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +0 -123
  1023. data/ext/cargo-vendor/wiggle-21.0.1/src/borrow.rs +0 -113
  1024. data/ext/cargo-vendor/wiggle-21.0.1/src/guest_type.rs +0 -237
  1025. data/ext/cargo-vendor/wiggle-21.0.1/src/lib.rs +0 -1184
  1026. data/ext/cargo-vendor/wiggle-21.0.1/src/wasmtime.rs +0 -97
  1027. data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +0 -1
  1028. data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +0 -66
  1029. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/funcs.rs +0 -435
  1030. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/module_trait.rs +0 -102
  1031. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/names.rs +0 -303
  1032. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/flags.rs +0 -92
  1033. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/handle.rs +0 -84
  1034. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/mod.rs +0 -129
  1035. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/record.rs +0 -132
  1036. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/variant.rs +0 -191
  1037. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/wasmtime.rs +0 -170
  1038. data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +0 -1
  1039. data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +0 -55
  1040. data/ext/cargo-vendor/wiggle-macro-21.0.1/LICENSE +0 -220
  1041. data/ext/cargo-vendor/wiggle-macro-21.0.1/src/lib.rs +0 -210
  1042. data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +0 -1
  1043. data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +0 -76
  1044. data/ext/cargo-vendor/winch-codegen-0.19.1/src/abi/mod.rs +0 -671
  1045. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +0 -534
  1046. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/control.rs +0 -972
  1047. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +0 -440
  1048. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +0 -882
  1049. data/ext/cargo-vendor/winch-codegen-0.19.1/src/frame/mod.rs +0 -258
  1050. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +0 -380
  1051. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +0 -566
  1052. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +0 -161
  1053. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +0 -1423
  1054. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +0 -1120
  1055. data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +0 -941
  1056. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +0 -65
  1057. data/ext/cargo-vendor/winch-codegen-0.19.1/src/stack.rs +0 -439
  1058. data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +0 -2144
  1059. data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +0 -1
  1060. data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +0 -109
  1061. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +0 -1442
  1062. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast.rs +0 -1348
  1063. data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +0 -1764
  1064. data/ext/cargo-vendor/wit-parser-0.207.0/src/docs.rs +0 -389
  1065. data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +0 -777
  1066. data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +0 -126
  1067. data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +0 -2337
  1068. data/ext/cargo-vendor/wit-parser-0.207.0/src/serde_.rs +0 -108
  1069. data/ext/cargo-vendor/wit-parser-0.207.0/tests/all.rs +0 -153
  1070. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/complex-include.wit.json +0 -168
  1071. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/diamond1.wit.json +0 -55
  1072. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/disambiguate-diamond.wit.json +0 -107
  1073. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps-union.wit.json +0 -380
  1074. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps.wit.json +0 -344
  1075. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/ignore-files-deps.wit.json +0 -39
  1076. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/import-export-overlap2.wit.json +0 -41
  1077. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/include-reps.wit.json +0 -60
  1078. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/kinds-of-deps.wit.json +0 -87
  1079. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/many-names.wit.json +0 -40
  1080. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/multi-file.wit.json +0 -298
  1081. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
  1082. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
  1083. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -5
  1084. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -5
  1085. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -5
  1086. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -5
  1087. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -5
  1088. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -5
  1089. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -8
  1090. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/shared-types.wit.json +0 -83
  1091. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
  1092. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-diamond.wit.json +0 -118
  1093. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-iface-no-collide.wit.json +0 -66
  1094. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import1.wit.json +0 -75
  1095. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import2.wit.json +0 -70
  1096. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import3.wit.json +0 -71
  1097. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-same-fields4.wit.json +0 -76
  1098. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +0 -231
  1099. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-union-dedup.wit.json +0 -100
  1100. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-with-types.wit.json +0 -202
  1101. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/LICENSE +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/README.md +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/lib.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/map.rs +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/node.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/path.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/pool.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.109.0}/src/set.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/LICENSE +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/README.md +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/benches/x64-evex-encoding.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/build.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/alias_analysis.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/mod.rs +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/binemit/stack_map.rs +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/bitset.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cfg_printer.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/constant_hash.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ctxhash.rs +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/cursor.rs +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/data_value.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/dbg.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/cost.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/egraph/elaborate.rs +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/flowgraph.rs +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/incremental_cache.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/atomic_rmw_op.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/builder.rs +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/condcodes.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/constant.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/dynamic_type.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/entities.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/extname.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/function.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/globalvalue.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/instructions.rs +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/jumptable.rs +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/known_symbol.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/layout.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/libcall.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memflags.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/memtype.rs +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/mod.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/pcc.rs +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/progpoint.rs +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/sourceloc.rs +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ir/trapcode.rs +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst_neon.isle +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle.rs +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.isle +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.rs +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/mod.rs +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/aarch64/settings.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/call_conv.rs +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/mod.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/regs.rs +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/riscv64/settings.rs +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/inst/unwind.rs +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle.rs +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/lower.rs +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/mod.rs +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/s390x/settings.rs +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/systemv.rs +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind/winx64.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/unwind.rs +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/evex.rs +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/mod.rs +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/rex.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/vex.rs +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind.rs +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle.rs +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/lower.rs +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/mod.rs +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/isa/x64/settings.rs +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/iterators.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/globalvalue.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/legalizer/mod.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/loop_analysis.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/compile.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/helpers.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/inst_common.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/machinst/pcc.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/nan_canonicalization.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/README.md +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/arithmetic.isle +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/bitops.isle +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/extends.isle +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/generated_code.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/icmp.isle +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/remat.isle +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/selects.isle +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spaceship.isle +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/spectre.isle +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts/vector.isle +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/opts.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/prelude_opt.isle +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/print_errors.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/ranges.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/remove_constant_phis.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/result.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/scoped_hash_map.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/settings.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/souper_harvest.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unionfind.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/unreachable_code.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.109.0}/src/value_label.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/LICENSE +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/README.md +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/formats.rs +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/instructions.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/isa.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/mod.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/operands.rs +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/settings.rs +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/cdsl/typevar.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/constant_hash.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/error.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_inst.rs +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_isle.rs +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_settings.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/gen_types.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/arm64.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/mod.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/s390x.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isa/x86.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/isle.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/lib.rs +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/entities.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/formats.rs +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/immediates.rs +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/instructions.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/mod.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/settings.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/shared/types.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/srcgen.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.109.0}/src/unique_table.rs +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/LICENSE +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/README.md +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/constant_hash.rs +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.109.0}/src/lib.rs +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/LICENSE +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/README.md +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/chaos.rs +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/lib.rs +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.109.0}/src/zero_sized.rs +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/LICENSE +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/README.md +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/boxed_slice.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/iter.rs +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/keys.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/lib.rs +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/list.rs +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/map.rs +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/packed_option.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/primary.rs +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/sparse.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.109.0}/src/unsigned.rs +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/LICENSE +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/README.md +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/switch.rs +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.109.0}/src/variable.rs +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/README.md +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/build.rs +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bad_converters.isle +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/error1.isle +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/extra_parens.isle +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_expression.isle +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/impure_rhs.isle +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/fail/multi_prio.isle +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows.isle +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/borrows_main.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets.isle +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/iflets_main.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor.isle +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor_main.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor.isle +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor_main.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test.isle +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/link/test_main.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/bound_var.isle +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions.isle +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/conversions_extern.isle +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/let.isle +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/nodebug.isle +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test2.isle +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test3.isle +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/test4.isle +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/pass/tutorial.isle +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst.isle +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/iconst_main.rs +0 -0
  1305. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing.isle +0 -0
  1306. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  1307. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/ast.rs +0 -0
  1308. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/codegen.rs +0 -0
  1309. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/compile.rs +0 -0
  1310. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/disjointsets.rs +0 -0
  1311. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/error.rs +0 -0
  1312. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lexer.rs +0 -0
  1313. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/lib.rs +0 -0
  1314. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/log.rs +0 -0
  1315. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/overlap.rs +0 -0
  1316. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/parser.rs +0 -0
  1317. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/serialize.rs +0 -0
  1318. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/stablemapset.rs +0 -0
  1319. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/src/trie_again.rs +0 -0
  1320. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.109.0}/tests/run_tests.rs +0 -0
  1321. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/LICENSE +0 -0
  1322. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.109.0}/README.md +0 -0
  1323. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/LICENSE +0 -0
  1324. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/README.md +0 -0
  1325. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/code_translator/bounds_checks.rs +0 -0
  1326. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/dummy.rs +0 -0
  1327. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/mod.rs +0 -0
  1328. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/environ/spec.rs +0 -0
  1329. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/heap.rs +0 -0
  1330. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/lib.rs +0 -0
  1331. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/table.rs +0 -0
  1332. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.109.0}/src/translation_utils.rs +0 -0
  1333. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-APACHE +0 -0
  1334. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
  1335. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
  1336. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
  1337. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
  1338. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
  1339. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
  1340. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
  1341. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
  1342. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
  1343. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
  1344. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
  1345. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
  1346. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
  1347. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
  1348. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
  1349. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
  1350. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
  1351. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
  1352. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
  1353. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
  1354. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
  1355. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
  1356. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
  1357. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
  1358. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
  1359. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
  1360. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
  1361. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
  1362. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
  1363. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
  1364. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
  1365. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
  1366. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
  1367. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
  1368. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
  1369. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/LICENSE +0 -0
  1370. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/README.md +0 -0
  1371. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/clocks.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/ctx.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/dir.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/error.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/file.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/lib.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/pipe.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/random.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched/subscription.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sched.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/mod.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/clocks.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/dir.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/file.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/mod.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/net.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched/unix.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/sched.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/sync/stdio.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/table.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/dir.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/mod.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/net.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/unix.rs +0 -0
  1396. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched/windows.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/sched.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/src/tokio/stdio.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/async_.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/main.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/tests/all/sync.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/typenames.witx +0 -0
  1403. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1404. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/typenames.witx +0 -0
  1405. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1406. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/README.md +0 -0
  1407. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/benches/benchmark.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/examples/simple.rs +0 -0
  1409. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/aliases.rs +0 -0
  1410. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/canonicals.rs +0 -0
  1411. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/exports.rs +0 -0
  1412. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component/start.rs +0 -0
  1413. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/component.rs +0 -0
  1414. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/dylink0.rs +0 -0
  1415. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/exports.rs +0 -0
  1416. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/functions.rs +0 -0
  1417. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/imports.rs +0 -0
  1418. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/memories.rs +0 -0
  1419. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tables.rs +0 -0
  1420. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/tags.rs +0 -0
  1421. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core/types/matches.rs +0 -0
  1422. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/readers/core.rs +0 -0
  1423. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/src/resources.rs +0 -0
  1424. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.209.1}/tests/big-module.rs +0 -0
  1425. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasmprinter-0.209.1}/LICENSE +0 -0
  1426. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/README.md +0 -0
  1427. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.209.1}/tests/all.rs +0 -0
  1428. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmtime-22.0.0}/LICENSE +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/README.md +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/compile/code_builder.rs +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/engine.rs +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent/vtune.rs +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/profiling_agent.rs +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/host.rs +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/func/options.rs +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/resources.rs +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/storage.rs +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/store.rs +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/component/values.rs +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/coredump.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/externals.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/anyref.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/externref.rs +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/i31.rs +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled/rooting.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/disabled.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled/rooting.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/gc/enabled.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/limits.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/memory.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/profiling.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/resources.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/signatures.rs +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/stack.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/context.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/store/data.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/global.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline/table.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trampoline.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/trap.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/types/matching.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/uninhabited.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/unix.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/aarch64.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/mod.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/riscv64.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.S +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/s390x.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/arch/x86_64.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/async_yield.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/component/libcalls.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/const_expr.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/debug_builtins.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/disabled.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/drc.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/enabled.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/gc_runtime.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/host_data.rs +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc/i31.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/gc.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/helpers.c +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/imports.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/libcalls.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap.rs +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mmap_vec.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/module_id.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/disabled.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/enabled.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/mod.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/pkru.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/mpk/sys.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/store_box.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mmap.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/sys/windows/unwind.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/mod.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/threads/shared_memory_disabled.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/runtime/windows.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_nostd.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-22.0.0}/src/sync_std.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-asm-macros-21.0.1 → wasmtime-asm-macros-22.0.0}/src/lib.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-cache-22.0.0}/LICENSE +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/build.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/config/tests.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-22.0.0}/tests/cache_write_default_config.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/build.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/src/lib.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/char.wit +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/conventions.wit +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/dead-code.wit +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/direct-import.wit +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/empty.wit +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/flags.wit +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/floats.wit +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/function-new.wit +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/integers.wit +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/lists.wit +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/many-arguments.wit +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multi-return.wit +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/root.wit +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/records.wit +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/rename.wit +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-export.wit +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-import.wit +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/share-types.wit +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-functions.wit +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-lists.wit +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-wasi.wit +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/small-anonymous.wit +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-default.wit +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-export.wit +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke.wit +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/strings.wit +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/unversioned-foo.wit +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/use-paths.wit +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/variants.wit +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/wat.wit +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-22.0.0}/tests/codegen_no_std.rs +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-component-util-21.0.1 → wasmtime-component-util-22.0.0}/src/lib.rs +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cranelift-22.0.0}/LICENSE +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/SECURITY.md +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/builder.rs +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/compiled_function.rs +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/gc.rs +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/attr.rs +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/expression.rs +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/line_program.rs +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug/transform/refs.rs +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/debug.rs +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc/disabled.rs +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/gc.rs +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-22.0.0}/src/isa_builder.rs +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-environ-22.0.0}/LICENSE +0 -0
  1582. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/examples/factc.rs +0 -0
  1583. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/address_map.rs +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/builtin.rs +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/compile/trap_encoding.rs +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/compiler.rs +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/dfg.rs +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/translate/inline.rs +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/component.rs +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/demangling.rs +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/core_types.rs +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/signature.rs +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/fact/traps.rs +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/gc.rs +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/obj.rs +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/scopevec.rs +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/stack_map.rs +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-22.0.0}/src/trap_encoding.rs +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-fiber-22.0.0}/LICENSE +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/aarch64.rs +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/arm.rs +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/riscv64.rs +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/s390x.S +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86.rs +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/unix/x86_64.rs +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-22.0.0}/src/windows.c +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/README.md +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-22.0.0}/src/lib.rs +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/lib.rs +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/miri.rs +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-22.0.0}/src/win.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-types-22.0.0}/LICENSE +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-types-22.0.0}/src/error.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-21.0.1 → wasmtime-versioned-export-macros-22.0.0}/src/lib.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-wasi-22.0.0}/LICENSE +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/README.md +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks/host.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/clocks.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/error.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/host/mod.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/random.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/runtime.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stdio/worker_thread_stdin.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/stream.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/tcp.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/udp.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/src/write_stream.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/api.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/async_.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/main.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/preview1.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/all/sync.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/tests/process_stdin.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/command-extended.wit +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/command.wit +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/environment.wit +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/exit.wit +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/imports.wit +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/run.wit +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/stdio.wit +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/cli/terminal.wit +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/wall-clock.wit +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/clocks/world.wit +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/preopens.wit +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/types.wit +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/world.wit +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/handler.wit +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/proxy.wit +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/http/types.wit +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/error.wit +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/poll.wit +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/streams.wit +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/io/world.wit +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure-seed.wit +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure.wit +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/random.wit +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/random/world.wit +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/instance-network.wit +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/network.wit +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp.wit +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp.wit +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/deps/sockets/world.wit +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/wit/test.wit +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/typenames.witx +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/typenames.witx +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/LICENSE +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/builder.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-22.0.0}/src/lib.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-21.0.1 → wasmtime-wit-bindgen-22.0.0}/src/source.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wiggle-22.0.0}/LICENSE +0 -0
  1678. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/README.md +0 -0
  1679. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/error.rs +0 -0
  1680. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-22.0.0}/src/region.rs +0 -0
  1681. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-generate-22.0.0}/LICENSE +0 -0
  1682. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/README.md +0 -0
  1683. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/codegen_settings.rs +0 -0
  1684. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/config.rs +0 -0
  1685. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lib.rs +0 -0
  1686. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/lifetimes.rs +0 -0
  1687. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-22.0.0}/src/types/error.rs +0 -0
  1688. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-macro-22.0.0}/LICENSE +0 -0
  1689. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/LICENSE +0 -0
  1690. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/build.rs +0 -0
  1691. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/abi/local.rs +0 -0
  1692. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/bounds.rs +0 -0
  1693. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/builtin.rs +0 -0
  1694. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/codegen/call.rs +0 -0
  1695. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/abi.rs +0 -0
  1696. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/address.rs +0 -0
  1697. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/aarch64/mod.rs +0 -0
  1698. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/mod.rs +0 -0
  1699. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/reg.rs +0 -0
  1700. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/abi.rs +0 -0
  1701. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/address.rs +0 -0
  1702. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/mod.rs +0 -0
  1703. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/isa/x64/regs.rs +0 -0
  1704. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/lib.rs +0 -0
  1705. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.20.0}/src/regset.rs +0 -0
  1706. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/README.md +0 -0
  1707. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/abi.rs +0 -0
  1708. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/lex.rs +0 -0
  1709. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/ast/toposort.rs +0 -0
  1710. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/src/sizealign.rs +0 -0
  1711. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit +0 -0
  1712. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/comments.wit.json +0 -0
  1713. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  1714. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  1715. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/complex-include/root.wit +0 -0
  1716. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  1717. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/foo.wit +0 -0
  1718. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource.wit.json +0 -0
  1719. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  1720. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  1721. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/diamond1/join.wit +0 -0
  1722. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  1723. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  1724. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/world.wit +0 -0
  1725. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit +0 -0
  1726. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/empty.wit.json +0 -0
  1727. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  1728. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  1729. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  1730. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  1731. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  1732. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  1733. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  1734. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/root.wit +0 -0
  1735. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  1736. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  1737. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  1738. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  1739. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  1740. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  1741. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  1742. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  1743. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/root.wit +0 -0
  1744. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit +0 -0
  1745. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/functions.wit.json +0 -0
  1746. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  1747. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  1748. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/world.wit +0 -0
  1749. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit +0 -0
  1750. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit.json +0 -0
  1751. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap2.wit +0 -0
  1752. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/include-reps.wit +0 -0
  1753. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit +0 -0
  1754. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit.json +0 -0
  1755. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/a.wit +0 -0
  1756. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  1757. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  1758. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  1759. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1760. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/a.wit +0 -0
  1761. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/many-names/b.wit +0 -0
  1762. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/bar.wit +0 -0
  1763. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-a.wit +0 -0
  1764. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-b.wit +0 -0
  1765. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/multi-file/foo.wit +0 -0
  1766. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  1767. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  1768. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  1769. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit +0 -0
  1770. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit.json +0 -0
  1771. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit +0 -0
  1772. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit.json +0 -0
  1773. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit +0 -0
  1774. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit.json +0 -0
  1775. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1776. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  1777. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async.wit.result +0 -0
  1778. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async1.wit.result +0 -0
  1779. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit +0 -0
  1780. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  1781. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit +0 -0
  1782. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  1783. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit +0 -0
  1784. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  1785. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit +0 -0
  1786. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  1787. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit +0 -0
  1788. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  1789. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit +0 -0
  1790. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1791. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  1792. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  1793. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  1794. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  1795. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  1796. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1797. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  1798. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  1799. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  1800. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  1801. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  1802. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  1803. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  1804. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  1805. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1806. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  1807. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  1808. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  1809. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  1810. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  1811. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  1812. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  1813. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  1814. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  1815. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  1816. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  1817. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  1818. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  1819. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  1820. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  1821. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  1822. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  1823. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  1824. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  1825. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  1826. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  1827. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  1828. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  1829. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  1830. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  1831. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  1832. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  1833. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  1834. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  1835. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  1836. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  1837. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  1838. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  1839. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  1840. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  1841. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  1842. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  1843. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit +0 -0
  1844. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit.result +0 -0
  1845. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit +0 -0
  1846. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  1847. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit +0 -0
  1848. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  1849. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit +0 -0
  1850. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  1851. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit +0 -0
  1852. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  1853. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1854. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1855. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  1856. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  1857. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  1858. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  1859. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  1860. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  1861. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  1862. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  1863. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  1864. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  1865. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  1866. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit +0 -0
  1867. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  1868. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  1869. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  1870. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit +0 -0
  1871. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  1872. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  1873. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  1874. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  1875. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  1876. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  1877. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  1878. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  1879. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  1880. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  1881. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  1882. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit +0 -0
  1883. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  1884. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit +0 -0
  1885. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  1886. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  1887. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  1888. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  1889. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit +0 -0
  1890. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  1891. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  1892. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  1893. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1894. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1895. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  1896. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  1897. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  1898. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  1899. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  1900. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  1901. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  1902. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  1903. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit +0 -0
  1904. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit.result +0 -0
  1905. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit +0 -0
  1906. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  1907. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  1908. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  1909. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  1910. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  1911. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  1912. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  1913. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  1914. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  1934. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  1935. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  1936. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  1937. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  1938. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  1939. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  1940. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  1941. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  1942. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  1943. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  1944. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  1945. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  1946. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  1947. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  1948. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  1949. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  1950. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  1951. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  1952. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  1953. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  1954. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  1955. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  1956. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  1957. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  1958. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  1959. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  1960. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  1961. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  1962. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  1963. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  1964. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  1965. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  1966. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  1967. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  1968. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  1969. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  1970. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit +0 -0
  1971. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  1972. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  1973. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  1974. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  1975. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  1976. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  1977. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  1978. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  1979. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  1980. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  1981. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  1982. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  1983. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/root.wit +0 -0
  1984. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world.wit.result +0 -0
  1985. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  1986. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  1987. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  1988. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  1989. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  1990. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  1991. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  1992. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  1993. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  1994. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  1995. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit +0 -0
  1996. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/random.wit.json +0 -0
  1997. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit +0 -0
  1998. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit.json +0 -0
  1999. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2000. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2001. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit +0 -0
  2002. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit.json +0 -0
  2003. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit +0 -0
  2004. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit.json +0 -0
  2005. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit +0 -0
  2006. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources.wit.json +0 -0
  2007. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit +0 -0
  2008. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/resources1.wit.json +0 -0
  2009. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit +0 -0
  2010. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit.json +0 -0
  2011. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/shared-types.wit +0 -0
  2012. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wat +0 -0
  2013. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wit.json +0 -0
  2014. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/stress-export-elaborate.wit +0 -0
  2015. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit +0 -0
  2016. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit.json +0 -0
  2017. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit +0 -0
  2018. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/types.wit.json +0 -0
  2019. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit +0 -0
  2020. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit.json +0 -0
  2021. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit +0 -0
  2022. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit.json +0 -0
  2023. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit +0 -0
  2024. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit.json +0 -0
  2025. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit +0 -0
  2026. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/use.wit.json +0 -0
  2027. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2028. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2029. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions/foo.wit +0 -0
  2030. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/versions.wit.json +0 -0
  2031. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit +0 -0
  2032. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/wasi.wit.json +0 -0
  2033. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-diamond.wit +0 -0
  2034. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-iface-no-collide.wit +0 -0
  2035. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import1.wit +0 -0
  2036. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import2.wit +0 -0
  2037. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import3.wit +0 -0
  2038. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-same-fields4.wit +0 -0
  2039. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit +0 -0
  2040. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/world-top-level-resources.wit +0 -0
  2042. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-union-dedup.wit +0 -0
  2043. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.209.1}/tests/ui/worlds-with-types.wit +0 -0
@@ -0,0 +1,2943 @@
1
+ use crate::prelude::*;
2
+ use alloc::sync::Arc;
3
+ use anyhow::{bail, ensure, Result};
4
+ use core::fmt;
5
+ use core::str::FromStr;
6
+ use hashbrown::{HashMap, HashSet};
7
+ use serde_derive::{Deserialize, Serialize};
8
+ #[cfg(any(feature = "cache", feature = "cranelift", feature = "winch"))]
9
+ use std::path::Path;
10
+ use target_lexicon::Architecture;
11
+ use wasmparser::WasmFeatures;
12
+ #[cfg(feature = "cache")]
13
+ use wasmtime_cache::CacheConfig;
14
+ use wasmtime_environ::Tunables;
15
+
16
+ #[cfg(feature = "runtime")]
17
+ use crate::memory::MemoryCreator;
18
+ #[cfg(feature = "runtime")]
19
+ use crate::profiling_agent::{self, ProfilingAgent};
20
+ #[cfg(feature = "runtime")]
21
+ use crate::runtime::vm::{
22
+ GcRuntime, InstanceAllocator, OnDemandInstanceAllocator, RuntimeMemoryCreator,
23
+ };
24
+ #[cfg(feature = "runtime")]
25
+ use crate::trampoline::MemoryCreatorProxy;
26
+
27
+ #[cfg(feature = "async")]
28
+ use crate::stack::{StackCreator, StackCreatorProxy};
29
+ #[cfg(feature = "async")]
30
+ use wasmtime_fiber::RuntimeFiberStackCreator;
31
+
32
+ #[cfg(feature = "pooling-allocator")]
33
+ use crate::runtime::vm::mpk;
34
+ #[cfg(feature = "pooling-allocator")]
35
+ pub use crate::runtime::vm::MpkEnabled;
36
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
37
+ pub use wasmtime_environ::CacheStore;
38
+
39
+ /// Represents the module instance allocation strategy to use.
40
+ #[derive(Clone)]
41
+ pub enum InstanceAllocationStrategy {
42
+ /// The on-demand instance allocation strategy.
43
+ ///
44
+ /// Resources related to a module instance are allocated at instantiation time and
45
+ /// immediately deallocated when the `Store` referencing the instance is dropped.
46
+ ///
47
+ /// This is the default allocation strategy for Wasmtime.
48
+ OnDemand,
49
+ /// The pooling instance allocation strategy.
50
+ ///
51
+ /// A pool of resources is created in advance and module instantiation reuses resources
52
+ /// from the pool. Resources are returned to the pool when the `Store` referencing the instance
53
+ /// is dropped.
54
+ #[cfg(feature = "pooling-allocator")]
55
+ Pooling(PoolingAllocationConfig),
56
+ }
57
+
58
+ impl InstanceAllocationStrategy {
59
+ /// The default pooling instance allocation strategy.
60
+ #[cfg(feature = "pooling-allocator")]
61
+ pub fn pooling() -> Self {
62
+ Self::Pooling(Default::default())
63
+ }
64
+ }
65
+
66
+ impl Default for InstanceAllocationStrategy {
67
+ fn default() -> Self {
68
+ Self::OnDemand
69
+ }
70
+ }
71
+
72
+ #[derive(Clone)]
73
+ /// Configure the strategy used for versioning in serializing and deserializing [`crate::Module`].
74
+ pub enum ModuleVersionStrategy {
75
+ /// Use the wasmtime crate's Cargo package version.
76
+ WasmtimeVersion,
77
+ /// Use a custom version string. Must be at most 255 bytes.
78
+ Custom(String),
79
+ /// Emit no version string in serialization, and accept all version strings in deserialization.
80
+ None,
81
+ }
82
+
83
+ impl Default for ModuleVersionStrategy {
84
+ fn default() -> Self {
85
+ ModuleVersionStrategy::WasmtimeVersion
86
+ }
87
+ }
88
+
89
+ impl core::hash::Hash for ModuleVersionStrategy {
90
+ fn hash<H: core::hash::Hasher>(&self, hasher: &mut H) {
91
+ match self {
92
+ Self::WasmtimeVersion => env!("CARGO_PKG_VERSION").hash(hasher),
93
+ Self::Custom(s) => s.hash(hasher),
94
+ Self::None => {}
95
+ };
96
+ }
97
+ }
98
+
99
+ /// Global configuration options used to create an [`Engine`](crate::Engine)
100
+ /// and customize its behavior.
101
+ ///
102
+ /// This structure exposed a builder-like interface and is primarily consumed by
103
+ /// [`Engine::new()`](crate::Engine::new).
104
+ ///
105
+ /// The validation of `Config` is deferred until the engine is being built, thus
106
+ /// a problematic config may cause `Engine::new` to fail.
107
+ #[derive(Clone)]
108
+ pub struct Config {
109
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
110
+ compiler_config: CompilerConfig,
111
+ profiling_strategy: ProfilingStrategy,
112
+ tunables: ConfigTunables,
113
+
114
+ #[cfg(feature = "cache")]
115
+ pub(crate) cache_config: CacheConfig,
116
+ #[cfg(feature = "runtime")]
117
+ pub(crate) mem_creator: Option<Arc<dyn RuntimeMemoryCreator>>,
118
+ pub(crate) allocation_strategy: InstanceAllocationStrategy,
119
+ pub(crate) max_wasm_stack: usize,
120
+ pub(crate) features: WasmFeatures,
121
+ pub(crate) wasm_backtrace: bool,
122
+ pub(crate) wasm_backtrace_details_env_used: bool,
123
+ pub(crate) native_unwind_info: Option<bool>,
124
+ #[cfg(feature = "async")]
125
+ pub(crate) async_stack_size: usize,
126
+ #[cfg(feature = "async")]
127
+ pub(crate) stack_creator: Option<Arc<dyn RuntimeFiberStackCreator>>,
128
+ pub(crate) async_support: bool,
129
+ pub(crate) module_version: ModuleVersionStrategy,
130
+ pub(crate) parallel_compilation: bool,
131
+ pub(crate) memory_init_cow: bool,
132
+ pub(crate) memory_guaranteed_dense_image_size: u64,
133
+ pub(crate) force_memory_init_memfd: bool,
134
+ pub(crate) wmemcheck: bool,
135
+ pub(crate) coredump_on_trap: bool,
136
+ pub(crate) macos_use_mach_ports: bool,
137
+ pub(crate) detect_host_feature: Option<fn(&str) -> Option<bool>>,
138
+ }
139
+
140
+ #[derive(Default, Clone)]
141
+ struct ConfigTunables {
142
+ static_memory_reservation: Option<u64>,
143
+ static_memory_offset_guard_size: Option<u64>,
144
+ dynamic_memory_offset_guard_size: Option<u64>,
145
+ dynamic_memory_growth_reserve: Option<u64>,
146
+ generate_native_debuginfo: Option<bool>,
147
+ parse_wasm_debuginfo: Option<bool>,
148
+ consume_fuel: Option<bool>,
149
+ epoch_interruption: Option<bool>,
150
+ static_memory_bound_is_maximum: Option<bool>,
151
+ guard_before_linear_memory: Option<bool>,
152
+ table_lazy_init: Option<bool>,
153
+ generate_address_map: Option<bool>,
154
+ debug_adapter_modules: Option<bool>,
155
+ relaxed_simd_deterministic: Option<bool>,
156
+ tail_callable: Option<bool>,
157
+ cache_call_indirects: Option<bool>,
158
+ max_call_indirect_cache_slots: Option<usize>,
159
+ }
160
+
161
+ /// User-provided configuration for the compiler.
162
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
163
+ #[derive(Debug, Clone)]
164
+ struct CompilerConfig {
165
+ strategy: Option<Strategy>,
166
+ target: Option<target_lexicon::Triple>,
167
+ settings: HashMap<String, String>,
168
+ flags: HashSet<String>,
169
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
170
+ cache_store: Option<Arc<dyn CacheStore>>,
171
+ clif_dir: Option<std::path::PathBuf>,
172
+ wmemcheck: bool,
173
+ }
174
+
175
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
176
+ impl CompilerConfig {
177
+ fn new() -> Self {
178
+ Self {
179
+ strategy: Strategy::Auto.not_auto(),
180
+ target: None,
181
+ settings: HashMap::new(),
182
+ flags: HashSet::new(),
183
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
184
+ cache_store: None,
185
+ clif_dir: None,
186
+ wmemcheck: false,
187
+ }
188
+ }
189
+
190
+ /// Ensures that the key is not set or equals to the given value.
191
+ /// If the key is not set, it will be set to the given value.
192
+ ///
193
+ /// # Returns
194
+ ///
195
+ /// Returns true if successfully set or already had the given setting
196
+ /// value, or false if the setting was explicitly set to something
197
+ /// else previously.
198
+ fn ensure_setting_unset_or_given(&mut self, k: &str, v: &str) -> bool {
199
+ if let Some(value) = self.settings.get(k) {
200
+ if value != v {
201
+ return false;
202
+ }
203
+ } else {
204
+ self.settings.insert(k.to_string(), v.to_string());
205
+ }
206
+ true
207
+ }
208
+ }
209
+
210
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
211
+ impl Default for CompilerConfig {
212
+ fn default() -> Self {
213
+ Self::new()
214
+ }
215
+ }
216
+
217
+ impl Config {
218
+ /// Creates a new configuration object with the default configuration
219
+ /// specified.
220
+ pub fn new() -> Self {
221
+ let mut ret = Self {
222
+ tunables: ConfigTunables::default(),
223
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
224
+ compiler_config: CompilerConfig::default(),
225
+ #[cfg(feature = "cache")]
226
+ cache_config: CacheConfig::new_cache_disabled(),
227
+ profiling_strategy: ProfilingStrategy::None,
228
+ #[cfg(feature = "runtime")]
229
+ mem_creator: None,
230
+ allocation_strategy: InstanceAllocationStrategy::OnDemand,
231
+ // 512k of stack -- note that this is chosen currently to not be too
232
+ // big, not be too small, and be a good default for most platforms.
233
+ // One platform of particular note is Windows where the stack size
234
+ // of the main thread seems to, by default, be smaller than that of
235
+ // Linux and macOS. This 512k value at least lets our current test
236
+ // suite pass on the main thread of Windows (using `--test-threads
237
+ // 1` forces this), or at least it passed when this change was
238
+ // committed.
239
+ max_wasm_stack: 512 * 1024,
240
+ wasm_backtrace: true,
241
+ wasm_backtrace_details_env_used: false,
242
+ native_unwind_info: None,
243
+ features: WasmFeatures::default(),
244
+ #[cfg(feature = "async")]
245
+ async_stack_size: 2 << 20,
246
+ #[cfg(feature = "async")]
247
+ stack_creator: None,
248
+ async_support: false,
249
+ module_version: ModuleVersionStrategy::default(),
250
+ parallel_compilation: !cfg!(miri),
251
+ memory_init_cow: true,
252
+ memory_guaranteed_dense_image_size: 16 << 20,
253
+ force_memory_init_memfd: false,
254
+ wmemcheck: false,
255
+ coredump_on_trap: false,
256
+ macos_use_mach_ports: !cfg!(miri),
257
+ #[cfg(feature = "std")]
258
+ detect_host_feature: Some(detect_host_feature),
259
+ #[cfg(not(feature = "std"))]
260
+ detect_host_feature: None,
261
+ };
262
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
263
+ {
264
+ ret.cranelift_debug_verifier(false);
265
+ ret.cranelift_opt_level(OptLevel::Speed);
266
+ }
267
+
268
+ // Not yet implemented in Wasmtime
269
+ ret.features.set(WasmFeatures::EXTENDED_CONST, false);
270
+
271
+ // Conditionally enabled features depending on compile-time crate
272
+ // features. Note that if these features are disabled then `Config` has
273
+ // no way of re-enabling them.
274
+ ret.features
275
+ .set(WasmFeatures::REFERENCE_TYPES, cfg!(feature = "gc"));
276
+ ret.features
277
+ .set(WasmFeatures::THREADS, cfg!(feature = "threads"));
278
+ ret.features.set(
279
+ WasmFeatures::COMPONENT_MODEL,
280
+ cfg!(feature = "component-model"),
281
+ );
282
+
283
+ // If GC is disabled at compile time also disable it in features
284
+ // forcibly irrespective of `wasmparser` defaults. Note that these also
285
+ // aren't yet fully implemented in Wasmtime.
286
+ if !cfg!(feature = "gc") {
287
+ ret.features.set(WasmFeatures::FUNCTION_REFERENCES, false);
288
+ ret.features.set(WasmFeatures::GC, false);
289
+ }
290
+
291
+ ret.wasm_multi_value(true);
292
+ ret.wasm_bulk_memory(true);
293
+ ret.wasm_simd(true);
294
+ ret.wasm_backtrace_details(WasmBacktraceDetails::Environment);
295
+
296
+ // This is on-by-default in `wasmparser` since it's a stage 4+ proposal
297
+ // but it's not implemented in Wasmtime yet so disable it.
298
+ ret.features.set(WasmFeatures::TAIL_CALL, false);
299
+
300
+ ret
301
+ }
302
+
303
+ /// Sets the target triple for the [`Config`].
304
+ ///
305
+ /// By default, the host target triple is used for the [`Config`].
306
+ ///
307
+ /// This method can be used to change the target triple.
308
+ ///
309
+ /// Cranelift flags will not be inferred for the given target and any
310
+ /// existing target-specific Cranelift flags will be cleared.
311
+ ///
312
+ /// # Errors
313
+ ///
314
+ /// This method will error if the given target triple is not supported.
315
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
316
+ pub fn target(&mut self, target: &str) -> Result<&mut Self> {
317
+ self.compiler_config.target =
318
+ Some(target_lexicon::Triple::from_str(target).map_err(|e| anyhow::anyhow!(e))?);
319
+
320
+ Ok(self)
321
+ }
322
+
323
+ /// Enables the incremental compilation cache in Cranelift, using the provided `CacheStore`
324
+ /// backend for storage.
325
+ #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
326
+ pub fn enable_incremental_compilation(
327
+ &mut self,
328
+ cache_store: Arc<dyn CacheStore>,
329
+ ) -> Result<&mut Self> {
330
+ self.compiler_config.cache_store = Some(cache_store);
331
+ Ok(self)
332
+ }
333
+
334
+ /// Whether or not to enable support for asynchronous functions in Wasmtime.
335
+ ///
336
+ /// When enabled, the config can optionally define host functions with `async`.
337
+ /// Instances created and functions called with this `Config` *must* be called
338
+ /// through their asynchronous APIs, however. For example using
339
+ /// [`Func::call`](crate::Func::call) will panic when used with this config.
340
+ ///
341
+ /// # Asynchronous Wasm
342
+ ///
343
+ /// WebAssembly does not currently have a way to specify at the bytecode
344
+ /// level what is and isn't async. Host-defined functions, however, may be
345
+ /// defined as `async`. WebAssembly imports always appear synchronous, which
346
+ /// gives rise to a bit of an impedance mismatch here. To solve this
347
+ /// Wasmtime supports "asynchronous configs" which enables calling these
348
+ /// asynchronous functions in a way that looks synchronous to the executing
349
+ /// WebAssembly code.
350
+ ///
351
+ /// An asynchronous config must always invoke wasm code asynchronously,
352
+ /// meaning we'll always represent its computation as a
353
+ /// [`Future`](std::future::Future). The `poll` method of the futures
354
+ /// returned by Wasmtime will perform the actual work of calling the
355
+ /// WebAssembly. Wasmtime won't manage its own thread pools or similar,
356
+ /// that's left up to the embedder.
357
+ ///
358
+ /// To implement futures in a way that WebAssembly sees asynchronous host
359
+ /// functions as synchronous, all async Wasmtime futures will execute on a
360
+ /// separately allocated native stack from the thread otherwise executing
361
+ /// Wasmtime. This separate native stack can then be switched to and from.
362
+ /// Using this whenever an `async` host function returns a future that
363
+ /// resolves to `Pending` we switch away from the temporary stack back to
364
+ /// the main stack and propagate the `Pending` status.
365
+ ///
366
+ /// In general it's encouraged that the integration with `async` and
367
+ /// wasmtime is designed early on in your embedding of Wasmtime to ensure
368
+ /// that it's planned that WebAssembly executes in the right context of your
369
+ /// application.
370
+ ///
371
+ /// # Execution in `poll`
372
+ ///
373
+ /// The [`Future::poll`](std::future::Future::poll) method is the main
374
+ /// driving force behind Rust's futures. That method's own documentation
375
+ /// states "an implementation of `poll` should strive to return quickly, and
376
+ /// should not block". This, however, can be at odds with executing
377
+ /// WebAssembly code as part of the `poll` method itself. If your
378
+ /// WebAssembly is untrusted then this could allow the `poll` method to take
379
+ /// arbitrarily long in the worst case, likely blocking all other
380
+ /// asynchronous tasks.
381
+ ///
382
+ /// To remedy this situation you have a a few possible ways to solve this:
383
+ ///
384
+ /// * The most efficient solution is to enable
385
+ /// [`Config::epoch_interruption`] in conjunction with
386
+ /// [`crate::Store::epoch_deadline_async_yield_and_update`]. Coupled with
387
+ /// periodic calls to [`crate::Engine::increment_epoch`] this will cause
388
+ /// executing WebAssembly to periodically yield back according to the
389
+ /// epoch configuration settings. This enables `Future::poll` to take at
390
+ /// most a certain amount of time according to epoch configuration
391
+ /// settings and when increments happen. The benefit of this approach is
392
+ /// that the instrumentation in compiled code is quite lightweight, but a
393
+ /// downside can be that the scheduling is somewhat nondeterministic since
394
+ /// increments are usually timer-based which are not always deterministic.
395
+ ///
396
+ /// Note that to prevent infinite execution of wasm it's recommended to
397
+ /// place a timeout on the entire future representing executing wasm code
398
+ /// and the periodic yields with epochs should ensure that when the
399
+ /// timeout is reached it's appropriately recognized.
400
+ ///
401
+ /// * Alternatively you can enable the
402
+ /// [`Config::consume_fuel`](crate::Config::consume_fuel) method as well
403
+ /// as [`crate::Store::fuel_async_yield_interval`] When doing so this will
404
+ /// configure Wasmtime futures to yield periodically while they're
405
+ /// executing WebAssembly code. After consuming the specified amount of
406
+ /// fuel wasm futures will return `Poll::Pending` from their `poll`
407
+ /// method, and will get automatically re-polled later. This enables the
408
+ /// `Future::poll` method to take roughly a fixed amount of time since
409
+ /// fuel is guaranteed to get consumed while wasm is executing. Unlike
410
+ /// epoch-based preemption this is deterministic since wasm always
411
+ /// consumes a fixed amount of fuel per-operation. The downside of this
412
+ /// approach, however, is that the compiled code instrumentation is
413
+ /// significantly more expensive than epoch checks.
414
+ ///
415
+ /// Note that to prevent infinite execution of wasm it's recommended to
416
+ /// place a timeout on the entire future representing executing wasm code
417
+ /// and the periodic yields with epochs should ensure that when the
418
+ /// timeout is reached it's appropriately recognized.
419
+ ///
420
+ /// In all cases special care needs to be taken when integrating
421
+ /// asynchronous wasm into your application. You should carefully plan where
422
+ /// WebAssembly will execute and what compute resources will be allotted to
423
+ /// it. If Wasmtime doesn't support exactly what you'd like just yet, please
424
+ /// feel free to open an issue!
425
+ #[cfg(feature = "async")]
426
+ pub fn async_support(&mut self, enable: bool) -> &mut Self {
427
+ self.async_support = enable;
428
+ self
429
+ }
430
+
431
+ /// Configures whether DWARF debug information will be emitted during
432
+ /// compilation.
433
+ ///
434
+ /// Note that the `debug-builtins` compile-time Cargo feature must also be
435
+ /// enabled for native debuggers such as GDB or LLDB to be able to debug
436
+ /// guest WebAssembly programs.
437
+ ///
438
+ /// By default this option is `false`.
439
+ pub fn debug_info(&mut self, enable: bool) -> &mut Self {
440
+ self.tunables.generate_native_debuginfo = Some(enable);
441
+ self
442
+ }
443
+
444
+ /// Configures whether [`WasmBacktrace`] will be present in the context of
445
+ /// errors returned from Wasmtime.
446
+ ///
447
+ /// A backtrace may be collected whenever an error is returned from a host
448
+ /// function call through to WebAssembly or when WebAssembly itself hits a
449
+ /// trap condition, such as an out-of-bounds memory access. This flag
450
+ /// indicates, in these conditions, whether the backtrace is collected or
451
+ /// not.
452
+ ///
453
+ /// Currently wasm backtraces are implemented through frame pointer walking.
454
+ /// This means that collecting a backtrace is expected to be a fast and
455
+ /// relatively cheap operation. Additionally backtrace collection is
456
+ /// suitable in concurrent environments since one thread capturing a
457
+ /// backtrace won't block other threads.
458
+ ///
459
+ /// Collected backtraces are attached via [`anyhow::Error::context`] to
460
+ /// errors returned from host functions. The [`WasmBacktrace`] type can be
461
+ /// acquired via [`anyhow::Error::downcast_ref`] to inspect the backtrace.
462
+ /// When this option is disabled then this context is never applied to
463
+ /// errors coming out of wasm.
464
+ ///
465
+ /// This option is `true` by default.
466
+ ///
467
+ /// [`WasmBacktrace`]: crate::WasmBacktrace
468
+ pub fn wasm_backtrace(&mut self, enable: bool) -> &mut Self {
469
+ self.wasm_backtrace = enable;
470
+ self
471
+ }
472
+
473
+ /// Configures whether backtraces in `Trap` will parse debug info in the wasm file to
474
+ /// have filename/line number information.
475
+ ///
476
+ /// When enabled this will causes modules to retain debugging information
477
+ /// found in wasm binaries. This debug information will be used when a trap
478
+ /// happens to symbolicate each stack frame and attempt to print a
479
+ /// filename/line number for each wasm frame in the stack trace.
480
+ ///
481
+ /// By default this option is `WasmBacktraceDetails::Environment`, meaning
482
+ /// that wasm will read `WASMTIME_BACKTRACE_DETAILS` to indicate whether
483
+ /// details should be parsed. Note that the `std` feature of this crate must
484
+ /// be active to read environment variables, otherwise this is disabled by
485
+ /// default.
486
+ pub fn wasm_backtrace_details(&mut self, enable: WasmBacktraceDetails) -> &mut Self {
487
+ self.wasm_backtrace_details_env_used = false;
488
+ self.tunables.parse_wasm_debuginfo = match enable {
489
+ WasmBacktraceDetails::Enable => Some(true),
490
+ WasmBacktraceDetails::Disable => Some(false),
491
+ WasmBacktraceDetails::Environment => {
492
+ self.wasm_backtrace_details_env_used = true;
493
+ #[cfg(feature = "std")]
494
+ {
495
+ std::env::var("WASMTIME_BACKTRACE_DETAILS")
496
+ .map(|s| Some(s == "1"))
497
+ .unwrap_or(Some(false))
498
+ }
499
+ #[cfg(not(feature = "std"))]
500
+ {
501
+ Some(false)
502
+ }
503
+ }
504
+ };
505
+ self
506
+ }
507
+
508
+ /// Configures whether to generate native unwind information
509
+ /// (e.g. `.eh_frame` on Linux).
510
+ ///
511
+ /// This configuration option only exists to help third-party stack
512
+ /// capturing mechanisms, such as the system's unwinder or the `backtrace`
513
+ /// crate, determine how to unwind through Wasm frames. It does not affect
514
+ /// whether Wasmtime can capture Wasm backtraces or not. The presence of
515
+ /// [`WasmBacktrace`] is controlled by the [`Config::wasm_backtrace`]
516
+ /// option.
517
+ ///
518
+ /// Native unwind information is included:
519
+ /// - When targeting Windows, since the Windows ABI requires it.
520
+ /// - By default.
521
+ ///
522
+ /// [`WasmBacktrace`]: crate::WasmBacktrace
523
+ pub fn native_unwind_info(&mut self, enable: bool) -> &mut Self {
524
+ self.native_unwind_info = Some(enable);
525
+ self
526
+ }
527
+
528
+ /// Configures whether execution of WebAssembly will "consume fuel" to
529
+ /// either halt or yield execution as desired.
530
+ ///
531
+ /// This can be used to deterministically prevent infinitely-executing
532
+ /// WebAssembly code by instrumenting generated code to consume fuel as it
533
+ /// executes. When fuel runs out a trap is raised, however [`Store`] can be
534
+ /// configured to yield execution periodically via
535
+ /// [`crate::Store::fuel_async_yield_interval`].
536
+ ///
537
+ /// Note that a [`Store`] starts with no fuel, so if you enable this option
538
+ /// you'll have to be sure to pour some fuel into [`Store`] before
539
+ /// executing some code.
540
+ ///
541
+ /// By default this option is `false`.
542
+ ///
543
+ /// [`Store`]: crate::Store
544
+ pub fn consume_fuel(&mut self, enable: bool) -> &mut Self {
545
+ self.tunables.consume_fuel = Some(enable);
546
+ self
547
+ }
548
+
549
+ /// Enables epoch-based interruption.
550
+ ///
551
+ /// When executing code in async mode, we sometimes want to
552
+ /// implement a form of cooperative timeslicing: long-running Wasm
553
+ /// guest code should periodically yield to the executor
554
+ /// loop. This yielding could be implemented by using "fuel" (see
555
+ /// [`consume_fuel`](Config::consume_fuel)). However, fuel
556
+ /// instrumentation is somewhat expensive: it modifies the
557
+ /// compiled form of the Wasm code so that it maintains a precise
558
+ /// instruction count, frequently checking this count against the
559
+ /// remaining fuel. If one does not need this precise count or
560
+ /// deterministic interruptions, and only needs a periodic
561
+ /// interrupt of some form, then It would be better to have a more
562
+ /// lightweight mechanism.
563
+ ///
564
+ /// Epoch-based interruption is that mechanism. There is a global
565
+ /// "epoch", which is a counter that divides time into arbitrary
566
+ /// periods (or epochs). This counter lives on the
567
+ /// [`Engine`](crate::Engine) and can be incremented by calling
568
+ /// [`Engine::increment_epoch`](crate::Engine::increment_epoch).
569
+ /// Epoch-based instrumentation works by setting a "deadline
570
+ /// epoch". The compiled code knows the deadline, and at certain
571
+ /// points, checks the current epoch against that deadline. It
572
+ /// will yield if the deadline has been reached.
573
+ ///
574
+ /// The idea is that checking an infrequently-changing counter is
575
+ /// cheaper than counting and frequently storing a precise metric
576
+ /// (instructions executed) locally. The interruptions are not
577
+ /// deterministic, but if the embedder increments the epoch in a
578
+ /// periodic way (say, every regular timer tick by a thread or
579
+ /// signal handler), then we can ensure that all async code will
580
+ /// yield to the executor within a bounded time.
581
+ ///
582
+ /// The deadline check cannot be avoided by malicious wasm code. It is safe
583
+ /// to use epoch deadlines to limit the execution time of untrusted
584
+ /// code.
585
+ ///
586
+ /// The [`Store`](crate::Store) tracks the deadline, and controls
587
+ /// what happens when the deadline is reached during
588
+ /// execution. Several behaviors are possible:
589
+ ///
590
+ /// - Trap if code is executing when the epoch deadline is
591
+ /// met. See
592
+ /// [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap).
593
+ ///
594
+ /// - Call an arbitrary function. This function may chose to trap or
595
+ /// increment the epoch. See
596
+ /// [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback).
597
+ ///
598
+ /// - Yield to the executor loop, then resume when the future is
599
+ /// next polled. See
600
+ /// [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update).
601
+ ///
602
+ /// Trapping is the default. The yielding behaviour may be used for
603
+ /// the timeslicing behavior described above.
604
+ ///
605
+ /// This feature is available with or without async support.
606
+ /// However, without async support, the timeslicing behaviour is
607
+ /// not available. This means epoch-based interruption can only
608
+ /// serve as a simple external-interruption mechanism.
609
+ ///
610
+ /// An initial deadline must be set before executing code by calling
611
+ /// [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline). If this
612
+ /// deadline is not configured then wasm will immediately trap.
613
+ ///
614
+ /// ## When to use fuel vs. epochs
615
+ ///
616
+ /// In general, epoch-based interruption results in faster
617
+ /// execution. This difference is sometimes significant: in some
618
+ /// measurements, up to 2-3x. This is because epoch-based
619
+ /// interruption does less work: it only watches for a global
620
+ /// rarely-changing counter to increment, rather than keeping a
621
+ /// local frequently-changing counter and comparing it to a
622
+ /// deadline.
623
+ ///
624
+ /// Fuel, in contrast, should be used when *deterministic*
625
+ /// yielding or trapping is needed. For example, if it is required
626
+ /// that the same function call with the same starting state will
627
+ /// always either complete or trap with an out-of-fuel error,
628
+ /// deterministically, then fuel with a fixed bound should be
629
+ /// used.
630
+ ///
631
+ /// # See Also
632
+ ///
633
+ /// - [`Engine::increment_epoch`](crate::Engine::increment_epoch)
634
+ /// - [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline)
635
+ /// - [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap)
636
+ /// - [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback)
637
+ /// - [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update)
638
+ pub fn epoch_interruption(&mut self, enable: bool) -> &mut Self {
639
+ self.tunables.epoch_interruption = Some(enable);
640
+ self
641
+ }
642
+
643
+ /// Configures the maximum amount of stack space available for
644
+ /// executing WebAssembly code.
645
+ ///
646
+ /// WebAssembly has well-defined semantics on stack overflow. This is
647
+ /// intended to be a knob which can help configure how much stack space
648
+ /// wasm execution is allowed to consume. Note that the number here is not
649
+ /// super-precise, but rather wasm will take at most "pretty close to this
650
+ /// much" stack space.
651
+ ///
652
+ /// If a wasm call (or series of nested wasm calls) take more stack space
653
+ /// than the `size` specified then a stack overflow trap will be raised.
654
+ ///
655
+ /// Caveat: this knob only limits the stack space consumed by wasm code.
656
+ /// More importantly, it does not ensure that this much stack space is
657
+ /// available on the calling thread stack. Exhausting the thread stack
658
+ /// typically leads to an **abort** of the process.
659
+ ///
660
+ /// Here are some examples of how that could happen:
661
+ ///
662
+ /// - Let's assume this option is set to 2 MiB and then a thread that has
663
+ /// a stack with 512 KiB left.
664
+ ///
665
+ /// If wasm code consumes more than 512 KiB then the process will be aborted.
666
+ ///
667
+ /// - Assuming the same conditions, but this time wasm code does not consume
668
+ /// any stack but calls into a host function. The host function consumes
669
+ /// more than 512 KiB of stack space. The process will be aborted.
670
+ ///
671
+ /// There's another gotcha related to recursive calling into wasm: the stack
672
+ /// space consumed by a host function is counted towards this limit. The
673
+ /// host functions are not prevented from consuming more than this limit.
674
+ /// However, if the host function that used more than this limit and called
675
+ /// back into wasm, then the execution will trap immediately because of
676
+ /// stack overflow.
677
+ ///
678
+ /// When the `async` feature is enabled, this value cannot exceed the
679
+ /// `async_stack_size` option. Be careful not to set this value too close
680
+ /// to `async_stack_size` as doing so may limit how much stack space
681
+ /// is available for host functions.
682
+ ///
683
+ /// By default this option is 512 KiB.
684
+ ///
685
+ /// # Errors
686
+ ///
687
+ /// The `Engine::new` method will fail if the `size` specified here is
688
+ /// either 0 or larger than the [`Config::async_stack_size`] configuration.
689
+ pub fn max_wasm_stack(&mut self, size: usize) -> &mut Self {
690
+ self.max_wasm_stack = size;
691
+ self
692
+ }
693
+
694
+ /// Configures the size of the stacks used for asynchronous execution.
695
+ ///
696
+ /// This setting configures the size of the stacks that are allocated for
697
+ /// asynchronous execution. The value cannot be less than `max_wasm_stack`.
698
+ ///
699
+ /// The amount of stack space guaranteed for host functions is
700
+ /// `async_stack_size - max_wasm_stack`, so take care not to set these two values
701
+ /// close to one another; doing so may cause host functions to overflow the
702
+ /// stack and abort the process.
703
+ ///
704
+ /// By default this option is 2 MiB.
705
+ ///
706
+ /// # Errors
707
+ ///
708
+ /// The `Engine::new` method will fail if the value for this option is
709
+ /// smaller than the [`Config::max_wasm_stack`] option.
710
+ #[cfg(feature = "async")]
711
+ pub fn async_stack_size(&mut self, size: usize) -> &mut Self {
712
+ self.async_stack_size = size;
713
+ self
714
+ }
715
+
716
+ /// Configures whether the WebAssembly tail calls proposal will be enabled
717
+ /// for compilation or not.
718
+ ///
719
+ /// The [WebAssembly tail calls proposal] introduces the `return_call` and
720
+ /// `return_call_indirect` instructions. These instructions allow for Wasm
721
+ /// programs to implement some recursive algorithms with *O(1)* stack space
722
+ /// usage.
723
+ ///
724
+ /// This is `true` by default except on s390x or when the Winch compiler is
725
+ /// enabled.
726
+ ///
727
+ /// [WebAssembly tail calls proposal]: https://github.com/WebAssembly/tail-call
728
+ pub fn wasm_tail_call(&mut self, enable: bool) -> &mut Self {
729
+ self.features.set(WasmFeatures::TAIL_CALL, enable);
730
+ self.tunables.tail_callable = Some(enable);
731
+ self
732
+ }
733
+
734
+ /// Configures whether the WebAssembly [threads] proposal will be enabled
735
+ /// for compilation.
736
+ ///
737
+ /// This feature gates items such as shared memories and atomic
738
+ /// instructions. Note that the threads feature depends on the bulk memory
739
+ /// feature, which is enabled by default. Additionally note that while the
740
+ /// wasm feature is called "threads" it does not actually include the
741
+ /// ability to spawn threads. Spawning threads is part of the [wasi-threads]
742
+ /// proposal which is a separately gated feature in Wasmtime.
743
+ ///
744
+ /// Embeddings of Wasmtime are able to build their own custom threading
745
+ /// scheme on top of the core wasm threads proposal, however.
746
+ ///
747
+ /// This is `true` by default.
748
+ ///
749
+ /// [threads]: https://github.com/webassembly/threads
750
+ /// [wasi-threads]: https://github.com/webassembly/wasi-threads
751
+ #[cfg(feature = "threads")]
752
+ pub fn wasm_threads(&mut self, enable: bool) -> &mut Self {
753
+ self.features.set(WasmFeatures::THREADS, enable);
754
+ self
755
+ }
756
+
757
+ /// Configures whether the [WebAssembly reference types proposal][proposal]
758
+ /// will be enabled for compilation.
759
+ ///
760
+ /// This feature gates items such as the `externref` and `funcref` types as
761
+ /// well as allowing a module to define multiple tables.
762
+ ///
763
+ /// Note that the reference types proposal depends on the bulk memory proposal.
764
+ ///
765
+ /// This feature is `true` by default.
766
+ ///
767
+ /// # Errors
768
+ ///
769
+ /// The validation of this feature are deferred until the engine is being built,
770
+ /// and thus may cause `Engine::new` fail if the `bulk_memory` feature is disabled.
771
+ ///
772
+ /// [proposal]: https://github.com/webassembly/reference-types
773
+ #[cfg(feature = "gc")]
774
+ pub fn wasm_reference_types(&mut self, enable: bool) -> &mut Self {
775
+ self.features.set(WasmFeatures::REFERENCE_TYPES, enable);
776
+ self
777
+ }
778
+
779
+ /// Configures whether the [WebAssembly function references
780
+ /// proposal][proposal] will be enabled for compilation.
781
+ ///
782
+ /// This feature gates non-nullable reference types, function reference
783
+ /// types, `call_ref`, `ref.func`, and non-nullable reference related
784
+ /// instructions.
785
+ ///
786
+ /// Note that the function references proposal depends on the reference
787
+ /// types proposal.
788
+ ///
789
+ /// This feature is `false` by default.
790
+ ///
791
+ /// [proposal]: https://github.com/WebAssembly/function-references
792
+ #[cfg(feature = "gc")]
793
+ pub fn wasm_function_references(&mut self, enable: bool) -> &mut Self {
794
+ self.features.set(WasmFeatures::FUNCTION_REFERENCES, enable);
795
+ self
796
+ }
797
+
798
+ /// Configures whether the [WebAssembly Garbage Collection
799
+ /// proposal][proposal] will be enabled for compilation.
800
+ ///
801
+ /// This feature gates `struct` and `array` type definitions and references,
802
+ /// the `i31ref` type, and all related instructions.
803
+ ///
804
+ /// Note that the function references proposal depends on the typed function
805
+ /// references proposal.
806
+ ///
807
+ /// This feature is `false` by default.
808
+ ///
809
+ /// **Warning: Wasmtime's implementation of the GC proposal is still in
810
+ /// progress and generally not ready for primetime.**
811
+ ///
812
+ /// [proposal]: https://github.com/WebAssembly/gc
813
+ #[cfg(feature = "gc")]
814
+ pub fn wasm_gc(&mut self, enable: bool) -> &mut Self {
815
+ self.features.set(WasmFeatures::GC, enable);
816
+ self
817
+ }
818
+
819
+ /// Configures whether the WebAssembly SIMD proposal will be
820
+ /// enabled for compilation.
821
+ ///
822
+ /// The [WebAssembly SIMD proposal][proposal]. This feature gates items such
823
+ /// as the `v128` type and all of its operators being in a module. Note that
824
+ /// this does not enable the [relaxed simd proposal].
825
+ ///
826
+ /// On x86_64 platforms note that enabling this feature requires SSE 4.2 and
827
+ /// below to be available on the target platform. Compilation will fail if
828
+ /// the compile target does not include SSE 4.2.
829
+ ///
830
+ /// This is `true` by default.
831
+ ///
832
+ /// [proposal]: https://github.com/webassembly/simd
833
+ /// [relaxed simd proposal]: https://github.com/WebAssembly/relaxed-simd
834
+ pub fn wasm_simd(&mut self, enable: bool) -> &mut Self {
835
+ self.features.set(WasmFeatures::SIMD, enable);
836
+ self
837
+ }
838
+
839
+ /// Configures whether the WebAssembly Relaxed SIMD proposal will be
840
+ /// enabled for compilation.
841
+ ///
842
+ /// The relaxed SIMD proposal adds new instructions to WebAssembly which,
843
+ /// for some specific inputs, are allowed to produce different results on
844
+ /// different hosts. More-or-less this proposal enables exposing
845
+ /// platform-specific semantics of SIMD instructions in a controlled
846
+ /// fashion to a WebAssembly program. From an embedder's perspective this
847
+ /// means that WebAssembly programs may execute differently depending on
848
+ /// whether the host is x86_64 or AArch64, for example.
849
+ ///
850
+ /// By default Wasmtime lowers relaxed SIMD instructions to the fastest
851
+ /// lowering for the platform it's running on. This means that, by default,
852
+ /// some relaxed SIMD instructions may have different results for the same
853
+ /// inputs across x86_64 and AArch64. This behavior can be disabled through
854
+ /// the [`Config::relaxed_simd_deterministic`] option which will force
855
+ /// deterministic behavior across all platforms, as classified by the
856
+ /// specification, at the cost of performance.
857
+ ///
858
+ /// This is `true` by default.
859
+ ///
860
+ /// [proposal]: https://github.com/webassembly/relaxed-simd
861
+ pub fn wasm_relaxed_simd(&mut self, enable: bool) -> &mut Self {
862
+ self.features.set(WasmFeatures::RELAXED_SIMD, enable);
863
+ self
864
+ }
865
+
866
+ /// This option can be used to control the behavior of the [relaxed SIMD
867
+ /// proposal's][proposal] instructions.
868
+ ///
869
+ /// The relaxed SIMD proposal introduces instructions that are allowed to
870
+ /// have different behavior on different architectures, primarily to afford
871
+ /// an efficient implementation on all architectures. This means, however,
872
+ /// that the same module may execute differently on one host than another,
873
+ /// which typically is not otherwise the case. This option is provided to
874
+ /// force Wasmtime to generate deterministic code for all relaxed simd
875
+ /// instructions, at the cost of performance, for all architectures. When
876
+ /// this option is enabled then the deterministic behavior of all
877
+ /// instructions in the relaxed SIMD proposal is selected.
878
+ ///
879
+ /// This is `false` by default.
880
+ ///
881
+ /// [proposal]: https://github.com/webassembly/relaxed-simd
882
+ pub fn relaxed_simd_deterministic(&mut self, enable: bool) -> &mut Self {
883
+ self.tunables.relaxed_simd_deterministic = Some(enable);
884
+ self
885
+ }
886
+
887
+ /// Configures whether the [WebAssembly bulk memory operations
888
+ /// proposal][proposal] will be enabled for compilation.
889
+ ///
890
+ /// This feature gates items such as the `memory.copy` instruction, passive
891
+ /// data/table segments, etc, being in a module.
892
+ ///
893
+ /// This is `true` by default.
894
+ ///
895
+ /// Feature `reference_types`, which is also `true` by default, requires
896
+ /// this feature to be enabled. Thus disabling this feature must also disable
897
+ /// `reference_types` as well using [`wasm_reference_types`](crate::Config::wasm_reference_types).
898
+ ///
899
+ /// # Errors
900
+ ///
901
+ /// Disabling this feature without disabling `reference_types` will cause
902
+ /// `Engine::new` to fail.
903
+ ///
904
+ /// [proposal]: https://github.com/webassembly/bulk-memory-operations
905
+ pub fn wasm_bulk_memory(&mut self, enable: bool) -> &mut Self {
906
+ self.features.set(WasmFeatures::BULK_MEMORY, enable);
907
+ self
908
+ }
909
+
910
+ /// Configures whether the WebAssembly multi-value [proposal] will
911
+ /// be enabled for compilation.
912
+ ///
913
+ /// This feature gates functions and blocks returning multiple values in a
914
+ /// module, for example.
915
+ ///
916
+ /// This is `true` by default.
917
+ ///
918
+ /// [proposal]: https://github.com/webassembly/multi-value
919
+ pub fn wasm_multi_value(&mut self, enable: bool) -> &mut Self {
920
+ self.features.set(WasmFeatures::MULTI_VALUE, enable);
921
+ self
922
+ }
923
+
924
+ /// Configures whether the WebAssembly multi-memory [proposal] will
925
+ /// be enabled for compilation.
926
+ ///
927
+ /// This feature gates modules having more than one linear memory
928
+ /// declaration or import.
929
+ ///
930
+ /// This is `true` by default.
931
+ ///
932
+ /// [proposal]: https://github.com/webassembly/multi-memory
933
+ pub fn wasm_multi_memory(&mut self, enable: bool) -> &mut Self {
934
+ self.features.set(WasmFeatures::MULTI_MEMORY, enable);
935
+ self
936
+ }
937
+
938
+ /// Configures whether the WebAssembly memory64 [proposal] will
939
+ /// be enabled for compilation.
940
+ ///
941
+ /// Note that this the upstream specification is not finalized and Wasmtime
942
+ /// may also have bugs for this feature since it hasn't been exercised
943
+ /// much.
944
+ ///
945
+ /// This is `false` by default.
946
+ ///
947
+ /// [proposal]: https://github.com/webassembly/memory64
948
+ pub fn wasm_memory64(&mut self, enable: bool) -> &mut Self {
949
+ self.features.set(WasmFeatures::MEMORY64, enable);
950
+ self
951
+ }
952
+
953
+ /// Configures whether the WebAssembly component-model [proposal] will
954
+ /// be enabled for compilation.
955
+ ///
956
+ /// Note that this feature is a work-in-progress and is incomplete.
957
+ ///
958
+ /// This is `false` by default.
959
+ ///
960
+ /// [proposal]: https://github.com/webassembly/component-model
961
+ #[cfg(feature = "component-model")]
962
+ pub fn wasm_component_model(&mut self, enable: bool) -> &mut Self {
963
+ self.features.set(WasmFeatures::COMPONENT_MODEL, enable);
964
+ self
965
+ }
966
+
967
+ /// Configures whether we enable the "indirect call cache" optimization.
968
+ ///
969
+ /// This feature adds, for each `call_indirect` instruction in a
970
+ /// Wasm module (i.e., a function-pointer call in guest code), a
971
+ /// one-entry cache that speeds up the translation from a table
972
+ /// index to the actual machine code. By default, the VM's
973
+ /// implementation of this translation requires several
974
+ /// indirections and checks (table bounds-check, function
975
+ /// signature-check, table lazy-initialization logic). The intent
976
+ /// of this feature is to speed up indirect calls substantially
977
+ /// when they are repeated frequently in hot code.
978
+ ///
979
+ /// While it accelerates repeated calls, this feature has the
980
+ /// potential to slow down instantiation slightly, because it adds
981
+ /// additional state (the cache storage -- usually 16 bytes per
982
+ /// `call_indirect` instruction for each instance) that has to be
983
+ /// initialized. In practice, we have not seen
984
+ /// measurable/statistically-significant impact from this, though.
985
+ ///
986
+ /// Until we have further experience with this feature, it will
987
+ /// remain off: it is `false` by default.
988
+ pub fn cache_call_indirects(&mut self, enable: bool) -> &mut Self {
989
+ self.tunables.cache_call_indirects = Some(enable);
990
+ self
991
+ }
992
+
993
+ /// Configures the "indirect call cache" maximum capacity.
994
+ ///
995
+ /// If the [`Config::cache_call_indirects`] configuration option
996
+ /// is enabled, the engine allocates "cache slots" directly in its
997
+ /// per-instance state struct for each `call_indirect` in the
998
+ /// module's code. We place a limit on this count in order to
999
+ /// avoid inflating the state too much with very large modules. If
1000
+ /// a module exceeds the limit, the first `max` indirect
1001
+ /// call-sites will still have a one-entry cache, but any indirect
1002
+ /// call-sites beyond the limit (in linear order in the module's
1003
+ /// code section) do not participate in the caching, as if the
1004
+ /// option were turned off.
1005
+ ///
1006
+ /// There is also an internal hard cap to this limit:
1007
+ /// configurations with `max` beyond `50_000` will effectively cap
1008
+ /// the limit at `50_000`. This is so that instance state does not
1009
+ /// become unreasonably large.
1010
+ ///
1011
+ /// This is `50_000` by default.
1012
+ pub fn max_call_indirect_cache_slots(&mut self, max: usize) -> &mut Self {
1013
+ const HARD_CAP: usize = 50_000; // See doc-comment above.
1014
+ self.tunables.max_call_indirect_cache_slots = Some(core::cmp::min(max, HARD_CAP));
1015
+ self
1016
+ }
1017
+
1018
+ /// Configures which compilation strategy will be used for wasm modules.
1019
+ ///
1020
+ /// This method can be used to configure which compiler is used for wasm
1021
+ /// modules, and for more documentation consult the [`Strategy`] enumeration
1022
+ /// and its documentation.
1023
+ ///
1024
+ /// The default value for this is `Strategy::Auto`.
1025
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1026
+ pub fn strategy(&mut self, strategy: Strategy) -> &mut Self {
1027
+ self.compiler_config.strategy = strategy.not_auto();
1028
+ self
1029
+ }
1030
+
1031
+ /// Creates a default profiler based on the profiling strategy chosen.
1032
+ ///
1033
+ /// Profiler creation calls the type's default initializer where the purpose is
1034
+ /// really just to put in place the type used for profiling.
1035
+ ///
1036
+ /// Some [`ProfilingStrategy`] require specific platforms or particular feature
1037
+ /// to be enabled, such as `ProfilingStrategy::JitDump` requires the `jitdump`
1038
+ /// feature.
1039
+ ///
1040
+ /// # Errors
1041
+ ///
1042
+ /// The validation of this field is deferred until the engine is being built, and thus may
1043
+ /// cause `Engine::new` fail if the required feature is disabled, or the platform is not
1044
+ /// supported.
1045
+ pub fn profiler(&mut self, profile: ProfilingStrategy) -> &mut Self {
1046
+ self.profiling_strategy = profile;
1047
+ self
1048
+ }
1049
+
1050
+ /// Configures whether the debug verifier of Cranelift is enabled or not.
1051
+ ///
1052
+ /// When Cranelift is used as a code generation backend this will configure
1053
+ /// it to have the `enable_verifier` flag which will enable a number of debug
1054
+ /// checks inside of Cranelift. This is largely only useful for the
1055
+ /// developers of wasmtime itself.
1056
+ ///
1057
+ /// The default value for this is `false`
1058
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1059
+ pub fn cranelift_debug_verifier(&mut self, enable: bool) -> &mut Self {
1060
+ let val = if enable { "true" } else { "false" };
1061
+ self.compiler_config
1062
+ .settings
1063
+ .insert("enable_verifier".to_string(), val.to_string());
1064
+ self
1065
+ }
1066
+
1067
+ /// Configures the Cranelift code generator optimization level.
1068
+ ///
1069
+ /// When the Cranelift code generator is used you can configure the
1070
+ /// optimization level used for generated code in a few various ways. For
1071
+ /// more information see the documentation of [`OptLevel`].
1072
+ ///
1073
+ /// The default value for this is `OptLevel::None`.
1074
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1075
+ pub fn cranelift_opt_level(&mut self, level: OptLevel) -> &mut Self {
1076
+ let val = match level {
1077
+ OptLevel::None => "none",
1078
+ OptLevel::Speed => "speed",
1079
+ OptLevel::SpeedAndSize => "speed_and_size",
1080
+ };
1081
+ self.compiler_config
1082
+ .settings
1083
+ .insert("opt_level".to_string(), val.to_string());
1084
+ self
1085
+ }
1086
+
1087
+ /// Configures whether Cranelift should perform a NaN-canonicalization pass.
1088
+ ///
1089
+ /// When Cranelift is used as a code generation backend this will configure
1090
+ /// it to replace NaNs with a single canonical value. This is useful for
1091
+ /// users requiring entirely deterministic WebAssembly computation. This is
1092
+ /// not required by the WebAssembly spec, so it is not enabled by default.
1093
+ ///
1094
+ /// Note that this option affects not only WebAssembly's `f32` and `f64`
1095
+ /// types but additionally the `v128` type. This option will cause
1096
+ /// operations using any of these types to have extra checks placed after
1097
+ /// them to normalize NaN values as needed.
1098
+ ///
1099
+ /// The default value for this is `false`
1100
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1101
+ pub fn cranelift_nan_canonicalization(&mut self, enable: bool) -> &mut Self {
1102
+ let val = if enable { "true" } else { "false" };
1103
+ self.compiler_config
1104
+ .settings
1105
+ .insert("enable_nan_canonicalization".to_string(), val.to_string());
1106
+ self
1107
+ }
1108
+
1109
+ /// Controls whether proof-carrying code (PCC) is used to validate
1110
+ /// lowering of Wasm sandbox checks.
1111
+ ///
1112
+ /// Proof-carrying code carries "facts" about program values from
1113
+ /// the IR all the way to machine code, and checks those facts
1114
+ /// against known machine-instruction semantics. This guards
1115
+ /// against bugs in instruction lowering that might create holes
1116
+ /// in the Wasm sandbox.
1117
+ ///
1118
+ /// PCC is designed to be fast: it does not require complex
1119
+ /// solvers or logic engines to verify, but only a linear pass
1120
+ /// over a trail of "breadcrumbs" or facts at each intermediate
1121
+ /// value. Thus, it is appropriate to enable in production.
1122
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1123
+ pub fn cranelift_pcc(&mut self, enable: bool) -> &mut Self {
1124
+ let val = if enable { "true" } else { "false" };
1125
+ self.compiler_config
1126
+ .settings
1127
+ .insert("enable_pcc".to_string(), val.to_string());
1128
+ self
1129
+ }
1130
+
1131
+ /// Allows setting a Cranelift boolean flag or preset. This allows
1132
+ /// fine-tuning of Cranelift settings.
1133
+ ///
1134
+ /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1135
+ /// either; other `Config` functions should be preferred for stability.
1136
+ ///
1137
+ /// # Safety
1138
+ ///
1139
+ /// This is marked as unsafe, because setting the wrong flag might break invariants,
1140
+ /// resulting in execution hazards.
1141
+ ///
1142
+ /// # Errors
1143
+ ///
1144
+ /// The validation of the flags are deferred until the engine is being built, and thus may
1145
+ /// cause `Engine::new` fail if the flag's name does not exist, or the value is not appropriate
1146
+ /// for the flag type.
1147
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1148
+ pub unsafe fn cranelift_flag_enable(&mut self, flag: &str) -> &mut Self {
1149
+ self.compiler_config.flags.insert(flag.to_string());
1150
+ self
1151
+ }
1152
+
1153
+ /// Allows settings another Cranelift flag defined by a flag name and value. This allows
1154
+ /// fine-tuning of Cranelift settings.
1155
+ ///
1156
+ /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1157
+ /// either; other `Config` functions should be preferred for stability.
1158
+ ///
1159
+ /// # Safety
1160
+ ///
1161
+ /// This is marked as unsafe, because setting the wrong flag might break invariants,
1162
+ /// resulting in execution hazards.
1163
+ ///
1164
+ /// # Errors
1165
+ ///
1166
+ /// The validation of the flags are deferred until the engine is being built, and thus may
1167
+ /// cause `Engine::new` fail if the flag's name does not exist, or incompatible with other
1168
+ /// settings.
1169
+ ///
1170
+ /// For example, feature `wasm_backtrace` will set `unwind_info` to `true`, but if it's
1171
+ /// manually set to false then it will fail.
1172
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1173
+ pub unsafe fn cranelift_flag_set(&mut self, name: &str, value: &str) -> &mut Self {
1174
+ self.compiler_config
1175
+ .settings
1176
+ .insert(name.to_string(), value.to_string());
1177
+ self
1178
+ }
1179
+
1180
+ /// Loads cache configuration specified at `path`.
1181
+ ///
1182
+ /// This method will read the file specified by `path` on the filesystem and
1183
+ /// attempt to load cache configuration from it. This method can also fail
1184
+ /// due to I/O errors, misconfiguration, syntax errors, etc. For expected
1185
+ /// syntax in the configuration file see the [documentation online][docs].
1186
+ ///
1187
+ /// By default cache configuration is not enabled or loaded.
1188
+ ///
1189
+ /// This method is only available when the `cache` feature of this crate is
1190
+ /// enabled.
1191
+ ///
1192
+ /// # Errors
1193
+ ///
1194
+ /// This method can fail due to any error that happens when loading the file
1195
+ /// pointed to by `path` and attempting to load the cache configuration.
1196
+ ///
1197
+ /// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
1198
+ #[cfg(feature = "cache")]
1199
+ pub fn cache_config_load(&mut self, path: impl AsRef<Path>) -> Result<&mut Self> {
1200
+ self.cache_config = CacheConfig::from_file(Some(path.as_ref()))?;
1201
+ Ok(self)
1202
+ }
1203
+
1204
+ /// Disable caching.
1205
+ ///
1206
+ /// Every call to [`Module::new(my_wasm)`][crate::Module::new] will
1207
+ /// recompile `my_wasm`, even when it is unchanged.
1208
+ ///
1209
+ /// By default, new configs do not have caching enabled. This method is only
1210
+ /// useful for disabling a previous cache configuration.
1211
+ ///
1212
+ /// This method is only available when the `cache` feature of this crate is
1213
+ /// enabled.
1214
+ #[cfg(feature = "cache")]
1215
+ pub fn disable_cache(&mut self) -> &mut Self {
1216
+ self.cache_config = CacheConfig::new_cache_disabled();
1217
+ self
1218
+ }
1219
+
1220
+ /// Loads cache configuration from the system default path.
1221
+ ///
1222
+ /// This commit is the same as [`Config::cache_config_load`] except that it
1223
+ /// does not take a path argument and instead loads the default
1224
+ /// configuration present on the system. This is located, for example, on
1225
+ /// Unix at `$HOME/.config/wasmtime/config.toml` and is typically created
1226
+ /// with the `wasmtime config new` command.
1227
+ ///
1228
+ /// By default cache configuration is not enabled or loaded.
1229
+ ///
1230
+ /// This method is only available when the `cache` feature of this crate is
1231
+ /// enabled.
1232
+ ///
1233
+ /// # Errors
1234
+ ///
1235
+ /// This method can fail due to any error that happens when loading the
1236
+ /// default system configuration. Note that it is not an error if the
1237
+ /// default config file does not exist, in which case the default settings
1238
+ /// for an enabled cache are applied.
1239
+ ///
1240
+ /// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
1241
+ #[cfg(feature = "cache")]
1242
+ pub fn cache_config_load_default(&mut self) -> Result<&mut Self> {
1243
+ self.cache_config = CacheConfig::from_file(None)?;
1244
+ Ok(self)
1245
+ }
1246
+
1247
+ /// Sets a custom memory creator.
1248
+ ///
1249
+ /// Custom memory creators are used when creating host `Memory` objects or when
1250
+ /// creating instance linear memories for the on-demand instance allocation strategy.
1251
+ #[cfg(feature = "runtime")]
1252
+ pub fn with_host_memory(&mut self, mem_creator: Arc<dyn MemoryCreator>) -> &mut Self {
1253
+ self.mem_creator = Some(Arc::new(MemoryCreatorProxy(mem_creator)));
1254
+ self
1255
+ }
1256
+
1257
+ /// Sets a custom stack creator.
1258
+ ///
1259
+ /// Custom memory creators are used when creating creating async instance stacks for
1260
+ /// the on-demand instance allocation strategy.
1261
+ #[cfg(feature = "async")]
1262
+ pub fn with_host_stack(&mut self, stack_creator: Arc<dyn StackCreator>) -> &mut Self {
1263
+ self.stack_creator = Some(Arc::new(StackCreatorProxy(stack_creator)));
1264
+ self
1265
+ }
1266
+
1267
+ /// Sets the instance allocation strategy to use.
1268
+ ///
1269
+ /// When using the pooling instance allocation strategy, all linear memories
1270
+ /// will be created as "static" and the
1271
+ /// [`Config::static_memory_maximum_size`] and
1272
+ /// [`Config::static_memory_guard_size`] options will be used to configure
1273
+ /// the virtual memory allocations of linear memories.
1274
+ pub fn allocation_strategy(&mut self, strategy: InstanceAllocationStrategy) -> &mut Self {
1275
+ self.allocation_strategy = strategy;
1276
+ self
1277
+ }
1278
+
1279
+ /// Configures the maximum size, in bytes, where a linear memory is
1280
+ /// considered static, above which it'll be considered dynamic.
1281
+ ///
1282
+ /// > Note: this value has important performance ramifications, be sure to
1283
+ /// > understand what this value does before tweaking it and benchmarking.
1284
+ ///
1285
+ /// This function configures the threshold for wasm memories whether they're
1286
+ /// implemented as a dynamically relocatable chunk of memory or a statically
1287
+ /// located chunk of memory. The `max_size` parameter here is the size, in
1288
+ /// bytes, where if the maximum size of a linear memory is below `max_size`
1289
+ /// then it will be statically allocated with enough space to never have to
1290
+ /// move. If the maximum size of a linear memory is larger than `max_size`
1291
+ /// then wasm memory will be dynamically located and may move in memory
1292
+ /// through growth operations.
1293
+ ///
1294
+ /// Specifying a `max_size` of 0 means that all memories will be dynamic and
1295
+ /// may be relocated through `memory.grow`. Also note that if any wasm
1296
+ /// memory's maximum size is below `max_size` then it will still reserve
1297
+ /// `max_size` bytes in the virtual memory space.
1298
+ ///
1299
+ /// ## Static vs Dynamic Memory
1300
+ ///
1301
+ /// Linear memories represent contiguous arrays of bytes, but they can also
1302
+ /// be grown through the API and wasm instructions. When memory is grown if
1303
+ /// space hasn't been preallocated then growth may involve relocating the
1304
+ /// base pointer in memory. Memories in Wasmtime are classified in two
1305
+ /// different ways:
1306
+ ///
1307
+ /// * **static** - these memories preallocate all space necessary they'll
1308
+ /// ever need, meaning that the base pointer of these memories is never
1309
+ /// moved. Static memories may take more virtual memory space because of
1310
+ /// pre-reserving space for memories.
1311
+ ///
1312
+ /// * **dynamic** - these memories are not preallocated and may move during
1313
+ /// growth operations. Dynamic memories consume less virtual memory space
1314
+ /// because they don't need to preallocate space for future growth.
1315
+ ///
1316
+ /// Static memories can be optimized better in JIT code because once the
1317
+ /// base address is loaded in a function it's known that we never need to
1318
+ /// reload it because it never changes, `memory.grow` is generally a pretty
1319
+ /// fast operation because the wasm memory is never relocated, and under
1320
+ /// some conditions bounds checks can be elided on memory accesses.
1321
+ ///
1322
+ /// Dynamic memories can't be quite as heavily optimized because the base
1323
+ /// address may need to be reloaded more often, they may require relocating
1324
+ /// lots of data on `memory.grow`, and dynamic memories require
1325
+ /// unconditional bounds checks on all memory accesses.
1326
+ ///
1327
+ /// ## Should you use static or dynamic memory?
1328
+ ///
1329
+ /// In general you probably don't need to change the value of this property.
1330
+ /// The defaults here are optimized for each target platform to consume a
1331
+ /// reasonable amount of physical memory while also generating speedy
1332
+ /// machine code.
1333
+ ///
1334
+ /// One of the main reasons you may want to configure this today is if your
1335
+ /// environment can't reserve virtual memory space for each wasm linear
1336
+ /// memory. On 64-bit platforms wasm memories require a 6GB reservation by
1337
+ /// default, and system limits may prevent this in some scenarios. In this
1338
+ /// case you may wish to force memories to be allocated dynamically meaning
1339
+ /// that the virtual memory footprint of creating a wasm memory should be
1340
+ /// exactly what's used by the wasm itself.
1341
+ ///
1342
+ /// For 32-bit memories a static memory must contain at least 4GB of
1343
+ /// reserved address space plus a guard page to elide any bounds checks at
1344
+ /// all. Smaller static memories will use similar bounds checks as dynamic
1345
+ /// memories.
1346
+ ///
1347
+ /// ## Default
1348
+ ///
1349
+ /// The default value for this property depends on the host platform. For
1350
+ /// 64-bit platforms there's lots of address space available, so the default
1351
+ /// configured here is 4GB. WebAssembly linear memories currently max out at
1352
+ /// 4GB which means that on 64-bit platforms Wasmtime by default always uses
1353
+ /// a static memory. This, coupled with a sufficiently sized guard region,
1354
+ /// should produce the fastest JIT code on 64-bit platforms, but does
1355
+ /// require a large address space reservation for each wasm memory.
1356
+ ///
1357
+ /// For 32-bit platforms this value defaults to 1GB. This means that wasm
1358
+ /// memories whose maximum size is less than 1GB will be allocated
1359
+ /// statically, otherwise they'll be considered dynamic.
1360
+ ///
1361
+ /// ## Static Memory and Pooled Instance Allocation
1362
+ ///
1363
+ /// When using the pooling instance allocator memories are considered to
1364
+ /// always be static memories, they are never dynamic. This setting
1365
+ /// configures the size of linear memory to reserve for each memory in the
1366
+ /// pooling allocator.
1367
+ ///
1368
+ /// Note that the pooling allocator can reduce the amount of memory needed
1369
+ /// for pooling allocation by using memory protection; see
1370
+ /// `PoolingAllocatorConfig::memory_protection_keys` for details.
1371
+ pub fn static_memory_maximum_size(&mut self, max_size: u64) -> &mut Self {
1372
+ self.tunables.static_memory_reservation = Some(round_up_to_pages(max_size));
1373
+ self
1374
+ }
1375
+
1376
+ /// Indicates that the "static" style of memory should always be used.
1377
+ ///
1378
+ /// This configuration option enables selecting the "static" option for all
1379
+ /// linear memories created within this `Config`. This means that all
1380
+ /// memories will be allocated up-front and will never move. Additionally
1381
+ /// this means that all memories are synthetically limited by the
1382
+ /// [`Config::static_memory_maximum_size`] option, regardless of what the
1383
+ /// actual maximum size is on the memory's original type.
1384
+ ///
1385
+ /// For the difference between static and dynamic memories, see the
1386
+ /// [`Config::static_memory_maximum_size`].
1387
+ pub fn static_memory_forced(&mut self, force: bool) -> &mut Self {
1388
+ self.tunables.static_memory_bound_is_maximum = Some(force);
1389
+ self
1390
+ }
1391
+
1392
+ /// Configures the size, in bytes, of the guard region used at the end of a
1393
+ /// static memory's address space reservation.
1394
+ ///
1395
+ /// > Note: this value has important performance ramifications, be sure to
1396
+ /// > understand what this value does before tweaking it and benchmarking.
1397
+ ///
1398
+ /// All WebAssembly loads/stores are bounds-checked and generate a trap if
1399
+ /// they're out-of-bounds. Loads and stores are often very performance
1400
+ /// critical, so we want the bounds check to be as fast as possible!
1401
+ /// Accelerating these memory accesses is the motivation for a guard after a
1402
+ /// memory allocation.
1403
+ ///
1404
+ /// Memories (both static and dynamic) can be configured with a guard at the
1405
+ /// end of them which consists of unmapped virtual memory. This unmapped
1406
+ /// memory will trigger a memory access violation (e.g. segfault) if
1407
+ /// accessed. This allows JIT code to elide bounds checks if it can prove
1408
+ /// that an access, if out of bounds, would hit the guard region. This means
1409
+ /// that having such a guard of unmapped memory can remove the need for
1410
+ /// bounds checks in JIT code.
1411
+ ///
1412
+ /// For the difference between static and dynamic memories, see the
1413
+ /// [`Config::static_memory_maximum_size`].
1414
+ ///
1415
+ /// ## How big should the guard be?
1416
+ ///
1417
+ /// In general, like with configuring `static_memory_maximum_size`, you
1418
+ /// probably don't want to change this value from the defaults. Otherwise,
1419
+ /// though, the size of the guard region affects the number of bounds checks
1420
+ /// needed for generated wasm code. More specifically, loads/stores with
1421
+ /// immediate offsets will generate bounds checks based on how big the guard
1422
+ /// page is.
1423
+ ///
1424
+ /// For 32-bit wasm memories a 4GB static memory is required to even start
1425
+ /// removing bounds checks. A 4GB guard size will guarantee that the module
1426
+ /// has zero bounds checks for memory accesses. A 2GB guard size will
1427
+ /// eliminate all bounds checks with an immediate offset less than 2GB. A
1428
+ /// guard size of zero means that all memory accesses will still have bounds
1429
+ /// checks.
1430
+ ///
1431
+ /// ## Default
1432
+ ///
1433
+ /// The default value for this property is 2GB on 64-bit platforms. This
1434
+ /// allows eliminating almost all bounds checks on loads/stores with an
1435
+ /// immediate offset of less than 2GB. On 32-bit platforms this defaults to
1436
+ /// 64KB.
1437
+ ///
1438
+ /// ## Errors
1439
+ ///
1440
+ /// The `Engine::new` method will return an error if this option is smaller
1441
+ /// than the value configured for [`Config::dynamic_memory_guard_size`].
1442
+ pub fn static_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
1443
+ let guard_size = round_up_to_pages(guard_size);
1444
+ self.tunables.static_memory_offset_guard_size = Some(guard_size);
1445
+ self
1446
+ }
1447
+
1448
+ /// Configures the size, in bytes, of the guard region used at the end of a
1449
+ /// dynamic memory's address space reservation.
1450
+ ///
1451
+ /// For the difference between static and dynamic memories, see the
1452
+ /// [`Config::static_memory_maximum_size`]
1453
+ ///
1454
+ /// For more information about what a guard is, see the documentation on
1455
+ /// [`Config::static_memory_guard_size`].
1456
+ ///
1457
+ /// Note that the size of the guard region for dynamic memories is not super
1458
+ /// critical for performance. Making it reasonably-sized can improve
1459
+ /// generated code slightly, but for maximum performance you'll want to lean
1460
+ /// towards static memories rather than dynamic anyway.
1461
+ ///
1462
+ /// Also note that the dynamic memory guard size must be smaller than the
1463
+ /// static memory guard size, so if a large dynamic memory guard is
1464
+ /// specified then the static memory guard size will also be automatically
1465
+ /// increased.
1466
+ ///
1467
+ /// ## Default
1468
+ ///
1469
+ /// This value defaults to 64KB.
1470
+ ///
1471
+ /// ## Errors
1472
+ ///
1473
+ /// The `Engine::new` method will return an error if this option is larger
1474
+ /// than the value configured for [`Config::static_memory_guard_size`].
1475
+ pub fn dynamic_memory_guard_size(&mut self, guard_size: u64) -> &mut Self {
1476
+ let guard_size = round_up_to_pages(guard_size);
1477
+ self.tunables.dynamic_memory_offset_guard_size = Some(guard_size);
1478
+ self
1479
+ }
1480
+
1481
+ /// Configures the size, in bytes, of the extra virtual memory space
1482
+ /// reserved after a "dynamic" memory for growing into.
1483
+ ///
1484
+ /// For the difference between static and dynamic memories, see the
1485
+ /// [`Config::static_memory_maximum_size`]
1486
+ ///
1487
+ /// Dynamic memories can be relocated in the process's virtual address space
1488
+ /// on growth and do not always reserve their entire space up-front. This
1489
+ /// means that a growth of the memory may require movement in the address
1490
+ /// space, which in the worst case can copy a large number of bytes from one
1491
+ /// region to another.
1492
+ ///
1493
+ /// This setting configures how many bytes are reserved after the initial
1494
+ /// reservation for a dynamic memory for growing into. A value of 0 here
1495
+ /// means that no extra bytes are reserved and all calls to `memory.grow`
1496
+ /// will need to relocate the wasm linear memory (copying all the bytes). A
1497
+ /// value of 1 megabyte, however, means that `memory.grow` can allocate up
1498
+ /// to a megabyte of extra memory before the memory needs to be moved in
1499
+ /// linear memory.
1500
+ ///
1501
+ /// Note that this is a currently simple heuristic for optimizing the growth
1502
+ /// of dynamic memories, primarily implemented for the memory64 proposal
1503
+ /// where all memories are currently "dynamic". This is unlikely to be a
1504
+ /// one-size-fits-all style approach and if you're an embedder running into
1505
+ /// issues with dynamic memories and growth and are interested in having
1506
+ /// other growth strategies available here please feel free to [open an
1507
+ /// issue on the Wasmtime repository][issue]!
1508
+ ///
1509
+ /// [issue]: https://github.com/bytecodealliance/wasmtime/issues/ne
1510
+ ///
1511
+ /// ## Default
1512
+ ///
1513
+ /// For 64-bit platforms this defaults to 2GB, and for 32-bit platforms this
1514
+ /// defaults to 1MB.
1515
+ pub fn dynamic_memory_reserved_for_growth(&mut self, reserved: u64) -> &mut Self {
1516
+ self.tunables.dynamic_memory_growth_reserve = Some(round_up_to_pages(reserved));
1517
+ self
1518
+ }
1519
+
1520
+ /// Indicates whether a guard region is present before allocations of
1521
+ /// linear memory.
1522
+ ///
1523
+ /// Guard regions before linear memories are never used during normal
1524
+ /// operation of WebAssembly modules, even if they have out-of-bounds
1525
+ /// loads. The only purpose for a preceding guard region in linear memory
1526
+ /// is extra protection against possible bugs in code generators like
1527
+ /// Cranelift. This setting does not affect performance in any way, but will
1528
+ /// result in larger virtual memory reservations for linear memories (it
1529
+ /// won't actually ever use more memory, just use more of the address
1530
+ /// space).
1531
+ ///
1532
+ /// The size of the guard region before linear memory is the same as the
1533
+ /// guard size that comes after linear memory, which is configured by
1534
+ /// [`Config::static_memory_guard_size`] and
1535
+ /// [`Config::dynamic_memory_guard_size`].
1536
+ ///
1537
+ /// ## Default
1538
+ ///
1539
+ /// This value defaults to `true`.
1540
+ pub fn guard_before_linear_memory(&mut self, guard: bool) -> &mut Self {
1541
+ self.tunables.guard_before_linear_memory = Some(guard);
1542
+ self
1543
+ }
1544
+
1545
+ /// Indicates whether to initialize tables lazily, so that instantiation
1546
+ /// is fast but indirect calls are a little slower. If false, tables
1547
+ /// are initialized eagerly during instantiation from any active element
1548
+ /// segments that apply to them.
1549
+ ///
1550
+ /// ## Default
1551
+ ///
1552
+ /// This value defaults to `true`.
1553
+ pub fn table_lazy_init(&mut self, table_lazy_init: bool) -> &mut Self {
1554
+ self.tunables.table_lazy_init = Some(table_lazy_init);
1555
+ self
1556
+ }
1557
+
1558
+ /// Configure the version information used in serialized and deserialzied [`crate::Module`]s.
1559
+ /// This effects the behavior of [`crate::Module::serialize()`], as well as
1560
+ /// [`crate::Module::deserialize()`] and related functions.
1561
+ ///
1562
+ /// The default strategy is to use the wasmtime crate's Cargo package version.
1563
+ pub fn module_version(&mut self, strategy: ModuleVersionStrategy) -> Result<&mut Self> {
1564
+ match strategy {
1565
+ // This case requires special precondition for assertion in SerializedModule::to_bytes
1566
+ ModuleVersionStrategy::Custom(ref v) => {
1567
+ if v.as_bytes().len() > 255 {
1568
+ bail!("custom module version cannot be more than 255 bytes: {}", v);
1569
+ }
1570
+ }
1571
+ _ => {}
1572
+ }
1573
+ self.module_version = strategy;
1574
+ Ok(self)
1575
+ }
1576
+
1577
+ /// Configure whether wasmtime should compile a module using multiple
1578
+ /// threads.
1579
+ ///
1580
+ /// Disabling this will result in a single thread being used to compile
1581
+ /// the wasm bytecode.
1582
+ ///
1583
+ /// By default parallel compilation is enabled.
1584
+ #[cfg(feature = "parallel-compilation")]
1585
+ pub fn parallel_compilation(&mut self, parallel: bool) -> &mut Self {
1586
+ self.parallel_compilation = parallel;
1587
+ self
1588
+ }
1589
+
1590
+ /// Configures whether compiled artifacts will contain information to map
1591
+ /// native program addresses back to the original wasm module.
1592
+ ///
1593
+ /// This configuration option is `true` by default and, if enabled,
1594
+ /// generates the appropriate tables in compiled modules to map from native
1595
+ /// address back to wasm source addresses. This is used for displaying wasm
1596
+ /// program counters in backtraces as well as generating filenames/line
1597
+ /// numbers if so configured as well (and the original wasm module has DWARF
1598
+ /// debugging information present).
1599
+ pub fn generate_address_map(&mut self, generate: bool) -> &mut Self {
1600
+ self.tunables.generate_address_map = Some(generate);
1601
+ self
1602
+ }
1603
+
1604
+ /// Configures whether copy-on-write memory-mapped data is used to
1605
+ /// initialize a linear memory.
1606
+ ///
1607
+ /// Initializing linear memory via a copy-on-write mapping can drastically
1608
+ /// improve instantiation costs of a WebAssembly module because copying
1609
+ /// memory is deferred. Additionally if a page of memory is only ever read
1610
+ /// from WebAssembly and never written too then the same underlying page of
1611
+ /// data will be reused between all instantiations of a module meaning that
1612
+ /// if a module is instantiated many times this can lower the overall memory
1613
+ /// required needed to run that module.
1614
+ ///
1615
+ /// The main disadvantage of copy-on-write initialization, however, is that
1616
+ /// it may be possible for highly-parallel scenarios to be less scalable. If
1617
+ /// a page is read initially by a WebAssembly module then that page will be
1618
+ /// mapped to a read-only copy shared between all WebAssembly instances. If
1619
+ /// the same page is then written, however, then a private copy is created
1620
+ /// and swapped out from the read-only version. This also requires an [IPI],
1621
+ /// however, which can be a significant bottleneck in high-parallelism
1622
+ /// situations.
1623
+ ///
1624
+ /// This feature is only applicable when a WebAssembly module meets specific
1625
+ /// criteria to be initialized in this fashion, such as:
1626
+ ///
1627
+ /// * Only memories defined in the module can be initialized this way.
1628
+ /// * Data segments for memory must use statically known offsets.
1629
+ /// * Data segments for memory must all be in-bounds.
1630
+ ///
1631
+ /// Modules which do not meet these criteria will fall back to
1632
+ /// initialization of linear memory based on copying memory.
1633
+ ///
1634
+ /// This feature of Wasmtime is also platform-specific:
1635
+ ///
1636
+ /// * Linux - this feature is supported for all instances of [`Module`].
1637
+ /// Modules backed by an existing mmap (such as those created by
1638
+ /// [`Module::deserialize_file`]) will reuse that mmap to cow-initialize
1639
+ /// memory. Other instance of [`Module`] may use the `memfd_create`
1640
+ /// syscall to create an initialization image to `mmap`.
1641
+ /// * Unix (not Linux) - this feature is only supported when loading modules
1642
+ /// from a precompiled file via [`Module::deserialize_file`] where there
1643
+ /// is a file descriptor to use to map data into the process. Note that
1644
+ /// the module must have been compiled with this setting enabled as well.
1645
+ /// * Windows - there is no support for this feature at this time. Memory
1646
+ /// initialization will always copy bytes.
1647
+ ///
1648
+ /// By default this option is enabled.
1649
+ ///
1650
+ /// [`Module::deserialize_file`]: crate::Module::deserialize_file
1651
+ /// [`Module`]: crate::Module
1652
+ /// [IPI]: https://en.wikipedia.org/wiki/Inter-processor_interrupt
1653
+ pub fn memory_init_cow(&mut self, enable: bool) -> &mut Self {
1654
+ self.memory_init_cow = enable;
1655
+ self
1656
+ }
1657
+
1658
+ /// A configuration option to force the usage of `memfd_create` on Linux to
1659
+ /// be used as the backing source for a module's initial memory image.
1660
+ ///
1661
+ /// When [`Config::memory_init_cow`] is enabled, which is enabled by
1662
+ /// default, module memory initialization images are taken from a module's
1663
+ /// original mmap if possible. If a precompiled module was loaded from disk
1664
+ /// this means that the disk's file is used as an mmap source for the
1665
+ /// initial linear memory contents. This option can be used to force, on
1666
+ /// Linux, that instead of using the original file on disk a new in-memory
1667
+ /// file is created with `memfd_create` to hold the contents of the initial
1668
+ /// image.
1669
+ ///
1670
+ /// This option can be used to avoid possibly loading the contents of memory
1671
+ /// from disk through a page fault. Instead with `memfd_create` the contents
1672
+ /// of memory are always in RAM, meaning that even page faults which
1673
+ /// initially populate a wasm linear memory will only work with RAM instead
1674
+ /// of ever hitting the disk that the original precompiled module is stored
1675
+ /// on.
1676
+ ///
1677
+ /// This option is disabled by default.
1678
+ pub fn force_memory_init_memfd(&mut self, enable: bool) -> &mut Self {
1679
+ self.force_memory_init_memfd = enable;
1680
+ self
1681
+ }
1682
+
1683
+ /// Configures whether or not a coredump should be generated and attached to
1684
+ /// the anyhow::Error when a trap is raised.
1685
+ ///
1686
+ /// This option is disabled by default.
1687
+ #[cfg(feature = "coredump")]
1688
+ pub fn coredump_on_trap(&mut self, enable: bool) -> &mut Self {
1689
+ self.coredump_on_trap = enable;
1690
+ self
1691
+ }
1692
+
1693
+ /// Enables memory error checking for wasm programs.
1694
+ ///
1695
+ /// This option is disabled by default.
1696
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1697
+ pub fn wmemcheck(&mut self, enable: bool) -> &mut Self {
1698
+ self.wmemcheck = enable;
1699
+ self.compiler_config.wmemcheck = enable;
1700
+ self
1701
+ }
1702
+
1703
+ /// Configures the "guaranteed dense image size" for copy-on-write
1704
+ /// initialized memories.
1705
+ ///
1706
+ /// When using the [`Config::memory_init_cow`] feature to initialize memory
1707
+ /// efficiently (which is enabled by default), compiled modules contain an
1708
+ /// image of the module's initial heap. If the module has a fairly sparse
1709
+ /// initial heap, with just a few data segments at very different offsets,
1710
+ /// this could result in a large region of zero bytes in the image. In
1711
+ /// other words, it's not very memory-efficient.
1712
+ ///
1713
+ /// We normally use a heuristic to avoid this: if less than half
1714
+ /// of the initialized range (first non-zero to last non-zero
1715
+ /// byte) of any memory in the module has pages with nonzero
1716
+ /// bytes, then we avoid creating a memory image for the entire module.
1717
+ ///
1718
+ /// However, if the embedder always needs the instantiation-time efficiency
1719
+ /// of copy-on-write initialization, and is otherwise carefully controlling
1720
+ /// parameters of the modules (for example, by limiting the maximum heap
1721
+ /// size of the modules), then it may be desirable to ensure a memory image
1722
+ /// is created even if this could go against the heuristic above. Thus, we
1723
+ /// add another condition: there is a size of initialized data region up to
1724
+ /// which we *always* allow a memory image. The embedder can set this to a
1725
+ /// known maximum heap size if they desire to always get the benefits of
1726
+ /// copy-on-write images.
1727
+ ///
1728
+ /// In the future we may implement a "best of both worlds"
1729
+ /// solution where we have a dense image up to some limit, and
1730
+ /// then support a sparse list of initializers beyond that; this
1731
+ /// would get most of the benefit of copy-on-write and pay the incremental
1732
+ /// cost of eager initialization only for those bits of memory
1733
+ /// that are out-of-bounds. However, for now, an embedder desiring
1734
+ /// fast instantiation should ensure that this setting is as large
1735
+ /// as the maximum module initial memory content size.
1736
+ ///
1737
+ /// By default this value is 16 MiB.
1738
+ pub fn memory_guaranteed_dense_image_size(&mut self, size_in_bytes: u64) -> &mut Self {
1739
+ self.memory_guaranteed_dense_image_size = size_in_bytes;
1740
+ self
1741
+ }
1742
+
1743
+ pub(crate) fn conditionally_enable_defaults(&mut self) {
1744
+ // If tail calls were not explicitly enabled/disabled (i.e. tail_callable is None), enable
1745
+ // them if we are targeting a backend that supports them. Currently the Cranelift
1746
+ // compilation strategy is the only one that supports tail calls, but not targeting s390x.
1747
+ if self.tunables.tail_callable.is_none() {
1748
+ #[cfg(feature = "cranelift")]
1749
+ let default_tail_calls = self.compiler_config.strategy == Some(Strategy::Cranelift)
1750
+ && self.compiler_config.target.as_ref().map_or_else(
1751
+ || target_lexicon::Triple::host().architecture,
1752
+ |triple| triple.architecture,
1753
+ ) != Architecture::S390x;
1754
+ #[cfg(not(feature = "cranelift"))]
1755
+ let default_tail_calls = false;
1756
+
1757
+ self.wasm_tail_call(default_tail_calls);
1758
+ }
1759
+ }
1760
+
1761
+ pub(crate) fn validate(&self) -> Result<Tunables> {
1762
+ if self.features.contains(WasmFeatures::REFERENCE_TYPES)
1763
+ && !self.features.contains(WasmFeatures::BULK_MEMORY)
1764
+ {
1765
+ bail!("feature 'reference_types' requires 'bulk_memory' to be enabled");
1766
+ }
1767
+ if self.features.contains(WasmFeatures::THREADS)
1768
+ && !self.features.contains(WasmFeatures::BULK_MEMORY)
1769
+ {
1770
+ bail!("feature 'threads' requires 'bulk_memory' to be enabled");
1771
+ }
1772
+ if self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
1773
+ && !self.features.contains(WasmFeatures::REFERENCE_TYPES)
1774
+ {
1775
+ bail!("feature 'function_references' requires 'reference_types' to be enabled");
1776
+ }
1777
+ if self.features.contains(WasmFeatures::GC)
1778
+ && !self.features.contains(WasmFeatures::FUNCTION_REFERENCES)
1779
+ {
1780
+ bail!("feature 'gc' requires 'function_references' to be enabled");
1781
+ }
1782
+ #[cfg(feature = "async")]
1783
+ if self.async_support && self.max_wasm_stack > self.async_stack_size {
1784
+ bail!("max_wasm_stack size cannot exceed the async_stack_size");
1785
+ }
1786
+ if self.max_wasm_stack == 0 {
1787
+ bail!("max_wasm_stack size cannot be zero");
1788
+ }
1789
+ #[cfg(not(feature = "wmemcheck"))]
1790
+ if self.wmemcheck {
1791
+ bail!("wmemcheck (memory checker) was requested but is not enabled in this build");
1792
+ }
1793
+
1794
+ #[cfg(not(any(feature = "cranelift", feature = "winch")))]
1795
+ let mut tunables = Tunables::default_host();
1796
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1797
+ let mut tunables = match &self.compiler_config.target.as_ref() {
1798
+ Some(target) => Tunables::default_for_target(target)?,
1799
+ None => Tunables::default_host(),
1800
+ };
1801
+
1802
+ macro_rules! set_fields {
1803
+ ($($field:ident)*) => (
1804
+ let ConfigTunables {
1805
+ $($field,)*
1806
+ } = &self.tunables;
1807
+
1808
+ $(
1809
+ if let Some(e) = $field {
1810
+ tunables.$field = *e;
1811
+ }
1812
+ )*
1813
+ )
1814
+ }
1815
+
1816
+ set_fields! {
1817
+ static_memory_reservation
1818
+ static_memory_offset_guard_size
1819
+ dynamic_memory_offset_guard_size
1820
+ dynamic_memory_growth_reserve
1821
+ generate_native_debuginfo
1822
+ parse_wasm_debuginfo
1823
+ consume_fuel
1824
+ epoch_interruption
1825
+ static_memory_bound_is_maximum
1826
+ guard_before_linear_memory
1827
+ table_lazy_init
1828
+ generate_address_map
1829
+ debug_adapter_modules
1830
+ relaxed_simd_deterministic
1831
+ tail_callable
1832
+ cache_call_indirects
1833
+ max_call_indirect_cache_slots
1834
+ }
1835
+
1836
+ // If we're going to compile with winch, we must use the winch calling convention.
1837
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1838
+ {
1839
+ tunables.winch_callable = self.compiler_config.strategy == Some(Strategy::Winch);
1840
+
1841
+ if tunables.winch_callable && tunables.tail_callable {
1842
+ bail!("Winch does not support the WebAssembly tail call proposal");
1843
+ }
1844
+
1845
+ if tunables.winch_callable && !tunables.table_lazy_init {
1846
+ bail!("Winch requires the table-lazy-init configuration option");
1847
+ }
1848
+ }
1849
+
1850
+ if tunables.static_memory_offset_guard_size < tunables.dynamic_memory_offset_guard_size {
1851
+ bail!("static memory guard size cannot be smaller than dynamic memory guard size");
1852
+ }
1853
+
1854
+ Ok(tunables)
1855
+ }
1856
+
1857
+ #[cfg(feature = "runtime")]
1858
+ pub(crate) fn build_allocator(
1859
+ &self,
1860
+ tunables: &Tunables,
1861
+ ) -> Result<Box<dyn InstanceAllocator + Send + Sync>> {
1862
+ #[cfg(feature = "async")]
1863
+ let stack_size = self.async_stack_size;
1864
+
1865
+ #[cfg(not(feature = "async"))]
1866
+ let stack_size = 0;
1867
+
1868
+ let _ = tunables;
1869
+
1870
+ match &self.allocation_strategy {
1871
+ InstanceAllocationStrategy::OnDemand => {
1872
+ #[allow(unused_mut)]
1873
+ let mut allocator = Box::new(OnDemandInstanceAllocator::new(
1874
+ self.mem_creator.clone(),
1875
+ stack_size,
1876
+ ));
1877
+ #[cfg(feature = "async")]
1878
+ if let Some(stack_creator) = &self.stack_creator {
1879
+ allocator.set_stack_creator(stack_creator.clone());
1880
+ }
1881
+ Ok(allocator)
1882
+ }
1883
+ #[cfg(feature = "pooling-allocator")]
1884
+ InstanceAllocationStrategy::Pooling(config) => {
1885
+ let mut config = config.config;
1886
+ config.stack_size = stack_size;
1887
+ Ok(Box::new(crate::runtime::vm::PoolingInstanceAllocator::new(
1888
+ &config, tunables,
1889
+ )?))
1890
+ }
1891
+ }
1892
+ }
1893
+
1894
+ #[cfg(feature = "runtime")]
1895
+ pub(crate) fn build_gc_runtime(&self) -> Result<Arc<dyn GcRuntime>> {
1896
+ Ok(Arc::new(crate::runtime::vm::default_gc_runtime()) as Arc<dyn GcRuntime>)
1897
+ }
1898
+
1899
+ #[cfg(feature = "runtime")]
1900
+ pub(crate) fn build_profiler(&self) -> Result<Box<dyn ProfilingAgent>> {
1901
+ Ok(match self.profiling_strategy {
1902
+ ProfilingStrategy::PerfMap => profiling_agent::new_perfmap()?,
1903
+ ProfilingStrategy::JitDump => profiling_agent::new_jitdump()?,
1904
+ ProfilingStrategy::VTune => profiling_agent::new_vtune()?,
1905
+ ProfilingStrategy::None => profiling_agent::new_null(),
1906
+ })
1907
+ }
1908
+
1909
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
1910
+ pub(crate) fn build_compiler(
1911
+ mut self,
1912
+ tunables: &Tunables,
1913
+ ) -> Result<(Self, Box<dyn wasmtime_environ::Compiler>)> {
1914
+ let target = self.compiler_config.target.clone();
1915
+
1916
+ let mut compiler = match self.compiler_config.strategy {
1917
+ #[cfg(feature = "cranelift")]
1918
+ Some(Strategy::Cranelift) => wasmtime_cranelift::builder(target)?,
1919
+ #[cfg(not(feature = "cranelift"))]
1920
+ Some(Strategy::Cranelift) => bail!("cranelift support not compiled in"),
1921
+ #[cfg(feature = "winch")]
1922
+ Some(Strategy::Winch) => wasmtime_winch::builder(target)?,
1923
+ #[cfg(not(feature = "winch"))]
1924
+ Some(Strategy::Winch) => bail!("winch support not compiled in"),
1925
+
1926
+ None | Some(Strategy::Auto) => unreachable!(),
1927
+ };
1928
+
1929
+ if let Some(path) = &self.compiler_config.clif_dir {
1930
+ compiler.clif_dir(path)?;
1931
+ }
1932
+
1933
+ // If probestack is enabled for a target, Wasmtime will always use the
1934
+ // inline strategy which doesn't require us to define a `__probestack`
1935
+ // function or similar.
1936
+ self.compiler_config
1937
+ .settings
1938
+ .insert("probestack_strategy".into(), "inline".into());
1939
+
1940
+ let host = target_lexicon::Triple::host();
1941
+ let target = self
1942
+ .compiler_config
1943
+ .target
1944
+ .as_ref()
1945
+ .unwrap_or(&host)
1946
+ .clone();
1947
+
1948
+ // On supported targets, we enable stack probing by default.
1949
+ // This is required on Windows because of the way Windows
1950
+ // commits its stacks, but it's also a good idea on other
1951
+ // platforms to ensure guard pages are hit for large frame
1952
+ // sizes.
1953
+ if probestack_supported(target.architecture) {
1954
+ self.compiler_config
1955
+ .flags
1956
+ .insert("enable_probestack".into());
1957
+ }
1958
+
1959
+ if self.features.contains(WasmFeatures::TAIL_CALL) {
1960
+ ensure!(
1961
+ target.architecture != Architecture::S390x,
1962
+ "Tail calls are not supported on s390x yet: \
1963
+ https://github.com/bytecodealliance/wasmtime/issues/6530"
1964
+ );
1965
+ }
1966
+
1967
+ if let Some(unwind_requested) = self.native_unwind_info {
1968
+ if !self
1969
+ .compiler_config
1970
+ .ensure_setting_unset_or_given("unwind_info", &unwind_requested.to_string())
1971
+ {
1972
+ bail!("incompatible settings requested for Cranelift and Wasmtime `unwind-info` settings");
1973
+ }
1974
+ }
1975
+
1976
+ if target.operating_system == target_lexicon::OperatingSystem::Windows {
1977
+ if !self
1978
+ .compiler_config
1979
+ .ensure_setting_unset_or_given("unwind_info", "true")
1980
+ {
1981
+ bail!("`native_unwind_info` cannot be disabled on Windows");
1982
+ }
1983
+ }
1984
+
1985
+ // We require frame pointers for correct stack walking, which is safety
1986
+ // critical in the presence of reference types, and otherwise it is just
1987
+ // really bad developer experience to get wrong.
1988
+ self.compiler_config
1989
+ .settings
1990
+ .insert("preserve_frame_pointers".into(), "true".into());
1991
+
1992
+ // check for incompatible compiler options and set required values
1993
+ if self.features.contains(WasmFeatures::REFERENCE_TYPES) {
1994
+ if !self
1995
+ .compiler_config
1996
+ .ensure_setting_unset_or_given("enable_safepoints", "true")
1997
+ {
1998
+ bail!("compiler option 'enable_safepoints' must be enabled when 'reference types' is enabled");
1999
+ }
2000
+ }
2001
+
2002
+ if self.features.contains(WasmFeatures::RELAXED_SIMD)
2003
+ && !self.features.contains(WasmFeatures::SIMD)
2004
+ {
2005
+ bail!("cannot disable the simd proposal but enable the relaxed simd proposal");
2006
+ }
2007
+
2008
+ // Apply compiler settings and flags
2009
+ for (k, v) in self.compiler_config.settings.iter() {
2010
+ compiler.set(k, v)?;
2011
+ }
2012
+ for flag in self.compiler_config.flags.iter() {
2013
+ compiler.enable(flag)?;
2014
+ }
2015
+
2016
+ #[cfg(feature = "incremental-cache")]
2017
+ if let Some(cache_store) = &self.compiler_config.cache_store {
2018
+ compiler.enable_incremental_compilation(cache_store.clone())?;
2019
+ }
2020
+
2021
+ compiler.set_tunables(tunables.clone())?;
2022
+ compiler.wmemcheck(self.compiler_config.wmemcheck);
2023
+
2024
+ Ok((self, compiler.build()?))
2025
+ }
2026
+
2027
+ /// Internal setting for whether adapter modules for components will have
2028
+ /// extra WebAssembly instructions inserted performing more debug checks
2029
+ /// then are necessary.
2030
+ #[cfg(feature = "component-model")]
2031
+ pub fn debug_adapter_modules(&mut self, debug: bool) -> &mut Self {
2032
+ self.tunables.debug_adapter_modules = Some(debug);
2033
+ self
2034
+ }
2035
+
2036
+ /// Enables clif output when compiling a WebAssembly module.
2037
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
2038
+ pub fn emit_clif(&mut self, path: &Path) -> &mut Self {
2039
+ self.compiler_config.clif_dir = Some(path.to_path_buf());
2040
+ self
2041
+ }
2042
+
2043
+ /// Configures whether, when on macOS, Mach ports are used for exception
2044
+ /// handling instead of traditional Unix-based signal handling.
2045
+ ///
2046
+ /// WebAssembly traps in Wasmtime are implemented with native faults, for
2047
+ /// example a `SIGSEGV` will occur when a WebAssembly guest accesses
2048
+ /// out-of-bounds memory. Handling this can be configured to either use Unix
2049
+ /// signals or Mach ports on macOS. By default Mach ports are used.
2050
+ ///
2051
+ /// Mach ports enable Wasmtime to work by default with foreign
2052
+ /// error-handling systems such as breakpad which also use Mach ports to
2053
+ /// handle signals. In this situation Wasmtime will continue to handle guest
2054
+ /// faults gracefully while any non-guest faults will get forwarded to
2055
+ /// process-level handlers such as breakpad. Some more background on this
2056
+ /// can be found in #2456.
2057
+ ///
2058
+ /// A downside of using mach ports, however, is that they don't interact
2059
+ /// well with `fork()`. Forking a Wasmtime process on macOS will produce a
2060
+ /// child process that cannot successfully run WebAssembly. In this
2061
+ /// situation traditional Unix signal handling should be used as that's
2062
+ /// inherited and works across forks.
2063
+ ///
2064
+ /// If your embedding wants to use a custom error handler which leverages
2065
+ /// Mach ports and you additionally wish to `fork()` the process and use
2066
+ /// Wasmtime in the child process that's not currently possible. Please
2067
+ /// reach out to us if you're in this bucket!
2068
+ ///
2069
+ /// This option defaults to `true`, using Mach ports by default.
2070
+ pub fn macos_use_mach_ports(&mut self, mach_ports: bool) -> &mut Self {
2071
+ self.macos_use_mach_ports = mach_ports;
2072
+ self
2073
+ }
2074
+
2075
+ /// Configures an embedder-provided function, `detect`, which is used to
2076
+ /// determine if an ISA-specific feature is available on the current host.
2077
+ ///
2078
+ /// This function is used to verify that any features enabled for a compiler
2079
+ /// backend, such as AVX support on x86\_64, are also available on the host.
2080
+ /// It is undefined behavior to execute an AVX instruction on a host that
2081
+ /// doesn't support AVX instructions, for example.
2082
+ ///
2083
+ /// When the `std` feature is active on this crate then this function is
2084
+ /// configured to a default implementation that uses the standard library's
2085
+ /// feature detection. When the `std` feature is disabled then there is no
2086
+ /// default available and this method must be called to configure a feature
2087
+ /// probing function.
2088
+ ///
2089
+ /// The `detect` function provided is given a string name of an ISA feature.
2090
+ /// The function should then return:
2091
+ ///
2092
+ /// * `Some(true)` - indicates that the feature was found on the host and it
2093
+ /// is supported.
2094
+ /// * `Some(false)` - the feature name was recognized but it was not
2095
+ /// detected on the host, for example the CPU is too old.
2096
+ /// * `None` - the feature name was not recognized and it's not known
2097
+ /// whether it's on the host or not.
2098
+ ///
2099
+ /// Feature names passed to `detect` match the same feature name used in the
2100
+ /// Rust standard library. For example `"sse4.2"` is used on x86\_64.
2101
+ ///
2102
+ /// # Unsafety
2103
+ ///
2104
+ /// This function is `unsafe` because it is undefined behavior to execute
2105
+ /// instructions that a host does not support. This means that the result of
2106
+ /// `detect` must be correct for memory safe execution at runtime.
2107
+ pub unsafe fn detect_host_feature(&mut self, detect: fn(&str) -> Option<bool>) -> &mut Self {
2108
+ self.detect_host_feature = Some(detect);
2109
+ self
2110
+ }
2111
+ }
2112
+
2113
+ /// If building without the runtime feature we can't determine the page size of
2114
+ /// the platform where the execution will happen so just keep the original
2115
+ /// values.
2116
+ #[cfg(not(feature = "runtime"))]
2117
+ fn round_up_to_pages(val: u64) -> u64 {
2118
+ val
2119
+ }
2120
+
2121
+ #[cfg(feature = "runtime")]
2122
+ fn round_up_to_pages(val: u64) -> u64 {
2123
+ let page_size = crate::runtime::vm::page_size() as u64;
2124
+ debug_assert!(page_size.is_power_of_two());
2125
+ val.checked_add(page_size - 1)
2126
+ .map(|val| val & !(page_size - 1))
2127
+ .unwrap_or(u64::MAX / page_size + 1)
2128
+ }
2129
+
2130
+ impl Default for Config {
2131
+ fn default() -> Config {
2132
+ Config::new()
2133
+ }
2134
+ }
2135
+
2136
+ impl fmt::Debug for Config {
2137
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2138
+ let mut f = f.debug_struct("Config");
2139
+ f.field("debug_info", &self.tunables.generate_native_debuginfo)
2140
+ .field(
2141
+ "wasm_threads",
2142
+ &self.features.contains(WasmFeatures::THREADS),
2143
+ )
2144
+ .field(
2145
+ "wasm_reference_types",
2146
+ &self.features.contains(WasmFeatures::REFERENCE_TYPES),
2147
+ )
2148
+ .field(
2149
+ "wasm_function_references",
2150
+ &self.features.contains(WasmFeatures::FUNCTION_REFERENCES),
2151
+ )
2152
+ .field("wasm_gc", &self.features.contains(WasmFeatures::GC))
2153
+ .field(
2154
+ "wasm_bulk_memory",
2155
+ &self.features.contains(WasmFeatures::BULK_MEMORY),
2156
+ )
2157
+ .field("wasm_simd", &self.features.contains(WasmFeatures::SIMD))
2158
+ .field(
2159
+ "wasm_relaxed_simd",
2160
+ &self.features.contains(WasmFeatures::RELAXED_SIMD),
2161
+ )
2162
+ .field(
2163
+ "wasm_multi_value",
2164
+ &self.features.contains(WasmFeatures::MULTI_VALUE),
2165
+ )
2166
+ .field("parallel_compilation", &self.parallel_compilation);
2167
+ #[cfg(any(feature = "cranelift", feature = "winch"))]
2168
+ {
2169
+ f.field("compiler_config", &self.compiler_config);
2170
+ }
2171
+
2172
+ if let Some(enable) = self.tunables.parse_wasm_debuginfo {
2173
+ f.field("parse_wasm_debuginfo", &enable);
2174
+ }
2175
+ if let Some(size) = self.tunables.static_memory_reservation {
2176
+ f.field("static_memory_maximum_reservation", &size);
2177
+ }
2178
+ if let Some(size) = self.tunables.static_memory_offset_guard_size {
2179
+ f.field("static_memory_guard_size", &size);
2180
+ }
2181
+ if let Some(size) = self.tunables.dynamic_memory_offset_guard_size {
2182
+ f.field("dynamic_memory_guard_size", &size);
2183
+ }
2184
+ if let Some(enable) = self.tunables.guard_before_linear_memory {
2185
+ f.field("guard_before_linear_memory", &enable);
2186
+ }
2187
+ f.finish()
2188
+ }
2189
+ }
2190
+
2191
+ /// Possible Compilation strategies for a wasm module.
2192
+ ///
2193
+ /// This is used as an argument to the [`Config::strategy`] method.
2194
+ #[non_exhaustive]
2195
+ #[derive(PartialEq, Eq, Clone, Debug, Copy)]
2196
+ pub enum Strategy {
2197
+ /// An indicator that the compilation strategy should be automatically
2198
+ /// selected.
2199
+ ///
2200
+ /// This is generally what you want for most projects and indicates that the
2201
+ /// `wasmtime` crate itself should make the decision about what the best
2202
+ /// code generator for a wasm module is.
2203
+ ///
2204
+ /// Currently this always defaults to Cranelift, but the default value may
2205
+ /// change over time.
2206
+ Auto,
2207
+
2208
+ /// Currently the default backend, Cranelift aims to be a reasonably fast
2209
+ /// code generator which generates high quality machine code.
2210
+ Cranelift,
2211
+
2212
+ /// A baseline compiler for WebAssembly, currently under active development and not ready for
2213
+ /// production applications.
2214
+ Winch,
2215
+ }
2216
+
2217
+ impl Strategy {
2218
+ fn not_auto(&self) -> Option<Strategy> {
2219
+ match self {
2220
+ Strategy::Auto => {
2221
+ if cfg!(feature = "cranelift") {
2222
+ Some(Strategy::Cranelift)
2223
+ } else if cfg!(feature = "winch") {
2224
+ Some(Strategy::Winch)
2225
+ } else {
2226
+ None
2227
+ }
2228
+ }
2229
+ other => Some(*other),
2230
+ }
2231
+ }
2232
+ }
2233
+
2234
+ /// Possible optimization levels for the Cranelift codegen backend.
2235
+ #[non_exhaustive]
2236
+ #[derive(Copy, Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
2237
+ pub enum OptLevel {
2238
+ /// No optimizations performed, minimizes compilation time by disabling most
2239
+ /// optimizations.
2240
+ None,
2241
+ /// Generates the fastest possible code, but may take longer.
2242
+ Speed,
2243
+ /// Similar to `speed`, but also performs transformations aimed at reducing
2244
+ /// code size.
2245
+ SpeedAndSize,
2246
+ }
2247
+
2248
+ /// Select which profiling technique to support.
2249
+ #[derive(Debug, Clone, Copy, PartialEq)]
2250
+ pub enum ProfilingStrategy {
2251
+ /// No profiler support.
2252
+ None,
2253
+
2254
+ /// Collect function name information as the "perf map" file format, used with `perf` on Linux.
2255
+ PerfMap,
2256
+
2257
+ /// Collect profiling info for "jitdump" file format, used with `perf` on
2258
+ /// Linux.
2259
+ JitDump,
2260
+
2261
+ /// Collect profiling info using the "ittapi", used with `VTune` on Linux.
2262
+ VTune,
2263
+ }
2264
+
2265
+ /// Select how wasm backtrace detailed information is handled.
2266
+ #[derive(Debug, Clone, Copy)]
2267
+ pub enum WasmBacktraceDetails {
2268
+ /// Support is unconditionally enabled and wasmtime will parse and read
2269
+ /// debug information.
2270
+ Enable,
2271
+
2272
+ /// Support is disabled, and wasmtime will not parse debug information for
2273
+ /// backtrace details.
2274
+ Disable,
2275
+
2276
+ /// Support for backtrace details is conditional on the
2277
+ /// `WASMTIME_BACKTRACE_DETAILS` environment variable.
2278
+ Environment,
2279
+ }
2280
+
2281
+ /// Configuration options used with [`InstanceAllocationStrategy::Pooling`] to
2282
+ /// change the behavior of the pooling instance allocator.
2283
+ ///
2284
+ /// This structure has a builder-style API in the same manner as [`Config`] and
2285
+ /// is configured with [`Config::allocation_strategy`].
2286
+ ///
2287
+ /// Note that usage of the pooling allocator does not affect compiled
2288
+ /// WebAssembly code. Compiled `*.cwasm` files, for example, are usable both
2289
+ /// with and without the pooling allocator.
2290
+ ///
2291
+ /// ## Advantages of Pooled Allocation
2292
+ ///
2293
+ /// The main benefit of the pooling allocator is to make WebAssembly
2294
+ /// instantiation both faster and more scalable in terms of parallelism.
2295
+ /// Allocation is faster because virtual memory is already configured and ready
2296
+ /// to go within the pool, there's no need to [`mmap`] (for example on Unix) a
2297
+ /// new region and configure it with guard pages. By avoiding [`mmap`] this
2298
+ /// avoids whole-process virtual memory locks which can improve scalability and
2299
+ /// performance through avoiding this.
2300
+ ///
2301
+ /// Additionally with pooled allocation it's possible to create "affine slots"
2302
+ /// to a particular WebAssembly module or component over time. For example if
2303
+ /// the same module is multiple times over time the pooling allocator will, by
2304
+ /// default, attempt to reuse the same slot. This mean that the slot has been
2305
+ /// pre-configured and can retain virtual memory mappings for a copy-on-write
2306
+ /// image, for example (see [`Config::memory_init_cow`] for more information.
2307
+ /// This means that in a steady state instance deallocation is a single
2308
+ /// [`madvise`] to reset linear memory to its original contents followed by a
2309
+ /// single (optional) [`mprotect`] during the next instantiation to shrink
2310
+ /// memory back to its original size. Compared to non-pooled allocation this
2311
+ /// avoids the need to [`mmap`] a new region of memory, [`munmap`] it, and
2312
+ /// [`mprotect`] regions too.
2313
+ ///
2314
+ /// Another benefit of pooled allocation is that it's possible to configure
2315
+ /// things such that no virtual memory management is required at all in a steady
2316
+ /// state. For example a pooling allocator can be configured with
2317
+ /// [`Config::memory_init_cow`] disabledd, dynamic bounds checks enabled
2318
+ /// through
2319
+ /// [`Config::static_memory_maximum_size(0)`](Config::static_memory_maximum_size),
2320
+ /// and sufficient space through
2321
+ /// [`PoolingAllocationConfig::table_keep_resident`] /
2322
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`]. With all these
2323
+ /// options in place no virtual memory tricks are used at all and everything is
2324
+ /// manually managed by Wasmtime (for example resetting memory is a
2325
+ /// `memset(0)`). This is not as fast in a single-threaded scenario but can
2326
+ /// provide benefits in high-parallelism situations as no virtual memory locks
2327
+ /// or IPIs need happen.
2328
+ ///
2329
+ /// ## Disadvantages of Pooled Allocation
2330
+ ///
2331
+ /// Despite the above advantages to instantiation performance the pooling
2332
+ /// allocator is not enabled by default in Wasmtime. One reason is that the
2333
+ /// performance advantages are not necessarily portable, for example while the
2334
+ /// pooling allocator works on Windows it has not been tuned for performance on
2335
+ /// Windows in the same way it has on Linux.
2336
+ ///
2337
+ /// Additionally the main cost of the pooling allocator is that it requires a
2338
+ /// very large reservation of virtual memory (on the order of most of the
2339
+ /// addressable virtual address space). WebAssembly 32-bit linear memories in
2340
+ /// Wasmtime are, by default 4G address space reservations with a 2G guard
2341
+ /// region both before and after the linear memory. Memories in the pooling
2342
+ /// allocator are contiguous which means that we only need a guard after linear
2343
+ /// memory because the previous linear memory's slot post-guard is our own
2344
+ /// pre-guard. This means that, by default, the pooling allocator uses 6G of
2345
+ /// virtual memory per WebAssembly linear memory slot. 6G of virtual memory is
2346
+ /// 32.5 bits of a 64-bit address. Many 64-bit systems can only actually use
2347
+ /// 48-bit addresses by default (although this can be extended on architectures
2348
+ /// nowadays too), and of those 48 bits one of them is reserved to indicate
2349
+ /// kernel-vs-userspace. This leaves 47-32.5=14.5 bits left, meaning you can
2350
+ /// only have at most 64k slots of linear memories on many systems by default.
2351
+ /// This is a relatively small number and shows how the pooling allocator can
2352
+ /// quickly exhaust all of virtual memory.
2353
+ ///
2354
+ /// Another disadvantage of the pooling allocator is that it may keep memory
2355
+ /// alive when nothing is using it. A previously used slot for an instance might
2356
+ /// have paged-in memory that will not get paged out until the
2357
+ /// [`Engine`](crate::Engine) owning the pooling allocator is dropped. While
2358
+ /// suitable for some applications this behavior may not be suitable for all
2359
+ /// applications.
2360
+ ///
2361
+ /// Finally the last disadvantage of the pooling allocator is that the
2362
+ /// configuration values for the maximum number of instances, memories, tables,
2363
+ /// etc, must all be fixed up-front. There's not always a clear answer as to
2364
+ /// what these values should be so not all applications may be able to work
2365
+ /// with this constraint.
2366
+ ///
2367
+ /// [`madvise`]: https://man7.org/linux/man-pages/man2/madvise.2.html
2368
+ /// [`mprotect`]: https://man7.org/linux/man-pages/man2/mprotect.2.html
2369
+ /// [`mmap`]: https://man7.org/linux/man-pages/man2/mmap.2.html
2370
+ /// [`munmap`]: https://man7.org/linux/man-pages/man2/munmap.2.html
2371
+ #[cfg(feature = "pooling-allocator")]
2372
+ #[derive(Debug, Clone, Default)]
2373
+ pub struct PoolingAllocationConfig {
2374
+ config: crate::runtime::vm::PoolingInstanceAllocatorConfig,
2375
+ }
2376
+
2377
+ #[cfg(feature = "pooling-allocator")]
2378
+ impl PoolingAllocationConfig {
2379
+ /// Configures the maximum number of "unused warm slots" to retain in the
2380
+ /// pooling allocator.
2381
+ ///
2382
+ /// The pooling allocator operates over slots to allocate from, and each
2383
+ /// slot is considered "cold" if it's never been used before or "warm" if
2384
+ /// it's been used by some module in the past. Slots in the pooling
2385
+ /// allocator additionally track an "affinity" flag to a particular core
2386
+ /// wasm module. When a module is instantiated into a slot then the slot is
2387
+ /// considered affine to that module, even after the instance has been
2388
+ /// deallocated.
2389
+ ///
2390
+ /// When a new instance is created then a slot must be chosen, and the
2391
+ /// current algorithm for selecting a slot is:
2392
+ ///
2393
+ /// * If there are slots that are affine to the module being instantiated,
2394
+ /// then the most recently used slot is selected to be allocated from.
2395
+ /// This is done to improve reuse of resources such as memory mappings and
2396
+ /// additionally try to benefit from temporal locality for things like
2397
+ /// caches.
2398
+ ///
2399
+ /// * Otherwise if there are more than N affine slots to other modules, then
2400
+ /// one of those affine slots is chosen to be allocated. The slot chosen
2401
+ /// is picked on a least-recently-used basis.
2402
+ ///
2403
+ /// * Finally, if there are less than N affine slots to other modules, then
2404
+ /// the non-affine slots are allocated from.
2405
+ ///
2406
+ /// This setting, `max_unused_warm_slots`, is the value for N in the above
2407
+ /// algorithm. The purpose of this setting is to have a knob over the RSS
2408
+ /// impact of "unused slots" for a long-running wasm server.
2409
+ ///
2410
+ /// If this setting is set to 0, for example, then affine slots are
2411
+ /// aggressively reused on a least-recently-used basis. A "cold" slot is
2412
+ /// only used if there are no affine slots available to allocate from. This
2413
+ /// means that the set of slots used over the lifetime of a program is the
2414
+ /// same as the maximum concurrent number of wasm instances.
2415
+ ///
2416
+ /// If this setting is set to infinity, however, then cold slots are
2417
+ /// prioritized to be allocated from. This means that the set of slots used
2418
+ /// over the lifetime of a program will approach
2419
+ /// [`PoolingAllocationConfig::total_memories`], or the maximum number of
2420
+ /// slots in the pooling allocator.
2421
+ ///
2422
+ /// Wasmtime does not aggressively decommit all resources associated with a
2423
+ /// slot when the slot is not in use. For example the
2424
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`] option can be
2425
+ /// used to keep memory associated with a slot, even when it's not in use.
2426
+ /// This means that the total set of used slots in the pooling instance
2427
+ /// allocator can impact the overall RSS usage of a program.
2428
+ ///
2429
+ /// The default value for this option is `100`.
2430
+ pub fn max_unused_warm_slots(&mut self, max: u32) -> &mut Self {
2431
+ self.config.max_unused_warm_slots = max;
2432
+ self
2433
+ }
2434
+
2435
+ /// The target number of decommits to do per batch.
2436
+ ///
2437
+ /// This is not precise, as we can queue up decommits at times when we
2438
+ /// aren't prepared to immediately flush them, and so we may go over this
2439
+ /// target size occasionally.
2440
+ ///
2441
+ /// A batch size of one effectively disables batching.
2442
+ ///
2443
+ /// Defaults to `1`.
2444
+ pub fn decommit_batch_size(&mut self, batch_size: usize) -> &mut Self {
2445
+ self.config.decommit_batch_size = batch_size;
2446
+ self
2447
+ }
2448
+
2449
+ /// Configures whether or not stacks used for async futures are reset to
2450
+ /// zero after usage.
2451
+ ///
2452
+ /// When the [`async_support`](Config::async_support) method is enabled for
2453
+ /// Wasmtime and the [`call_async`] variant
2454
+ /// of calling WebAssembly is used then Wasmtime will create a separate
2455
+ /// runtime execution stack for each future produced by [`call_async`].
2456
+ /// During the deallocation process Wasmtime won't by default reset the
2457
+ /// contents of the stack back to zero.
2458
+ ///
2459
+ /// When this option is enabled it can be seen as a defense-in-depth
2460
+ /// mechanism to reset a stack back to zero. This is not required for
2461
+ /// correctness and can be a costly operation in highly concurrent
2462
+ /// environments due to modifications of the virtual address space requiring
2463
+ /// process-wide synchronization.
2464
+ ///
2465
+ /// This option defaults to `false`.
2466
+ ///
2467
+ /// [`call_async`]: crate::TypedFunc::call_async
2468
+ #[cfg(feature = "async")]
2469
+ pub fn async_stack_zeroing(&mut self, enable: bool) -> &mut Self {
2470
+ self.config.async_stack_zeroing = enable;
2471
+ self
2472
+ }
2473
+
2474
+ /// How much memory, in bytes, to keep resident for async stacks allocated
2475
+ /// with the pooling allocator.
2476
+ ///
2477
+ /// When [`PoolingAllocationConfig::async_stack_zeroing`] is enabled then
2478
+ /// Wasmtime will reset the contents of async stacks back to zero upon
2479
+ /// deallocation. This option can be used to perform the zeroing operation
2480
+ /// with `memset` up to a certain threshold of bytes instead of using system
2481
+ /// calls to reset the stack to zero.
2482
+ ///
2483
+ /// Note that when using this option the memory with async stacks will
2484
+ /// never be decommitted.
2485
+ #[cfg(feature = "async")]
2486
+ pub fn async_stack_keep_resident(&mut self, size: usize) -> &mut Self {
2487
+ let size = round_up_to_pages(size as u64) as usize;
2488
+ self.config.async_stack_keep_resident = size;
2489
+ self
2490
+ }
2491
+
2492
+ /// How much memory, in bytes, to keep resident for each linear memory
2493
+ /// after deallocation.
2494
+ ///
2495
+ /// This option is only applicable on Linux and has no effect on other
2496
+ /// platforms.
2497
+ ///
2498
+ /// By default Wasmtime will use `madvise` to reset the entire contents of
2499
+ /// linear memory back to zero when a linear memory is deallocated. This
2500
+ /// option can be used to use `memset` instead to set memory back to zero
2501
+ /// which can, in some configurations, reduce the number of page faults
2502
+ /// taken when a slot is reused.
2503
+ pub fn linear_memory_keep_resident(&mut self, size: usize) -> &mut Self {
2504
+ let size = round_up_to_pages(size as u64) as usize;
2505
+ self.config.linear_memory_keep_resident = size;
2506
+ self
2507
+ }
2508
+
2509
+ /// How much memory, in bytes, to keep resident for each table after
2510
+ /// deallocation.
2511
+ ///
2512
+ /// This option is only applicable on Linux and has no effect on other
2513
+ /// platforms.
2514
+ ///
2515
+ /// This option is the same as
2516
+ /// [`PoolingAllocationConfig::linear_memory_keep_resident`] except that it
2517
+ /// is applicable to tables instead.
2518
+ pub fn table_keep_resident(&mut self, size: usize) -> &mut Self {
2519
+ let size = round_up_to_pages(size as u64) as usize;
2520
+ self.config.table_keep_resident = size;
2521
+ self
2522
+ }
2523
+
2524
+ /// The maximum number of concurrent component instances supported (default
2525
+ /// is `1000`).
2526
+ ///
2527
+ /// This provides an upper-bound on the total size of component
2528
+ /// metadata-related allocations, along with
2529
+ /// [`PoolingAllocationConfig::max_component_instance_size`]. The upper bound is
2530
+ ///
2531
+ /// ```text
2532
+ /// total_component_instances * max_component_instance_size
2533
+ /// ```
2534
+ ///
2535
+ /// where `max_component_instance_size` is rounded up to the size and alignment
2536
+ /// of the internal representation of the metadata.
2537
+ pub fn total_component_instances(&mut self, count: u32) -> &mut Self {
2538
+ self.config.limits.total_component_instances = count;
2539
+ self
2540
+ }
2541
+
2542
+ /// The maximum size, in bytes, allocated for a component instance's
2543
+ /// `VMComponentContext` metadata.
2544
+ ///
2545
+ /// The [`wasmtime::component::Instance`][crate::component::Instance] type
2546
+ /// has a static size but its internal `VMComponentContext` is dynamically
2547
+ /// sized depending on the component being instantiated. This size limit
2548
+ /// loosely correlates to the size of the component, taking into account
2549
+ /// factors such as:
2550
+ ///
2551
+ /// * number of lifted and lowered functions,
2552
+ /// * number of memories
2553
+ /// * number of inner instances
2554
+ /// * number of resources
2555
+ ///
2556
+ /// If the allocated size per instance is too small then instantiation of a
2557
+ /// module will fail at runtime with an error indicating how many bytes were
2558
+ /// needed.
2559
+ ///
2560
+ /// The default value for this is 1MiB.
2561
+ ///
2562
+ /// This provides an upper-bound on the total size of component
2563
+ /// metadata-related allocations, along with
2564
+ /// [`PoolingAllocationConfig::total_component_instances`]. The upper bound is
2565
+ ///
2566
+ /// ```text
2567
+ /// total_component_instances * max_component_instance_size
2568
+ /// ```
2569
+ ///
2570
+ /// where `max_component_instance_size` is rounded up to the size and alignment
2571
+ /// of the internal representation of the metadata.
2572
+ pub fn max_component_instance_size(&mut self, size: usize) -> &mut Self {
2573
+ self.config.limits.component_instance_size = size;
2574
+ self
2575
+ }
2576
+
2577
+ /// The maximum number of core instances a single component may contain
2578
+ /// (default is `20`).
2579
+ ///
2580
+ /// This method (along with
2581
+ /// [`PoolingAllocationConfig::max_memories_per_component`],
2582
+ /// [`PoolingAllocationConfig::max_tables_per_component`], and
2583
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2584
+ /// the amount of resources a single component allocation consumes.
2585
+ ///
2586
+ /// If a component will instantiate more core instances than `count`, then
2587
+ /// the component will fail to instantiate.
2588
+ pub fn max_core_instances_per_component(&mut self, count: u32) -> &mut Self {
2589
+ self.config.limits.max_core_instances_per_component = count;
2590
+ self
2591
+ }
2592
+
2593
+ /// The maximum number of Wasm linear memories that a single component may
2594
+ /// transitively contain (default is `20`).
2595
+ ///
2596
+ /// This method (along with
2597
+ /// [`PoolingAllocationConfig::max_core_instances_per_component`],
2598
+ /// [`PoolingAllocationConfig::max_tables_per_component`], and
2599
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2600
+ /// the amount of resources a single component allocation consumes.
2601
+ ///
2602
+ /// If a component transitively contains more linear memories than `count`,
2603
+ /// then the component will fail to instantiate.
2604
+ pub fn max_memories_per_component(&mut self, count: u32) -> &mut Self {
2605
+ self.config.limits.max_memories_per_component = count;
2606
+ self
2607
+ }
2608
+
2609
+ /// The maximum number of tables that a single component may transitively
2610
+ /// contain (default is `20`).
2611
+ ///
2612
+ /// This method (along with
2613
+ /// [`PoolingAllocationConfig::max_core_instances_per_component`],
2614
+ /// [`PoolingAllocationConfig::max_memories_per_component`],
2615
+ /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
2616
+ /// the amount of resources a single component allocation consumes.
2617
+ ///
2618
+ /// If a component will transitively contains more tables than `count`, then
2619
+ /// the component will fail to instantiate.
2620
+ pub fn max_tables_per_component(&mut self, count: u32) -> &mut Self {
2621
+ self.config.limits.max_tables_per_component = count;
2622
+ self
2623
+ }
2624
+
2625
+ /// The maximum number of concurrent Wasm linear memories supported (default
2626
+ /// is `1000`).
2627
+ ///
2628
+ /// This value has a direct impact on the amount of memory allocated by the pooling
2629
+ /// instance allocator.
2630
+ ///
2631
+ /// The pooling instance allocator allocates a memory pool, where each entry
2632
+ /// in the pool contains the reserved address space for each linear memory
2633
+ /// supported by an instance.
2634
+ ///
2635
+ /// The memory pool will reserve a large quantity of host process address
2636
+ /// space to elide the bounds checks required for correct WebAssembly memory
2637
+ /// semantics. Even with 64-bit address spaces, the address space is limited
2638
+ /// when dealing with a large number of linear memories.
2639
+ ///
2640
+ /// For example, on Linux x86_64, the userland address space limit is 128
2641
+ /// TiB. That might seem like a lot, but each linear memory will *reserve* 6
2642
+ /// GiB of space by default.
2643
+ pub fn total_memories(&mut self, count: u32) -> &mut Self {
2644
+ self.config.limits.total_memories = count;
2645
+ self
2646
+ }
2647
+
2648
+ /// The maximum number of concurrent tables supported (default is `1000`).
2649
+ ///
2650
+ /// This value has a direct impact on the amount of memory allocated by the
2651
+ /// pooling instance allocator.
2652
+ ///
2653
+ /// The pooling instance allocator allocates a table pool, where each entry
2654
+ /// in the pool contains the space needed for each WebAssembly table
2655
+ /// supported by an instance (see `table_elements` to control the size of
2656
+ /// each table).
2657
+ pub fn total_tables(&mut self, count: u32) -> &mut Self {
2658
+ self.config.limits.total_tables = count;
2659
+ self
2660
+ }
2661
+
2662
+ /// The maximum number of execution stacks allowed for asynchronous
2663
+ /// execution, when enabled (default is `1000`).
2664
+ ///
2665
+ /// This value has a direct impact on the amount of memory allocated by the
2666
+ /// pooling instance allocator.
2667
+ #[cfg(feature = "async")]
2668
+ pub fn total_stacks(&mut self, count: u32) -> &mut Self {
2669
+ self.config.limits.total_stacks = count;
2670
+ self
2671
+ }
2672
+
2673
+ /// The maximum number of concurrent core instances supported (default is
2674
+ /// `1000`).
2675
+ ///
2676
+ /// This provides an upper-bound on the total size of core instance
2677
+ /// metadata-related allocations, along with
2678
+ /// [`PoolingAllocationConfig::max_core_instance_size`]. The upper bound is
2679
+ ///
2680
+ /// ```text
2681
+ /// total_core_instances * max_core_instance_size
2682
+ /// ```
2683
+ ///
2684
+ /// where `max_core_instance_size` is rounded up to the size and alignment of
2685
+ /// the internal representation of the metadata.
2686
+ pub fn total_core_instances(&mut self, count: u32) -> &mut Self {
2687
+ self.config.limits.total_core_instances = count;
2688
+ self
2689
+ }
2690
+
2691
+ /// The maximum size, in bytes, allocated for a core instance's `VMContext`
2692
+ /// metadata.
2693
+ ///
2694
+ /// The [`Instance`][crate::Instance] type has a static size but its
2695
+ /// `VMContext` metadata is dynamically sized depending on the module being
2696
+ /// instantiated. This size limit loosely correlates to the size of the Wasm
2697
+ /// module, taking into account factors such as:
2698
+ ///
2699
+ /// * number of functions
2700
+ /// * number of globals
2701
+ /// * number of memories
2702
+ /// * number of tables
2703
+ /// * number of function types
2704
+ ///
2705
+ /// If the allocated size per instance is too small then instantiation of a
2706
+ /// module will fail at runtime with an error indicating how many bytes were
2707
+ /// needed.
2708
+ ///
2709
+ /// The default value for this is 1MiB.
2710
+ ///
2711
+ /// This provides an upper-bound on the total size of core instance
2712
+ /// metadata-related allocations, along with
2713
+ /// [`PoolingAllocationConfig::total_core_instances`]. The upper bound is
2714
+ ///
2715
+ /// ```text
2716
+ /// total_core_instances * max_core_instance_size
2717
+ /// ```
2718
+ ///
2719
+ /// where `max_core_instance_size` is rounded up to the size and alignment of
2720
+ /// the internal representation of the metadata.
2721
+ pub fn max_core_instance_size(&mut self, size: usize) -> &mut Self {
2722
+ self.config.limits.core_instance_size = size;
2723
+ self
2724
+ }
2725
+
2726
+ /// The maximum number of defined tables for a core module (default is `1`).
2727
+ ///
2728
+ /// This value controls the capacity of the `VMTableDefinition` table in
2729
+ /// each instance's `VMContext` structure.
2730
+ ///
2731
+ /// The allocated size of the table will be `tables *
2732
+ /// sizeof(VMTableDefinition)` for each instance regardless of how many
2733
+ /// tables are defined by an instance's module.
2734
+ pub fn max_tables_per_module(&mut self, tables: u32) -> &mut Self {
2735
+ self.config.limits.max_tables_per_module = tables;
2736
+ self
2737
+ }
2738
+
2739
+ /// The maximum table elements for any table defined in a module (default is
2740
+ /// `20000`).
2741
+ ///
2742
+ /// If a table's minimum element limit is greater than this value, the
2743
+ /// module will fail to instantiate.
2744
+ ///
2745
+ /// If a table's maximum element limit is unbounded or greater than this
2746
+ /// value, the maximum will be `table_elements` for the purpose of any
2747
+ /// `table.grow` instruction.
2748
+ ///
2749
+ /// This value is used to reserve the maximum space for each supported
2750
+ /// table; table elements are pointer-sized in the Wasmtime runtime.
2751
+ /// Therefore, the space reserved for each instance is `tables *
2752
+ /// table_elements * sizeof::<*const ()>`.
2753
+ pub fn table_elements(&mut self, elements: u32) -> &mut Self {
2754
+ self.config.limits.table_elements = elements;
2755
+ self
2756
+ }
2757
+
2758
+ /// The maximum number of defined linear memories for a module (default is
2759
+ /// `1`).
2760
+ ///
2761
+ /// This value controls the capacity of the `VMMemoryDefinition` table in
2762
+ /// each core instance's `VMContext` structure.
2763
+ ///
2764
+ /// The allocated size of the table will be `memories *
2765
+ /// sizeof(VMMemoryDefinition)` for each core instance regardless of how
2766
+ /// many memories are defined by the core instance's module.
2767
+ pub fn max_memories_per_module(&mut self, memories: u32) -> &mut Self {
2768
+ self.config.limits.max_memories_per_module = memories;
2769
+ self
2770
+ }
2771
+
2772
+ /// The maximum byte size that any WebAssembly linear memory may grow to.
2773
+ ///
2774
+ /// This option defaults to 10 MiB.
2775
+ ///
2776
+ /// If a memory's minimum size is greater than this value, the module will
2777
+ /// fail to instantiate.
2778
+ ///
2779
+ /// If a memory's maximum size is unbounded or greater than this value, the
2780
+ /// maximum will be `max_memory_size` for the purpose of any `memory.grow`
2781
+ /// instruction.
2782
+ ///
2783
+ /// This value is used to control the maximum accessible space for each
2784
+ /// linear memory of a core instance.
2785
+ ///
2786
+ /// The reservation size of each linear memory is controlled by the
2787
+ /// `static_memory_maximum_size` setting and this value cannot exceed the
2788
+ /// configured static memory maximum size.
2789
+ pub fn max_memory_size(&mut self, bytes: usize) -> &mut Self {
2790
+ self.config.limits.max_memory_size = bytes;
2791
+ self
2792
+ }
2793
+
2794
+ /// Configures whether memory protection keys (MPK) should be used for more
2795
+ /// efficient layout of pool-allocated memories.
2796
+ ///
2797
+ /// When using the pooling allocator (see [`Config::allocation_strategy`],
2798
+ /// [`InstanceAllocationStrategy::Pooling`]), memory protection keys can
2799
+ /// reduce the total amount of allocated virtual memory by eliminating guard
2800
+ /// regions between WebAssembly memories in the pool. It does so by
2801
+ /// "coloring" memory regions with different memory keys and setting which
2802
+ /// regions are accessible each time executions switches from host to guest
2803
+ /// (or vice versa).
2804
+ ///
2805
+ /// MPK is only available on Linux (called `pku` there) and recent x86
2806
+ /// systems; we check for MPK support at runtime by examining the `CPUID`
2807
+ /// register. This configuration setting can be in three states:
2808
+ ///
2809
+ /// - `auto`: if MPK support is available the guard regions are removed; if
2810
+ /// not, the guard regions remain
2811
+ /// - `enable`: use MPK to eliminate guard regions; fail if MPK is not
2812
+ /// supported
2813
+ /// - `disable`: never use MPK
2814
+ ///
2815
+ /// By default this value is `disabled`, but may become `auto` in future
2816
+ /// releases.
2817
+ ///
2818
+ /// __WARNING__: this configuration options is still experimental--use at
2819
+ /// your own risk! MPK uses kernel and CPU features to protect memory
2820
+ /// regions; you may observe segmentation faults if anything is
2821
+ /// misconfigured.
2822
+ pub fn memory_protection_keys(&mut self, enable: MpkEnabled) -> &mut Self {
2823
+ self.config.memory_protection_keys = enable;
2824
+ self
2825
+ }
2826
+
2827
+ /// Sets an upper limit on how many memory protection keys (MPK) Wasmtime
2828
+ /// will use.
2829
+ ///
2830
+ /// This setting is only applicable when
2831
+ /// [`PoolingAllocationConfig::memory_protection_keys`] is set to `enable`
2832
+ /// or `auto`. Configuring this above the HW and OS limits (typically 15)
2833
+ /// has no effect.
2834
+ ///
2835
+ /// If multiple Wasmtime engines are used in the same process, note that all
2836
+ /// engines will share the same set of allocated keys; this setting will
2837
+ /// limit how many keys are allocated initially and thus available to all
2838
+ /// other engines.
2839
+ pub fn max_memory_protection_keys(&mut self, max: usize) -> &mut Self {
2840
+ self.config.max_memory_protection_keys = max;
2841
+ self
2842
+ }
2843
+
2844
+ /// Check if memory protection keys (MPK) are available on the current host.
2845
+ ///
2846
+ /// This is a convenience method for determining MPK availability using the
2847
+ /// same method that [`MpkEnabled::Auto`] does. See
2848
+ /// [`PoolingAllocationConfig::memory_protection_keys`] for more
2849
+ /// information.
2850
+ pub fn are_memory_protection_keys_available() -> bool {
2851
+ mpk::is_supported()
2852
+ }
2853
+
2854
+ /// The maximum number of concurrent GC heaps supported (default is `1000`).
2855
+ ///
2856
+ /// This value has a direct impact on the amount of memory allocated by the
2857
+ /// pooling instance allocator.
2858
+ ///
2859
+ /// The pooling instance allocator allocates a GC heap pool, where each
2860
+ /// entry in the pool contains the space needed for each GC heap used by a
2861
+ /// store.
2862
+ #[cfg(feature = "gc")]
2863
+ pub fn total_gc_heaps(&mut self, count: u32) -> &mut Self {
2864
+ self.config.limits.total_gc_heaps = count;
2865
+ self
2866
+ }
2867
+ }
2868
+
2869
+ pub(crate) fn probestack_supported(arch: Architecture) -> bool {
2870
+ matches!(
2871
+ arch,
2872
+ Architecture::X86_64 | Architecture::Aarch64(_) | Architecture::Riscv64(_)
2873
+ )
2874
+ }
2875
+
2876
+ #[cfg(feature = "std")]
2877
+ fn detect_host_feature(feature: &str) -> Option<bool> {
2878
+ #[cfg(target_arch = "aarch64")]
2879
+ {
2880
+ return match feature {
2881
+ "lse" => Some(std::arch::is_aarch64_feature_detected!("lse")),
2882
+ "paca" => Some(std::arch::is_aarch64_feature_detected!("paca")),
2883
+
2884
+ _ => None,
2885
+ };
2886
+ }
2887
+
2888
+ // There is no is_s390x_feature_detected macro yet, so for now
2889
+ // we use getauxval from the libc crate directly.
2890
+ #[cfg(all(target_arch = "s390x", target_os = "linux"))]
2891
+ {
2892
+ let v = unsafe { libc::getauxval(libc::AT_HWCAP) };
2893
+ const HWCAP_S390X_VXRS_EXT2: libc::c_ulong = 32768;
2894
+
2895
+ return match feature {
2896
+ // There is no separate HWCAP bit for mie2, so assume
2897
+ // that any machine with vxrs_ext2 also has mie2.
2898
+ "vxrs_ext2" | "mie2" => Some((v & HWCAP_S390X_VXRS_EXT2) != 0),
2899
+
2900
+ _ => None,
2901
+ };
2902
+ }
2903
+
2904
+ #[cfg(target_arch = "riscv64")]
2905
+ {
2906
+ return match feature {
2907
+ // due to `is_riscv64_feature_detected` is not stable.
2908
+ // we cannot use it. For now lie and say all features are always
2909
+ // found to keep tests working.
2910
+ _ => Some(true),
2911
+ };
2912
+ }
2913
+
2914
+ #[cfg(target_arch = "x86_64")]
2915
+ {
2916
+ return match feature {
2917
+ "sse3" => Some(std::is_x86_feature_detected!("sse3")),
2918
+ "ssse3" => Some(std::is_x86_feature_detected!("ssse3")),
2919
+ "sse4.1" => Some(std::is_x86_feature_detected!("sse4.1")),
2920
+ "sse4.2" => Some(std::is_x86_feature_detected!("sse4.2")),
2921
+ "popcnt" => Some(std::is_x86_feature_detected!("popcnt")),
2922
+ "avx" => Some(std::is_x86_feature_detected!("avx")),
2923
+ "avx2" => Some(std::is_x86_feature_detected!("avx2")),
2924
+ "fma" => Some(std::is_x86_feature_detected!("fma")),
2925
+ "bmi1" => Some(std::is_x86_feature_detected!("bmi1")),
2926
+ "bmi2" => Some(std::is_x86_feature_detected!("bmi2")),
2927
+ "avx512bitalg" => Some(std::is_x86_feature_detected!("avx512bitalg")),
2928
+ "avx512dq" => Some(std::is_x86_feature_detected!("avx512dq")),
2929
+ "avx512f" => Some(std::is_x86_feature_detected!("avx512f")),
2930
+ "avx512vl" => Some(std::is_x86_feature_detected!("avx512vl")),
2931
+ "avx512vbmi" => Some(std::is_x86_feature_detected!("avx512vbmi")),
2932
+ "lzcnt" => Some(std::is_x86_feature_detected!("lzcnt")),
2933
+
2934
+ _ => None,
2935
+ };
2936
+ }
2937
+
2938
+ #[allow(unreachable_code)]
2939
+ {
2940
+ let _ = feature;
2941
+ return None;
2942
+ }
2943
+ }