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
@@ -1,2888 +0,0 @@
1
- use crate::{gc, BuiltinFunctionSignatures};
2
- use cranelift_codegen::cursor::FuncCursor;
3
- use cranelift_codegen::ir;
4
- use cranelift_codegen::ir::condcodes::*;
5
- use cranelift_codegen::ir::immediates::{Imm64, Offset32};
6
- use cranelift_codegen::ir::pcc::Fact;
7
- use cranelift_codegen::ir::types::*;
8
- use cranelift_codegen::ir::{ArgumentPurpose, Function, InstBuilder, MemFlags};
9
- use cranelift_codegen::isa::{TargetFrontendConfig, TargetIsa};
10
- use cranelift_entity::{EntityRef, PrimaryMap, SecondaryMap};
11
- use cranelift_frontend::FunctionBuilder;
12
- use cranelift_frontend::Variable;
13
- use cranelift_wasm::{
14
- CallIndirectSiteIndex, EngineOrModuleTypeIndex, FuncIndex, FuncTranslationState, GlobalIndex,
15
- GlobalVariable, Heap, HeapData, HeapStyle, MemoryIndex, TableData, TableIndex, TableSize,
16
- TargetEnvironment, TypeIndex, WasmHeapTopType, WasmHeapType, WasmResult,
17
- };
18
- use std::mem;
19
- use wasmparser::Operator;
20
- use wasmtime_environ::{
21
- BuiltinFunctionIndex, MemoryPlan, MemoryStyle, Module, ModuleTranslation, ModuleTypesBuilder,
22
- PtrSize, TableStyle, Tunables, TypeConvert, VMOffsets, WASM_PAGE_SIZE,
23
- };
24
- use wasmtime_environ::{FUNCREF_INIT_BIT, FUNCREF_MASK};
25
-
26
- /// A struct with an `Option<ir::FuncRef>` member for every builtin
27
- /// function, to de-duplicate constructing/getting its function.
28
- pub(crate) struct BuiltinFunctions {
29
- types: BuiltinFunctionSignatures,
30
-
31
- builtins:
32
- [Option<ir::FuncRef>; BuiltinFunctionIndex::builtin_functions_total_number() as usize],
33
- }
34
-
35
- impl BuiltinFunctions {
36
- fn new(isa: &dyn TargetIsa) -> Self {
37
- Self {
38
- types: BuiltinFunctionSignatures::new(isa),
39
- builtins: [None; BuiltinFunctionIndex::builtin_functions_total_number() as usize],
40
- }
41
- }
42
-
43
- fn load_builtin(&mut self, func: &mut Function, index: BuiltinFunctionIndex) -> ir::FuncRef {
44
- let cache = &mut self.builtins[index.index() as usize];
45
- if let Some(f) = cache {
46
- return *f;
47
- }
48
- let signature = func.import_signature(self.types.signature(index));
49
- let name =
50
- ir::ExternalName::User(func.declare_imported_user_function(ir::UserExternalName {
51
- namespace: crate::NS_WASMTIME_BUILTIN,
52
- index: index.index(),
53
- }));
54
- let f = func.import_function(ir::ExtFuncData {
55
- name,
56
- signature,
57
- colocated: true,
58
- });
59
- *cache = Some(f);
60
- f
61
- }
62
- }
63
-
64
- // Generate helper methods on `BuiltinFunctions` above for each named builtin
65
- // as well.
66
- macro_rules! declare_function_signatures {
67
- ($(
68
- $( #[$attr:meta] )*
69
- $name:ident( $( $pname:ident: $param:ident ),* ) $( -> $result:ident )?;
70
- )*) => {
71
- $(impl BuiltinFunctions {
72
- $( #[$attr] )*
73
- pub(crate) fn $name(&mut self, func: &mut Function) -> ir::FuncRef {
74
- self.load_builtin(func, BuiltinFunctionIndex::$name())
75
- }
76
- })*
77
- };
78
- }
79
- wasmtime_environ::foreach_builtin_function!(declare_function_signatures);
80
-
81
- /// The `FuncEnvironment` implementation for use by the `ModuleEnvironment`.
82
- pub struct FuncEnvironment<'module_environment> {
83
- isa: &'module_environment (dyn TargetIsa + 'module_environment),
84
- module: &'module_environment Module,
85
- types: &'module_environment ModuleTypesBuilder,
86
-
87
- #[cfg(feature = "wmemcheck")]
88
- translation: &'module_environment ModuleTranslation<'module_environment>,
89
-
90
- /// Heaps implementing WebAssembly linear memories.
91
- heaps: PrimaryMap<Heap, HeapData>,
92
-
93
- /// Cranelift tables we have created to implement Wasm tables.
94
- tables: SecondaryMap<TableIndex, Option<TableData>>,
95
-
96
- /// The Cranelift global holding the vmctx address.
97
- vmctx: Option<ir::GlobalValue>,
98
-
99
- /// The PCC memory type describing the vmctx layout, if we're
100
- /// using PCC.
101
- pcc_vmctx_memtype: Option<ir::MemoryType>,
102
-
103
- /// Caches of signatures for builtin functions.
104
- pub(crate) builtin_functions: BuiltinFunctions,
105
-
106
- /// Offsets to struct fields accessed by JIT code.
107
- pub(crate) offsets: VMOffsets<u8>,
108
-
109
- tunables: &'module_environment Tunables,
110
-
111
- /// A function-local variable which stores the cached value of the amount of
112
- /// fuel remaining to execute. If used this is modified frequently so it's
113
- /// stored locally as a variable instead of always referenced from the field
114
- /// in `*const VMRuntimeLimits`
115
- fuel_var: cranelift_frontend::Variable,
116
-
117
- /// A function-local variable which caches the value of `*const
118
- /// VMRuntimeLimits` for this function's vmctx argument. This pointer is stored
119
- /// in the vmctx itself, but never changes for the lifetime of the function,
120
- /// so if we load it up front we can continue to use it throughout.
121
- vmruntime_limits_ptr: cranelift_frontend::Variable,
122
-
123
- /// A cached epoch deadline value, when performing epoch-based
124
- /// interruption. Loaded from `VMRuntimeLimits` and reloaded after
125
- /// any yield.
126
- epoch_deadline_var: cranelift_frontend::Variable,
127
-
128
- /// A cached pointer to the per-Engine epoch counter, when
129
- /// performing epoch-based interruption. Initialized in the
130
- /// function prologue. We prefer to use a variable here rather
131
- /// than reload on each check because it's better to let the
132
- /// regalloc keep it in a register if able; if not, it can always
133
- /// spill, and this isn't any worse than reloading each time.
134
- epoch_ptr_var: cranelift_frontend::Variable,
135
-
136
- fuel_consumed: i64,
137
-
138
- #[cfg(feature = "wmemcheck")]
139
- wmemcheck: bool,
140
-
141
- /// The current call-indirect-cache index.
142
- pub call_indirect_index: usize,
143
- }
144
-
145
- impl<'module_environment> FuncEnvironment<'module_environment> {
146
- pub fn new(
147
- isa: &'module_environment (dyn TargetIsa + 'module_environment),
148
- translation: &'module_environment ModuleTranslation<'module_environment>,
149
- types: &'module_environment ModuleTypesBuilder,
150
- tunables: &'module_environment Tunables,
151
- wmemcheck: bool,
152
- call_indirect_start: usize,
153
- ) -> Self {
154
- let builtin_functions = BuiltinFunctions::new(isa);
155
-
156
- // Avoid unused warning in default build.
157
- #[cfg(not(feature = "wmemcheck"))]
158
- let _ = wmemcheck;
159
-
160
- Self {
161
- isa,
162
- module: &translation.module,
163
- types,
164
- heaps: PrimaryMap::default(),
165
- tables: SecondaryMap::default(),
166
- vmctx: None,
167
- pcc_vmctx_memtype: None,
168
- builtin_functions,
169
- offsets: VMOffsets::new(isa.pointer_bytes(), &translation.module),
170
- tunables,
171
- fuel_var: Variable::new(0),
172
- epoch_deadline_var: Variable::new(0),
173
- epoch_ptr_var: Variable::new(0),
174
- vmruntime_limits_ptr: Variable::new(0),
175
-
176
- // Start with at least one fuel being consumed because even empty
177
- // functions should consume at least some fuel.
178
- fuel_consumed: 1,
179
-
180
- call_indirect_index: call_indirect_start,
181
-
182
- #[cfg(feature = "wmemcheck")]
183
- wmemcheck,
184
- #[cfg(feature = "wmemcheck")]
185
- translation,
186
- }
187
- }
188
-
189
- pub(crate) fn pointer_type(&self) -> ir::Type {
190
- self.isa.pointer_type()
191
- }
192
-
193
- pub(crate) fn vmctx(&mut self, func: &mut Function) -> ir::GlobalValue {
194
- self.vmctx.unwrap_or_else(|| {
195
- let vmctx = func.create_global_value(ir::GlobalValueData::VMContext);
196
- if self.isa.flags().enable_pcc() {
197
- // Create a placeholder memtype for the vmctx; we'll
198
- // add fields to it as we lazily create HeapData
199
- // structs and global values.
200
- let vmctx_memtype = func.create_memory_type(ir::MemoryTypeData::Struct {
201
- size: 0,
202
- fields: vec![],
203
- });
204
-
205
- self.pcc_vmctx_memtype = Some(vmctx_memtype);
206
- func.global_value_facts[vmctx] = Some(Fact::Mem {
207
- ty: vmctx_memtype,
208
- min_offset: 0,
209
- max_offset: 0,
210
- nullable: false,
211
- });
212
- }
213
-
214
- self.vmctx = Some(vmctx);
215
- vmctx
216
- })
217
- }
218
-
219
- pub(crate) fn vmctx_val(&mut self, pos: &mut FuncCursor<'_>) -> ir::Value {
220
- let pointer_type = self.pointer_type();
221
- let vmctx = self.vmctx(&mut pos.func);
222
- pos.ins().global_value(pointer_type, vmctx)
223
- }
224
-
225
- fn get_table_copy_func(
226
- &mut self,
227
- func: &mut Function,
228
- dst_table_index: TableIndex,
229
- src_table_index: TableIndex,
230
- ) -> (ir::FuncRef, usize, usize) {
231
- let sig = self.builtin_functions.table_copy(func);
232
- (
233
- sig,
234
- dst_table_index.as_u32() as usize,
235
- src_table_index.as_u32() as usize,
236
- )
237
- }
238
-
239
- #[cfg(feature = "threads")]
240
- fn get_memory_atomic_wait(
241
- &mut self,
242
- func: &mut Function,
243
- memory_index: MemoryIndex,
244
- ty: ir::Type,
245
- ) -> (ir::FuncRef, usize) {
246
- match ty {
247
- I32 => (
248
- self.builtin_functions.memory_atomic_wait32(func),
249
- memory_index.index(),
250
- ),
251
- I64 => (
252
- self.builtin_functions.memory_atomic_wait64(func),
253
- memory_index.index(),
254
- ),
255
- x => panic!("get_memory_atomic_wait unsupported type: {:?}", x),
256
- }
257
- }
258
-
259
- fn get_global_location(
260
- &mut self,
261
- func: &mut ir::Function,
262
- index: GlobalIndex,
263
- ) -> (ir::GlobalValue, i32) {
264
- let pointer_type = self.pointer_type();
265
- let vmctx = self.vmctx(func);
266
- if let Some(def_index) = self.module.defined_global_index(index) {
267
- let offset = i32::try_from(self.offsets.vmctx_vmglobal_definition(def_index)).unwrap();
268
- (vmctx, offset)
269
- } else {
270
- let from_offset = self.offsets.vmctx_vmglobal_import_from(index);
271
- let global = func.create_global_value(ir::GlobalValueData::Load {
272
- base: vmctx,
273
- offset: Offset32::new(i32::try_from(from_offset).unwrap()),
274
- global_type: pointer_type,
275
- flags: MemFlags::trusted().with_readonly(),
276
- });
277
- (global, 0)
278
- }
279
- }
280
-
281
- fn declare_vmruntime_limits_ptr(&mut self, builder: &mut FunctionBuilder<'_>) {
282
- // We load the `*const VMRuntimeLimits` value stored within vmctx at the
283
- // head of the function and reuse the same value across the entire
284
- // function. This is possible since we know that the pointer never
285
- // changes for the lifetime of the function.
286
- let pointer_type = self.pointer_type();
287
- builder.declare_var(self.vmruntime_limits_ptr, pointer_type);
288
- let vmctx = self.vmctx(builder.func);
289
- let base = builder.ins().global_value(pointer_type, vmctx);
290
- let offset = i32::try_from(self.offsets.vmctx_runtime_limits()).unwrap();
291
- let interrupt_ptr = builder
292
- .ins()
293
- .load(pointer_type, ir::MemFlags::trusted(), base, offset);
294
- builder.def_var(self.vmruntime_limits_ptr, interrupt_ptr);
295
- }
296
-
297
- fn fuel_function_entry(&mut self, builder: &mut FunctionBuilder<'_>) {
298
- // On function entry we load the amount of fuel into a function-local
299
- // `self.fuel_var` to make fuel modifications fast locally. This cache
300
- // is then periodically flushed to the Store-defined location in
301
- // `VMRuntimeLimits` later.
302
- builder.declare_var(self.fuel_var, ir::types::I64);
303
- self.fuel_load_into_var(builder);
304
- self.fuel_check(builder);
305
- }
306
-
307
- fn fuel_function_exit(&mut self, builder: &mut FunctionBuilder<'_>) {
308
- // On exiting the function we need to be sure to save the fuel we have
309
- // cached locally in `self.fuel_var` back into the Store-defined
310
- // location.
311
- self.fuel_save_from_var(builder);
312
- }
313
-
314
- fn fuel_before_op(
315
- &mut self,
316
- op: &Operator<'_>,
317
- builder: &mut FunctionBuilder<'_>,
318
- reachable: bool,
319
- ) {
320
- if !reachable {
321
- // In unreachable code we shouldn't have any leftover fuel we
322
- // haven't accounted for since the reason for us to become
323
- // unreachable should have already added it to `self.fuel_var`.
324
- debug_assert_eq!(self.fuel_consumed, 0);
325
- return;
326
- }
327
-
328
- self.fuel_consumed += match op {
329
- // Nop and drop generate no code, so don't consume fuel for them.
330
- Operator::Nop | Operator::Drop => 0,
331
-
332
- // Control flow may create branches, but is generally cheap and
333
- // free, so don't consume fuel. Note the lack of `if` since some
334
- // cost is incurred with the conditional check.
335
- Operator::Block { .. }
336
- | Operator::Loop { .. }
337
- | Operator::Unreachable
338
- | Operator::Return
339
- | Operator::Else
340
- | Operator::End => 0,
341
-
342
- // everything else, just call it one operation.
343
- _ => 1,
344
- };
345
-
346
- match op {
347
- // Exiting a function (via a return or unreachable) or otherwise
348
- // entering a different function (via a call) means that we need to
349
- // update the fuel consumption in `VMRuntimeLimits` because we're
350
- // about to move control out of this function itself and the fuel
351
- // may need to be read.
352
- //
353
- // Before this we need to update the fuel counter from our own cost
354
- // leading up to this function call, and then we can store
355
- // `self.fuel_var` into `VMRuntimeLimits`.
356
- Operator::Unreachable
357
- | Operator::Return
358
- | Operator::CallIndirect { .. }
359
- | Operator::Call { .. }
360
- | Operator::ReturnCall { .. }
361
- | Operator::ReturnCallIndirect { .. } => {
362
- self.fuel_increment_var(builder);
363
- self.fuel_save_from_var(builder);
364
- }
365
-
366
- // To ensure all code preceding a loop is only counted once we
367
- // update the fuel variable on entry.
368
- Operator::Loop { .. }
369
-
370
- // Entering into an `if` block means that the edge we take isn't
371
- // known until runtime, so we need to update our fuel consumption
372
- // before we take the branch.
373
- | Operator::If { .. }
374
-
375
- // Control-flow instructions mean that we're moving to the end/exit
376
- // of a block somewhere else. That means we need to update the fuel
377
- // counter since we're effectively terminating our basic block.
378
- | Operator::Br { .. }
379
- | Operator::BrIf { .. }
380
- | Operator::BrTable { .. }
381
-
382
- // Exiting a scope means that we need to update the fuel
383
- // consumption because there are multiple ways to exit a scope and
384
- // this is the only time we have to account for instructions
385
- // executed so far.
386
- | Operator::End
387
-
388
- // This is similar to `end`, except that it's only the terminator
389
- // for an `if` block. The same reasoning applies though in that we
390
- // are terminating a basic block and need to update the fuel
391
- // variable.
392
- | Operator::Else => self.fuel_increment_var(builder),
393
-
394
- // This is a normal instruction where the fuel is buffered to later
395
- // get added to `self.fuel_var`.
396
- //
397
- // Note that we generally ignore instructions which may trap and
398
- // therefore result in exiting a block early. Current usage of fuel
399
- // means that it's not too important to account for a precise amount
400
- // of fuel consumed but rather "close to the actual amount" is good
401
- // enough. For 100% precise counting, however, we'd probably need to
402
- // not only increment but also save the fuel amount more often
403
- // around trapping instructions. (see the `unreachable` instruction
404
- // case above)
405
- //
406
- // Note that `Block` is specifically omitted from incrementing the
407
- // fuel variable. Control flow entering a `block` is unconditional
408
- // which means it's effectively executing straight-line code. We'll
409
- // update the counter when exiting a block, but we shouldn't need to
410
- // do so upon entering a block.
411
- _ => {}
412
- }
413
- }
414
-
415
- fn fuel_after_op(&mut self, op: &Operator<'_>, builder: &mut FunctionBuilder<'_>) {
416
- // After a function call we need to reload our fuel value since the
417
- // function may have changed it.
418
- match op {
419
- Operator::Call { .. } | Operator::CallIndirect { .. } => {
420
- self.fuel_load_into_var(builder);
421
- }
422
- _ => {}
423
- }
424
- }
425
-
426
- /// Adds `self.fuel_consumed` to the `fuel_var`, zero-ing out the amount of
427
- /// fuel consumed at that point.
428
- fn fuel_increment_var(&mut self, builder: &mut FunctionBuilder<'_>) {
429
- let consumption = mem::replace(&mut self.fuel_consumed, 0);
430
- if consumption == 0 {
431
- return;
432
- }
433
-
434
- let fuel = builder.use_var(self.fuel_var);
435
- let fuel = builder.ins().iadd_imm(fuel, consumption);
436
- builder.def_var(self.fuel_var, fuel);
437
- }
438
-
439
- /// Loads the fuel consumption value from `VMRuntimeLimits` into `self.fuel_var`
440
- fn fuel_load_into_var(&mut self, builder: &mut FunctionBuilder<'_>) {
441
- let (addr, offset) = self.fuel_addr_offset(builder);
442
- let fuel = builder
443
- .ins()
444
- .load(ir::types::I64, ir::MemFlags::trusted(), addr, offset);
445
- builder.def_var(self.fuel_var, fuel);
446
- }
447
-
448
- /// Stores the fuel consumption value from `self.fuel_var` into
449
- /// `VMRuntimeLimits`.
450
- fn fuel_save_from_var(&mut self, builder: &mut FunctionBuilder<'_>) {
451
- let (addr, offset) = self.fuel_addr_offset(builder);
452
- let fuel_consumed = builder.use_var(self.fuel_var);
453
- builder
454
- .ins()
455
- .store(ir::MemFlags::trusted(), fuel_consumed, addr, offset);
456
- }
457
-
458
- /// Returns the `(address, offset)` of the fuel consumption within
459
- /// `VMRuntimeLimits`, used to perform loads/stores later.
460
- fn fuel_addr_offset(
461
- &mut self,
462
- builder: &mut FunctionBuilder<'_>,
463
- ) -> (ir::Value, ir::immediates::Offset32) {
464
- (
465
- builder.use_var(self.vmruntime_limits_ptr),
466
- i32::from(self.offsets.ptr.vmruntime_limits_fuel_consumed()).into(),
467
- )
468
- }
469
-
470
- /// Checks the amount of remaining, and if we've run out of fuel we call
471
- /// the out-of-fuel function.
472
- fn fuel_check(&mut self, builder: &mut FunctionBuilder) {
473
- self.fuel_increment_var(builder);
474
- let out_of_gas_block = builder.create_block();
475
- let continuation_block = builder.create_block();
476
-
477
- // Note that our fuel is encoded as adding positive values to a
478
- // negative number. Whenever the negative number goes positive that
479
- // means we ran out of fuel.
480
- //
481
- // Compare to see if our fuel is positive, and if so we ran out of gas.
482
- // Otherwise we can continue on like usual.
483
- let zero = builder.ins().iconst(ir::types::I64, 0);
484
- let fuel = builder.use_var(self.fuel_var);
485
- let cmp = builder
486
- .ins()
487
- .icmp(IntCC::SignedGreaterThanOrEqual, fuel, zero);
488
- builder
489
- .ins()
490
- .brif(cmp, out_of_gas_block, &[], continuation_block, &[]);
491
- builder.seal_block(out_of_gas_block);
492
-
493
- // If we ran out of gas then we call our out-of-gas intrinsic and it
494
- // figures out what to do. Note that this may raise a trap, or do
495
- // something like yield to an async runtime. In either case we don't
496
- // assume what happens and handle the case the intrinsic returns.
497
- //
498
- // Note that we save/reload fuel around this since the out-of-gas
499
- // intrinsic may alter how much fuel is in the system.
500
- builder.switch_to_block(out_of_gas_block);
501
- self.fuel_save_from_var(builder);
502
- let out_of_gas = self.builtin_functions.out_of_gas(builder.func);
503
- let vmctx = self.vmctx_val(&mut builder.cursor());
504
- builder.ins().call(out_of_gas, &[vmctx]);
505
- self.fuel_load_into_var(builder);
506
- builder.ins().jump(continuation_block, &[]);
507
- builder.seal_block(continuation_block);
508
-
509
- builder.switch_to_block(continuation_block);
510
- }
511
-
512
- fn epoch_function_entry(&mut self, builder: &mut FunctionBuilder<'_>) {
513
- builder.declare_var(self.epoch_deadline_var, ir::types::I64);
514
- self.epoch_load_deadline_into_var(builder);
515
- builder.declare_var(self.epoch_ptr_var, self.pointer_type());
516
- let epoch_ptr = self.epoch_ptr(builder);
517
- builder.def_var(self.epoch_ptr_var, epoch_ptr);
518
-
519
- // We must check for an epoch change when entering a
520
- // function. Why? Why aren't checks at loops sufficient to
521
- // bound runtime to O(|static program size|)?
522
- //
523
- // The reason is that one can construct a "zip-bomb-like"
524
- // program with exponential-in-program-size runtime, with no
525
- // backedges (loops), by building a tree of function calls: f0
526
- // calls f1 ten times, f1 calls f2 ten times, etc. E.g., nine
527
- // levels of this yields a billion function calls with no
528
- // backedges. So we can't do checks only at backedges.
529
- //
530
- // In this "call-tree" scenario, and in fact in any program
531
- // that uses calls as a sort of control flow to try to evade
532
- // backedge checks, a check at every function entry is
533
- // sufficient. Then, combined with checks at every backedge
534
- // (loop) the longest runtime between checks is bounded by the
535
- // straightline length of any function body.
536
- self.epoch_check(builder);
537
- }
538
-
539
- #[cfg(feature = "wmemcheck")]
540
- fn hook_malloc_exit(&mut self, builder: &mut FunctionBuilder, retvals: &[ir::Value]) {
541
- let check_malloc = self.builtin_functions.check_malloc(builder.func);
542
- let vmctx = self.vmctx_val(&mut builder.cursor());
543
- let func_args = builder
544
- .func
545
- .dfg
546
- .block_params(builder.func.layout.entry_block().unwrap());
547
- let len = if func_args.len() < 3 {
548
- return;
549
- } else {
550
- // If a function named `malloc` has at least one argument, we assume the
551
- // first argument is the requested allocation size.
552
- func_args[2]
553
- };
554
- let retval = if retvals.len() < 1 {
555
- return;
556
- } else {
557
- retvals[0]
558
- };
559
- builder.ins().call(check_malloc, &[vmctx, retval, len]);
560
- }
561
-
562
- #[cfg(feature = "wmemcheck")]
563
- fn hook_free_exit(&mut self, builder: &mut FunctionBuilder) {
564
- let check_free = self.builtin_functions.check_free(builder.func);
565
- let vmctx = self.vmctx_val(&mut builder.cursor());
566
- let func_args = builder
567
- .func
568
- .dfg
569
- .block_params(builder.func.layout.entry_block().unwrap());
570
- let ptr = if func_args.len() < 3 {
571
- return;
572
- } else {
573
- // If a function named `free` has at least one argument, we assume the
574
- // first argument is a pointer to memory.
575
- func_args[2]
576
- };
577
- builder.ins().call(check_free, &[vmctx, ptr]);
578
- }
579
-
580
- fn epoch_ptr(&mut self, builder: &mut FunctionBuilder<'_>) -> ir::Value {
581
- let vmctx = self.vmctx(builder.func);
582
- let pointer_type = self.pointer_type();
583
- let base = builder.ins().global_value(pointer_type, vmctx);
584
- let offset = i32::try_from(self.offsets.vmctx_epoch_ptr()).unwrap();
585
- let epoch_ptr = builder
586
- .ins()
587
- .load(pointer_type, ir::MemFlags::trusted(), base, offset);
588
- epoch_ptr
589
- }
590
-
591
- fn epoch_load_current(&mut self, builder: &mut FunctionBuilder<'_>) -> ir::Value {
592
- let addr = builder.use_var(self.epoch_ptr_var);
593
- builder.ins().load(
594
- ir::types::I64,
595
- ir::MemFlags::trusted(),
596
- addr,
597
- ir::immediates::Offset32::new(0),
598
- )
599
- }
600
-
601
- fn epoch_load_deadline_into_var(&mut self, builder: &mut FunctionBuilder<'_>) {
602
- let interrupts = builder.use_var(self.vmruntime_limits_ptr);
603
- let deadline =
604
- builder.ins().load(
605
- ir::types::I64,
606
- ir::MemFlags::trusted(),
607
- interrupts,
608
- ir::immediates::Offset32::new(
609
- self.offsets.ptr.vmruntime_limits_epoch_deadline() as i32
610
- ),
611
- );
612
- builder.def_var(self.epoch_deadline_var, deadline);
613
- }
614
-
615
- fn epoch_check(&mut self, builder: &mut FunctionBuilder<'_>) {
616
- let new_epoch_block = builder.create_block();
617
- let new_epoch_doublecheck_block = builder.create_block();
618
- let continuation_block = builder.create_block();
619
- builder.set_cold_block(new_epoch_block);
620
- builder.set_cold_block(new_epoch_doublecheck_block);
621
-
622
- let epoch_deadline = builder.use_var(self.epoch_deadline_var);
623
- // Load new epoch and check against cached deadline. The
624
- // deadline may be out of date if it was updated (within
625
- // another yield) during some function that we called; this is
626
- // fine, as we'll reload it and check again before yielding in
627
- // the cold path.
628
- let cur_epoch_value = self.epoch_load_current(builder);
629
- let cmp = builder.ins().icmp(
630
- IntCC::UnsignedGreaterThanOrEqual,
631
- cur_epoch_value,
632
- epoch_deadline,
633
- );
634
- builder
635
- .ins()
636
- .brif(cmp, new_epoch_block, &[], continuation_block, &[]);
637
- builder.seal_block(new_epoch_block);
638
-
639
- // In the "new epoch block", we've noticed that the epoch has
640
- // exceeded our cached deadline. However the real deadline may
641
- // have been moved in the meantime. We keep the cached value
642
- // in a register to speed the checks in the common case
643
- // (between epoch ticks) but we want to do a precise check
644
- // here, on the cold path, by reloading the latest value
645
- // first.
646
- builder.switch_to_block(new_epoch_block);
647
- self.epoch_load_deadline_into_var(builder);
648
- let fresh_epoch_deadline = builder.use_var(self.epoch_deadline_var);
649
- let fresh_cmp = builder.ins().icmp(
650
- IntCC::UnsignedGreaterThanOrEqual,
651
- cur_epoch_value,
652
- fresh_epoch_deadline,
653
- );
654
- builder.ins().brif(
655
- fresh_cmp,
656
- new_epoch_doublecheck_block,
657
- &[],
658
- continuation_block,
659
- &[],
660
- );
661
- builder.seal_block(new_epoch_doublecheck_block);
662
-
663
- builder.switch_to_block(new_epoch_doublecheck_block);
664
- let new_epoch = self.builtin_functions.new_epoch(builder.func);
665
- let vmctx = self.vmctx_val(&mut builder.cursor());
666
- // new_epoch() returns the new deadline, so we don't have to
667
- // reload it.
668
- let call = builder.ins().call(new_epoch, &[vmctx]);
669
- let new_deadline = *builder.func.dfg.inst_results(call).first().unwrap();
670
- builder.def_var(self.epoch_deadline_var, new_deadline);
671
- builder.ins().jump(continuation_block, &[]);
672
- builder.seal_block(continuation_block);
673
-
674
- builder.switch_to_block(continuation_block);
675
- }
676
-
677
- fn memory_index_type(&self, index: MemoryIndex) -> ir::Type {
678
- if self.module.memory_plans[index].memory.memory64 {
679
- I64
680
- } else {
681
- I32
682
- }
683
- }
684
-
685
- fn cast_pointer_to_memory_index(
686
- &self,
687
- mut pos: FuncCursor<'_>,
688
- val: ir::Value,
689
- index: MemoryIndex,
690
- ) -> ir::Value {
691
- let desired_type = self.memory_index_type(index);
692
- let pointer_type = self.pointer_type();
693
- assert_eq!(pos.func.dfg.value_type(val), pointer_type);
694
-
695
- // The current length is of type `pointer_type` but we need to fit it
696
- // into `desired_type`. We are guaranteed that the result will always
697
- // fit, so we just need to do the right ireduce/sextend here.
698
- if pointer_type == desired_type {
699
- val
700
- } else if pointer_type.bits() > desired_type.bits() {
701
- pos.ins().ireduce(desired_type, val)
702
- } else {
703
- // Note that we `sextend` instead of the probably expected
704
- // `uextend`. This function is only used within the contexts of
705
- // `memory.size` and `memory.grow` where we're working with units of
706
- // pages instead of actual bytes, so we know that the upper bit is
707
- // always cleared for "valid values". The one case we care about
708
- // sextend would be when the return value of `memory.grow` is `-1`,
709
- // in which case we want to copy the sign bit.
710
- //
711
- // This should only come up on 32-bit hosts running wasm64 modules,
712
- // which at some point also makes you question various assumptions
713
- // made along the way...
714
- pos.ins().sextend(desired_type, val)
715
- }
716
- }
717
-
718
- fn cast_memory_index_to_i64(
719
- &self,
720
- pos: &mut FuncCursor<'_>,
721
- val: ir::Value,
722
- index: MemoryIndex,
723
- ) -> ir::Value {
724
- if self.memory_index_type(index) == I64 {
725
- val
726
- } else {
727
- pos.ins().uextend(I64, val)
728
- }
729
- }
730
-
731
- /// Set up the necessary preamble definitions in `func` to access the table identified
732
- /// by `index`.
733
- ///
734
- /// The index space covers both imported and locally declared tables.
735
- fn ensure_table_exists(&mut self, func: &mut ir::Function, index: TableIndex) {
736
- if self.tables[index].is_some() {
737
- return;
738
- }
739
-
740
- let pointer_type = self.pointer_type();
741
-
742
- let (ptr, base_offset, current_elements_offset) = {
743
- let vmctx = self.vmctx(func);
744
- if let Some(def_index) = self.module.defined_table_index(index) {
745
- let base_offset =
746
- i32::try_from(self.offsets.vmctx_vmtable_definition_base(def_index)).unwrap();
747
- let current_elements_offset = i32::try_from(
748
- self.offsets
749
- .vmctx_vmtable_definition_current_elements(def_index),
750
- )
751
- .unwrap();
752
- (vmctx, base_offset, current_elements_offset)
753
- } else {
754
- let from_offset = self.offsets.vmctx_vmtable_import_from(index);
755
- let table = func.create_global_value(ir::GlobalValueData::Load {
756
- base: vmctx,
757
- offset: Offset32::new(i32::try_from(from_offset).unwrap()),
758
- global_type: pointer_type,
759
- flags: MemFlags::trusted().with_readonly(),
760
- });
761
- let base_offset = i32::from(self.offsets.vmtable_definition_base());
762
- let current_elements_offset =
763
- i32::from(self.offsets.vmtable_definition_current_elements());
764
- (table, base_offset, current_elements_offset)
765
- }
766
- };
767
-
768
- let table = &self.module.table_plans[index].table;
769
- let element_size = if table.wasm_ty.is_vmgcref_type() {
770
- // For GC-managed references, tables store `Option<VMGcRef>`s.
771
- ir::types::I32.bytes()
772
- } else {
773
- self.reference_type(table.wasm_ty.heap_type).bytes()
774
- };
775
-
776
- let base_gv = func.create_global_value(ir::GlobalValueData::Load {
777
- base: ptr,
778
- offset: Offset32::new(base_offset),
779
- global_type: pointer_type,
780
- flags: if Some(table.minimum) == table.maximum {
781
- // A fixed-size table can't be resized so its base address won't
782
- // change.
783
- MemFlags::trusted().with_readonly()
784
- } else {
785
- MemFlags::trusted()
786
- },
787
- });
788
-
789
- let bound = if Some(table.minimum) == table.maximum {
790
- TableSize::Static {
791
- bound: table.minimum,
792
- }
793
- } else {
794
- TableSize::Dynamic {
795
- bound_gv: func.create_global_value(ir::GlobalValueData::Load {
796
- base: ptr,
797
- offset: Offset32::new(current_elements_offset),
798
- global_type: ir::Type::int(
799
- u16::from(self.offsets.size_of_vmtable_definition_current_elements()) * 8,
800
- )
801
- .unwrap(),
802
- flags: MemFlags::trusted(),
803
- }),
804
- }
805
- };
806
-
807
- self.tables[index] = Some(TableData {
808
- base_gv,
809
- bound,
810
- element_size,
811
- });
812
- }
813
-
814
- fn get_or_init_func_ref_table_elem(
815
- &mut self,
816
- builder: &mut FunctionBuilder,
817
- table_index: TableIndex,
818
- index: ir::Value,
819
- cold_blocks: bool,
820
- ) -> ir::Value {
821
- let pointer_type = self.pointer_type();
822
- self.ensure_table_exists(builder.func, table_index);
823
- let table_data = self.tables[table_index].as_ref().unwrap();
824
-
825
- // To support lazy initialization of table
826
- // contents, we check for a null entry here, and
827
- // if null, we take a slow-path that invokes a
828
- // libcall.
829
- let (table_entry_addr, flags) = table_data.prepare_table_addr(
830
- builder,
831
- index,
832
- pointer_type,
833
- self.isa.flags().enable_table_access_spectre_mitigation(),
834
- );
835
- let value = builder.ins().load(pointer_type, flags, table_entry_addr, 0);
836
- // Mask off the "initialized bit". See documentation on
837
- // FUNCREF_INIT_BIT in crates/environ/src/ref_bits.rs for more
838
- // details. Note that `FUNCREF_MASK` has type `usize` which may not be
839
- // appropriate for the target architecture. Right now its value is
840
- // always -2 so assert that part doesn't change and then thread through
841
- // -2 as the immediate.
842
- assert_eq!(FUNCREF_MASK as isize, -2);
843
- let value_masked = builder.ins().band_imm(value, Imm64::from(-2));
844
-
845
- let null_block = builder.create_block();
846
- let continuation_block = builder.create_block();
847
- if cold_blocks {
848
- builder.set_cold_block(null_block);
849
- builder.set_cold_block(continuation_block);
850
- }
851
- let result_param = builder.append_block_param(continuation_block, pointer_type);
852
- builder.set_cold_block(null_block);
853
-
854
- builder
855
- .ins()
856
- .brif(value, continuation_block, &[value_masked], null_block, &[]);
857
- builder.seal_block(null_block);
858
-
859
- builder.switch_to_block(null_block);
860
- let table_index = builder.ins().iconst(I32, table_index.index() as i64);
861
- let lazy_init = self
862
- .builtin_functions
863
- .table_get_lazy_init_func_ref(builder.func);
864
- let vmctx = self.vmctx_val(&mut builder.cursor());
865
- let call_inst = builder.ins().call(lazy_init, &[vmctx, table_index, index]);
866
- let returned_entry = builder.func.dfg.inst_results(call_inst)[0];
867
- builder.ins().jump(continuation_block, &[returned_entry]);
868
- builder.seal_block(continuation_block);
869
-
870
- builder.switch_to_block(continuation_block);
871
- result_param
872
- }
873
-
874
- #[cfg(feature = "wmemcheck")]
875
- fn check_malloc_start(&mut self, builder: &mut FunctionBuilder) {
876
- let malloc_start = self.builtin_functions.malloc_start(builder.func);
877
- let vmctx = self.vmctx_val(&mut builder.cursor());
878
- builder.ins().call(malloc_start, &[vmctx]);
879
- }
880
-
881
- #[cfg(feature = "wmemcheck")]
882
- fn check_free_start(&mut self, builder: &mut FunctionBuilder) {
883
- let free_start = self.builtin_functions.free_start(builder.func);
884
- let vmctx = self.vmctx_val(&mut builder.cursor());
885
- builder.ins().call(free_start, &[vmctx]);
886
- }
887
-
888
- #[cfg(feature = "wmemcheck")]
889
- fn current_func_name(&self, builder: &mut FunctionBuilder) -> Option<&str> {
890
- let func_index = match &builder.func.name {
891
- ir::UserFuncName::User(user) => FuncIndex::from_u32(user.index),
892
- _ => {
893
- panic!("function name not a UserFuncName::User as expected")
894
- }
895
- };
896
- self.translation
897
- .debuginfo
898
- .name_section
899
- .func_names
900
- .get(&func_index)
901
- .map(|s| *s)
902
- }
903
-
904
- /// Proof-carrying code: create a memtype describing an empty
905
- /// runtime struct (to be updated later).
906
- fn create_empty_struct_memtype(&self, func: &mut ir::Function) -> ir::MemoryType {
907
- func.create_memory_type(ir::MemoryTypeData::Struct {
908
- size: 0,
909
- fields: vec![],
910
- })
911
- }
912
-
913
- /// Proof-carrying code: add a new field to a memtype used to
914
- /// describe a runtime struct. A memory region of type `memtype`
915
- /// will have a pointer at `offset` pointing to another memory
916
- /// region of type `pointee`. `readonly` indicates whether the
917
- /// PCC-checked code is expected to update this field or not.
918
- fn add_field_to_memtype(
919
- &self,
920
- func: &mut ir::Function,
921
- memtype: ir::MemoryType,
922
- offset: u32,
923
- pointee: ir::MemoryType,
924
- readonly: bool,
925
- ) {
926
- let ptr_size = self.pointer_type().bytes();
927
- match &mut func.memory_types[memtype] {
928
- ir::MemoryTypeData::Struct { size, fields } => {
929
- *size = std::cmp::max(*size, offset.checked_add(ptr_size).unwrap().into());
930
- fields.push(ir::MemoryTypeField {
931
- ty: self.pointer_type(),
932
- offset: offset.into(),
933
- readonly,
934
- fact: Some(ir::Fact::Mem {
935
- ty: pointee,
936
- min_offset: 0,
937
- max_offset: 0,
938
- nullable: false,
939
- }),
940
- });
941
-
942
- // Sort fields by offset -- we need to do this now
943
- // because we may create an arbitrary number of
944
- // memtypes for imported memories and we don't
945
- // otherwise track them.
946
- fields.sort_by_key(|f| f.offset);
947
- }
948
- _ => panic!("Cannot add field to non-struct memtype"),
949
- }
950
- }
951
-
952
- /// Add one level of indirection to a pointer-and-memtype pair:
953
- /// generate a load in the code at the specified offset, and if
954
- /// memtypes are in use, add a field to the original struct and
955
- /// generate a new memtype for the pointee.
956
- fn load_pointer_with_memtypes(
957
- &self,
958
- func: &mut ir::Function,
959
- value: ir::GlobalValue,
960
- offset: u32,
961
- readonly: bool,
962
- memtype: Option<ir::MemoryType>,
963
- ) -> (ir::GlobalValue, Option<ir::MemoryType>) {
964
- let pointee = func.create_global_value(ir::GlobalValueData::Load {
965
- base: value,
966
- offset: Offset32::new(i32::try_from(offset).unwrap()),
967
- global_type: self.pointer_type(),
968
- flags: MemFlags::trusted().with_readonly(),
969
- });
970
-
971
- let mt = memtype.map(|mt| {
972
- let pointee_mt = self.create_empty_struct_memtype(func);
973
- self.add_field_to_memtype(func, mt, offset, pointee_mt, readonly);
974
- func.global_value_facts[pointee] = Some(Fact::Mem {
975
- ty: pointee_mt,
976
- min_offset: 0,
977
- max_offset: 0,
978
- nullable: false,
979
- });
980
- pointee_mt
981
- });
982
- (pointee, mt)
983
- }
984
-
985
- fn i31_ref_to_unshifted_value(&self, pos: &mut FuncCursor, i31ref: ir::Value) -> ir::Value {
986
- let ref_ty = self.reference_type(WasmHeapType::I31);
987
- debug_assert_eq!(pos.func.dfg.value_type(i31ref), ref_ty);
988
-
989
- let is_null = pos.ins().is_null(i31ref);
990
- pos.ins().trapnz(is_null, ir::TrapCode::NullI31Ref);
991
-
992
- let val = pos.ins().bitcast(ref_ty.as_int(), MemFlags::new(), i31ref);
993
-
994
- if cfg!(debug_assertions) {
995
- let is_i31_ref = pos
996
- .ins()
997
- .band_imm(val, i64::from(crate::I31_REF_DISCRIMINANT));
998
- pos.ins().trapz(
999
- is_i31_ref,
1000
- ir::TrapCode::User(crate::DEBUG_ASSERT_TRAP_CODE),
1001
- );
1002
- }
1003
-
1004
- match ref_ty.bytes() {
1005
- 8 => pos.ins().ireduce(ir::types::I32, val),
1006
- 4 => val,
1007
- _ => unreachable!(),
1008
- }
1009
- }
1010
-
1011
- /// Allocate the next CallIndirectSiteIndex for indirect-target
1012
- /// caching purposes, if slots remain below the slot-count limit.
1013
- fn alloc_call_indirect_index(&mut self) -> Option<CallIndirectSiteIndex> {
1014
- // We need to check to see if we have reached the cache-slot
1015
- // limit.
1016
- //
1017
- // There are two kinds of limit behavior:
1018
- //
1019
- // 1. Our function's start-index is below the limit, but we
1020
- // hit the limit in the middle of the function. We will
1021
- // allocate slots up to the limit, then stop exactly when we
1022
- // hit it.
1023
- //
1024
- // 2. Our function is beyond the limit-count of
1025
- // `call_indirect`s. The counting prescan in
1026
- // `ModuleEnvironment` that assigns start indices will
1027
- // saturate at the limit, and this function's start index
1028
- // will be exactly the limit, so we get zero slots and exit
1029
- // immediately at every call to this function.
1030
- if self.call_indirect_index >= self.tunables.max_call_indirect_cache_slots {
1031
- return None;
1032
- }
1033
-
1034
- let idx = CallIndirectSiteIndex::from_u32(
1035
- u32::try_from(self.call_indirect_index)
1036
- .expect("More than 2^32 callsites; should be limited by impl limits"),
1037
- );
1038
- self.call_indirect_index += 1;
1039
- Some(idx)
1040
- }
1041
- }
1042
-
1043
- struct Call<'a, 'func, 'module_env> {
1044
- builder: &'a mut FunctionBuilder<'func>,
1045
- env: &'a mut FuncEnvironment<'module_env>,
1046
- tail: bool,
1047
- }
1048
-
1049
- enum CheckIndirectCallTypeSignature {
1050
- Runtime,
1051
- StaticMatch {
1052
- /// Whether or not the funcref may be null or if it's statically known
1053
- /// to not be null.
1054
- may_be_null: bool,
1055
- },
1056
- StaticTrap,
1057
- }
1058
-
1059
- impl<'a, 'func, 'module_env> Call<'a, 'func, 'module_env> {
1060
- /// Create a new `Call` site that will do regular, non-tail calls.
1061
- pub fn new(
1062
- builder: &'a mut FunctionBuilder<'func>,
1063
- env: &'a mut FuncEnvironment<'module_env>,
1064
- ) -> Self {
1065
- Call {
1066
- builder,
1067
- env,
1068
- tail: false,
1069
- }
1070
- }
1071
-
1072
- /// Create a new `Call` site that will perform tail calls.
1073
- pub fn new_tail(
1074
- builder: &'a mut FunctionBuilder<'func>,
1075
- env: &'a mut FuncEnvironment<'module_env>,
1076
- ) -> Self {
1077
- Call {
1078
- builder,
1079
- env,
1080
- tail: true,
1081
- }
1082
- }
1083
-
1084
- /// Do a direct call to the given callee function.
1085
- pub fn direct_call(
1086
- mut self,
1087
- callee_index: FuncIndex,
1088
- callee: ir::FuncRef,
1089
- call_args: &[ir::Value],
1090
- ) -> WasmResult<ir::Inst> {
1091
- let mut real_call_args = Vec::with_capacity(call_args.len() + 2);
1092
- let caller_vmctx = self
1093
- .builder
1094
- .func
1095
- .special_param(ArgumentPurpose::VMContext)
1096
- .unwrap();
1097
-
1098
- // Handle direct calls to locally-defined functions.
1099
- if !self.env.module.is_imported_function(callee_index) {
1100
- // First append the callee vmctx address, which is the same as the caller vmctx in
1101
- // this case.
1102
- real_call_args.push(caller_vmctx);
1103
-
1104
- // Then append the caller vmctx address.
1105
- real_call_args.push(caller_vmctx);
1106
-
1107
- // Then append the regular call arguments.
1108
- real_call_args.extend_from_slice(call_args);
1109
-
1110
- // Finally, make the direct call!
1111
- return Ok(self.direct_call_inst(callee, &real_call_args));
1112
- }
1113
-
1114
- // Handle direct calls to imported functions. We use an indirect call
1115
- // so that we don't have to patch the code at runtime.
1116
- let pointer_type = self.env.pointer_type();
1117
- let sig_ref = self.builder.func.dfg.ext_funcs[callee].signature;
1118
- let vmctx = self.env.vmctx(self.builder.func);
1119
- let base = self.builder.ins().global_value(pointer_type, vmctx);
1120
-
1121
- let mem_flags = ir::MemFlags::trusted().with_readonly();
1122
-
1123
- // Load the callee address.
1124
- let body_offset = i32::try_from(
1125
- self.env
1126
- .offsets
1127
- .vmctx_vmfunction_import_wasm_call(callee_index),
1128
- )
1129
- .unwrap();
1130
- let func_addr = self
1131
- .builder
1132
- .ins()
1133
- .load(pointer_type, mem_flags, base, body_offset);
1134
-
1135
- // First append the callee vmctx address.
1136
- let vmctx_offset =
1137
- i32::try_from(self.env.offsets.vmctx_vmfunction_import_vmctx(callee_index)).unwrap();
1138
- let vmctx = self
1139
- .builder
1140
- .ins()
1141
- .load(pointer_type, mem_flags, base, vmctx_offset);
1142
- real_call_args.push(vmctx);
1143
- real_call_args.push(caller_vmctx);
1144
-
1145
- // Then append the regular call arguments.
1146
- real_call_args.extend_from_slice(call_args);
1147
-
1148
- // Finally, make the indirect call!
1149
- Ok(self.indirect_call_inst(sig_ref, func_addr, &real_call_args))
1150
- }
1151
-
1152
- /// Get the address of the call-indirect cache slot for a given callsite.
1153
- pub fn call_indirect_cache_slot_addr(
1154
- &mut self,
1155
- call_site: CallIndirectSiteIndex,
1156
- vmctx: ir::Value,
1157
- ) -> ir::Value {
1158
- let offset = self.env.offsets.vmctx_call_indirect_cache(call_site);
1159
- self.builder.ins().iadd_imm(vmctx, i64::from(offset))
1160
- }
1161
-
1162
- /// Load the cached index and code pointer for an indirect call.
1163
- ///
1164
- /// Generates IR like:
1165
- ///
1166
- /// ```ignore
1167
- /// v1 = load.i64 cache_ptr+0 ;; cached index (cache key)
1168
- /// v2 = load.i64 cache_ptr+8 ;; cached raw code pointer (cache value)
1169
- /// ```
1170
- ///
1171
- /// and returns `(index, code_ptr)` (e.g. from above, `(v1, v2)`).
1172
- fn load_cached_indirect_index_and_code_ptr(
1173
- &mut self,
1174
- cache_ptr: ir::Value,
1175
- ) -> (ir::Value, ir::Value) {
1176
- let cached_index = self.builder.ins().load(
1177
- I32,
1178
- MemFlags::trusted(),
1179
- cache_ptr,
1180
- Offset32::from(self.env.offsets.ptr.vmcall_indirect_cache_index()),
1181
- );
1182
- let cached_code_ptr = self.builder.ins().load(
1183
- self.env.pointer_type(),
1184
- MemFlags::trusted(),
1185
- cache_ptr,
1186
- Offset32::from(self.env.offsets.ptr.vmcall_indirect_cache_wasm_call()),
1187
- );
1188
-
1189
- (cached_index, cached_code_ptr)
1190
- }
1191
-
1192
- /// Update the indirect-call cache: store a new index and raw code
1193
- /// pointer in the slot for a given callsite.
1194
- fn store_cached_indirect_index_and_code_ptr(
1195
- &mut self,
1196
- cache_ptr: ir::Value,
1197
- index: ir::Value,
1198
- code_ptr: ir::Value,
1199
- ) {
1200
- self.builder.ins().store(
1201
- MemFlags::trusted(),
1202
- index,
1203
- cache_ptr,
1204
- Offset32::from(self.env.offsets.ptr.vmcall_indirect_cache_index()),
1205
- );
1206
- self.builder.ins().store(
1207
- MemFlags::trusted(),
1208
- code_ptr,
1209
- cache_ptr,
1210
- Offset32::from(self.env.offsets.ptr.vmcall_indirect_cache_wasm_call()),
1211
- );
1212
- }
1213
-
1214
- /// Do an indirect call through the given funcref table.
1215
- pub fn indirect_call(
1216
- mut self,
1217
- table_index: TableIndex,
1218
- ty_index: TypeIndex,
1219
- sig_ref: ir::SigRef,
1220
- callee: ir::Value,
1221
- call_args: &[ir::Value],
1222
- ) -> WasmResult<Option<ir::Inst>> {
1223
- // If we are performing call-indirect caching with this table, check the cache.
1224
- let caching = if self.env.tunables.cache_call_indirects {
1225
- let plan = &self.env.module.table_plans[table_index];
1226
- // We can do the indirect call caching optimization only
1227
- // if table elements will not change (no opcodes exist
1228
- // that could write the table, and table not exported),
1229
- // and if we can use the zero-index as a sentinenl for "no
1230
- // cache entry" (initial zeroed vmctx state).
1231
- !plan.written && !plan.non_null_zero
1232
- } else {
1233
- false
1234
- };
1235
-
1236
- // Allocate a call-indirect cache slot if caching is
1237
- // enabled. Note that this still may be `None` if we run out
1238
- // of slots.
1239
- let call_site = if caching {
1240
- self.env.alloc_call_indirect_index()
1241
- } else {
1242
- None
1243
- };
1244
-
1245
- let (code_ptr, callee_vmctx) = if let Some(call_site) = call_site {
1246
- // Get a local copy of `vmctx`.
1247
- let vmctx = self.env.vmctx(self.builder.func);
1248
- let vmctx = self
1249
- .builder
1250
- .ins()
1251
- .global_value(self.env.pointer_type(), vmctx);
1252
-
1253
- // Get the address of the cache slot in the VMContext
1254
- // struct.
1255
- let slot = self.call_indirect_cache_slot_addr(call_site, vmctx);
1256
-
1257
- // Create the following CFG and generate code with the following outline:
1258
- //
1259
- // (load cached index and code pointer)
1260
- // hit = icmp eq (cached index), (callee)
1261
- // brif hit, call_block((cached code ptr), vmctx), miss_block
1262
- //
1263
- // miss_block:
1264
- // (compute actual code pointer, with checks)
1265
- // same_instance = icmp eq (callee vmctx), (vmctx)
1266
- // brif same_instance update_block, call_block((actual code ptr), (callee vmctx))
1267
- //
1268
- // update_block:
1269
- // (store actual index and actual code pointer)
1270
- // jump call_block((actual code ptr), (callee vmctx))
1271
- //
1272
- // call_block(code_ptr, callee_vmctx):
1273
- // (unchecked call-indirect sequence)
1274
-
1275
- // Create two-level conditionals with CFG.
1276
- let current_block = self.builder.current_block().unwrap();
1277
- let miss_block = self.builder.create_block();
1278
- let call_block = self.builder.create_block();
1279
- let update_block = self.builder.create_block();
1280
-
1281
- self.builder.insert_block_after(miss_block, current_block);
1282
- self.builder.insert_block_after(update_block, miss_block);
1283
- self.builder.insert_block_after(call_block, update_block);
1284
- self.builder.set_cold_block(miss_block);
1285
- self.builder.set_cold_block(update_block);
1286
-
1287
- // Load cached values, check for hit, branch to
1288
- // call block or miss block.
1289
-
1290
- let (cached_index, cached_code_ptr) =
1291
- self.load_cached_indirect_index_and_code_ptr(slot);
1292
- let hit = self.builder.ins().icmp(IntCC::Equal, cached_index, callee);
1293
- self.builder
1294
- .ins()
1295
- .brif(hit, call_block, &[cached_code_ptr, vmctx], miss_block, &[]);
1296
-
1297
- // Miss block: compute actual callee code pointer and
1298
- // vmctx, and update cache if same-instance.
1299
-
1300
- self.builder.seal_block(miss_block);
1301
- self.builder.switch_to_block(miss_block);
1302
-
1303
- if let Some((code_ptr, callee_vmctx)) =
1304
- self.check_and_load_code_and_callee_vmctx(table_index, ty_index, callee, true)?
1305
- {
1306
- // If callee vmctx is equal to ours, update the cache.
1307
- let same_instance = self.builder.ins().icmp(IntCC::Equal, callee_vmctx, vmctx);
1308
-
1309
- self.builder.ins().brif(
1310
- same_instance,
1311
- update_block,
1312
- &[],
1313
- call_block,
1314
- &[code_ptr, callee_vmctx],
1315
- );
1316
-
1317
- self.builder.seal_block(update_block);
1318
- self.builder.switch_to_block(update_block);
1319
-
1320
- self.store_cached_indirect_index_and_code_ptr(slot, callee, code_ptr);
1321
- self.builder
1322
- .ins()
1323
- .jump(call_block, &[code_ptr, callee_vmctx]);
1324
- }
1325
-
1326
- // Call block: do the call.
1327
-
1328
- self.builder.seal_block(call_block);
1329
- self.builder.switch_to_block(call_block);
1330
-
1331
- let code_ptr = self
1332
- .builder
1333
- .append_block_param(call_block, self.env.pointer_type());
1334
- let callee_vmctx = self
1335
- .builder
1336
- .append_block_param(call_block, self.env.pointer_type());
1337
- (code_ptr, callee_vmctx)
1338
- } else {
1339
- match self.check_and_load_code_and_callee_vmctx(table_index, ty_index, callee, false)? {
1340
- Some(pair) => pair,
1341
- None => return Ok(None),
1342
- }
1343
- };
1344
-
1345
- self.unchecked_call_impl(sig_ref, code_ptr, callee_vmctx, call_args)
1346
- .map(Some)
1347
- }
1348
-
1349
- fn check_and_load_code_and_callee_vmctx(
1350
- &mut self,
1351
- table_index: TableIndex,
1352
- ty_index: TypeIndex,
1353
- callee: ir::Value,
1354
- cold_blocks: bool,
1355
- ) -> WasmResult<Option<(ir::Value, ir::Value)>> {
1356
- // Get the funcref pointer from the table.
1357
- let funcref_ptr = self.env.get_or_init_func_ref_table_elem(
1358
- self.builder,
1359
- table_index,
1360
- callee,
1361
- cold_blocks,
1362
- );
1363
-
1364
- // If necessary, check the signature.
1365
- let check = self.check_indirect_call_type_signature(table_index, ty_index, funcref_ptr);
1366
-
1367
- let trap_code = match check {
1368
- // `funcref_ptr` is checked at runtime that its type matches,
1369
- // meaning that if code gets this far it's guaranteed to not be
1370
- // null. That means nothing in `unchecked_call` can fail.
1371
- CheckIndirectCallTypeSignature::Runtime => None,
1372
-
1373
- // No type check was performed on `funcref_ptr` because it's
1374
- // statically known to have the right type. Note that whether or
1375
- // not the function is null is not necessarily tested so far since
1376
- // no type information was inspected.
1377
- //
1378
- // If the table may hold null functions, then further loads in
1379
- // `unchecked_call` may fail. If the table only holds non-null
1380
- // functions, though, then there's no possibility of a trap.
1381
- CheckIndirectCallTypeSignature::StaticMatch { may_be_null } => {
1382
- if may_be_null {
1383
- Some(ir::TrapCode::IndirectCallToNull)
1384
- } else {
1385
- None
1386
- }
1387
- }
1388
-
1389
- // Code has already trapped, so return nothing indicating that this
1390
- // is now unreachable code.
1391
- CheckIndirectCallTypeSignature::StaticTrap => return Ok(None),
1392
- };
1393
-
1394
- Ok(Some(self.load_code_and_vmctx(funcref_ptr, trap_code)))
1395
- }
1396
-
1397
- fn check_indirect_call_type_signature(
1398
- &mut self,
1399
- table_index: TableIndex,
1400
- ty_index: TypeIndex,
1401
- funcref_ptr: ir::Value,
1402
- ) -> CheckIndirectCallTypeSignature {
1403
- let pointer_type = self.env.pointer_type();
1404
- let table = &self.env.module.table_plans[table_index];
1405
- let sig_id_size = self.env.offsets.size_of_vmshared_type_index();
1406
- let sig_id_type = Type::int(u16::from(sig_id_size) * 8).unwrap();
1407
-
1408
- // Generate a rustc compile error here if more styles are added in
1409
- // the future as the following code is tailored to just this style.
1410
- let TableStyle::CallerChecksSignature = table.style;
1411
-
1412
- // Test if a type check is necessary for this table. If this table is a
1413
- // table of typed functions and that type matches `ty_index`, then
1414
- // there's no need to perform a typecheck.
1415
- match table.table.wasm_ty.heap_type {
1416
- // Functions do not have a statically known type in the table, a
1417
- // typecheck is required. Fall through to below to perform the
1418
- // actual typecheck.
1419
- WasmHeapType::Func => {}
1420
-
1421
- // Functions that have a statically known type are either going to
1422
- // always succeed or always fail. Figure out by inspecting the types
1423
- // further.
1424
- WasmHeapType::ConcreteFunc(EngineOrModuleTypeIndex::Module(table_ty)) => {
1425
- // If `ty_index` matches `table_ty`, then this call is
1426
- // statically known to have the right type, so no checks are
1427
- // necessary.
1428
- let specified_ty = self.env.module.types[ty_index];
1429
- if specified_ty == table_ty {
1430
- return CheckIndirectCallTypeSignature::StaticMatch {
1431
- may_be_null: table.table.wasm_ty.nullable,
1432
- };
1433
- }
1434
-
1435
- // Otherwise if the types don't match then either (a) this is a
1436
- // null pointer or (b) it's a pointer with the wrong type.
1437
- // Figure out which and trap here.
1438
- //
1439
- // If it's possible to have a null here then try to load the
1440
- // type information. If that fails due to the function being a
1441
- // null pointer, then this was a call to null. Otherwise if it
1442
- // succeeds then we know it won't match, so trap anyway.
1443
- if table.table.wasm_ty.nullable {
1444
- let mem_flags = ir::MemFlags::trusted().with_readonly();
1445
- self.builder.ins().load(
1446
- sig_id_type,
1447
- mem_flags.with_trap_code(Some(ir::TrapCode::IndirectCallToNull)),
1448
- funcref_ptr,
1449
- i32::from(self.env.offsets.ptr.vm_func_ref_type_index()),
1450
- );
1451
- }
1452
- self.builder.ins().trap(ir::TrapCode::BadSignature);
1453
- return CheckIndirectCallTypeSignature::StaticTrap;
1454
- }
1455
-
1456
- // Tables of `nofunc` can only be inhabited by null, so go ahead and
1457
- // trap with that.
1458
- WasmHeapType::NoFunc => {
1459
- assert!(table.table.wasm_ty.nullable);
1460
- self.builder.ins().trap(ir::TrapCode::IndirectCallToNull);
1461
- return CheckIndirectCallTypeSignature::StaticTrap;
1462
- }
1463
-
1464
- // Engine-indexed types don't show up until runtime and it's a Wasm
1465
- // validation error to perform a call through a non-function table,
1466
- // so these cases are dynamically not reachable.
1467
- WasmHeapType::ConcreteFunc(EngineOrModuleTypeIndex::Engine(_))
1468
- | WasmHeapType::ConcreteFunc(EngineOrModuleTypeIndex::RecGroup(_))
1469
- | WasmHeapType::Extern
1470
- | WasmHeapType::NoExtern
1471
- | WasmHeapType::Any
1472
- | WasmHeapType::Eq
1473
- | WasmHeapType::I31
1474
- | WasmHeapType::Array
1475
- | WasmHeapType::ConcreteArray(_)
1476
- | WasmHeapType::Struct
1477
- | WasmHeapType::ConcreteStruct(_)
1478
- | WasmHeapType::None => {
1479
- unreachable!()
1480
- }
1481
- }
1482
-
1483
- let vmctx = self.env.vmctx(self.builder.func);
1484
- let base = self.builder.ins().global_value(pointer_type, vmctx);
1485
-
1486
- // Load the caller ID. This requires loading the `*mut VMFuncRef` base
1487
- // pointer from `VMContext` and then loading, based on `SignatureIndex`,
1488
- // the corresponding entry.
1489
- let mem_flags = ir::MemFlags::trusted().with_readonly();
1490
- let signatures = self.builder.ins().load(
1491
- pointer_type,
1492
- mem_flags,
1493
- base,
1494
- i32::try_from(self.env.offsets.vmctx_type_ids_array()).unwrap(),
1495
- );
1496
- let sig_index = self.env.module.types[ty_index];
1497
- let offset =
1498
- i32::try_from(sig_index.as_u32().checked_mul(sig_id_type.bytes()).unwrap()).unwrap();
1499
- let caller_sig_id = self
1500
- .builder
1501
- .ins()
1502
- .load(sig_id_type, mem_flags, signatures, offset);
1503
-
1504
- // Load the callee ID.
1505
- //
1506
- // Note that the callee may be null in which case this load may
1507
- // trap. If so use the `IndirectCallToNull` trap code.
1508
- let mem_flags = ir::MemFlags::trusted().with_readonly();
1509
- let callee_sig_id = self.builder.ins().load(
1510
- sig_id_type,
1511
- mem_flags.with_trap_code(Some(ir::TrapCode::IndirectCallToNull)),
1512
- funcref_ptr,
1513
- i32::from(self.env.offsets.ptr.vm_func_ref_type_index()),
1514
- );
1515
-
1516
- // Check that they match.
1517
- let cmp = self
1518
- .builder
1519
- .ins()
1520
- .icmp(IntCC::Equal, callee_sig_id, caller_sig_id);
1521
- self.builder.ins().trapz(cmp, ir::TrapCode::BadSignature);
1522
- CheckIndirectCallTypeSignature::Runtime
1523
- }
1524
-
1525
- /// Call a typed function reference.
1526
- pub fn call_ref(
1527
- mut self,
1528
- sig_ref: ir::SigRef,
1529
- callee: ir::Value,
1530
- args: &[ir::Value],
1531
- ) -> WasmResult<ir::Inst> {
1532
- // FIXME: the wasm type system tracks enough information to know whether
1533
- // `callee` is a null reference or not. In some situations it can be
1534
- // statically known here that `callee` cannot be null in which case this
1535
- // can be `None` instead. This requires feeding type information from
1536
- // wasmparser's validator into this function, however, which is not
1537
- // easily done at this time.
1538
- let callee_load_trap_code = Some(ir::TrapCode::NullReference);
1539
-
1540
- self.unchecked_call(sig_ref, callee, callee_load_trap_code, args)
1541
- }
1542
-
1543
- /// This calls a function by reference without checking the signature.
1544
- ///
1545
- /// It gets the function address, sets relevant flags, and passes the
1546
- /// special callee/caller vmctxs. It is used by both call_indirect (which
1547
- /// checks the signature) and call_ref (which doesn't).
1548
- fn unchecked_call(
1549
- &mut self,
1550
- sig_ref: ir::SigRef,
1551
- callee: ir::Value,
1552
- callee_load_trap_code: Option<ir::TrapCode>,
1553
- call_args: &[ir::Value],
1554
- ) -> WasmResult<ir::Inst> {
1555
- let (func_addr, callee_vmctx) = self.load_code_and_vmctx(callee, callee_load_trap_code);
1556
- self.unchecked_call_impl(sig_ref, func_addr, callee_vmctx, call_args)
1557
- }
1558
-
1559
- fn load_code_and_vmctx(
1560
- &mut self,
1561
- callee: ir::Value,
1562
- callee_load_trap_code: Option<ir::TrapCode>,
1563
- ) -> (ir::Value, ir::Value) {
1564
- let pointer_type = self.env.pointer_type();
1565
-
1566
- // Dereference callee pointer to get the function address.
1567
- //
1568
- // Note that this may trap if `callee` hasn't previously been verified
1569
- // to be non-null. This means that this load is annotated with an
1570
- // optional trap code provided by the caller of `unchecked_call` which
1571
- // will handle the case where this is either already known to be
1572
- // non-null or may trap.
1573
- let mem_flags = ir::MemFlags::trusted().with_readonly();
1574
- let func_addr = self.builder.ins().load(
1575
- pointer_type,
1576
- mem_flags.with_trap_code(callee_load_trap_code),
1577
- callee,
1578
- i32::from(self.env.offsets.ptr.vm_func_ref_wasm_call()),
1579
- );
1580
- let callee_vmctx = self.builder.ins().load(
1581
- pointer_type,
1582
- mem_flags,
1583
- callee,
1584
- i32::from(self.env.offsets.ptr.vm_func_ref_vmctx()),
1585
- );
1586
-
1587
- (func_addr, callee_vmctx)
1588
- }
1589
-
1590
- /// This calls a function by reference without checking the
1591
- /// signature, given the raw code pointer to the
1592
- /// Wasm-calling-convention entry point and the callee vmctx.
1593
- fn unchecked_call_impl(
1594
- &mut self,
1595
- sig_ref: ir::SigRef,
1596
- func_addr: ir::Value,
1597
- callee_vmctx: ir::Value,
1598
- call_args: &[ir::Value],
1599
- ) -> WasmResult<ir::Inst> {
1600
- let mut real_call_args = Vec::with_capacity(call_args.len() + 2);
1601
- let caller_vmctx = self
1602
- .builder
1603
- .func
1604
- .special_param(ArgumentPurpose::VMContext)
1605
- .unwrap();
1606
-
1607
- // First append the callee and caller vmctx addresses.
1608
- real_call_args.push(callee_vmctx);
1609
- real_call_args.push(caller_vmctx);
1610
-
1611
- // Then append the regular call arguments.
1612
- real_call_args.extend_from_slice(call_args);
1613
-
1614
- Ok(self.indirect_call_inst(sig_ref, func_addr, &real_call_args))
1615
- }
1616
-
1617
- fn direct_call_inst(&mut self, callee: ir::FuncRef, args: &[ir::Value]) -> ir::Inst {
1618
- if self.tail {
1619
- self.builder.ins().return_call(callee, args)
1620
- } else {
1621
- self.builder.ins().call(callee, args)
1622
- }
1623
- }
1624
-
1625
- fn indirect_call_inst(
1626
- &mut self,
1627
- sig_ref: ir::SigRef,
1628
- func_addr: ir::Value,
1629
- args: &[ir::Value],
1630
- ) -> ir::Inst {
1631
- if self.tail {
1632
- self.builder
1633
- .ins()
1634
- .return_call_indirect(sig_ref, func_addr, args)
1635
- } else {
1636
- self.builder.ins().call_indirect(sig_ref, func_addr, args)
1637
- }
1638
- }
1639
- }
1640
-
1641
- impl TypeConvert for FuncEnvironment<'_> {
1642
- fn lookup_heap_type(&self, ty: wasmparser::UnpackedIndex) -> WasmHeapType {
1643
- wasmtime_environ::WasmparserTypeConverter::new(self.types, self.module).lookup_heap_type(ty)
1644
- }
1645
- }
1646
-
1647
- impl<'module_environment> TargetEnvironment for FuncEnvironment<'module_environment> {
1648
- fn target_config(&self) -> TargetFrontendConfig {
1649
- self.isa.frontend_config()
1650
- }
1651
-
1652
- fn reference_type(&self, ty: WasmHeapType) -> ir::Type {
1653
- crate::reference_type(ty, self.pointer_type())
1654
- }
1655
-
1656
- fn heap_access_spectre_mitigation(&self) -> bool {
1657
- self.isa.flags().enable_heap_access_spectre_mitigation()
1658
- }
1659
-
1660
- fn proof_carrying_code(&self) -> bool {
1661
- self.isa.flags().enable_pcc()
1662
- }
1663
- }
1664
-
1665
- impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'module_environment> {
1666
- fn heaps(&self) -> &PrimaryMap<Heap, HeapData> {
1667
- &self.heaps
1668
- }
1669
-
1670
- fn is_wasm_parameter(&self, _signature: &ir::Signature, index: usize) -> bool {
1671
- // The first two parameters are the vmctx and caller vmctx. The rest are
1672
- // the wasm parameters.
1673
- index >= 2
1674
- }
1675
-
1676
- fn after_locals(&mut self, num_locals: usize) {
1677
- self.vmruntime_limits_ptr = Variable::new(num_locals);
1678
- self.fuel_var = Variable::new(num_locals + 1);
1679
- self.epoch_deadline_var = Variable::new(num_locals + 2);
1680
- self.epoch_ptr_var = Variable::new(num_locals + 3);
1681
- }
1682
-
1683
- fn translate_table_grow(
1684
- &mut self,
1685
- mut pos: cranelift_codegen::cursor::FuncCursor<'_>,
1686
- table_index: TableIndex,
1687
- delta: ir::Value,
1688
- init_value: ir::Value,
1689
- ) -> WasmResult<ir::Value> {
1690
- let ty = self.module.table_plans[table_index].table.wasm_ty.heap_type;
1691
- let grow = if ty.is_vmgcref_type() {
1692
- gc::gc_ref_table_grow_builtin(ty, self, &mut pos.func)?
1693
- } else {
1694
- debug_assert_eq!(ty.top(), WasmHeapTopType::Func);
1695
- self.builtin_functions.table_grow_func_ref(&mut pos.func)
1696
- };
1697
-
1698
- let vmctx = self.vmctx_val(&mut pos);
1699
-
1700
- let table_index_arg = pos.ins().iconst(I32, table_index.as_u32() as i64);
1701
- let call_inst = pos
1702
- .ins()
1703
- .call(grow, &[vmctx, table_index_arg, delta, init_value]);
1704
-
1705
- Ok(pos.func.dfg.first_result(call_inst))
1706
- }
1707
-
1708
- fn translate_table_get(
1709
- &mut self,
1710
- builder: &mut FunctionBuilder,
1711
- table_index: TableIndex,
1712
- index: ir::Value,
1713
- ) -> WasmResult<ir::Value> {
1714
- let plan = &self.module.table_plans[table_index];
1715
- self.ensure_table_exists(builder.func, table_index);
1716
- let table_data = self.tables[table_index].as_ref().unwrap();
1717
- let heap_ty = plan.table.wasm_ty.heap_type;
1718
- match heap_ty.top() {
1719
- // `i31ref`s never need barriers, and therefore don't need to go
1720
- // through the GC compiler.
1721
- WasmHeapTopType::Any if heap_ty == WasmHeapType::I31 => {
1722
- let (src, flags) = table_data.prepare_table_addr(
1723
- builder,
1724
- index,
1725
- self.pointer_type(),
1726
- self.isa.flags().enable_table_access_spectre_mitigation(),
1727
- );
1728
- gc::unbarriered_load_gc_ref(self, builder, WasmHeapType::I31, src, flags)
1729
- }
1730
-
1731
- // GC-managed types.
1732
- WasmHeapTopType::Any | WasmHeapTopType::Extern => {
1733
- let (src, flags) = table_data.prepare_table_addr(
1734
- builder,
1735
- index,
1736
- self.pointer_type(),
1737
- self.isa.flags().enable_table_access_spectre_mitigation(),
1738
- );
1739
- gc::gc_compiler(self).translate_read_gc_reference(
1740
- self,
1741
- builder,
1742
- plan.table.wasm_ty,
1743
- src,
1744
- flags,
1745
- )
1746
- }
1747
-
1748
- // Function types.
1749
- WasmHeapTopType::Func => match plan.style {
1750
- TableStyle::CallerChecksSignature => {
1751
- Ok(self.get_or_init_func_ref_table_elem(builder, table_index, index, false))
1752
- }
1753
- },
1754
- }
1755
- }
1756
-
1757
- fn translate_table_set(
1758
- &mut self,
1759
- builder: &mut FunctionBuilder,
1760
- table_index: TableIndex,
1761
- value: ir::Value,
1762
- index: ir::Value,
1763
- ) -> WasmResult<()> {
1764
- let pointer_type = self.pointer_type();
1765
- let plan = &self.module.table_plans[table_index];
1766
- self.ensure_table_exists(builder.func, table_index);
1767
- let table_data = self.tables[table_index].as_ref().unwrap();
1768
- let heap_ty = plan.table.wasm_ty.heap_type;
1769
- match heap_ty.top() {
1770
- // `i31ref`s never need GC barriers, and therefore don't need to go
1771
- // through the GC compiler.
1772
- WasmHeapTopType::Any if heap_ty == WasmHeapType::I31 => {
1773
- let (addr, flags) = table_data.prepare_table_addr(
1774
- builder,
1775
- index,
1776
- self.pointer_type(),
1777
- self.isa.flags().enable_table_access_spectre_mitigation(),
1778
- );
1779
- gc::unbarriered_store_gc_ref(self, builder, WasmHeapType::I31, addr, value, flags)
1780
- }
1781
-
1782
- // GC-managed types.
1783
- WasmHeapTopType::Any | WasmHeapTopType::Extern => {
1784
- let (dst, flags) = table_data.prepare_table_addr(
1785
- builder,
1786
- index,
1787
- self.pointer_type(),
1788
- self.isa.flags().enable_table_access_spectre_mitigation(),
1789
- );
1790
- gc::gc_compiler(self).translate_write_gc_reference(
1791
- self,
1792
- builder,
1793
- plan.table.wasm_ty,
1794
- dst,
1795
- value,
1796
- flags,
1797
- )
1798
- }
1799
-
1800
- // Function types.
1801
- WasmHeapTopType::Func => {
1802
- match plan.style {
1803
- TableStyle::CallerChecksSignature => {
1804
- let (elem_addr, flags) = table_data.prepare_table_addr(
1805
- builder,
1806
- index,
1807
- pointer_type,
1808
- self.isa.flags().enable_table_access_spectre_mitigation(),
1809
- );
1810
- // Set the "initialized bit". See doc-comment on
1811
- // `FUNCREF_INIT_BIT` in
1812
- // crates/environ/src/ref_bits.rs for details.
1813
- let value_with_init_bit = builder
1814
- .ins()
1815
- .bor_imm(value, Imm64::from(FUNCREF_INIT_BIT as i64));
1816
- builder
1817
- .ins()
1818
- .store(flags, value_with_init_bit, elem_addr, 0);
1819
- Ok(())
1820
- }
1821
- }
1822
- }
1823
- }
1824
- }
1825
-
1826
- fn translate_table_fill(
1827
- &mut self,
1828
- mut pos: cranelift_codegen::cursor::FuncCursor<'_>,
1829
- table_index: TableIndex,
1830
- dst: ir::Value,
1831
- val: ir::Value,
1832
- len: ir::Value,
1833
- ) -> WasmResult<()> {
1834
- let ty = self.module.table_plans[table_index].table.wasm_ty.heap_type;
1835
- let libcall = if ty.is_vmgcref_type() {
1836
- gc::gc_ref_table_fill_builtin(ty, self, &mut pos.func)?
1837
- } else {
1838
- debug_assert_eq!(ty.top(), WasmHeapTopType::Func);
1839
- self.builtin_functions.table_fill_func_ref(&mut pos.func)
1840
- };
1841
-
1842
- let vmctx = self.vmctx_val(&mut pos);
1843
-
1844
- let table_index_arg = pos.ins().iconst(I32, table_index.as_u32() as i64);
1845
- pos.ins()
1846
- .call(libcall, &[vmctx, table_index_arg, dst, val, len]);
1847
-
1848
- Ok(())
1849
- }
1850
-
1851
- fn translate_ref_i31(&mut self, mut pos: FuncCursor, val: ir::Value) -> WasmResult<ir::Value> {
1852
- let shifted = pos.ins().ishl_imm(val, 1);
1853
- let tagged = pos
1854
- .ins()
1855
- .bor_imm(shifted, i64::from(crate::I31_REF_DISCRIMINANT));
1856
- let ref_ty = self.reference_type(WasmHeapType::I31);
1857
- let extended = if ref_ty.bytes() > 4 {
1858
- pos.ins().uextend(ref_ty.as_int(), tagged)
1859
- } else {
1860
- tagged
1861
- };
1862
- let i31ref = pos.ins().bitcast(ref_ty, MemFlags::new(), extended);
1863
- Ok(i31ref)
1864
- }
1865
-
1866
- fn translate_i31_get_s(
1867
- &mut self,
1868
- mut pos: FuncCursor,
1869
- i31ref: ir::Value,
1870
- ) -> WasmResult<ir::Value> {
1871
- let val = self.i31_ref_to_unshifted_value(&mut pos, i31ref);
1872
- let shifted = pos.ins().sshr_imm(val, 1);
1873
- Ok(shifted)
1874
- }
1875
-
1876
- fn translate_i31_get_u(
1877
- &mut self,
1878
- mut pos: FuncCursor,
1879
- i31ref: ir::Value,
1880
- ) -> WasmResult<ir::Value> {
1881
- let val = self.i31_ref_to_unshifted_value(&mut pos, i31ref);
1882
- let shifted = pos.ins().ushr_imm(val, 1);
1883
- Ok(shifted)
1884
- }
1885
-
1886
- fn translate_ref_null(
1887
- &mut self,
1888
- mut pos: cranelift_codegen::cursor::FuncCursor,
1889
- ht: WasmHeapType,
1890
- ) -> WasmResult<ir::Value> {
1891
- Ok(match ht.top() {
1892
- WasmHeapTopType::Func => pos.ins().iconst(self.pointer_type(), 0),
1893
- WasmHeapTopType::Any | WasmHeapTopType::Extern => {
1894
- pos.ins().null(self.reference_type(ht))
1895
- }
1896
- })
1897
- }
1898
-
1899
- fn translate_ref_is_null(
1900
- &mut self,
1901
- mut pos: cranelift_codegen::cursor::FuncCursor,
1902
- value: ir::Value,
1903
- ) -> WasmResult<ir::Value> {
1904
- let bool_is_null = match pos.func.dfg.value_type(value) {
1905
- // `externref`
1906
- ty if ty.is_ref() => pos.ins().is_null(value),
1907
- // `funcref`
1908
- ty if ty == self.pointer_type() => {
1909
- pos.ins()
1910
- .icmp_imm(cranelift_codegen::ir::condcodes::IntCC::Equal, value, 0)
1911
- }
1912
- _ => unreachable!(),
1913
- };
1914
-
1915
- Ok(pos.ins().uextend(ir::types::I32, bool_is_null))
1916
- }
1917
-
1918
- fn translate_ref_func(
1919
- &mut self,
1920
- mut pos: cranelift_codegen::cursor::FuncCursor<'_>,
1921
- func_index: FuncIndex,
1922
- ) -> WasmResult<ir::Value> {
1923
- let func_index = pos.ins().iconst(I32, func_index.as_u32() as i64);
1924
- let ref_func = self.builtin_functions.ref_func(&mut pos.func);
1925
- let vmctx = self.vmctx_val(&mut pos);
1926
-
1927
- let call_inst = pos.ins().call(ref_func, &[vmctx, func_index]);
1928
- Ok(pos.func.dfg.first_result(call_inst))
1929
- }
1930
-
1931
- fn translate_custom_global_get(
1932
- &mut self,
1933
- mut pos: cranelift_codegen::cursor::FuncCursor<'_>,
1934
- index: cranelift_wasm::GlobalIndex,
1935
- ) -> WasmResult<ir::Value> {
1936
- let ty = self.module.globals[index].wasm_ty;
1937
- debug_assert!(
1938
- ty.is_vmgcref_type(),
1939
- "We only use GlobalVariable::Custom for VMGcRef types"
1940
- );
1941
-
1942
- // TODO: use `GcCompiler::translate_read_gc_reference` for GC-reference
1943
- // globals instead of a libcall.
1944
- let libcall = gc::gc_ref_global_get_builtin(ty, self, &mut pos.func)?;
1945
-
1946
- let vmctx = self.vmctx_val(&mut pos);
1947
-
1948
- let global_index_arg = pos.ins().iconst(I32, index.as_u32() as i64);
1949
- let call_inst = pos.ins().call(libcall, &[vmctx, global_index_arg]);
1950
-
1951
- Ok(pos.func.dfg.first_result(call_inst))
1952
- }
1953
-
1954
- fn translate_custom_global_set(
1955
- &mut self,
1956
- mut pos: cranelift_codegen::cursor::FuncCursor<'_>,
1957
- index: cranelift_wasm::GlobalIndex,
1958
- value: ir::Value,
1959
- ) -> WasmResult<()> {
1960
- let ty = self.module.globals[index].wasm_ty;
1961
- debug_assert!(
1962
- ty.is_vmgcref_type(),
1963
- "We only use GlobalVariable::Custom for VMGcRef types"
1964
- );
1965
-
1966
- // TODO: use `GcCompiler::translate_write_gc_reference` for GC-reference
1967
- // globals instead of a libcall.
1968
- let libcall = gc::gc_ref_global_set_builtin(ty, self, &mut pos.func)?;
1969
-
1970
- let vmctx = self.vmctx_val(&mut pos);
1971
-
1972
- let global_index_arg = pos.ins().iconst(I32, index.as_u32() as i64);
1973
- pos.ins().call(libcall, &[vmctx, global_index_arg, value]);
1974
-
1975
- Ok(())
1976
- }
1977
-
1978
- fn make_heap(&mut self, func: &mut ir::Function, index: MemoryIndex) -> WasmResult<Heap> {
1979
- let pointer_type = self.pointer_type();
1980
- let is_shared = self.module.memory_plans[index].memory.shared;
1981
-
1982
- let min_size = self.module.memory_plans[index]
1983
- .memory
1984
- .minimum
1985
- .checked_mul(u64::from(WASM_PAGE_SIZE))
1986
- .unwrap_or_else(|| {
1987
- // The only valid Wasm memory size that won't fit in a 64-bit
1988
- // integer is the maximum memory64 size (2^64) which is one
1989
- // larger than `u64::MAX` (2^64 - 1). In this case, just say the
1990
- // minimum heap size is `u64::MAX`.
1991
- debug_assert_eq!(self.module.memory_plans[index].memory.minimum, 1 << 48);
1992
- u64::MAX
1993
- });
1994
-
1995
- let max_size = self.module.memory_plans[index]
1996
- .memory
1997
- .maximum
1998
- .and_then(|max| max.checked_mul(u64::from(WASM_PAGE_SIZE)));
1999
-
2000
- let (ptr, base_offset, current_length_offset, ptr_memtype) = {
2001
- let vmctx = self.vmctx(func);
2002
- if let Some(def_index) = self.module.defined_memory_index(index) {
2003
- if is_shared {
2004
- // As with imported memory, the `VMMemoryDefinition` for a
2005
- // shared memory is stored elsewhere. We store a `*mut
2006
- // VMMemoryDefinition` to it and dereference that when
2007
- // atomically growing it.
2008
- let from_offset = self.offsets.vmctx_vmmemory_pointer(def_index);
2009
- let (memory, def_mt) = self.load_pointer_with_memtypes(
2010
- func,
2011
- vmctx,
2012
- from_offset,
2013
- true,
2014
- self.pcc_vmctx_memtype,
2015
- );
2016
- let base_offset = i32::from(self.offsets.ptr.vmmemory_definition_base());
2017
- let current_length_offset =
2018
- i32::from(self.offsets.ptr.vmmemory_definition_current_length());
2019
- (memory, base_offset, current_length_offset, def_mt)
2020
- } else {
2021
- let owned_index = self.module.owned_memory_index(def_index);
2022
- let owned_base_offset =
2023
- self.offsets.vmctx_vmmemory_definition_base(owned_index);
2024
- let owned_length_offset = self
2025
- .offsets
2026
- .vmctx_vmmemory_definition_current_length(owned_index);
2027
- let current_base_offset = i32::try_from(owned_base_offset).unwrap();
2028
- let current_length_offset = i32::try_from(owned_length_offset).unwrap();
2029
- (
2030
- vmctx,
2031
- current_base_offset,
2032
- current_length_offset,
2033
- self.pcc_vmctx_memtype,
2034
- )
2035
- }
2036
- } else {
2037
- let from_offset = self.offsets.vmctx_vmmemory_import_from(index);
2038
- let (memory, def_mt) = self.load_pointer_with_memtypes(
2039
- func,
2040
- vmctx,
2041
- from_offset,
2042
- true,
2043
- self.pcc_vmctx_memtype,
2044
- );
2045
- let base_offset = i32::from(self.offsets.ptr.vmmemory_definition_base());
2046
- let current_length_offset =
2047
- i32::from(self.offsets.ptr.vmmemory_definition_current_length());
2048
- (memory, base_offset, current_length_offset, def_mt)
2049
- }
2050
- };
2051
-
2052
- // If we have a declared maximum, we can make this a "static" heap, which is
2053
- // allocated up front and never moved.
2054
- let (offset_guard_size, heap_style, readonly_base, base_fact, memory_type) =
2055
- match self.module.memory_plans[index] {
2056
- MemoryPlan {
2057
- style: MemoryStyle::Dynamic { .. },
2058
- offset_guard_size,
2059
- pre_guard_size: _,
2060
- memory: _,
2061
- } => {
2062
- let heap_bound = func.create_global_value(ir::GlobalValueData::Load {
2063
- base: ptr,
2064
- offset: Offset32::new(current_length_offset),
2065
- global_type: pointer_type,
2066
- flags: MemFlags::trusted(),
2067
- });
2068
-
2069
- let (base_fact, data_mt) = if let Some(ptr_memtype) = ptr_memtype {
2070
- // Create a memtype representing the untyped memory region.
2071
- let data_mt = func.create_memory_type(ir::MemoryTypeData::DynamicMemory {
2072
- gv: heap_bound,
2073
- size: offset_guard_size,
2074
- });
2075
- // This fact applies to any pointer to the start of the memory.
2076
- let base_fact = ir::Fact::dynamic_base_ptr(data_mt);
2077
- // This fact applies to the length.
2078
- let length_fact = ir::Fact::global_value(
2079
- u16::try_from(self.isa.pointer_type().bits()).unwrap(),
2080
- heap_bound,
2081
- );
2082
- // Create a field in the vmctx for the base pointer.
2083
- match &mut func.memory_types[ptr_memtype] {
2084
- ir::MemoryTypeData::Struct { size, fields } => {
2085
- let base_offset = u64::try_from(base_offset).unwrap();
2086
- fields.push(ir::MemoryTypeField {
2087
- offset: base_offset,
2088
- ty: self.isa.pointer_type(),
2089
- // Read-only field from the PoV of PCC checks:
2090
- // don't allow stores to this field. (Even if
2091
- // it is a dynamic memory whose base can
2092
- // change, that update happens inside the
2093
- // runtime, not in generated code.)
2094
- readonly: true,
2095
- fact: Some(base_fact.clone()),
2096
- });
2097
- let current_length_offset =
2098
- u64::try_from(current_length_offset).unwrap();
2099
- fields.push(ir::MemoryTypeField {
2100
- offset: current_length_offset,
2101
- ty: self.isa.pointer_type(),
2102
- // As above, read-only; only the runtime modifies it.
2103
- readonly: true,
2104
- fact: Some(length_fact),
2105
- });
2106
-
2107
- let pointer_size = u64::from(self.isa.pointer_type().bytes());
2108
- let fields_end = std::cmp::max(
2109
- base_offset + pointer_size,
2110
- current_length_offset + pointer_size,
2111
- );
2112
- *size = std::cmp::max(*size, fields_end);
2113
- }
2114
- _ => {
2115
- panic!("Bad memtype");
2116
- }
2117
- }
2118
- // Apply a fact to the base pointer.
2119
- (Some(base_fact), Some(data_mt))
2120
- } else {
2121
- (None, None)
2122
- };
2123
-
2124
- (
2125
- offset_guard_size,
2126
- HeapStyle::Dynamic {
2127
- bound_gv: heap_bound,
2128
- },
2129
- false,
2130
- base_fact,
2131
- data_mt,
2132
- )
2133
- }
2134
- MemoryPlan {
2135
- style: MemoryStyle::Static { bound: bound_pages },
2136
- offset_guard_size,
2137
- pre_guard_size: _,
2138
- memory: _,
2139
- } => {
2140
- let bound_bytes = u64::from(bound_pages) * u64::from(WASM_PAGE_SIZE);
2141
- let (base_fact, data_mt) = if let Some(ptr_memtype) = ptr_memtype {
2142
- // Create a memtype representing the untyped memory region.
2143
- let data_mt = func.create_memory_type(ir::MemoryTypeData::Memory {
2144
- size: bound_bytes
2145
- .checked_add(offset_guard_size)
2146
- .expect("Memory plan has overflowing size plus guard"),
2147
- });
2148
- // This fact applies to any pointer to the start of the memory.
2149
- let base_fact = Fact::Mem {
2150
- ty: data_mt,
2151
- min_offset: 0,
2152
- max_offset: 0,
2153
- nullable: false,
2154
- };
2155
- // Create a field in the vmctx for the base pointer.
2156
- match &mut func.memory_types[ptr_memtype] {
2157
- ir::MemoryTypeData::Struct { size, fields } => {
2158
- let offset = u64::try_from(base_offset).unwrap();
2159
- fields.push(ir::MemoryTypeField {
2160
- offset,
2161
- ty: self.isa.pointer_type(),
2162
- // Read-only field from the PoV of PCC checks:
2163
- // don't allow stores to this field. (Even if
2164
- // it is a dynamic memory whose base can
2165
- // change, that update happens inside the
2166
- // runtime, not in generated code.)
2167
- readonly: true,
2168
- fact: Some(base_fact.clone()),
2169
- });
2170
- *size = std::cmp::max(
2171
- *size,
2172
- offset + u64::from(self.isa.pointer_type().bytes()),
2173
- );
2174
- }
2175
- _ => {
2176
- panic!("Bad memtype");
2177
- }
2178
- }
2179
- // Apply a fact to the base pointer.
2180
- (Some(base_fact), Some(data_mt))
2181
- } else {
2182
- (None, None)
2183
- };
2184
- (
2185
- offset_guard_size,
2186
- HeapStyle::Static { bound: bound_bytes },
2187
- true,
2188
- base_fact,
2189
- data_mt,
2190
- )
2191
- }
2192
- };
2193
-
2194
- let mut flags = MemFlags::trusted().with_checked();
2195
- if readonly_base {
2196
- flags.set_readonly();
2197
- }
2198
- let heap_base = func.create_global_value(ir::GlobalValueData::Load {
2199
- base: ptr,
2200
- offset: Offset32::new(base_offset),
2201
- global_type: pointer_type,
2202
- flags,
2203
- });
2204
- func.global_value_facts[heap_base] = base_fact;
2205
-
2206
- Ok(self.heaps.push(HeapData {
2207
- base: heap_base,
2208
- min_size,
2209
- max_size,
2210
- offset_guard_size,
2211
- style: heap_style,
2212
- index_type: self.memory_index_type(index),
2213
- memory_type,
2214
- }))
2215
- }
2216
-
2217
- fn make_global(
2218
- &mut self,
2219
- func: &mut ir::Function,
2220
- index: GlobalIndex,
2221
- ) -> WasmResult<GlobalVariable> {
2222
- let ty = self.module.globals[index].wasm_ty;
2223
-
2224
- if ty.is_vmgcref_type() {
2225
- // Although reference-typed globals live at the same memory location as
2226
- // any other type of global at the same index would, getting or
2227
- // setting them requires ref counting barriers. Therefore, we need
2228
- // to use `GlobalVariable::Custom`, as that is the only kind of
2229
- // `GlobalVariable` for which `cranelift-wasm` supports custom
2230
- // access translation.
2231
- return Ok(GlobalVariable::Custom);
2232
- }
2233
-
2234
- let (gv, offset) = self.get_global_location(func, index);
2235
- Ok(GlobalVariable::Memory {
2236
- gv,
2237
- offset: offset.into(),
2238
- ty: super::value_type(self.isa, ty),
2239
- })
2240
- }
2241
-
2242
- fn make_indirect_sig(
2243
- &mut self,
2244
- func: &mut ir::Function,
2245
- index: TypeIndex,
2246
- ) -> WasmResult<ir::SigRef> {
2247
- let index = self.module.types[index];
2248
- let sig =
2249
- crate::wasm_call_signature(self.isa, self.types[index].unwrap_func(), &self.tunables);
2250
- Ok(func.import_signature(sig))
2251
- }
2252
-
2253
- fn make_direct_func(
2254
- &mut self,
2255
- func: &mut ir::Function,
2256
- index: FuncIndex,
2257
- ) -> WasmResult<ir::FuncRef> {
2258
- let sig = self.module.functions[index].signature;
2259
- let sig =
2260
- crate::wasm_call_signature(self.isa, self.types[sig].unwrap_func(), &self.tunables);
2261
- let signature = func.import_signature(sig);
2262
- let name =
2263
- ir::ExternalName::User(func.declare_imported_user_function(ir::UserExternalName {
2264
- namespace: crate::NS_WASM_FUNC,
2265
- index: index.as_u32(),
2266
- }));
2267
- Ok(func.import_function(ir::ExtFuncData {
2268
- name,
2269
- signature,
2270
-
2271
- // The value of this flag determines the codegen for calls to this
2272
- // function. If this flag is `false` then absolute relocations will
2273
- // be generated for references to the function, which requires
2274
- // load-time relocation resolution. If this flag is set to `true`
2275
- // then relative relocations are emitted which can be resolved at
2276
- // object-link-time, just after all functions are compiled.
2277
- //
2278
- // This flag is set to `true` for functions defined in the object
2279
- // we'll be defining in this compilation unit, or everything local
2280
- // to the wasm module. This means that between functions in a wasm
2281
- // module there's relative calls encoded. All calls external to a
2282
- // wasm module (e.g. imports or libcalls) are either encoded through
2283
- // the `VMContext` as relative jumps (hence no relocations) or
2284
- // they're libcalls with absolute relocations.
2285
- colocated: self.module.defined_func_index(index).is_some(),
2286
- }))
2287
- }
2288
-
2289
- fn translate_call_indirect(
2290
- &mut self,
2291
- builder: &mut FunctionBuilder,
2292
- table_index: TableIndex,
2293
- ty_index: TypeIndex,
2294
- sig_ref: ir::SigRef,
2295
- callee: ir::Value,
2296
- call_args: &[ir::Value],
2297
- ) -> WasmResult<Option<ir::Inst>> {
2298
- Call::new(builder, self).indirect_call(table_index, ty_index, sig_ref, callee, call_args)
2299
- }
2300
-
2301
- fn translate_call(
2302
- &mut self,
2303
- builder: &mut FunctionBuilder,
2304
- callee_index: FuncIndex,
2305
- callee: ir::FuncRef,
2306
- call_args: &[ir::Value],
2307
- ) -> WasmResult<ir::Inst> {
2308
- Call::new(builder, self).direct_call(callee_index, callee, call_args)
2309
- }
2310
-
2311
- fn translate_call_ref(
2312
- &mut self,
2313
- builder: &mut FunctionBuilder,
2314
- sig_ref: ir::SigRef,
2315
- callee: ir::Value,
2316
- call_args: &[ir::Value],
2317
- ) -> WasmResult<ir::Inst> {
2318
- Call::new(builder, self).call_ref(sig_ref, callee, call_args)
2319
- }
2320
-
2321
- fn translate_return_call(
2322
- &mut self,
2323
- builder: &mut FunctionBuilder,
2324
- callee_index: FuncIndex,
2325
- callee: ir::FuncRef,
2326
- call_args: &[ir::Value],
2327
- ) -> WasmResult<()> {
2328
- Call::new_tail(builder, self).direct_call(callee_index, callee, call_args)?;
2329
- Ok(())
2330
- }
2331
-
2332
- fn translate_return_call_indirect(
2333
- &mut self,
2334
- builder: &mut FunctionBuilder,
2335
- table_index: TableIndex,
2336
- ty_index: TypeIndex,
2337
- sig_ref: ir::SigRef,
2338
- callee: ir::Value,
2339
- call_args: &[ir::Value],
2340
- ) -> WasmResult<()> {
2341
- Call::new_tail(builder, self).indirect_call(
2342
- table_index,
2343
- ty_index,
2344
- sig_ref,
2345
- callee,
2346
- call_args,
2347
- )?;
2348
- Ok(())
2349
- }
2350
-
2351
- fn translate_return_call_ref(
2352
- &mut self,
2353
- builder: &mut FunctionBuilder,
2354
- sig_ref: ir::SigRef,
2355
- callee: ir::Value,
2356
- call_args: &[ir::Value],
2357
- ) -> WasmResult<()> {
2358
- Call::new_tail(builder, self).call_ref(sig_ref, callee, call_args)?;
2359
- Ok(())
2360
- }
2361
-
2362
- fn translate_memory_grow(
2363
- &mut self,
2364
- mut pos: FuncCursor<'_>,
2365
- index: MemoryIndex,
2366
- _heap: Heap,
2367
- val: ir::Value,
2368
- ) -> WasmResult<ir::Value> {
2369
- let memory_grow = self.builtin_functions.memory32_grow(&mut pos.func);
2370
- let index_arg = index.index();
2371
-
2372
- let memory_index = pos.ins().iconst(I32, index_arg as i64);
2373
- let vmctx = self.vmctx_val(&mut pos);
2374
-
2375
- let val = self.cast_memory_index_to_i64(&mut pos, val, index);
2376
- let call_inst = pos.ins().call(memory_grow, &[vmctx, val, memory_index]);
2377
- let result = *pos.func.dfg.inst_results(call_inst).first().unwrap();
2378
- Ok(self.cast_pointer_to_memory_index(pos, result, index))
2379
- }
2380
-
2381
- fn translate_memory_size(
2382
- &mut self,
2383
- mut pos: FuncCursor<'_>,
2384
- index: MemoryIndex,
2385
- _heap: Heap,
2386
- ) -> WasmResult<ir::Value> {
2387
- let pointer_type = self.pointer_type();
2388
- let vmctx = self.vmctx(&mut pos.func);
2389
- let is_shared = self.module.memory_plans[index].memory.shared;
2390
- let base = pos.ins().global_value(pointer_type, vmctx);
2391
- let current_length_in_bytes = match self.module.defined_memory_index(index) {
2392
- Some(def_index) => {
2393
- if is_shared {
2394
- let offset =
2395
- i32::try_from(self.offsets.vmctx_vmmemory_pointer(def_index)).unwrap();
2396
- let vmmemory_ptr =
2397
- pos.ins()
2398
- .load(pointer_type, ir::MemFlags::trusted(), base, offset);
2399
- let vmmemory_definition_offset =
2400
- i64::from(self.offsets.ptr.vmmemory_definition_current_length());
2401
- let vmmemory_definition_ptr =
2402
- pos.ins().iadd_imm(vmmemory_ptr, vmmemory_definition_offset);
2403
- // This atomic access of the
2404
- // `VMMemoryDefinition::current_length` is direct; no bounds
2405
- // check is needed. This is possible because shared memory
2406
- // has a static size (the maximum is always known). Shared
2407
- // memory is thus built with a static memory plan and no
2408
- // bounds-checked version of this is implemented.
2409
- pos.ins().atomic_load(
2410
- pointer_type,
2411
- ir::MemFlags::trusted(),
2412
- vmmemory_definition_ptr,
2413
- )
2414
- } else {
2415
- let owned_index = self.module.owned_memory_index(def_index);
2416
- let offset = i32::try_from(
2417
- self.offsets
2418
- .vmctx_vmmemory_definition_current_length(owned_index),
2419
- )
2420
- .unwrap();
2421
- pos.ins()
2422
- .load(pointer_type, ir::MemFlags::trusted(), base, offset)
2423
- }
2424
- }
2425
- None => {
2426
- let offset = i32::try_from(self.offsets.vmctx_vmmemory_import_from(index)).unwrap();
2427
- let vmmemory_ptr =
2428
- pos.ins()
2429
- .load(pointer_type, ir::MemFlags::trusted(), base, offset);
2430
- if is_shared {
2431
- let vmmemory_definition_offset =
2432
- i64::from(self.offsets.ptr.vmmemory_definition_current_length());
2433
- let vmmemory_definition_ptr =
2434
- pos.ins().iadd_imm(vmmemory_ptr, vmmemory_definition_offset);
2435
- pos.ins().atomic_load(
2436
- pointer_type,
2437
- ir::MemFlags::trusted(),
2438
- vmmemory_definition_ptr,
2439
- )
2440
- } else {
2441
- pos.ins().load(
2442
- pointer_type,
2443
- ir::MemFlags::trusted(),
2444
- vmmemory_ptr,
2445
- i32::from(self.offsets.ptr.vmmemory_definition_current_length()),
2446
- )
2447
- }
2448
- }
2449
- };
2450
- let current_length_in_pages = pos
2451
- .ins()
2452
- .udiv_imm(current_length_in_bytes, i64::from(WASM_PAGE_SIZE));
2453
-
2454
- Ok(self.cast_pointer_to_memory_index(pos, current_length_in_pages, index))
2455
- }
2456
-
2457
- fn translate_memory_copy(
2458
- &mut self,
2459
- mut pos: FuncCursor,
2460
- src_index: MemoryIndex,
2461
- _src_heap: Heap,
2462
- dst_index: MemoryIndex,
2463
- _dst_heap: Heap,
2464
- dst: ir::Value,
2465
- src: ir::Value,
2466
- len: ir::Value,
2467
- ) -> WasmResult<()> {
2468
- let vmctx = self.vmctx_val(&mut pos);
2469
-
2470
- let memory_copy = self.builtin_functions.memory_copy(&mut pos.func);
2471
- let dst = self.cast_memory_index_to_i64(&mut pos, dst, dst_index);
2472
- let src = self.cast_memory_index_to_i64(&mut pos, src, src_index);
2473
- // The length is 32-bit if either memory is 32-bit, but if they're both
2474
- // 64-bit then it's 64-bit. Our intrinsic takes a 64-bit length for
2475
- // compatibility across all memories, so make sure that it's cast
2476
- // correctly here (this is a bit special so no generic helper unlike for
2477
- // `dst`/`src` above)
2478
- let len = if self.memory_index_type(dst_index) == I64
2479
- && self.memory_index_type(src_index) == I64
2480
- {
2481
- len
2482
- } else {
2483
- pos.ins().uextend(I64, len)
2484
- };
2485
- let src_index = pos.ins().iconst(I32, i64::from(src_index.as_u32()));
2486
- let dst_index = pos.ins().iconst(I32, i64::from(dst_index.as_u32()));
2487
- pos.ins()
2488
- .call(memory_copy, &[vmctx, dst_index, dst, src_index, src, len]);
2489
-
2490
- Ok(())
2491
- }
2492
-
2493
- fn translate_memory_fill(
2494
- &mut self,
2495
- mut pos: FuncCursor,
2496
- memory_index: MemoryIndex,
2497
- _heap: Heap,
2498
- dst: ir::Value,
2499
- val: ir::Value,
2500
- len: ir::Value,
2501
- ) -> WasmResult<()> {
2502
- let memory_fill = self.builtin_functions.memory_fill(&mut pos.func);
2503
- let dst = self.cast_memory_index_to_i64(&mut pos, dst, memory_index);
2504
- let len = self.cast_memory_index_to_i64(&mut pos, len, memory_index);
2505
- let memory_index_arg = pos.ins().iconst(I32, i64::from(memory_index.as_u32()));
2506
-
2507
- let vmctx = self.vmctx_val(&mut pos);
2508
-
2509
- pos.ins()
2510
- .call(memory_fill, &[vmctx, memory_index_arg, dst, val, len]);
2511
-
2512
- Ok(())
2513
- }
2514
-
2515
- fn translate_memory_init(
2516
- &mut self,
2517
- mut pos: FuncCursor,
2518
- memory_index: MemoryIndex,
2519
- _heap: Heap,
2520
- seg_index: u32,
2521
- dst: ir::Value,
2522
- src: ir::Value,
2523
- len: ir::Value,
2524
- ) -> WasmResult<()> {
2525
- let memory_init = self.builtin_functions.memory_init(&mut pos.func);
2526
-
2527
- let memory_index_arg = pos.ins().iconst(I32, memory_index.index() as i64);
2528
- let seg_index_arg = pos.ins().iconst(I32, seg_index as i64);
2529
-
2530
- let vmctx = self.vmctx_val(&mut pos);
2531
-
2532
- let dst = self.cast_memory_index_to_i64(&mut pos, dst, memory_index);
2533
-
2534
- pos.ins().call(
2535
- memory_init,
2536
- &[vmctx, memory_index_arg, seg_index_arg, dst, src, len],
2537
- );
2538
-
2539
- Ok(())
2540
- }
2541
-
2542
- fn translate_data_drop(&mut self, mut pos: FuncCursor, seg_index: u32) -> WasmResult<()> {
2543
- let data_drop = self.builtin_functions.data_drop(&mut pos.func);
2544
- let seg_index_arg = pos.ins().iconst(I32, seg_index as i64);
2545
- let vmctx = self.vmctx_val(&mut pos);
2546
- pos.ins().call(data_drop, &[vmctx, seg_index_arg]);
2547
- Ok(())
2548
- }
2549
-
2550
- fn translate_table_size(
2551
- &mut self,
2552
- pos: FuncCursor,
2553
- table_index: TableIndex,
2554
- ) -> WasmResult<ir::Value> {
2555
- self.ensure_table_exists(pos.func, table_index);
2556
- let table_data = self.tables[table_index].as_ref().unwrap();
2557
- Ok(table_data.bound.bound(pos, ir::types::I32))
2558
- }
2559
-
2560
- fn translate_table_copy(
2561
- &mut self,
2562
- mut pos: FuncCursor,
2563
- dst_table_index: TableIndex,
2564
- src_table_index: TableIndex,
2565
- dst: ir::Value,
2566
- src: ir::Value,
2567
- len: ir::Value,
2568
- ) -> WasmResult<()> {
2569
- let (table_copy, dst_table_index_arg, src_table_index_arg) =
2570
- self.get_table_copy_func(&mut pos.func, dst_table_index, src_table_index);
2571
-
2572
- let dst_table_index_arg = pos.ins().iconst(I32, dst_table_index_arg as i64);
2573
- let src_table_index_arg = pos.ins().iconst(I32, src_table_index_arg as i64);
2574
- let vmctx = self.vmctx_val(&mut pos);
2575
- pos.ins().call(
2576
- table_copy,
2577
- &[
2578
- vmctx,
2579
- dst_table_index_arg,
2580
- src_table_index_arg,
2581
- dst,
2582
- src,
2583
- len,
2584
- ],
2585
- );
2586
-
2587
- Ok(())
2588
- }
2589
-
2590
- fn translate_table_init(
2591
- &mut self,
2592
- mut pos: FuncCursor,
2593
- seg_index: u32,
2594
- table_index: TableIndex,
2595
- dst: ir::Value,
2596
- src: ir::Value,
2597
- len: ir::Value,
2598
- ) -> WasmResult<()> {
2599
- let table_init = self.builtin_functions.table_init(&mut pos.func);
2600
- let table_index_arg = pos.ins().iconst(I32, i64::from(table_index.as_u32()));
2601
- let seg_index_arg = pos.ins().iconst(I32, i64::from(seg_index));
2602
- let vmctx = self.vmctx_val(&mut pos);
2603
- pos.ins().call(
2604
- table_init,
2605
- &[vmctx, table_index_arg, seg_index_arg, dst, src, len],
2606
- );
2607
-
2608
- Ok(())
2609
- }
2610
-
2611
- fn translate_elem_drop(&mut self, mut pos: FuncCursor, elem_index: u32) -> WasmResult<()> {
2612
- let elem_drop = self.builtin_functions.elem_drop(&mut pos.func);
2613
- let elem_index_arg = pos.ins().iconst(I32, elem_index as i64);
2614
- let vmctx = self.vmctx_val(&mut pos);
2615
- pos.ins().call(elem_drop, &[vmctx, elem_index_arg]);
2616
- Ok(())
2617
- }
2618
-
2619
- fn translate_atomic_wait(
2620
- &mut self,
2621
- mut pos: FuncCursor,
2622
- memory_index: MemoryIndex,
2623
- _heap: Heap,
2624
- addr: ir::Value,
2625
- expected: ir::Value,
2626
- timeout: ir::Value,
2627
- ) -> WasmResult<ir::Value> {
2628
- #[cfg(feature = "threads")]
2629
- {
2630
- let addr = self.cast_memory_index_to_i64(&mut pos, addr, memory_index);
2631
- let implied_ty = pos.func.dfg.value_type(expected);
2632
- let (wait_func, memory_index) =
2633
- self.get_memory_atomic_wait(&mut pos.func, memory_index, implied_ty);
2634
-
2635
- let memory_index_arg = pos.ins().iconst(I32, memory_index as i64);
2636
-
2637
- let vmctx = self.vmctx_val(&mut pos);
2638
-
2639
- let call_inst = pos.ins().call(
2640
- wait_func,
2641
- &[vmctx, memory_index_arg, addr, expected, timeout],
2642
- );
2643
-
2644
- Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap())
2645
- }
2646
- #[cfg(not(feature = "threads"))]
2647
- {
2648
- let _ = (&mut pos, memory_index, addr, expected, timeout);
2649
- Err(wasmtime_environ::WasmError::Unsupported(
2650
- "threads support disabled at compile time".to_string(),
2651
- ))
2652
- }
2653
- }
2654
-
2655
- fn translate_atomic_notify(
2656
- &mut self,
2657
- mut pos: FuncCursor,
2658
- memory_index: MemoryIndex,
2659
- _heap: Heap,
2660
- addr: ir::Value,
2661
- count: ir::Value,
2662
- ) -> WasmResult<ir::Value> {
2663
- #[cfg(feature = "threads")]
2664
- {
2665
- let addr = self.cast_memory_index_to_i64(&mut pos, addr, memory_index);
2666
- let atomic_notify = self.builtin_functions.memory_atomic_notify(&mut pos.func);
2667
-
2668
- let memory_index_arg = pos.ins().iconst(I32, memory_index.index() as i64);
2669
- let vmctx = self.vmctx_val(&mut pos);
2670
- let call_inst = pos
2671
- .ins()
2672
- .call(atomic_notify, &[vmctx, memory_index_arg, addr, count]);
2673
-
2674
- Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap())
2675
- }
2676
- #[cfg(not(feature = "threads"))]
2677
- {
2678
- let _ = (&mut pos, memory_index, addr, count);
2679
- Err(wasmtime_environ::WasmError::Unsupported(
2680
- "threads support disabled at compile time".to_string(),
2681
- ))
2682
- }
2683
- }
2684
-
2685
- fn translate_loop_header(&mut self, builder: &mut FunctionBuilder) -> WasmResult<()> {
2686
- // Additionally if enabled check how much fuel we have remaining to see
2687
- // if we've run out by this point.
2688
- if self.tunables.consume_fuel {
2689
- self.fuel_check(builder);
2690
- }
2691
-
2692
- // If we are performing epoch-based interruption, check to see
2693
- // if the epoch counter has changed.
2694
- if self.tunables.epoch_interruption {
2695
- self.epoch_check(builder);
2696
- }
2697
-
2698
- Ok(())
2699
- }
2700
-
2701
- fn before_translate_operator(
2702
- &mut self,
2703
- op: &Operator,
2704
- builder: &mut FunctionBuilder,
2705
- state: &FuncTranslationState,
2706
- ) -> WasmResult<()> {
2707
- if self.tunables.consume_fuel {
2708
- self.fuel_before_op(op, builder, state.reachable());
2709
- }
2710
- Ok(())
2711
- }
2712
-
2713
- fn after_translate_operator(
2714
- &mut self,
2715
- op: &Operator,
2716
- builder: &mut FunctionBuilder,
2717
- state: &FuncTranslationState,
2718
- ) -> WasmResult<()> {
2719
- if self.tunables.consume_fuel && state.reachable() {
2720
- self.fuel_after_op(op, builder);
2721
- }
2722
- Ok(())
2723
- }
2724
-
2725
- fn before_unconditionally_trapping_memory_access(
2726
- &mut self,
2727
- builder: &mut FunctionBuilder,
2728
- ) -> WasmResult<()> {
2729
- if self.tunables.consume_fuel {
2730
- self.fuel_increment_var(builder);
2731
- self.fuel_save_from_var(builder);
2732
- }
2733
- Ok(())
2734
- }
2735
-
2736
- fn before_translate_function(
2737
- &mut self,
2738
- builder: &mut FunctionBuilder,
2739
- _state: &FuncTranslationState,
2740
- ) -> WasmResult<()> {
2741
- // If the `vmruntime_limits_ptr` variable will get used then we initialize
2742
- // it here.
2743
- if self.tunables.consume_fuel || self.tunables.epoch_interruption {
2744
- self.declare_vmruntime_limits_ptr(builder);
2745
- }
2746
- // Additionally we initialize `fuel_var` if it will get used.
2747
- if self.tunables.consume_fuel {
2748
- self.fuel_function_entry(builder);
2749
- }
2750
- // Initialize `epoch_var` with the current epoch.
2751
- if self.tunables.epoch_interruption {
2752
- self.epoch_function_entry(builder);
2753
- }
2754
-
2755
- #[cfg(feature = "wmemcheck")]
2756
- {
2757
- let func_name = self.current_func_name(builder);
2758
- if func_name == Some("malloc") {
2759
- self.check_malloc_start(builder);
2760
- } else if func_name == Some("free") {
2761
- self.check_free_start(builder);
2762
- }
2763
- }
2764
-
2765
- Ok(())
2766
- }
2767
-
2768
- fn after_translate_function(
2769
- &mut self,
2770
- builder: &mut FunctionBuilder,
2771
- state: &FuncTranslationState,
2772
- ) -> WasmResult<()> {
2773
- if self.tunables.consume_fuel && state.reachable() {
2774
- self.fuel_function_exit(builder);
2775
- }
2776
- Ok(())
2777
- }
2778
-
2779
- fn relaxed_simd_deterministic(&self) -> bool {
2780
- self.tunables.relaxed_simd_deterministic
2781
- }
2782
-
2783
- fn has_native_fma(&self) -> bool {
2784
- self.isa.has_native_fma()
2785
- }
2786
-
2787
- fn is_x86(&self) -> bool {
2788
- self.isa.triple().architecture == target_lexicon::Architecture::X86_64
2789
- }
2790
-
2791
- fn use_x86_blendv_for_relaxed_laneselect(&self, ty: Type) -> bool {
2792
- self.isa.has_x86_blendv_lowering(ty)
2793
- }
2794
-
2795
- fn use_x86_pshufb_for_relaxed_swizzle(&self) -> bool {
2796
- self.isa.has_x86_pshufb_lowering()
2797
- }
2798
-
2799
- fn use_x86_pmulhrsw_for_relaxed_q15mul(&self) -> bool {
2800
- self.isa.has_x86_pmulhrsw_lowering()
2801
- }
2802
-
2803
- fn use_x86_pmaddubsw_for_dot(&self) -> bool {
2804
- self.isa.has_x86_pmaddubsw_lowering()
2805
- }
2806
-
2807
- #[cfg(feature = "wmemcheck")]
2808
- fn handle_before_return(&mut self, retvals: &[ir::Value], builder: &mut FunctionBuilder) {
2809
- if self.wmemcheck {
2810
- let func_name = self.current_func_name(builder);
2811
- if func_name == Some("malloc") {
2812
- self.hook_malloc_exit(builder, retvals);
2813
- } else if func_name == Some("free") {
2814
- self.hook_free_exit(builder);
2815
- }
2816
- }
2817
- }
2818
-
2819
- #[cfg(feature = "wmemcheck")]
2820
- fn before_load(
2821
- &mut self,
2822
- builder: &mut FunctionBuilder,
2823
- val_size: u8,
2824
- addr: ir::Value,
2825
- offset: u64,
2826
- ) {
2827
- if self.wmemcheck {
2828
- let check_load = self.builtin_functions.check_load(builder.func);
2829
- let vmctx = self.vmctx_val(&mut builder.cursor());
2830
- let num_bytes = builder.ins().iconst(I32, val_size as i64);
2831
- let offset_val = builder.ins().iconst(I64, offset as i64);
2832
- builder
2833
- .ins()
2834
- .call(check_load, &[vmctx, num_bytes, addr, offset_val]);
2835
- }
2836
- }
2837
-
2838
- #[cfg(feature = "wmemcheck")]
2839
- fn before_store(
2840
- &mut self,
2841
- builder: &mut FunctionBuilder,
2842
- val_size: u8,
2843
- addr: ir::Value,
2844
- offset: u64,
2845
- ) {
2846
- if self.wmemcheck {
2847
- let check_store = self.builtin_functions.check_store(builder.func);
2848
- let vmctx = self.vmctx_val(&mut builder.cursor());
2849
- let num_bytes = builder.ins().iconst(I32, val_size as i64);
2850
- let offset_val = builder.ins().iconst(I64, offset as i64);
2851
- builder
2852
- .ins()
2853
- .call(check_store, &[vmctx, num_bytes, addr, offset_val]);
2854
- }
2855
- }
2856
-
2857
- #[cfg(feature = "wmemcheck")]
2858
- fn update_global(
2859
- &mut self,
2860
- builder: &mut FunctionBuilder,
2861
- global_index: u32,
2862
- value: ir::Value,
2863
- ) {
2864
- if self.wmemcheck {
2865
- if global_index == 0 {
2866
- // We are making the assumption that global 0 is the auxiliary stack pointer.
2867
- let update_stack_pointer =
2868
- self.builtin_functions.update_stack_pointer(builder.func);
2869
- let vmctx = self.vmctx_val(&mut builder.cursor());
2870
- builder.ins().call(update_stack_pointer, &[vmctx, value]);
2871
- }
2872
- }
2873
- }
2874
-
2875
- #[cfg(feature = "wmemcheck")]
2876
- fn before_memory_grow(
2877
- &mut self,
2878
- builder: &mut FunctionBuilder,
2879
- num_pages: ir::Value,
2880
- mem_index: MemoryIndex,
2881
- ) {
2882
- if self.wmemcheck && mem_index.as_u32() == 0 {
2883
- let update_mem_size = self.builtin_functions.update_mem_size(builder.func);
2884
- let vmctx = self.vmctx_val(&mut builder.cursor());
2885
- builder.ins().call(update_mem_size, &[vmctx, num_pages]);
2886
- }
2887
- }
2888
- }