wasmtime 21.0.1 → 23.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2477) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +129 -99
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cranelift-bforest-0.110.2/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.110.2/Cargo.toml +50 -0
  6. data/ext/cargo-vendor/cranelift-bitset-0.110.2/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-bitset-0.110.2/Cargo.toml +60 -0
  8. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/compound.rs +508 -0
  9. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/lib.rs +19 -0
  10. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/scalar.rs +575 -0
  11. data/ext/cargo-vendor/cranelift-bitset-0.110.2/tests/bitset.rs +78 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.110.2/.cargo-checksum.json +1 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.110.2/Cargo.toml +206 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/binemit/stack_map.rs +141 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/context.rs +390 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/data_value.rs +410 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/dominator_tree.rs +727 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/egraph.rs +835 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/inst_predicates.rs +230 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/dfg.rs +1806 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/extfunc.rs +402 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/globalvalue.rs +147 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/immediates.rs +2109 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/instructions.rs +1015 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/jumptable.rs +168 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/mod.rs +110 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/stackslot.rs +208 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/trapcode.rs +148 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/types.rs +643 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/user_stack_maps.rs +101 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/abi.rs +1556 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/args.rs +711 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit.rs +3605 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit_tests.rs +7927 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/imms.rs +1213 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/mod.rs +3058 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/regs.rs +269 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst.isle +4221 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/lower.isle +2969 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/mod.rs +259 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/pcc.rs +568 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/mod.rs +462 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/abi.rs +1029 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/args.rs +2054 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit.rs +2741 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit_tests.rs +2219 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/encode.rs +675 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/imms.rs +374 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/mod.rs +1935 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/vector.rs +1150 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst.isle +3153 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst_vector.isle +1907 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower/isle.rs +654 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower.isle +2953 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/mod.rs +265 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/abi.rs +1016 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/args.rs +298 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit.rs +3421 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit_tests.rs +13388 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/imms.rs +202 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/mod.rs +3395 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/regs.rs +169 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst.isle +5028 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/lower.isle +3983 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/mod.rs +220 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/abi.rs +1390 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/args.rs +2240 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit.rs +4297 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_state.rs +65 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_tests.rs +5171 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/mod.rs +2818 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/regs.rs +275 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/unwind/systemv.rs +198 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst.isle +5299 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/lower.isle +4819 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/mod.rs +239 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/pcc.rs +1014 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isle_prelude.rs +965 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/legalizer/mod.rs +343 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/lib.rs +106 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/abi.rs +2427 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/blockorder.rs +465 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/buffer.rs +2544 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/helpers.rs +23 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/isle.rs +908 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/lower.rs +1462 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/mod.rs +564 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/reg.rs +479 -0
  92. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/valueregs.rs +138 -0
  93. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/vcode.rs +1840 -0
  94. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/opts/cprop.isle +297 -0
  95. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/opts/shifts.isle +307 -0
  96. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude.isle +654 -0
  97. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude_lower.isle +1070 -0
  98. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/timing.rs +296 -0
  99. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/traversals.rs +216 -0
  100. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/verifier/mod.rs +1957 -0
  101. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/write.rs +660 -0
  102. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/.cargo-checksum.json +1 -0
  103. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/Cargo.toml +45 -0
  104. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/types.rs +512 -0
  105. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/typevar.rs +980 -0
  106. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/gen_inst.rs +1278 -0
  107. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/isa/riscv64.rs +174 -0
  108. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/instructions.rs +3760 -0
  109. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/types.rs +143 -0
  110. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/Cargo.toml +31 -0
  112. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/src/constants.rs +28 -0
  113. data/ext/cargo-vendor/cranelift-control-0.110.2/.cargo-checksum.json +1 -0
  114. data/ext/cargo-vendor/cranelift-control-0.110.2/Cargo.toml +39 -0
  115. data/ext/cargo-vendor/cranelift-entity-0.110.2/.cargo-checksum.json +1 -0
  116. data/ext/cargo-vendor/cranelift-entity-0.110.2/Cargo.toml +66 -0
  117. data/ext/cargo-vendor/cranelift-entity-0.110.2/src/set.rs +193 -0
  118. data/ext/cargo-vendor/cranelift-frontend-0.110.2/.cargo-checksum.json +1 -0
  119. data/ext/cargo-vendor/cranelift-frontend-0.110.2/Cargo.toml +87 -0
  120. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/frontend.rs +2867 -0
  121. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/lib.rs +187 -0
  122. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/ssa.rs +1328 -0
  123. data/ext/cargo-vendor/cranelift-isle-0.110.2/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/cranelift-isle-0.110.2/Cargo.toml +60 -0
  125. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/codegen.rs +920 -0
  126. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/parser.rs +562 -0
  127. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/sema.rs +2503 -0
  128. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/trie_again.rs +695 -0
  129. data/ext/cargo-vendor/cranelift-native-0.110.2/.cargo-checksum.json +1 -0
  130. data/ext/cargo-vendor/cranelift-native-0.110.2/Cargo.toml +52 -0
  131. data/ext/cargo-vendor/cranelift-native-0.110.2/src/lib.rs +188 -0
  132. data/ext/cargo-vendor/cranelift-native-0.110.2/src/riscv.rs +128 -0
  133. data/ext/cargo-vendor/cranelift-wasm-0.110.2/.cargo-checksum.json +1 -0
  134. data/ext/cargo-vendor/cranelift-wasm-0.110.2/Cargo.toml +119 -0
  135. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator/bounds_checks.rs +731 -0
  136. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator.rs +3694 -0
  137. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/func_translator.rs +296 -0
  138. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/heap.rs +119 -0
  139. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/module_translator.rs +120 -0
  140. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/sections_translator.rs +333 -0
  141. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/state.rs +522 -0
  142. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/.cargo-checksum.json +1 -0
  143. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/Cargo.toml +69 -0
  144. data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
  145. data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
  146. data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
  147. data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
  148. data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
  149. data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
  150. data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
  151. data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
  152. data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
  153. data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
  154. data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
  155. data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
  156. data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
  157. data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
  158. data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
  159. data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
  160. data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
  161. data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
  162. data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
  163. data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
  164. data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
  165. data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
  166. data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
  167. data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
  168. data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
  169. data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
  170. data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
  171. data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
  172. data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
  173. data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
  174. data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
  175. data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
  176. data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
  177. data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
  178. data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
  179. data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
  180. data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
  181. data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
  182. data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
  183. data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
  184. data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
  185. data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
  186. data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
  187. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
  188. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
  189. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
  190. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
  191. data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
  192. data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
  193. data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
  194. data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
  195. data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
  196. data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
  197. data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
  198. data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
  199. data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
  200. data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
  201. data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
  202. data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
  203. data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
  204. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
  205. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
  206. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
  207. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
  208. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
  209. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
  210. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
  211. data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -0
  212. data/ext/cargo-vendor/termcolor-1.4.1/COPYING +3 -0
  213. data/ext/cargo-vendor/termcolor-1.4.1/Cargo.toml +40 -0
  214. data/ext/cargo-vendor/termcolor-1.4.1/LICENSE-MIT +21 -0
  215. data/ext/cargo-vendor/termcolor-1.4.1/README.md +110 -0
  216. data/ext/cargo-vendor/termcolor-1.4.1/UNLICENSE +24 -0
  217. data/ext/cargo-vendor/termcolor-1.4.1/rustfmt.toml +2 -0
  218. data/ext/cargo-vendor/termcolor-1.4.1/src/lib.rs +2572 -0
  219. data/ext/cargo-vendor/wasi-common-23.0.2/.cargo-checksum.json +1 -0
  220. data/ext/cargo-vendor/wasi-common-23.0.2/Cargo.toml +234 -0
  221. data/ext/cargo-vendor/wasi-common-23.0.2/src/snapshots/preview_0.rs +1080 -0
  222. data/ext/cargo-vendor/wasi-common-23.0.2/src/snapshots/preview_1.rs +1562 -0
  223. data/ext/cargo-vendor/wasi-common-23.0.2/src/string_array.rs +75 -0
  224. data/ext/cargo-vendor/wasi-common-23.0.2/src/sync/sched/windows.rs +221 -0
  225. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/file.rs +247 -0
  226. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/mod.rs +135 -0
  227. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/async_.rs +295 -0
  228. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/sync.rs +284 -0
  229. data/ext/cargo-vendor/wasm-encoder-0.212.0/.cargo-checksum.json +1 -0
  230. data/ext/cargo-vendor/wasm-encoder-0.212.0/Cargo.toml +49 -0
  231. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/component/types.rs +771 -0
  232. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/code.rs +3571 -0
  233. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/exports.rs +85 -0
  234. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/globals.rs +100 -0
  235. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/imports.rs +143 -0
  236. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/memories.rs +115 -0
  237. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tables.rs +121 -0
  238. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tags.rs +85 -0
  239. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/types.rs +663 -0
  240. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/lib.rs +218 -0
  241. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/reencode.rs +1804 -0
  242. data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +1 -0
  243. data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +65 -0
  244. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +802 -0
  245. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +3947 -0
  246. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/dump.rs +627 -0
  247. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/elements.rs +222 -0
  248. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/exports.rs +85 -0
  249. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/globals.rs +100 -0
  250. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/imports.rs +143 -0
  251. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/memories.rs +115 -0
  252. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/producers.rs +181 -0
  253. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tables.rs +129 -0
  254. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tags.rs +85 -0
  255. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +678 -0
  256. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/lib.rs +218 -0
  257. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +2002 -0
  258. data/ext/cargo-vendor/wasmparser-0.212.0/.cargo-checksum.json +1 -0
  259. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.lock +669 -0
  260. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.toml +112 -0
  261. data/ext/cargo-vendor/wasmparser-0.212.0/src/binary_reader.rs +1968 -0
  262. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/hash.rs +120 -0
  263. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map/detail.rs +1094 -0
  264. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map/tests.rs +183 -0
  265. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_map.rs +656 -0
  266. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/index_set.rs +316 -0
  267. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/map.rs +840 -0
  268. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/mod.rs +24 -0
  269. data/ext/cargo-vendor/wasmparser-0.212.0/src/collections/set.rs +660 -0
  270. data/ext/cargo-vendor/wasmparser-0.212.0/src/features.rs +166 -0
  271. data/ext/cargo-vendor/wasmparser-0.212.0/src/lib.rs +814 -0
  272. data/ext/cargo-vendor/wasmparser-0.212.0/src/limits.rs +79 -0
  273. data/ext/cargo-vendor/wasmparser-0.212.0/src/parser.rs +1682 -0
  274. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/imports.rs +130 -0
  275. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/instances.rs +166 -0
  276. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/names.rs +99 -0
  277. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/component/types.rs +553 -0
  278. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/branch_hinting.rs +59 -0
  279. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/code.rs +142 -0
  280. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/coredumps.rs +278 -0
  281. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/custom.rs +128 -0
  282. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/data.rs +96 -0
  283. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/elements.rs +146 -0
  284. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/globals.rs +61 -0
  285. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/init.rs +57 -0
  286. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/linking.rs +457 -0
  287. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/names.rs +159 -0
  288. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/operators.rs +453 -0
  289. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/producers.rs +84 -0
  290. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/reloc.rs +300 -0
  291. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/tables.rs +93 -0
  292. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/types.rs +1941 -0
  293. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers.rs +315 -0
  294. data/ext/cargo-vendor/wasmparser-0.212.0/src/resources.rs +234 -0
  295. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/component.rs +3252 -0
  296. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core/canonical.rs +233 -0
  297. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core.rs +1454 -0
  298. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/func.rs +331 -0
  299. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/names.rs +1016 -0
  300. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/operators.rs +4230 -0
  301. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/types.rs +4598 -0
  302. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator.rs +1632 -0
  303. data/ext/cargo-vendor/wasmprinter-0.212.0/.cargo-checksum.json +1 -0
  304. data/ext/cargo-vendor/wasmprinter-0.212.0/Cargo.toml +54 -0
  305. data/ext/cargo-vendor/wasmprinter-0.212.0/src/lib.rs +3221 -0
  306. data/ext/cargo-vendor/wasmprinter-0.212.0/src/operator.rs +1189 -0
  307. data/ext/cargo-vendor/wasmprinter-0.212.0/src/print.rs +190 -0
  308. data/ext/cargo-vendor/wasmprinter-0.212.0/tests/all.rs +48 -0
  309. data/ext/cargo-vendor/wasmtime-23.0.2/.cargo-checksum.json +1 -0
  310. data/ext/cargo-vendor/wasmtime-23.0.2/Cargo.toml +399 -0
  311. data/ext/cargo-vendor/wasmtime-23.0.2/build.rs +38 -0
  312. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/code_builder.rs +274 -0
  313. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/runtime.rs +167 -0
  314. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile.rs +881 -0
  315. data/ext/cargo-vendor/wasmtime-23.0.2/src/config.rs +2902 -0
  316. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine/serialization.rs +893 -0
  317. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine.rs +719 -0
  318. data/ext/cargo-vendor/wasmtime-23.0.2/src/lib.rs +406 -0
  319. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/jitdump.rs +65 -0
  320. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/perfmap.rs +47 -0
  321. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/vtune.rs +80 -0
  322. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent.rs +104 -0
  323. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code.rs +102 -0
  324. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code_memory.rs +337 -0
  325. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
  326. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
  327. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
  328. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
  329. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
  330. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
  331. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
  332. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/mod.rs +488 -0
  333. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/component.rs +811 -0
  334. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/host.rs +439 -0
  335. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/options.rs +552 -0
  336. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/typed.rs +2497 -0
  337. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func.rs +688 -0
  338. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/instance.rs +846 -0
  339. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/linker.rs +673 -0
  340. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/matching.rs +216 -0
  341. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/mod.rs +663 -0
  342. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resource_table.rs +355 -0
  343. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resources.rs +1132 -0
  344. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/types.rs +897 -0
  345. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/values.rs +979 -0
  346. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/coredump.rs +339 -0
  347. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/debug.rs +165 -0
  348. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/global.rs +310 -0
  349. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/table.rs +480 -0
  350. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func/typed.rs +788 -0
  351. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func.rs +2593 -0
  352. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/disabled/rooting.rs +224 -0
  353. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/anyref.rs +410 -0
  354. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/externref.rs +591 -0
  355. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/i31.rs +299 -0
  356. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/rooting.rs +1590 -0
  357. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/noextern.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc.rs +92 -0
  359. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instance.rs +989 -0
  360. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instantiate.rs +332 -0
  361. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/limits.rs +398 -0
  362. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/linker.rs +1498 -0
  363. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/memory.rs +1101 -0
  364. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module/registry.rs +353 -0
  365. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module.rs +1179 -0
  366. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/profiling.rs +280 -0
  367. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/stack.rs +72 -0
  368. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/data.rs +301 -0
  369. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/func_refs.rs +90 -0
  370. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store.rs +2873 -0
  371. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/func.rs +93 -0
  372. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/memory.rs +295 -0
  373. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/table.rs +28 -0
  374. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline.rs +75 -0
  375. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trap.rs +642 -0
  376. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/type_registry.rs +1015 -0
  377. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types/matching.rs +428 -0
  378. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types.rs +2771 -0
  379. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/v128.rs +116 -0
  380. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/values.rs +966 -0
  381. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/arch/riscv64.rs +41 -0
  382. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/libcalls.rs +571 -0
  383. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/resources.rs +351 -0
  384. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component.rs +857 -0
  385. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/const_expr.rs +102 -0
  386. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/cow.rs +988 -0
  387. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/export.rs +108 -0
  388. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/disabled.rs +23 -0
  389. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/drc.rs +964 -0
  390. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/free_list.rs +770 -0
  391. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_ref.rs +490 -0
  392. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_runtime.rs +505 -0
  393. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc.rs +244 -0
  394. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/on_demand.rs +219 -0
  395. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +199 -0
  396. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
  397. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  398. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +703 -0
  399. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +990 -0
  400. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  401. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +279 -0
  402. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling.rs +793 -0
  403. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator.rs +808 -0
  404. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance.rs +1518 -0
  405. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/libcalls.rs +832 -0
  406. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/memory.rs +815 -0
  407. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap.rs +217 -0
  408. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap_vec.rs +159 -0
  409. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/module_id.rs +19 -0
  410. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/disabled.rs +43 -0
  411. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/enabled.rs +213 -0
  412. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/mod.rs +59 -0
  413. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/sys.rs +113 -0
  414. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/capi.rs +200 -0
  415. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mmap.rs +112 -0
  416. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mod.rs +34 -0
  417. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/unwind.rs +17 -0
  418. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/vm.rs +105 -0
  419. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/mmap.rs +98 -0
  420. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/unwind.rs +17 -0
  421. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/vm.rs +59 -0
  422. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/mod.rs +36 -0
  423. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/mmap.rs +159 -0
  424. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/signals.rs +407 -0
  425. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/unwind.rs +149 -0
  426. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/vm.rs +190 -0
  427. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/mmap.rs +220 -0
  428. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/unwind.rs +46 -0
  429. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/vm.rs +75 -0
  430. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/table.rs +898 -0
  431. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory.rs +235 -0
  432. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory_disabled.rs +104 -0
  433. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/traphandlers.rs +767 -0
  434. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  435. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext.rs +1246 -0
  436. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm.rs +403 -0
  437. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime.rs +113 -0
  438. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/.cargo-checksum.json +1 -0
  439. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/Cargo.toml +32 -0
  440. data/ext/cargo-vendor/wasmtime-cache-23.0.2/.cargo-checksum.json +1 -0
  441. data/ext/cargo-vendor/wasmtime-cache-23.0.2/Cargo.toml +103 -0
  442. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/config.rs +584 -0
  443. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/lib.rs +235 -0
  444. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/tests.rs +91 -0
  445. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/worker/tests.rs +758 -0
  446. data/ext/cargo-vendor/wasmtime-cache-23.0.2/src/worker.rs +890 -0
  447. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/.cargo-checksum.json +1 -0
  448. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/Cargo.toml +106 -0
  449. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/bindgen.rs +500 -0
  450. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/component.rs +1330 -0
  451. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/codegen.rs +698 -0
  452. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char.rs +268 -0
  453. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char_async.rs +291 -0
  454. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions.rs +706 -0
  455. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions_async.rs +757 -0
  456. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code.rs +194 -0
  457. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code_async.rs +213 -0
  458. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import.rs +120 -0
  459. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import_async.rs +132 -0
  460. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty.rs +74 -0
  461. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty_async.rs +80 -0
  462. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags.rs +743 -0
  463. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags_async.rs +791 -0
  464. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats.rs +343 -0
  465. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats_async.rs +376 -0
  466. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new.rs +94 -0
  467. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new_async.rs +103 -0
  468. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers.rs +873 -0
  469. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers_async.rs +976 -0
  470. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists.rs +1924 -0
  471. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists_async.rs +2114 -0
  472. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments.rs +614 -0
  473. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments_async.rs +638 -0
  474. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return.rs +357 -0
  475. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return_async.rs +391 -0
  476. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion.rs +354 -0
  477. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion_async.rs +379 -0
  478. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records.rs +940 -0
  479. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records_async.rs +1008 -0
  480. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename.rs +183 -0
  481. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename_async.rs +202 -0
  482. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export.rs +657 -0
  483. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export_async.rs +712 -0
  484. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import.rs +1088 -0
  485. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import_async.rs +1166 -0
  486. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types.rs +315 -0
  487. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types_async.rs +337 -0
  488. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions.rs +399 -0
  489. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions_async.rs +439 -0
  490. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists.rs +427 -0
  491. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists_async.rs +464 -0
  492. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi.rs +245 -0
  493. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi_async.rs +264 -0
  494. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous.rs +338 -0
  495. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous_async.rs +356 -0
  496. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default.rs +94 -0
  497. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default_async.rs +103 -0
  498. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export.rs +149 -0
  499. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export_async.rs +158 -0
  500. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke.rs +133 -0
  501. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke_async.rs +146 -0
  502. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings.rs +316 -0
  503. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings_async.rs +344 -0
  504. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo.rs +165 -0
  505. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo_async.rs +178 -0
  506. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths.rs +317 -0
  507. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths_async.rs +349 -0
  508. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants.rs +1896 -0
  509. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants_async.rs +2019 -0
  510. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat.rs +145 -0
  511. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat_async.rs +151 -0
  512. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types.rs +175 -0
  513. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types_async.rs +191 -0
  514. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded.rs +65 -0
  515. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/.cargo-checksum.json +1 -0
  516. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/Cargo.toml +35 -0
  517. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/.cargo-checksum.json +1 -0
  518. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/Cargo.toml +125 -0
  519. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler/component.rs +957 -0
  520. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler.rs +1029 -0
  521. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/gc.rs +257 -0
  522. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/address_transform.rs +841 -0
  523. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/attr.rs +328 -0
  524. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/expression.rs +1264 -0
  525. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/line_program.rs +287 -0
  526. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/mod.rs +273 -0
  527. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/range_info_builder.rs +234 -0
  528. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/simulate.rs +423 -0
  529. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/unit.rs +520 -0
  530. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/utils.rs +165 -0
  531. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/write_debuginfo.rs +176 -0
  532. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug.rs +178 -0
  533. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/func_environ.rs +2721 -0
  534. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/gc/enabled.rs +648 -0
  535. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/lib.rs +458 -0
  536. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/obj.rs +545 -0
  537. data/ext/cargo-vendor/wasmtime-environ-23.0.2/.cargo-checksum.json +1 -0
  538. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.lock +792 -0
  539. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.toml +185 -0
  540. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/address_map.rs +73 -0
  541. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/mod.rs +379 -0
  542. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_artifacts.rs +315 -0
  543. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_environ.rs +1264 -0
  544. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_types.rs +455 -0
  545. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/artifacts.rs +68 -0
  546. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/dfg.rs +718 -0
  547. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/info.rs +683 -0
  548. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/names.rs +275 -0
  549. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/adapt.rs +455 -0
  550. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/inline.rs +1333 -0
  551. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate.rs +993 -0
  552. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types.rs +1041 -0
  553. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder/resources.rs +233 -0
  554. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder.rs +976 -0
  555. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component.rs +109 -0
  556. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact/trampoline.rs +3234 -0
  557. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact/transcode.rs +90 -0
  558. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/fact.rs +714 -0
  559. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/lib.rs +64 -0
  560. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module.rs +702 -0
  561. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module_artifacts.rs +144 -0
  562. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module_types.rs +139 -0
  563. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/ref_bits.rs +36 -0
  564. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/stack_map.rs +31 -0
  565. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/tunables.rs +165 -0
  566. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/vmoffsets.rs +897 -0
  567. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/.cargo-checksum.json +1 -0
  568. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/Cargo.toml +75 -0
  569. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/build.rs +39 -0
  570. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/lib.rs +340 -0
  571. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/unix.rs +494 -0
  572. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/src/windows.rs +170 -0
  573. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/.cargo-checksum.json +1 -0
  574. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/Cargo.toml +77 -0
  575. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/src/gdb_jit_int.rs +130 -0
  576. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/src/perf_jitdump.rs +293 -0
  577. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/.cargo-checksum.json +1 -0
  578. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/Cargo.toml +62 -0
  579. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/src/libc.rs +164 -0
  580. data/ext/cargo-vendor/wasmtime-slab-23.0.2/.cargo-checksum.json +1 -0
  581. data/ext/cargo-vendor/wasmtime-slab-23.0.2/Cargo.toml +31 -0
  582. data/ext/cargo-vendor/wasmtime-slab-23.0.2/src/lib.rs +498 -0
  583. data/ext/cargo-vendor/wasmtime-types-23.0.2/.cargo-checksum.json +1 -0
  584. data/ext/cargo-vendor/wasmtime-types-23.0.2/Cargo.toml +71 -0
  585. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/lib.rs +1760 -0
  586. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/prelude.rs +86 -0
  587. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/.cargo-checksum.json +1 -0
  588. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/Cargo.toml +40 -0
  589. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/.cargo-checksum.json +1 -0
  590. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/Cargo.toml +215 -0
  591. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/bindings.rs +561 -0
  592. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/ctx.rs +704 -0
  593. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/filesystem.rs +448 -0
  594. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/clocks.rs +109 -0
  595. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/env.rs +18 -0
  596. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/exit.rs +14 -0
  597. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem/sync.rs +525 -0
  598. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem.rs +1091 -0
  599. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/instance_network.rs +18 -0
  600. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/io.rs +391 -0
  601. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/network.rs +545 -0
  602. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/random.rs +45 -0
  603. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/tcp.rs +547 -0
  604. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/tcp_create_socket.rs +18 -0
  605. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/udp.rs +762 -0
  606. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/udp_create_socket.rs +18 -0
  607. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/ip_name_lookup.rs +132 -0
  608. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/lib.rs +419 -0
  609. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/network.rs +113 -0
  610. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/pipe.rs +826 -0
  611. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/poll.rs +245 -0
  612. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview0.rs +983 -0
  613. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview1.rs +2801 -0
  614. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/stdio.rs +596 -0
  615. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/api.rs +197 -0
  616. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/async_.rs +397 -0
  617. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/sync.rs +331 -0
  618. data/ext/cargo-vendor/wasmtime-winch-23.0.2/.cargo-checksum.json +1 -0
  619. data/ext/cargo-vendor/wasmtime-winch-23.0.2/Cargo.toml +92 -0
  620. data/ext/cargo-vendor/wasmtime-winch-23.0.2/src/compiler.rs +242 -0
  621. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/.cargo-checksum.json +1 -0
  622. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/Cargo.toml +57 -0
  623. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/lib.rs +2777 -0
  624. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/rust.rs +427 -0
  625. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/types.rs +202 -0
  626. data/ext/cargo-vendor/wast-215.0.0/.cargo-checksum.json +1 -0
  627. data/ext/cargo-vendor/wast-215.0.0/Cargo.toml +101 -0
  628. data/ext/cargo-vendor/wast-215.0.0/src/component/binary.rs +1014 -0
  629. data/ext/cargo-vendor/wast-215.0.0/src/component/component.rs +320 -0
  630. data/ext/cargo-vendor/wast-215.0.0/src/component/expand.rs +875 -0
  631. data/ext/cargo-vendor/wast-215.0.0/src/component/resolve.rs +988 -0
  632. data/ext/cargo-vendor/wast-215.0.0/src/component.rs +28 -0
  633. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf.rs +610 -0
  634. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf_disabled.rs +41 -0
  635. data/ext/cargo-vendor/wast-215.0.0/src/core/binary.rs +1542 -0
  636. data/ext/cargo-vendor/wast-215.0.0/src/core/expr.rs +2110 -0
  637. data/ext/cargo-vendor/wast-215.0.0/src/core/memory.rs +279 -0
  638. data/ext/cargo-vendor/wast-215.0.0/src/core/module.rs +215 -0
  639. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/deinline_import_export.rs +232 -0
  640. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/names.rs +791 -0
  641. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/types.rs +270 -0
  642. data/ext/cargo-vendor/wast-215.0.0/src/core/table.rs +308 -0
  643. data/ext/cargo-vendor/wast-215.0.0/src/core/types.rs +1057 -0
  644. data/ext/cargo-vendor/wast-215.0.0/src/core.rs +30 -0
  645. data/ext/cargo-vendor/wast-215.0.0/src/lib.rs +556 -0
  646. data/ext/cargo-vendor/wast-215.0.0/src/parser.rs +1434 -0
  647. data/ext/cargo-vendor/wast-215.0.0/src/wat.rs +68 -0
  648. data/ext/cargo-vendor/wat-1.215.0/.cargo-checksum.json +1 -0
  649. data/ext/cargo-vendor/wat-1.215.0/Cargo.toml +56 -0
  650. data/ext/cargo-vendor/wat-1.215.0/src/lib.rs +469 -0
  651. data/ext/cargo-vendor/wiggle-23.0.2/.cargo-checksum.json +1 -0
  652. data/ext/cargo-vendor/wiggle-23.0.2/Cargo.toml +110 -0
  653. data/ext/cargo-vendor/wiggle-23.0.2/src/guest_type.rs +200 -0
  654. data/ext/cargo-vendor/wiggle-23.0.2/src/lib.rs +605 -0
  655. data/ext/cargo-vendor/wiggle-generate-23.0.2/.cargo-checksum.json +1 -0
  656. data/ext/cargo-vendor/wiggle-generate-23.0.2/Cargo.toml +76 -0
  657. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/funcs.rs +434 -0
  658. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/module_trait.rs +89 -0
  659. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/names.rs +299 -0
  660. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/flags.rs +92 -0
  661. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/handle.rs +84 -0
  662. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/mod.rs +129 -0
  663. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/record.rs +129 -0
  664. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/types/variant.rs +186 -0
  665. data/ext/cargo-vendor/wiggle-generate-23.0.2/src/wasmtime.rs +172 -0
  666. data/ext/cargo-vendor/wiggle-macro-23.0.2/.cargo-checksum.json +1 -0
  667. data/ext/cargo-vendor/wiggle-macro-23.0.2/Cargo.toml +59 -0
  668. data/ext/cargo-vendor/wiggle-macro-23.0.2/build.rs +5 -0
  669. data/ext/cargo-vendor/wiggle-macro-23.0.2/src/lib.rs +233 -0
  670. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -0
  671. data/ext/cargo-vendor/winapi-util-0.1.9/COPYING +3 -0
  672. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +53 -0
  673. data/ext/cargo-vendor/winapi-util-0.1.9/LICENSE-MIT +21 -0
  674. data/ext/cargo-vendor/winapi-util-0.1.9/README.md +64 -0
  675. data/ext/cargo-vendor/winapi-util-0.1.9/UNLICENSE +24 -0
  676. data/ext/cargo-vendor/winapi-util-0.1.9/rustfmt.toml +2 -0
  677. data/ext/cargo-vendor/winapi-util-0.1.9/src/console.rs +407 -0
  678. data/ext/cargo-vendor/winapi-util-0.1.9/src/file.rs +166 -0
  679. data/ext/cargo-vendor/winapi-util-0.1.9/src/lib.rs +35 -0
  680. data/ext/cargo-vendor/winapi-util-0.1.9/src/sysinfo.rs +161 -0
  681. data/ext/cargo-vendor/winapi-util-0.1.9/src/win.rs +246 -0
  682. data/ext/cargo-vendor/winch-codegen-0.21.2/.cargo-checksum.json +1 -0
  683. data/ext/cargo-vendor/winch-codegen-0.21.2/Cargo.toml +87 -0
  684. data/ext/cargo-vendor/winch-codegen-0.21.2/src/abi/mod.rs +671 -0
  685. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/context.rs +536 -0
  686. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/control.rs +972 -0
  687. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/env.rs +449 -0
  688. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/mod.rs +878 -0
  689. data/ext/cargo-vendor/winch-codegen-0.21.2/src/frame/mod.rs +258 -0
  690. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/asm.rs +430 -0
  691. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/masm.rs +572 -0
  692. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/aarch64/regs.rs +161 -0
  693. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/x64/asm.rs +1423 -0
  694. data/ext/cargo-vendor/winch-codegen-0.21.2/src/isa/x64/masm.rs +1120 -0
  695. data/ext/cargo-vendor/winch-codegen-0.21.2/src/masm.rs +941 -0
  696. data/ext/cargo-vendor/winch-codegen-0.21.2/src/regalloc.rs +65 -0
  697. data/ext/cargo-vendor/winch-codegen-0.21.2/src/stack.rs +439 -0
  698. data/ext/cargo-vendor/winch-codegen-0.21.2/src/visitor.rs +2154 -0
  699. data/ext/cargo-vendor/wit-parser-0.212.0/.cargo-checksum.json +1 -0
  700. data/ext/cargo-vendor/wit-parser-0.212.0/Cargo.toml +112 -0
  701. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/lex.rs +751 -0
  702. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/resolve.rs +1539 -0
  703. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast.rs +1851 -0
  704. data/ext/cargo-vendor/wit-parser-0.212.0/src/decoding.rs +1798 -0
  705. data/ext/cargo-vendor/wit-parser-0.212.0/src/lib.rs +888 -0
  706. data/ext/cargo-vendor/wit-parser-0.212.0/src/live.rs +126 -0
  707. data/ext/cargo-vendor/wit-parser-0.212.0/src/metadata.rs +772 -0
  708. data/ext/cargo-vendor/wit-parser-0.212.0/src/resolve.rs +2740 -0
  709. data/ext/cargo-vendor/wit-parser-0.212.0/src/serde_.rs +124 -0
  710. data/ext/cargo-vendor/wit-parser-0.212.0/tests/all.rs +154 -0
  711. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/complex-include.wit.json +200 -0
  712. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/diamond1.wit.json +59 -0
  713. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/disambiguate-diamond.wit.json +115 -0
  714. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit +118 -0
  715. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit.json +308 -0
  716. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/foreign-deps-union.wit.json +410 -0
  717. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/foreign-deps.wit.json +362 -0
  718. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/ignore-files-deps.wit.json +41 -0
  719. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/import-export-overlap2.wit.json +43 -0
  720. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/include-reps.wit.json +68 -0
  721. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/kinds-of-deps.wit.json +95 -0
  722. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/many-names.wit.json +42 -0
  723. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/a.wit +23 -0
  724. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/b.wit +23 -0
  725. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package.wit.json +250 -0
  726. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file.wit.json +304 -0
  727. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +2 -0
  728. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +2 -0
  729. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/packages.wit +13 -0
  730. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps.wit.json +83 -0
  731. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +9 -0
  732. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +5 -0
  733. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/packages.wit +11 -0
  734. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps.wit.json +116 -0
  735. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit +23 -0
  736. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit.json +130 -0
  737. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit +15 -0
  738. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit.json +87 -0
  739. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit +23 -0
  740. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit.json +130 -0
  741. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit +23 -0
  742. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit.json +130 -0
  743. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit +11 -0
  744. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit.json +70 -0
  745. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate1.wit +8 -0
  746. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  747. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate2.wit +8 -0
  748. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  749. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate3.wit +6 -0
  750. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
  751. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate4.wit +8 -0
  752. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
  753. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate5.wit +11 -0
  754. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
  755. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since1.wit +4 -0
  756. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  757. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since3.wit +5 -0
  758. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  759. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
  760. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit +3 -0
  761. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit.result +1 -0
  762. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit +13 -0
  763. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit.result +8 -0
  764. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit +23 -0
  765. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit.result +1 -0
  766. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit +23 -0
  767. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit.result +5 -0
  768. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
  769. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
  770. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +9 -0
  771. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
  772. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit +11 -0
  773. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
  774. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
  775. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
  776. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
  777. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
  778. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
  779. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
  780. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
  781. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
  782. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
  783. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/shared-types.wit.json +87 -0
  784. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit +89 -0
  785. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit.json +583 -0
  786. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/stress-export-elaborate.wit.json +1156 -0
  787. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-diamond.wit.json +124 -0
  788. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-iface-no-collide.wit.json +68 -0
  789. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import1.wit.json +81 -0
  790. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import2.wit.json +72 -0
  791. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-implicit-import3.wit.json +73 -0
  792. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-same-fields4.wit.json +82 -0
  793. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/world-top-level-resources.wit.json +237 -0
  794. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/worlds-union-dedup.wit.json +112 -0
  795. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/worlds-with-types.wit.json +204 -0
  796. data/ext/src/ruby_api/memory.rs +2 -1
  797. data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
  798. data/lib/wasmtime/version.rb +1 -1
  799. metadata +1839 -1680
  800. data/ext/cargo-vendor/cranelift-bforest-0.108.1/.cargo-checksum.json +0 -1
  801. data/ext/cargo-vendor/cranelift-bforest-0.108.1/Cargo.toml +0 -40
  802. data/ext/cargo-vendor/cranelift-codegen-0.108.1/.cargo-checksum.json +0 -1
  803. data/ext/cargo-vendor/cranelift-codegen-0.108.1/Cargo.toml +0 -189
  804. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/binemit/stack_map.rs +0 -155
  805. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/bitset.rs +0 -187
  806. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/context.rs +0 -395
  807. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/data_value.rs +0 -385
  808. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dce.rs +0 -37
  809. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/dominator_tree.rs +0 -803
  810. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/egraph.rs +0 -839
  811. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/inst_predicates.rs +0 -236
  812. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/dfg.rs +0 -1777
  813. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/extfunc.rs +0 -411
  814. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/globalvalue.rs +0 -147
  815. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/immediates.rs +0 -1612
  816. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/instructions.rs +0 -1020
  817. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/jumptable.rs +0 -168
  818. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/mod.rs +0 -108
  819. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/stackslot.rs +0 -216
  820. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/trapcode.rs +0 -149
  821. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/ir/types.rs +0 -629
  822. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/abi.rs +0 -1580
  823. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/args.rs +0 -721
  824. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit.rs +0 -3846
  825. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/emit_tests.rs +0 -7902
  826. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/imms.rs +0 -1213
  827. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/mod.rs +0 -3094
  828. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/regs.rs +0 -288
  829. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  830. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/inst.isle +0 -4225
  831. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/lower.isle +0 -2933
  832. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/mod.rs +0 -242
  833. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/aarch64/pcc.rs +0 -568
  834. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/mod.rs +0 -449
  835. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/abi.rs +0 -1051
  836. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/args.rs +0 -1938
  837. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit.rs +0 -2681
  838. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/emit_tests.rs +0 -2197
  839. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/encode.rs +0 -654
  840. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/imms.rs +0 -374
  841. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/mod.rs +0 -1975
  842. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  843. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst/vector.rs +0 -1144
  844. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst.isle +0 -2969
  845. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/inst_vector.isle +0 -1899
  846. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower/isle.rs +0 -625
  847. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/lower.isle +0 -2883
  848. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/riscv64/mod.rs +0 -260
  849. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/abi.rs +0 -1037
  850. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/args.rs +0 -314
  851. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit.rs +0 -3646
  852. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/emit_tests.rs +0 -13389
  853. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/imms.rs +0 -202
  854. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/mod.rs +0 -3421
  855. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/regs.rs +0 -180
  856. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  857. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/inst.isle +0 -5033
  858. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/lower.isle +0 -3995
  859. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/s390x/mod.rs +0 -215
  860. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/abi.rs +0 -1410
  861. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/args.rs +0 -2256
  862. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit.rs +0 -4311
  863. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_state.rs +0 -74
  864. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/emit_tests.rs +0 -5171
  865. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/mod.rs +0 -2838
  866. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/regs.rs +0 -276
  867. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst/unwind/systemv.rs +0 -198
  868. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/inst.isle +0 -5294
  869. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/lower.isle +0 -4808
  870. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/mod.rs +0 -234
  871. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isa/x64/pcc.rs +0 -1014
  872. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/isle_prelude.rs +0 -957
  873. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/legalizer/mod.rs +0 -348
  874. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/lib.rs +0 -106
  875. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/abi.rs +0 -2506
  876. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/blockorder.rs +0 -465
  877. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/buffer.rs +0 -2512
  878. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/helpers.rs +0 -33
  879. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/isle.rs +0 -903
  880. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/lower.rs +0 -1432
  881. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/mod.rs +0 -555
  882. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/reg.rs +0 -522
  883. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/valueregs.rs +0 -138
  884. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/machinst/vcode.rs +0 -1741
  885. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/cprop.isle +0 -281
  886. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/opts/shifts.isle +0 -307
  887. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude.isle +0 -646
  888. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/prelude_lower.isle +0 -1073
  889. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/timing.rs +0 -297
  890. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/verifier/mod.rs +0 -1957
  891. data/ext/cargo-vendor/cranelift-codegen-0.108.1/src/write.rs +0 -631
  892. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/.cargo-checksum.json +0 -1
  893. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/Cargo.toml +0 -35
  894. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/types.rs +0 -496
  895. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/cdsl/typevar.rs +0 -980
  896. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/gen_inst.rs +0 -1278
  897. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/isa/riscv64.rs +0 -168
  898. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/shared/instructions.rs +0 -3791
  899. data/ext/cargo-vendor/cranelift-codegen-meta-0.108.1/src/shared/types.rs +0 -137
  900. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/.cargo-checksum.json +0 -1
  901. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/Cargo.toml +0 -22
  902. data/ext/cargo-vendor/cranelift-codegen-shared-0.108.1/src/constants.rs +0 -28
  903. data/ext/cargo-vendor/cranelift-control-0.108.1/.cargo-checksum.json +0 -1
  904. data/ext/cargo-vendor/cranelift-control-0.108.1/Cargo.toml +0 -30
  905. data/ext/cargo-vendor/cranelift-entity-0.108.1/.cargo-checksum.json +0 -1
  906. data/ext/cargo-vendor/cranelift-entity-0.108.1/Cargo.toml +0 -52
  907. data/ext/cargo-vendor/cranelift-entity-0.108.1/src/set.rs +0 -290
  908. data/ext/cargo-vendor/cranelift-frontend-0.108.1/.cargo-checksum.json +0 -1
  909. data/ext/cargo-vendor/cranelift-frontend-0.108.1/Cargo.toml +0 -67
  910. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/frontend.rs +0 -1854
  911. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/lib.rs +0 -189
  912. data/ext/cargo-vendor/cranelift-frontend-0.108.1/src/ssa.rs +0 -1328
  913. data/ext/cargo-vendor/cranelift-isle-0.108.1/.cargo-checksum.json +0 -1
  914. data/ext/cargo-vendor/cranelift-isle-0.108.1/Cargo.toml +0 -46
  915. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/codegen.rs +0 -886
  916. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/parser.rs +0 -562
  917. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/sema.rs +0 -2492
  918. data/ext/cargo-vendor/cranelift-isle-0.108.1/src/trie_again.rs +0 -684
  919. data/ext/cargo-vendor/cranelift-native-0.108.1/.cargo-checksum.json +0 -1
  920. data/ext/cargo-vendor/cranelift-native-0.108.1/Cargo.toml +0 -43
  921. data/ext/cargo-vendor/cranelift-native-0.108.1/src/lib.rs +0 -188
  922. data/ext/cargo-vendor/cranelift-native-0.108.1/src/riscv.rs +0 -128
  923. data/ext/cargo-vendor/cranelift-wasm-0.108.1/.cargo-checksum.json +0 -1
  924. data/ext/cargo-vendor/cranelift-wasm-0.108.1/Cargo.toml +0 -109
  925. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator/bounds_checks.rs +0 -713
  926. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/code_translator.rs +0 -3687
  927. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/func_translator.rs +0 -296
  928. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/heap.rs +0 -116
  929. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/module_translator.rs +0 -128
  930. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/sections_translator.rs +0 -389
  931. data/ext/cargo-vendor/cranelift-wasm-0.108.1/src/state.rs +0 -522
  932. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +0 -1
  933. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +0 -48
  934. data/ext/cargo-vendor/memoffset-0.9.0/.cargo-checksum.json +0 -1
  935. data/ext/cargo-vendor/memoffset-0.9.0/Cargo.toml +0 -37
  936. data/ext/cargo-vendor/memoffset-0.9.0/LICENSE +0 -19
  937. data/ext/cargo-vendor/memoffset-0.9.0/README.md +0 -85
  938. data/ext/cargo-vendor/memoffset-0.9.0/build.rs +0 -25
  939. data/ext/cargo-vendor/memoffset-0.9.0/src/lib.rs +0 -94
  940. data/ext/cargo-vendor/memoffset-0.9.0/src/offset_of.rs +0 -400
  941. data/ext/cargo-vendor/memoffset-0.9.0/src/raw_field.rs +0 -226
  942. data/ext/cargo-vendor/memoffset-0.9.0/src/span_of.rs +0 -263
  943. data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
  944. data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
  945. data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
  946. data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
  947. data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
  948. data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
  949. data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
  950. data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
  951. data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
  952. data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
  953. data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
  954. data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
  955. data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
  956. data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
  957. data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
  958. data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
  959. data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
  960. data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
  961. data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
  962. data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
  963. data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
  964. data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
  965. data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
  966. data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
  967. data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
  968. data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
  969. data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
  970. data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
  971. data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
  972. data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
  973. data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
  974. data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
  975. data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
  976. data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
  977. data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
  978. data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
  979. data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
  980. data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
  981. data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
  982. data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
  983. data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
  984. data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
  985. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
  986. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
  987. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
  988. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
  989. data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
  990. data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
  991. data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
  992. data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
  993. data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
  994. data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
  995. data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
  996. data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
  997. data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
  998. data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
  999. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
  1000. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
  1001. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
  1002. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
  1003. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
  1004. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
  1005. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
  1006. data/ext/cargo-vendor/wasi-common-21.0.1/.cargo-checksum.json +0 -1
  1007. data/ext/cargo-vendor/wasi-common-21.0.1/Cargo.toml +0 -223
  1008. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_0.rs +0 -1145
  1009. data/ext/cargo-vendor/wasi-common-21.0.1/src/snapshots/preview_1.rs +0 -1497
  1010. data/ext/cargo-vendor/wasi-common-21.0.1/src/string_array.rs +0 -74
  1011. data/ext/cargo-vendor/wasi-common-21.0.1/src/sync/sched/windows.rs +0 -221
  1012. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/file.rs +0 -247
  1013. data/ext/cargo-vendor/wasi-common-21.0.1/src/tokio/mod.rs +0 -137
  1014. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/async_.rs +0 -293
  1015. data/ext/cargo-vendor/wasi-common-21.0.1/tests/all/sync.rs +0 -279
  1016. data/ext/cargo-vendor/wasm-encoder-0.207.0/.cargo-checksum.json +0 -1
  1017. data/ext/cargo-vendor/wasm-encoder-0.207.0/Cargo.toml +0 -45
  1018. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/component/types.rs +0 -792
  1019. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/code.rs +0 -3502
  1020. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/dump.rs +0 -627
  1021. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/exports.rs +0 -98
  1022. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/globals.rs +0 -112
  1023. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/imports.rs +0 -157
  1024. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/memories.rs +0 -128
  1025. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/producers.rs +0 -180
  1026. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tables.rs +0 -134
  1027. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/tags.rs +0 -104
  1028. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/core/types.rs +0 -678
  1029. data/ext/cargo-vendor/wasm-encoder-0.207.0/src/lib.rs +0 -215
  1030. data/ext/cargo-vendor/wasm-encoder-0.209.1/.cargo-checksum.json +0 -1
  1031. data/ext/cargo-vendor/wasm-encoder-0.209.1/Cargo.toml +0 -46
  1032. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/component/types.rs +0 -792
  1033. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/code.rs +0 -3595
  1034. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/elements.rs +0 -221
  1035. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/exports.rs +0 -98
  1036. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/globals.rs +0 -112
  1037. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/imports.rs +0 -157
  1038. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/memories.rs +0 -128
  1039. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tables.rs +0 -134
  1040. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tags.rs +0 -104
  1041. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/types.rs +0 -678
  1042. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/lib.rs +0 -215
  1043. data/ext/cargo-vendor/wasmparser-0.207.0/.cargo-checksum.json +0 -1
  1044. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.lock +0 -659
  1045. data/ext/cargo-vendor/wasmparser-0.207.0/Cargo.toml +0 -95
  1046. data/ext/cargo-vendor/wasmparser-0.207.0/src/binary_reader.rs +0 -1867
  1047. data/ext/cargo-vendor/wasmparser-0.207.0/src/lib.rs +0 -805
  1048. data/ext/cargo-vendor/wasmparser-0.207.0/src/limits.rs +0 -78
  1049. data/ext/cargo-vendor/wasmparser-0.207.0/src/map.rs +0 -137
  1050. data/ext/cargo-vendor/wasmparser-0.207.0/src/parser.rs +0 -1636
  1051. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/imports.rs +0 -129
  1052. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/instances.rs +0 -164
  1053. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/names.rs +0 -102
  1054. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/component/types.rs +0 -551
  1055. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/branch_hinting.rs +0 -59
  1056. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/code.rs +0 -146
  1057. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/coredumps.rs +0 -244
  1058. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/custom.rs +0 -64
  1059. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/data.rs +0 -96
  1060. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/elements.rs +0 -152
  1061. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/globals.rs +0 -51
  1062. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/init.rs +0 -51
  1063. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/linking.rs +0 -450
  1064. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/names.rs +0 -159
  1065. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/operators.rs +0 -430
  1066. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/producers.rs +0 -83
  1067. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/reloc.rs +0 -301
  1068. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/tables.rs +0 -93
  1069. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers/core/types.rs +0 -1773
  1070. data/ext/cargo-vendor/wasmparser-0.207.0/src/readers.rs +0 -316
  1071. data/ext/cargo-vendor/wasmparser-0.207.0/src/resources.rs +0 -235
  1072. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/component.rs +0 -3242
  1073. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core/canonical.rs +0 -233
  1074. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/core.rs +0 -1450
  1075. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/func.rs +0 -331
  1076. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/names.rs +0 -947
  1077. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/operators.rs +0 -4117
  1078. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator/types.rs +0 -4492
  1079. data/ext/cargo-vendor/wasmparser-0.207.0/src/validator.rs +0 -1786
  1080. data/ext/cargo-vendor/wasmprinter-0.207.0/.cargo-checksum.json +0 -1
  1081. data/ext/cargo-vendor/wasmprinter-0.207.0/Cargo.toml +0 -50
  1082. data/ext/cargo-vendor/wasmprinter-0.207.0/src/lib.rs +0 -3226
  1083. data/ext/cargo-vendor/wasmprinter-0.207.0/src/operator.rs +0 -1164
  1084. data/ext/cargo-vendor/wasmprinter-0.207.0/tests/all.rs +0 -293
  1085. data/ext/cargo-vendor/wasmtime-21.0.1/.cargo-checksum.json +0 -1
  1086. data/ext/cargo-vendor/wasmtime-21.0.1/Cargo.toml +0 -386
  1087. data/ext/cargo-vendor/wasmtime-21.0.1/build.rs +0 -37
  1088. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/code_builder.rs +0 -275
  1089. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile/runtime.rs +0 -176
  1090. data/ext/cargo-vendor/wasmtime-21.0.1/src/compile.rs +0 -910
  1091. data/ext/cargo-vendor/wasmtime-21.0.1/src/config.rs +0 -2904
  1092. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine/serialization.rs +0 -887
  1093. data/ext/cargo-vendor/wasmtime-21.0.1/src/engine.rs +0 -728
  1094. data/ext/cargo-vendor/wasmtime-21.0.1/src/lib.rs +0 -328
  1095. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/jitdump.rs +0 -67
  1096. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/perfmap.rs +0 -48
  1097. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent/vtune.rs +0 -81
  1098. data/ext/cargo-vendor/wasmtime-21.0.1/src/profiling_agent.rs +0 -106
  1099. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code.rs +0 -102
  1100. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/code_memory.rs +0 -337
  1101. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/component.rs +0 -661
  1102. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/host.rs +0 -440
  1103. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/options.rs +0 -555
  1104. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func/typed.rs +0 -2498
  1105. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/func.rs +0 -746
  1106. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/instance.rs +0 -814
  1107. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/linker.rs +0 -783
  1108. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/matching.rs +0 -217
  1109. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/mod.rs +0 -783
  1110. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resource_table.rs +0 -355
  1111. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/resources.rs +0 -1133
  1112. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/types.rs +0 -892
  1113. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/component/values.rs +0 -980
  1114. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/coredump.rs +0 -342
  1115. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/debug.rs +0 -166
  1116. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/global.rs +0 -310
  1117. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/externals/table.rs +0 -477
  1118. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func/typed.rs +0 -899
  1119. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/func.rs +0 -2627
  1120. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/disabled/rooting.rs +0 -224
  1121. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/anyref.rs +0 -473
  1122. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/externref.rs +0 -650
  1123. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/i31.rs +0 -346
  1124. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc/enabled/rooting.rs +0 -1588
  1125. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/gc.rs +0 -89
  1126. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instance.rs +0 -992
  1127. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/instantiate.rs +0 -346
  1128. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/limits.rs +0 -399
  1129. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/linker.rs +0 -1506
  1130. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/memory.rs +0 -998
  1131. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module/registry.rs +0 -353
  1132. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/module.rs +0 -1295
  1133. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/profiling.rs +0 -221
  1134. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/stack.rs +0 -73
  1135. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/data.rs +0 -301
  1136. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store/func_refs.rs +0 -90
  1137. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/store.rs +0 -2820
  1138. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/func.rs +0 -139
  1139. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/memory.rs +0 -287
  1140. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline/table.rs +0 -29
  1141. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trampoline.rs +0 -78
  1142. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/trap.rs +0 -642
  1143. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/type_registry.rs +0 -807
  1144. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types/matching.rs +0 -421
  1145. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/types.rs +0 -2239
  1146. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/v128.rs +0 -131
  1147. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/values.rs +0 -966
  1148. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/arch/riscv64.rs +0 -41
  1149. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/libcalls.rs +0 -571
  1150. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component/resources.rs +0 -352
  1151. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/component.rs +0 -860
  1152. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/const_expr.rs +0 -102
  1153. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/cow.rs +0 -893
  1154. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/export.rs +0 -108
  1155. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/disabled.rs +0 -24
  1156. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/drc.rs +0 -968
  1157. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/enabled/free_list.rs +0 -771
  1158. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_ref.rs +0 -491
  1159. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc/gc_runtime.rs +0 -506
  1160. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/gc.rs +0 -245
  1161. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/on_demand.rs +0 -218
  1162. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
  1163. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -66
  1164. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -705
  1165. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1000
  1166. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -233
  1167. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -245
  1168. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator/pooling.rs +0 -656
  1169. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance/allocator.rs +0 -798
  1170. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/instance.rs +0 -1519
  1171. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/libcalls.rs +0 -834
  1172. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/memory.rs +0 -744
  1173. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap.rs +0 -220
  1174. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mmap_vec.rs +0 -162
  1175. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/module_id.rs +0 -43
  1176. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/disabled.rs +0 -43
  1177. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/enabled.rs +0 -214
  1178. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/mod.rs +0 -54
  1179. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/mpk/sys.rs +0 -114
  1180. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/capi.rs +0 -200
  1181. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mmap.rs +0 -112
  1182. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/mod.rs +0 -34
  1183. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/unwind.rs +0 -17
  1184. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/custom/vm.rs +0 -109
  1185. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/mmap.rs +0 -95
  1186. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/unwind.rs +0 -17
  1187. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/miri/vm.rs +0 -63
  1188. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/mod.rs +0 -25
  1189. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/mmap.rs +0 -162
  1190. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/signals.rs +0 -401
  1191. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/unwind.rs +0 -150
  1192. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/unix/vm.rs +0 -215
  1193. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/mmap.rs +0 -221
  1194. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/unwind.rs +0 -46
  1195. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/sys/windows/vm.rs +0 -79
  1196. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/table.rs +0 -847
  1197. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory.rs +0 -233
  1198. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/threads/shared_memory_disabled.rs +0 -101
  1199. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/traphandlers.rs +0 -768
  1200. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -138
  1201. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm/vmcontext.rs +0 -1337
  1202. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime/vm.rs +0 -287
  1203. data/ext/cargo-vendor/wasmtime-21.0.1/src/runtime.rs +0 -110
  1204. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/.cargo-checksum.json +0 -1
  1205. data/ext/cargo-vendor/wasmtime-asm-macros-21.0.1/Cargo.toml +0 -22
  1206. data/ext/cargo-vendor/wasmtime-cache-21.0.1/.cargo-checksum.json +0 -1
  1207. data/ext/cargo-vendor/wasmtime-cache-21.0.1/Cargo.toml +0 -88
  1208. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/config.rs +0 -584
  1209. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/lib.rs +0 -235
  1210. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/tests.rs +0 -91
  1211. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker/tests.rs +0 -758
  1212. data/ext/cargo-vendor/wasmtime-cache-21.0.1/src/worker.rs +0 -890
  1213. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/.cargo-checksum.json +0 -1
  1214. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/Cargo.toml +0 -79
  1215. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/bindgen.rs +0 -436
  1216. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/src/component.rs +0 -1295
  1217. data/ext/cargo-vendor/wasmtime-component-macro-21.0.1/tests/codegen.rs +0 -576
  1218. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/.cargo-checksum.json +0 -1
  1219. data/ext/cargo-vendor/wasmtime-component-util-21.0.1/Cargo.toml +0 -25
  1220. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/.cargo-checksum.json +0 -1
  1221. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/Cargo.toml +0 -114
  1222. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler/component.rs +0 -968
  1223. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/compiler.rs +0 -1383
  1224. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/gc.rs +0 -252
  1225. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/address_transform.rs +0 -783
  1226. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/attr.rs +0 -320
  1227. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/expression.rs +0 -1248
  1228. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/line_program.rs +0 -287
  1229. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/mod.rs +0 -256
  1230. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/range_info_builder.rs +0 -221
  1231. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/simulate.rs +0 -411
  1232. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/unit.rs +0 -529
  1233. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/transform/utils.rs +0 -186
  1234. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug/write_debuginfo.rs +0 -196
  1235. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/debug.rs +0 -18
  1236. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/func_environ.rs +0 -2888
  1237. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/gc/enabled.rs +0 -648
  1238. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/lib.rs +0 -511
  1239. data/ext/cargo-vendor/wasmtime-cranelift-21.0.1/src/obj.rs +0 -545
  1240. data/ext/cargo-vendor/wasmtime-environ-21.0.1/.cargo-checksum.json +0 -1
  1241. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.lock +0 -772
  1242. data/ext/cargo-vendor/wasmtime-environ-21.0.1/Cargo.toml +0 -154
  1243. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/address_map.rs +0 -73
  1244. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/mod.rs +0 -419
  1245. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_artifacts.rs +0 -315
  1246. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_environ.rs +0 -1337
  1247. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/compile/module_types.rs +0 -362
  1248. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/artifacts.rs +0 -72
  1249. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/dfg.rs +0 -691
  1250. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/info.rs +0 -672
  1251. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/adapt.rs +0 -455
  1252. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate/inline.rs +0 -1332
  1253. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/translate.rs +0 -978
  1254. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types.rs +0 -1029
  1255. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder/resources.rs +0 -233
  1256. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component/types_builder.rs +0 -997
  1257. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/component.rs +0 -107
  1258. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/trampoline.rs +0 -3234
  1259. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact/transcode.rs +0 -90
  1260. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/fact.rs +0 -714
  1261. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/lib.rs +0 -161
  1262. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module.rs +0 -697
  1263. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_artifacts.rs +0 -146
  1264. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/module_types.rs +0 -91
  1265. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/ref_bits.rs +0 -36
  1266. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/stack_map.rs +0 -37
  1267. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/tunables.rs +0 -168
  1268. data/ext/cargo-vendor/wasmtime-environ-21.0.1/src/vmoffsets.rs +0 -1015
  1269. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/.cargo-checksum.json +0 -1
  1270. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/Cargo.toml +0 -64
  1271. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/build.rs +0 -38
  1272. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/lib.rs +0 -328
  1273. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/unix.rs +0 -490
  1274. data/ext/cargo-vendor/wasmtime-fiber-21.0.1/src/windows.rs +0 -166
  1275. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/.cargo-checksum.json +0 -1
  1276. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/Cargo.toml +0 -67
  1277. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/gdb_jit_int.rs +0 -130
  1278. data/ext/cargo-vendor/wasmtime-jit-debug-21.0.1/src/perf_jitdump.rs +0 -293
  1279. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/.cargo-checksum.json +0 -1
  1280. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/Cargo.toml +0 -51
  1281. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-21.0.1/src/libc.rs +0 -163
  1282. data/ext/cargo-vendor/wasmtime-slab-21.0.1/.cargo-checksum.json +0 -1
  1283. data/ext/cargo-vendor/wasmtime-slab-21.0.1/Cargo.toml +0 -21
  1284. data/ext/cargo-vendor/wasmtime-slab-21.0.1/src/lib.rs +0 -498
  1285. data/ext/cargo-vendor/wasmtime-types-21.0.1/.cargo-checksum.json +0 -1
  1286. data/ext/cargo-vendor/wasmtime-types-21.0.1/Cargo.toml +0 -55
  1287. data/ext/cargo-vendor/wasmtime-types-21.0.1/src/lib.rs +0 -1572
  1288. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/.cargo-checksum.json +0 -1
  1289. data/ext/cargo-vendor/wasmtime-versioned-export-macros-21.0.1/Cargo.toml +0 -32
  1290. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/.cargo-checksum.json +0 -1
  1291. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/Cargo.toml +0 -200
  1292. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/bindings.rs +0 -280
  1293. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ctx.rs +0 -667
  1294. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/filesystem.rs +0 -446
  1295. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/clocks.rs +0 -103
  1296. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/env.rs +0 -15
  1297. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/exit.rs +0 -11
  1298. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem/sync.rs +0 -518
  1299. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/filesystem.rs +0 -1079
  1300. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/instance_network.rs +0 -15
  1301. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/io.rs +0 -367
  1302. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/network.rs +0 -539
  1303. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/random.rs +0 -36
  1304. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp.rs +0 -306
  1305. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/tcp_create_socket.rs +0 -15
  1306. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp.rs +0 -532
  1307. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/host/udp_create_socket.rs +0 -15
  1308. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/ip_name_lookup.rs +0 -126
  1309. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/lib.rs +0 -426
  1310. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/network.rs +0 -107
  1311. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/pipe.rs +0 -826
  1312. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/poll.rs +0 -233
  1313. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview0.rs +0 -877
  1314. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/preview1.rs +0 -2660
  1315. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/src/stdio.rs +0 -507
  1316. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/api.rs +0 -198
  1317. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/async_.rs +0 -397
  1318. data/ext/cargo-vendor/wasmtime-wasi-21.0.1/tests/all/sync.rs +0 -331
  1319. data/ext/cargo-vendor/wasmtime-winch-21.0.1/.cargo-checksum.json +0 -1
  1320. data/ext/cargo-vendor/wasmtime-winch-21.0.1/Cargo.toml +0 -81
  1321. data/ext/cargo-vendor/wasmtime-winch-21.0.1/src/compiler.rs +0 -261
  1322. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/.cargo-checksum.json +0 -1
  1323. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/Cargo.toml +0 -46
  1324. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/lib.rs +0 -2541
  1325. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/rust.rs +0 -421
  1326. data/ext/cargo-vendor/wasmtime-wit-bindgen-21.0.1/src/types.rs +0 -202
  1327. data/ext/cargo-vendor/wast-209.0.1/.cargo-checksum.json +0 -1
  1328. data/ext/cargo-vendor/wast-209.0.1/Cargo.toml +0 -60
  1329. data/ext/cargo-vendor/wast-209.0.1/src/component/binary.rs +0 -1000
  1330. data/ext/cargo-vendor/wast-209.0.1/src/component/component.rs +0 -321
  1331. data/ext/cargo-vendor/wast-209.0.1/src/component/expand.rs +0 -875
  1332. data/ext/cargo-vendor/wast-209.0.1/src/component/resolve.rs +0 -999
  1333. data/ext/cargo-vendor/wast-209.0.1/src/component.rs +0 -28
  1334. data/ext/cargo-vendor/wast-209.0.1/src/core/binary.rs +0 -1396
  1335. data/ext/cargo-vendor/wast-209.0.1/src/core/expr.rs +0 -2016
  1336. data/ext/cargo-vendor/wast-209.0.1/src/core/memory.rs +0 -284
  1337. data/ext/cargo-vendor/wast-209.0.1/src/core/module.rs +0 -218
  1338. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/deinline_import_export.rs +0 -235
  1339. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/names.rs +0 -751
  1340. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/types.rs +0 -267
  1341. data/ext/cargo-vendor/wast-209.0.1/src/core/table.rs +0 -302
  1342. data/ext/cargo-vendor/wast-209.0.1/src/core/types.rs +0 -901
  1343. data/ext/cargo-vendor/wast-209.0.1/src/core.rs +0 -29
  1344. data/ext/cargo-vendor/wast-209.0.1/src/lib.rs +0 -551
  1345. data/ext/cargo-vendor/wast-209.0.1/src/parser.rs +0 -1414
  1346. data/ext/cargo-vendor/wast-209.0.1/src/wat.rs +0 -71
  1347. data/ext/cargo-vendor/wat-1.209.1/.cargo-checksum.json +0 -1
  1348. data/ext/cargo-vendor/wat-1.209.1/Cargo.toml +0 -34
  1349. data/ext/cargo-vendor/wat-1.209.1/src/lib.rs +0 -401
  1350. data/ext/cargo-vendor/wiggle-21.0.1/.cargo-checksum.json +0 -1
  1351. data/ext/cargo-vendor/wiggle-21.0.1/Cargo.toml +0 -123
  1352. data/ext/cargo-vendor/wiggle-21.0.1/LICENSE +0 -220
  1353. data/ext/cargo-vendor/wiggle-21.0.1/src/borrow.rs +0 -113
  1354. data/ext/cargo-vendor/wiggle-21.0.1/src/guest_type.rs +0 -237
  1355. data/ext/cargo-vendor/wiggle-21.0.1/src/lib.rs +0 -1184
  1356. data/ext/cargo-vendor/wiggle-21.0.1/src/wasmtime.rs +0 -97
  1357. data/ext/cargo-vendor/wiggle-generate-21.0.1/.cargo-checksum.json +0 -1
  1358. data/ext/cargo-vendor/wiggle-generate-21.0.1/Cargo.toml +0 -66
  1359. data/ext/cargo-vendor/wiggle-generate-21.0.1/LICENSE +0 -220
  1360. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/funcs.rs +0 -435
  1361. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/module_trait.rs +0 -102
  1362. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/names.rs +0 -303
  1363. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/flags.rs +0 -92
  1364. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/handle.rs +0 -84
  1365. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/mod.rs +0 -129
  1366. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/record.rs +0 -132
  1367. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/types/variant.rs +0 -191
  1368. data/ext/cargo-vendor/wiggle-generate-21.0.1/src/wasmtime.rs +0 -170
  1369. data/ext/cargo-vendor/wiggle-macro-21.0.1/.cargo-checksum.json +0 -1
  1370. data/ext/cargo-vendor/wiggle-macro-21.0.1/Cargo.toml +0 -55
  1371. data/ext/cargo-vendor/wiggle-macro-21.0.1/LICENSE +0 -220
  1372. data/ext/cargo-vendor/wiggle-macro-21.0.1/src/lib.rs +0 -210
  1373. data/ext/cargo-vendor/winch-codegen-0.19.1/.cargo-checksum.json +0 -1
  1374. data/ext/cargo-vendor/winch-codegen-0.19.1/Cargo.toml +0 -76
  1375. data/ext/cargo-vendor/winch-codegen-0.19.1/src/abi/mod.rs +0 -671
  1376. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/context.rs +0 -534
  1377. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/control.rs +0 -972
  1378. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/env.rs +0 -440
  1379. data/ext/cargo-vendor/winch-codegen-0.19.1/src/codegen/mod.rs +0 -882
  1380. data/ext/cargo-vendor/winch-codegen-0.19.1/src/frame/mod.rs +0 -258
  1381. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/asm.rs +0 -380
  1382. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/masm.rs +0 -566
  1383. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/aarch64/regs.rs +0 -161
  1384. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/asm.rs +0 -1423
  1385. data/ext/cargo-vendor/winch-codegen-0.19.1/src/isa/x64/masm.rs +0 -1120
  1386. data/ext/cargo-vendor/winch-codegen-0.19.1/src/masm.rs +0 -941
  1387. data/ext/cargo-vendor/winch-codegen-0.19.1/src/regalloc.rs +0 -65
  1388. data/ext/cargo-vendor/winch-codegen-0.19.1/src/stack.rs +0 -439
  1389. data/ext/cargo-vendor/winch-codegen-0.19.1/src/visitor.rs +0 -2144
  1390. data/ext/cargo-vendor/wit-parser-0.207.0/.cargo-checksum.json +0 -1
  1391. data/ext/cargo-vendor/wit-parser-0.207.0/Cargo.toml +0 -109
  1392. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/lex.rs +0 -747
  1393. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast/resolve.rs +0 -1442
  1394. data/ext/cargo-vendor/wit-parser-0.207.0/src/ast.rs +0 -1348
  1395. data/ext/cargo-vendor/wit-parser-0.207.0/src/decoding.rs +0 -1764
  1396. data/ext/cargo-vendor/wit-parser-0.207.0/src/docs.rs +0 -389
  1397. data/ext/cargo-vendor/wit-parser-0.207.0/src/lib.rs +0 -777
  1398. data/ext/cargo-vendor/wit-parser-0.207.0/src/live.rs +0 -126
  1399. data/ext/cargo-vendor/wit-parser-0.207.0/src/resolve.rs +0 -2337
  1400. data/ext/cargo-vendor/wit-parser-0.207.0/src/serde_.rs +0 -108
  1401. data/ext/cargo-vendor/wit-parser-0.207.0/tests/all.rs +0 -153
  1402. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/complex-include.wit.json +0 -168
  1403. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/diamond1.wit.json +0 -55
  1404. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/disambiguate-diamond.wit.json +0 -107
  1405. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps-union.wit.json +0 -380
  1406. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/foreign-deps.wit.json +0 -344
  1407. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/ignore-files-deps.wit.json +0 -39
  1408. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/import-export-overlap2.wit.json +0 -41
  1409. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/include-reps.wit.json +0 -60
  1410. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/kinds-of-deps.wit.json +0 -87
  1411. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/many-names.wit.json +0 -40
  1412. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/multi-file.wit.json +0 -298
  1413. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
  1414. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
  1415. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -5
  1416. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -5
  1417. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -5
  1418. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -5
  1419. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -5
  1420. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -5
  1421. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -8
  1422. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/shared-types.wit.json +0 -83
  1423. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
  1424. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-diamond.wit.json +0 -118
  1425. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-iface-no-collide.wit.json +0 -66
  1426. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import1.wit.json +0 -75
  1427. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import2.wit.json +0 -70
  1428. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-implicit-import3.wit.json +0 -71
  1429. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-same-fields4.wit.json +0 -76
  1430. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/world-top-level-resources.wit.json +0 -231
  1431. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-union-dedup.wit.json +0 -100
  1432. data/ext/cargo-vendor/wit-parser-0.207.0/tests/ui/worlds-with-types.wit.json +0 -202
  1433. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/LICENSE +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/README.md +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/lib.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/map.rs +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/node.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/path.rs +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/pool.rs +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-bforest-0.108.1 → cranelift-bforest-0.110.2}/src/set.rs +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/LICENSE +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/README.md +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/benches/x64-evex-encoding.rs +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/build.rs +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/alias_analysis.rs +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/binemit/mod.rs +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/cfg_printer.rs +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/constant_hash.rs +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ctxhash.rs +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/cursor.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/dbg.rs +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/egraph/cost.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/egraph/elaborate.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/flowgraph.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/incremental_cache.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/atomic_rmw_op.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/builder.rs +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/condcodes.rs +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/constant.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/dynamic_type.rs +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/entities.rs +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/extname.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/function.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/known_symbol.rs +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/layout.rs +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/libcall.rs +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/memflags.rs +0 -0
  1468. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/memtype.rs +0 -0
  1469. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/pcc.rs +0 -0
  1470. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/progpoint.rs +0 -0
  1471. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ir/sourceloc.rs +0 -0
  1472. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind.rs +0 -0
  1473. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst_neon.isle +0 -0
  1474. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1475. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle.rs +0 -0
  1476. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower.rs +0 -0
  1477. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1478. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/aarch64/settings.rs +0 -0
  1479. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/call_conv.rs +0 -0
  1480. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/regs.rs +0 -0
  1481. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind.rs +0 -0
  1482. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1483. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower.rs +0 -0
  1484. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/riscv64/settings.rs +0 -0
  1485. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind.rs +0 -0
  1486. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1487. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle.rs +0 -0
  1488. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/lower.rs +0 -0
  1489. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/s390x/settings.rs +0 -0
  1490. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind/systemv.rs +0 -0
  1491. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind/winx64.rs +0 -0
  1492. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/unwind.rs +0 -0
  1493. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/evex.rs +0 -0
  1494. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/mod.rs +0 -0
  1495. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/rex.rs +0 -0
  1496. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/vex.rs +0 -0
  1497. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1498. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind.rs +0 -0
  1499. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1500. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle.rs +0 -0
  1501. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/lower.rs +0 -0
  1502. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/isa/x64/settings.rs +0 -0
  1503. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/iterators.rs +0 -0
  1504. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/legalizer/globalvalue.rs +0 -0
  1505. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/loop_analysis.rs +0 -0
  1506. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/compile.rs +0 -0
  1507. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/inst_common.rs +0 -0
  1508. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/machinst/pcc.rs +0 -0
  1509. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/nan_canonicalization.rs +0 -0
  1510. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/README.md +0 -0
  1511. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/arithmetic.isle +0 -0
  1512. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/bitops.isle +0 -0
  1513. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/extends.isle +0 -0
  1514. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/generated_code.rs +0 -0
  1515. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/icmp.isle +0 -0
  1516. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/remat.isle +0 -0
  1517. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/selects.isle +0 -0
  1518. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/spaceship.isle +0 -0
  1519. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/spectre.isle +0 -0
  1520. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts/vector.isle +0 -0
  1521. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/opts.rs +0 -0
  1522. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/prelude_opt.isle +0 -0
  1523. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/print_errors.rs +0 -0
  1524. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/ranges.rs +0 -0
  1525. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/remove_constant_phis.rs +0 -0
  1526. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/result.rs +0 -0
  1527. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/scoped_hash_map.rs +0 -0
  1528. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/settings.rs +0 -0
  1529. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/souper_harvest.rs +0 -0
  1530. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/unionfind.rs +0 -0
  1531. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/unreachable_code.rs +0 -0
  1532. /data/ext/cargo-vendor/{cranelift-codegen-0.108.1 → cranelift-codegen-0.110.2}/src/value_label.rs +0 -0
  1533. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/LICENSE +0 -0
  1534. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/README.md +0 -0
  1535. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/formats.rs +0 -0
  1536. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/instructions.rs +0 -0
  1537. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/isa.rs +0 -0
  1538. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/mod.rs +0 -0
  1539. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/operands.rs +0 -0
  1540. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/cdsl/settings.rs +0 -0
  1541. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/constant_hash.rs +0 -0
  1542. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/error.rs +0 -0
  1543. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_isle.rs +0 -0
  1544. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_settings.rs +0 -0
  1545. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/gen_types.rs +0 -0
  1546. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/arm64.rs +0 -0
  1547. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/mod.rs +0 -0
  1548. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/s390x.rs +0 -0
  1549. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isa/x86.rs +0 -0
  1550. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/isle.rs +0 -0
  1551. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/lib.rs +0 -0
  1552. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/entities.rs +0 -0
  1553. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/formats.rs +0 -0
  1554. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/immediates.rs +0 -0
  1555. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/mod.rs +0 -0
  1556. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/shared/settings.rs +0 -0
  1557. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/srcgen.rs +0 -0
  1558. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.108.1 → cranelift-codegen-meta-0.110.2}/src/unique_table.rs +0 -0
  1559. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/LICENSE +0 -0
  1560. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/README.md +0 -0
  1561. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/src/constant_hash.rs +0 -0
  1562. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.108.1 → cranelift-codegen-shared-0.110.2}/src/lib.rs +0 -0
  1563. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/LICENSE +0 -0
  1564. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/README.md +0 -0
  1565. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/chaos.rs +0 -0
  1566. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/lib.rs +0 -0
  1567. /data/ext/cargo-vendor/{cranelift-control-0.108.1 → cranelift-control-0.110.2}/src/zero_sized.rs +0 -0
  1568. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/LICENSE +0 -0
  1569. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/README.md +0 -0
  1570. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/boxed_slice.rs +0 -0
  1571. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/iter.rs +0 -0
  1572. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/keys.rs +0 -0
  1573. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/lib.rs +0 -0
  1574. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/list.rs +0 -0
  1575. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/map.rs +0 -0
  1576. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/packed_option.rs +0 -0
  1577. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/primary.rs +0 -0
  1578. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/sparse.rs +0 -0
  1579. /data/ext/cargo-vendor/{cranelift-entity-0.108.1 → cranelift-entity-0.110.2}/src/unsigned.rs +0 -0
  1580. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/LICENSE +0 -0
  1581. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/README.md +0 -0
  1582. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/src/switch.rs +0 -0
  1583. /data/ext/cargo-vendor/{cranelift-frontend-0.108.1 → cranelift-frontend-0.110.2}/src/variable.rs +0 -0
  1584. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/README.md +0 -0
  1585. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/build.rs +0 -0
  1586. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/bad_converters.isle +0 -0
  1587. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1588. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1589. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/error1.isle +0 -0
  1590. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/extra_parens.isle +0 -0
  1591. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/impure_expression.isle +0 -0
  1592. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/impure_rhs.isle +0 -0
  1593. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1594. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/fail/multi_prio.isle +0 -0
  1595. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/borrows.isle +0 -0
  1596. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/borrows_main.rs +0 -0
  1597. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/iflets.isle +0 -0
  1598. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/iflets_main.rs +0 -0
  1599. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor.isle +0 -0
  1600. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor_main.rs +0 -0
  1601. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor.isle +0 -0
  1602. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor_main.rs +0 -0
  1603. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/test.isle +0 -0
  1604. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/link/test_main.rs +0 -0
  1605. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/bound_var.isle +0 -0
  1606. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/construct_and_extract.isle +0 -0
  1607. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/conversions.isle +0 -0
  1608. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/conversions_extern.isle +0 -0
  1609. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/let.isle +0 -0
  1610. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/nodebug.isle +0 -0
  1611. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1612. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test2.isle +0 -0
  1613. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test3.isle +0 -0
  1614. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/test4.isle +0 -0
  1615. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/pass/tutorial.isle +0 -0
  1616. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/iconst.isle +0 -0
  1617. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/iconst_main.rs +0 -0
  1618. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing.isle +0 -0
  1619. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing_main.rs +0 -0
  1620. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/ast.rs +0 -0
  1621. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/compile.rs +0 -0
  1622. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/disjointsets.rs +0 -0
  1623. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/error.rs +0 -0
  1624. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/lexer.rs +0 -0
  1625. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/lib.rs +0 -0
  1626. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/log.rs +0 -0
  1627. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/overlap.rs +0 -0
  1628. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/serialize.rs +0 -0
  1629. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/src/stablemapset.rs +0 -0
  1630. /data/ext/cargo-vendor/{cranelift-isle-0.108.1 → cranelift-isle-0.110.2}/tests/run_tests.rs +0 -0
  1631. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.110.2}/LICENSE +0 -0
  1632. /data/ext/cargo-vendor/{cranelift-native-0.108.1 → cranelift-native-0.110.2}/README.md +0 -0
  1633. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/LICENSE +0 -0
  1634. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/README.md +0 -0
  1635. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/dummy.rs +0 -0
  1636. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/mod.rs +0 -0
  1637. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/environ/spec.rs +0 -0
  1638. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/lib.rs +0 -0
  1639. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/table.rs +0 -0
  1640. /data/ext/cargo-vendor/{cranelift-wasm-0.108.1 → cranelift-wasm-0.110.2}/src/translation_utils.rs +0 -0
  1641. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/README.md +0 -0
  1642. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/clocks.rs +0 -0
  1643. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/lib.rs +0 -0
  1644. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/noop_scheduler.rs +0 -0
  1645. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/clocks.rs +0 -0
  1646. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/common/mod.rs +0 -0
  1647. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/random.rs +0 -0
  1648. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/scheduler.rs +0 -0
  1649. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-APACHE +0 -0
  1650. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
  1651. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
  1652. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
  1653. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
  1654. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
  1655. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
  1656. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
  1657. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
  1658. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
  1659. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
  1660. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
  1661. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
  1662. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
  1663. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
  1664. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
  1665. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
  1666. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
  1667. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
  1668. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
  1669. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
  1670. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
  1671. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
  1672. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
  1673. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
  1674. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
  1675. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
  1676. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
  1677. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
  1678. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
  1679. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
  1680. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
  1681. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
  1682. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
  1683. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
  1684. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/LICENSE +0 -0
  1686. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/README.md +0 -0
  1687. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/clocks.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/ctx.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/dir.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/error.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/file.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/lib.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/pipe.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/random.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sched/subscription.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sched.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/snapshots/mod.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/snapshots/preview_1/error.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/clocks.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/dir.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/file.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/mod.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/net.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/sched/unix.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/sched.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/sync/stdio.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/table.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/dir.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/net.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched/unix.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched/windows.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/sched.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/src/tokio/stdio.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/tests/all/main.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview0/typenames.witx +0 -0
  1716. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1717. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview1/typenames.witx +0 -0
  1718. /data/ext/cargo-vendor/{wasi-common-21.0.1 → wasi-common-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1719. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/LICENSE +0 -0
  1720. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/README.md +0 -0
  1721. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/aliases.rs +0 -0
  1722. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/builder.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/canonicals.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/components.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/exports.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/imports.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/instances.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/modules.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/names.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component/start.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/component.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/custom.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/data.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/dump.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/elements.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/functions.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/linking.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/names.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/producers.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core/start.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/core.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasm-encoder-0.207.0 → wasm-encoder-0.212.0}/src/raw.rs +0 -0
  1743. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/README.md +0 -0
  1744. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/aliases.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/builder.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/canonicals.rs +0 -0
  1747. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/components.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/exports.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/imports.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/instances.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/modules.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/names.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component/start.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/component.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/custom.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/data.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/functions.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/linking.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/names.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core/start.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/core.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.215.0}/src/raw.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/README.md +0 -0
  1764. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/benches/benchmark.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/examples/simple.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/aliases.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/canonicals.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/exports.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component/start.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/component.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/dylink0.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/exports.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/functions.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/imports.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/memories.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/tags.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core/types/matches.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/src/readers/core.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmparser-0.207.0 → wasmparser-0.212.0}/tests/big-module.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasmprinter-0.212.0}/LICENSE +0 -0
  1781. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmprinter-0.212.0}/README.md +0 -0
  1782. /data/ext/cargo-vendor/{wasmprinter-0.207.0 → wasmtime-23.0.2}/LICENSE +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/README.md +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/component/storage.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/component/store.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/externals.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/anyref.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/externref.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled/i31.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/disabled.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/gc/enabled.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/resources.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/signatures.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/store/context.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/trampoline/global.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/uninhabited.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/unix.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/aarch64.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/mod.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.S +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.rs +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/arch/x86_64.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/async_yield.rs +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/debug_builtins.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/host_data.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/gc/i31.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/helpers.c +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/imports.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/mpk/pkru.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/store_box.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/threads/mod.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/runtime/windows.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/sync_nostd.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-23.0.2}/src/sync_std.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-asm-macros-21.0.1 → wasmtime-asm-macros-23.0.2}/src/lib.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-21.0.1 → wasmtime-cache-23.0.2}/LICENSE +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/build.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/src/config/tests.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/src/worker/tests/system_time_stub.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cache-23.0.2}/tests/cache_write_default_config.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/build.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/src/lib.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/char.wit +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/conventions.wit +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/dead-code.wit +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/direct-import.wit +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/empty.wit +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/flags.wit +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/floats.wit +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/function-new.wit +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/integers.wit +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/lists.wit +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/many-arguments.wit +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multi-return.wit +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/root.wit +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/records.wit +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/rename.wit +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-export.wit +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-import.wit +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/share-types.wit +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-functions.wit +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-lists.wit +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-wasi.wit +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/small-anonymous.wit +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-default.wit +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-export.wit +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke.wit +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/strings.wit +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/unversioned-foo.wit +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/use-paths.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/variants.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/wat.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen/worlds-with-types.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-component-macro-21.0.1 → wasmtime-component-macro-23.0.2}/tests/codegen_no_std.rs +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-component-util-21.0.1 → wasmtime-component-util-23.0.2}/src/lib.rs +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-cache-21.0.1 → wasmtime-cranelift-23.0.2}/LICENSE +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/SECURITY.md +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/builder.rs +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/compiled_function.rs +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/debug/transform/refs.rs +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/gc/disabled.rs +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/gc.rs +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-cranelift-23.0.2}/src/isa_builder.rs +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-cranelift-21.0.1 → wasmtime-environ-23.0.2}/LICENSE +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/examples/factc.rs +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/address_map.rs +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/builtin.rs +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/compile/trap_encoding.rs +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/component/compiler.rs +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/component/vmcomponent_offsets.rs +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/demangling.rs +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/core_types.rs +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/signature.rs +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/fact/traps.rs +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/gc.rs +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/obj.rs +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/scopevec.rs +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-environ-23.0.2}/src/trap_encoding.rs +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-environ-21.0.1 → wasmtime-fiber-23.0.2}/LICENSE +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/aarch64.rs +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/arm.rs +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/riscv64.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/s390x.S +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/x86.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/unix/x86_64.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-fiber-23.0.2}/src/windows.c +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-23.0.2}/README.md +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-jit-debug-21.0.1 → wasmtime-jit-debug-23.0.2}/src/lib.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/lib.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/miri.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-21.0.1 → wasmtime-jit-icache-coherence-23.0.2}/src/win.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-fiber-21.0.1 → wasmtime-types-23.0.2}/LICENSE +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-types-23.0.2}/src/error.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-21.0.1 → wasmtime-versioned-export-macros-23.0.2}/src/lib.rs +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-types-21.0.1 → wasmtime-wasi-23.0.2}/LICENSE +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/README.md +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/clocks/host.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/clocks.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/error.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/host/mod.rs +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/random.rs +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/runtime.rs +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/stdio/worker_thread_stdin.rs +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/stream.rs +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/tcp.rs +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/udp.rs +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/src/write_stream.rs +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/all/main.rs +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/all/preview1.rs +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/tests/process_stdin.rs +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/command-extended.wit +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/command.wit +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/environment.wit +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/exit.wit +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/imports.wit +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/run.wit +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/stdio.wit +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/cli/terminal.wit +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/wall-clock.wit +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/clocks/world.wit +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/preopens.wit +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/types.wit +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/world.wit +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/handler.wit +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/proxy.wit +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/http/types.wit +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/error.wit +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/poll.wit +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/streams.wit +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/io/world.wit +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure-seed.wit +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure.wit +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/random.wit +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/random/world.wit +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/instance-network.wit +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/network.wit +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp.wit +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp.wit +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/deps/sockets/world.wit +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/wit/test.wit +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview0/typenames.witx +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview1/typenames.witx +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wasmtime-wasi-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/LICENSE +0 -0
  1968. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/src/builder.rs +0 -0
  1969. /data/ext/cargo-vendor/{wasmtime-winch-21.0.1 → wasmtime-winch-23.0.2}/src/lib.rs +0 -0
  1970. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-21.0.1 → wasmtime-wit-bindgen-23.0.2}/src/source.rs +0 -0
  1971. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/README.md +0 -0
  1972. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/alias.rs +0 -0
  1973. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/custom.rs +0 -0
  1974. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/export.rs +0 -0
  1975. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/func.rs +0 -0
  1976. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/import.rs +0 -0
  1977. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/instance.rs +0 -0
  1978. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/item_ref.rs +0 -0
  1979. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/module.rs +0 -0
  1980. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/types.rs +0 -0
  1981. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/wast.rs +0 -0
  1982. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/custom.rs +0 -0
  1983. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/export.rs +0 -0
  1984. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/func.rs +0 -0
  1985. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/global.rs +0 -0
  1986. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/import.rs +0 -0
  1987. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/resolve/mod.rs +0 -0
  1988. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/tag.rs +0 -0
  1989. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/wast.rs +0 -0
  1990. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/encode.rs +0 -0
  1991. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/error.rs +0 -0
  1992. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/gensym.rs +0 -0
  1993. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/lexer.rs +0 -0
  1994. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/names.rs +0 -0
  1995. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/token.rs +0 -0
  1996. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/wast.rs +0 -0
  1997. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/annotations.rs +0 -0
  1998. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/comments.rs +0 -0
  1999. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  2000. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  2001. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  2002. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  2003. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat +0 -0
  2004. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  2005. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat +0 -0
  2006. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  2007. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  2008. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  2009. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  2010. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  2011. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat +0 -0
  2012. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat.err +0 -0
  2013. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat +0 -0
  2014. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat.err +0 -0
  2015. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat +0 -0
  2016. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat.err +0 -0
  2017. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  2018. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  2019. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  2020. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  2021. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  2022. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  2023. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  2024. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  2025. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  2026. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  2027. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  2028. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  2029. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  2030. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  2031. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  2032. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  2033. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  2034. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  2035. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  2036. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  2037. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  2038. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  2039. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  2040. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  2041. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  2042. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  2043. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  2044. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  2045. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  2046. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  2047. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  2048. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  2049. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  2050. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  2051. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  2052. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  2053. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  2054. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  2055. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  2056. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  2057. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  2058. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  2059. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  2060. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  2061. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  2062. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  2063. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  2064. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  2065. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  2066. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  2067. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  2068. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  2069. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  2070. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  2071. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat +0 -0
  2072. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  2073. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  2074. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  2075. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat +0 -0
  2076. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat.err +0 -0
  2077. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat +0 -0
  2078. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat.err +0 -0
  2079. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat +0 -0
  2080. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat.err +0 -0
  2081. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat +0 -0
  2082. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat.err +0 -0
  2083. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat +0 -0
  2084. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat.err +0 -0
  2085. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat +0 -0
  2086. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat.err +0 -0
  2087. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat +0 -0
  2088. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat.err +0 -0
  2089. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat +0 -0
  2090. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat.err +0 -0
  2091. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat +0 -0
  2092. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat.err +0 -0
  2093. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat +0 -0
  2094. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat.err +0 -0
  2095. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat +0 -0
  2096. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat.err +0 -0
  2097. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat +0 -0
  2098. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat.err +0 -0
  2099. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat +0 -0
  2100. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat.err +0 -0
  2101. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat +0 -0
  2102. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat.err +0 -0
  2103. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat +0 -0
  2104. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat.err +0 -0
  2105. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat +0 -0
  2106. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat.err +0 -0
  2107. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  2108. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  2109. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail.rs +0 -0
  2110. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/recursive.rs +0 -0
  2111. /data/ext/cargo-vendor/{wat-1.209.1 → wat-1.215.0}/README.md +0 -0
  2112. /data/ext/cargo-vendor/{wasmtime-wasi-21.0.1 → wiggle-23.0.2}/LICENSE +0 -0
  2113. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/README.md +0 -0
  2114. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/src/error.rs +0 -0
  2115. /data/ext/cargo-vendor/{wiggle-21.0.1 → wiggle-23.0.2}/src/region.rs +0 -0
  2116. /data/ext/cargo-vendor/{wast-209.0.1 → wiggle-generate-23.0.2}/LICENSE +0 -0
  2117. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/README.md +0 -0
  2118. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/codegen_settings.rs +0 -0
  2119. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/config.rs +0 -0
  2120. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/lib.rs +0 -0
  2121. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/lifetimes.rs +0 -0
  2122. /data/ext/cargo-vendor/{wiggle-generate-21.0.1 → wiggle-generate-23.0.2}/src/types/error.rs +0 -0
  2123. /data/ext/cargo-vendor/{wat-1.209.1 → wiggle-macro-23.0.2}/LICENSE +0 -0
  2124. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/LICENSE +0 -0
  2125. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/build.rs +0 -0
  2126. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/abi/local.rs +0 -0
  2127. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/bounds.rs +0 -0
  2128. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/builtin.rs +0 -0
  2129. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/codegen/call.rs +0 -0
  2130. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/abi.rs +0 -0
  2131. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/address.rs +0 -0
  2132. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/aarch64/mod.rs +0 -0
  2133. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/mod.rs +0 -0
  2134. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/reg.rs +0 -0
  2135. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/abi.rs +0 -0
  2136. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/address.rs +0 -0
  2137. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/mod.rs +0 -0
  2138. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/isa/x64/regs.rs +0 -0
  2139. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/lib.rs +0 -0
  2140. /data/ext/cargo-vendor/{winch-codegen-0.19.1 → winch-codegen-0.21.2}/src/regset.rs +0 -0
  2141. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/README.md +0 -0
  2142. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/abi.rs +0 -0
  2143. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/ast/toposort.rs +0 -0
  2144. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/src/sizealign.rs +0 -0
  2145. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/comments.wit +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/comments.wit.json +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/complex-include/root.wit +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/cross-package-resource.wit.json +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/diamond1/join.wit +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/empty.wit +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/empty.wit.json +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  2164. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  2165. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  2166. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  2167. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  2168. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps/root.wit +0 -0
  2169. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  2170. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  2171. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  2172. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  2173. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  2174. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  2175. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  2176. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  2177. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  2178. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/functions.wit +0 -0
  2179. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/functions.wit.json +0 -0
  2180. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  2181. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  2182. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  2183. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit +0 -0
  2184. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  2185. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit +0 -0
  2186. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/include-reps.wit +0 -0
  2187. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit +0 -0
  2188. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  2189. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  2190. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  2191. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  2192. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  2193. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  2194. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/many-names/a.wit +0 -0
  2195. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/many-names/b.wit +0 -0
  2196. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/bar.wit +0 -0
  2197. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  2198. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  2199. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/multi-file/foo.wit +0 -0
  2200. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  2201. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  2202. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  2203. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit +0 -0
  2204. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit.json +0 -0
  2205. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit +0 -0
  2206. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit.json +0 -0
  2207. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit +0 -0
  2208. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit.json +0 -0
  2209. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  2210. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  2211. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/async.wit.result +0 -0
  2212. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  2213. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  2214. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  2215. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  2216. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  2217. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  2218. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  2219. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  2220. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  2221. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  2222. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  2223. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  2224. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  2225. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  2226. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  2227. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  2228. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  2229. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  2230. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  2231. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  2232. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  2233. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  2234. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  2235. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  2236. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  2237. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  2238. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  2239. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  2240. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  2241. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  2242. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  2243. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  2244. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  2245. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  2246. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  2247. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  2248. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  2249. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  2250. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  2251. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  2252. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  2253. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  2254. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  2255. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  2256. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  2257. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  2258. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  2259. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  2260. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  2261. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  2262. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  2263. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  2264. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  2265. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  2266. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  2267. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  2268. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  2269. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  2270. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  2271. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  2272. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  2273. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  2274. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  2275. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  2276. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  2277. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit +0 -0
  2278. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  2279. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  2280. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  2281. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  2282. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  2283. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  2284. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  2285. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  2286. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  2287. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  2288. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  2289. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  2290. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  2291. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  2292. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  2293. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  2294. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  2295. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  2296. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  2297. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  2298. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  2299. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  2300. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  2301. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  2302. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  2303. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  2304. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  2305. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  2306. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  2307. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  2308. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  2309. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  2310. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  2311. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  2312. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  2313. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  2314. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  2315. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  2316. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  2317. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  2318. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  2319. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  2320. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  2321. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  2322. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  2323. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  2324. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  2325. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  2326. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  2327. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  2328. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  2329. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  2330. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  2331. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  2332. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2333. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2334. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2335. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2336. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2337. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit +0 -0
  2338. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2339. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  2340. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2341. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2342. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2343. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2344. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2345. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  2346. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2347. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2348. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  2349. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2350. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2351. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2352. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2353. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2354. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2355. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2356. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  2357. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  2358. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  2359. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  2360. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  2361. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  2362. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  2363. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  2364. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  2365. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  2366. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  2367. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  2368. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  2369. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  2370. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2371. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2372. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  2373. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2374. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2375. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2376. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2377. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2378. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2379. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2380. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2381. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2382. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2383. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2384. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2385. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2386. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2387. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2388. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2389. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2390. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2391. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2392. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2393. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2394. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2395. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2396. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2397. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2398. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2399. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2400. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2401. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2402. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2403. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2404. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2405. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2406. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2407. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2408. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2409. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2410. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2411. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2412. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2413. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2414. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2415. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2416. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2417. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2418. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2419. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2420. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2421. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2422. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2423. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2424. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2425. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2426. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2427. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2428. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2429. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/random.wit +0 -0
  2430. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/random.wit.json +0 -0
  2431. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-empty.wit +0 -0
  2432. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-empty.wit.json +0 -0
  2433. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2434. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2435. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit +0 -0
  2436. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit.json +0 -0
  2437. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit +0 -0
  2438. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit.json +0 -0
  2439. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources.wit +0 -0
  2440. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources.wit.json +0 -0
  2441. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources1.wit +0 -0
  2442. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/resources1.wit.json +0 -0
  2443. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit +0 -0
  2444. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2445. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/shared-types.wit +0 -0
  2446. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wat +0 -0
  2447. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2448. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2449. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit +0 -0
  2450. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit.json +0 -0
  2451. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/types.wit +0 -0
  2452. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/types.wit.json +0 -0
  2453. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit +0 -0
  2454. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2455. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit +0 -0
  2456. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2457. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use-chain.wit +0 -0
  2458. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use-chain.wit.json +0 -0
  2459. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use.wit +0 -0
  2460. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/use.wit.json +0 -0
  2461. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2462. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2463. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions/foo.wit +0 -0
  2464. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/versions.wit.json +0 -0
  2465. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/wasi.wit +0 -0
  2466. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/wasi.wit.json +0 -0
  2467. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-diamond.wit +0 -0
  2468. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2469. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit +0 -0
  2470. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit +0 -0
  2471. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit +0 -0
  2472. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit +0 -0
  2473. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2474. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2475. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit +0 -0
  2476. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2477. /data/ext/cargo-vendor/{wit-parser-0.207.0 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit +0 -0
@@ -0,0 +1,2867 @@
1
+ //! A frontend for building Cranelift IR from other languages.
2
+ use crate::ssa::{SSABuilder, SideEffects};
3
+ use crate::variable::Variable;
4
+ use alloc::collections::BTreeSet;
5
+ use core::fmt::{self, Debug};
6
+ use cranelift_codegen::cursor::{Cursor, FuncCursor};
7
+ use cranelift_codegen::entity::{EntityRef, EntitySet, SecondaryMap};
8
+ use cranelift_codegen::ir;
9
+ use cranelift_codegen::ir::condcodes::IntCC;
10
+ use cranelift_codegen::ir::{
11
+ types, AbiParam, Block, DataFlowGraph, DynamicStackSlot, DynamicStackSlotData, ExtFuncData,
12
+ ExternalName, FuncRef, Function, GlobalValue, GlobalValueData, Inst, InstBuilder,
13
+ InstBuilderBase, InstructionData, JumpTable, JumpTableData, LibCall, MemFlags, RelSourceLoc,
14
+ SigRef, Signature, StackSlot, StackSlotData, Type, Value, ValueLabel, ValueLabelAssignments,
15
+ ValueLabelStart,
16
+ };
17
+ use cranelift_codegen::isa::TargetFrontendConfig;
18
+ use cranelift_codegen::packed_option::PackedOption;
19
+ use cranelift_codegen::traversals::Dfs;
20
+ use smallvec::SmallVec;
21
+
22
+ /// Structure used for translating a series of functions into Cranelift IR.
23
+ ///
24
+ /// In order to reduce memory reallocations when compiling multiple functions,
25
+ /// [`FunctionBuilderContext`] holds various data structures which are cleared between
26
+ /// functions, rather than dropped, preserving the underlying allocations.
27
+ #[derive(Default)]
28
+ pub struct FunctionBuilderContext {
29
+ ssa: SSABuilder,
30
+ status: SecondaryMap<Block, BlockStatus>,
31
+ types: SecondaryMap<Variable, Type>,
32
+ needs_stack_map: EntitySet<Value>,
33
+ dfs: Dfs,
34
+ }
35
+
36
+ /// Temporary object used to build a single Cranelift IR [`Function`].
37
+ pub struct FunctionBuilder<'a> {
38
+ /// The function currently being built.
39
+ /// This field is public so the function can be re-borrowed.
40
+ pub func: &'a mut Function,
41
+
42
+ /// Source location to assign to all new instructions.
43
+ srcloc: ir::SourceLoc,
44
+
45
+ func_ctx: &'a mut FunctionBuilderContext,
46
+ position: PackedOption<Block>,
47
+ }
48
+
49
+ #[derive(Clone, Default, Eq, PartialEq)]
50
+ enum BlockStatus {
51
+ /// No instructions have been added.
52
+ #[default]
53
+ Empty,
54
+ /// Some instructions have been added, but no terminator.
55
+ Partial,
56
+ /// A terminator has been added; no further instructions may be added.
57
+ Filled,
58
+ }
59
+
60
+ impl FunctionBuilderContext {
61
+ /// Creates a [`FunctionBuilderContext`] structure. The structure is automatically cleared after
62
+ /// each [`FunctionBuilder`] completes translating a function.
63
+ pub fn new() -> Self {
64
+ Self::default()
65
+ }
66
+
67
+ fn clear(&mut self) {
68
+ self.ssa.clear();
69
+ self.status.clear();
70
+ self.types.clear();
71
+ }
72
+
73
+ fn is_empty(&self) -> bool {
74
+ self.ssa.is_empty() && self.status.is_empty() && self.types.is_empty()
75
+ }
76
+ }
77
+
78
+ /// Implementation of the [`InstBuilder`] that has
79
+ /// one convenience method per Cranelift IR instruction.
80
+ pub struct FuncInstBuilder<'short, 'long: 'short> {
81
+ builder: &'short mut FunctionBuilder<'long>,
82
+ block: Block,
83
+ }
84
+
85
+ impl<'short, 'long> FuncInstBuilder<'short, 'long> {
86
+ fn new(builder: &'short mut FunctionBuilder<'long>, block: Block) -> Self {
87
+ Self { builder, block }
88
+ }
89
+ }
90
+
91
+ impl<'short, 'long> InstBuilderBase<'short> for FuncInstBuilder<'short, 'long> {
92
+ fn data_flow_graph(&self) -> &DataFlowGraph {
93
+ &self.builder.func.dfg
94
+ }
95
+
96
+ fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph {
97
+ &mut self.builder.func.dfg
98
+ }
99
+
100
+ // This implementation is richer than `InsertBuilder` because we use the data of the
101
+ // instruction being inserted to add related info to the DFG and the SSA building system,
102
+ // and perform debug sanity checks.
103
+ fn build(self, data: InstructionData, ctrl_typevar: Type) -> (Inst, &'short mut DataFlowGraph) {
104
+ // We only insert the Block in the layout when an instruction is added to it
105
+ self.builder.ensure_inserted_block();
106
+
107
+ let inst = self.builder.func.dfg.make_inst(data.clone());
108
+ self.builder.func.dfg.make_inst_results(inst, ctrl_typevar);
109
+ self.builder.func.layout.append_inst(inst, self.block);
110
+ if !self.builder.srcloc.is_default() {
111
+ self.builder.func.set_srcloc(inst, self.builder.srcloc);
112
+ }
113
+
114
+ match &self.builder.func.dfg.insts[inst] {
115
+ ir::InstructionData::Jump {
116
+ destination: dest, ..
117
+ } => {
118
+ // If the user has supplied jump arguments we must adapt the arguments of
119
+ // the destination block
120
+ let block = dest.block(&self.builder.func.dfg.value_lists);
121
+ self.builder.declare_successor(block, inst);
122
+ }
123
+
124
+ ir::InstructionData::Brif {
125
+ blocks: [branch_then, branch_else],
126
+ ..
127
+ } => {
128
+ let block_then = branch_then.block(&self.builder.func.dfg.value_lists);
129
+ let block_else = branch_else.block(&self.builder.func.dfg.value_lists);
130
+
131
+ self.builder.declare_successor(block_then, inst);
132
+ if block_then != block_else {
133
+ self.builder.declare_successor(block_else, inst);
134
+ }
135
+ }
136
+
137
+ ir::InstructionData::BranchTable { table, .. } => {
138
+ let pool = &self.builder.func.dfg.value_lists;
139
+
140
+ // Unlike all other jumps/branches, jump tables are
141
+ // capable of having the same successor appear
142
+ // multiple times, so we must deduplicate.
143
+ let mut unique = EntitySet::<Block>::new();
144
+ for dest_block in self
145
+ .builder
146
+ .func
147
+ .stencil
148
+ .dfg
149
+ .jump_tables
150
+ .get(*table)
151
+ .expect("you are referencing an undeclared jump table")
152
+ .all_branches()
153
+ {
154
+ let block = dest_block.block(pool);
155
+ if !unique.insert(block) {
156
+ continue;
157
+ }
158
+
159
+ // Call `declare_block_predecessor` instead of `declare_successor` for
160
+ // avoiding the borrow checker.
161
+ self.builder
162
+ .func_ctx
163
+ .ssa
164
+ .declare_block_predecessor(block, inst);
165
+ }
166
+ }
167
+
168
+ inst => debug_assert!(!inst.opcode().is_branch()),
169
+ }
170
+
171
+ if data.opcode().is_terminator() {
172
+ self.builder.fill_current_block()
173
+ }
174
+ (inst, &mut self.builder.func.dfg)
175
+ }
176
+ }
177
+
178
+ #[derive(Debug, Copy, Clone, PartialEq, Eq)]
179
+ /// An error encountered when calling [`FunctionBuilder::try_use_var`].
180
+ pub enum UseVariableError {
181
+ UsedBeforeDeclared(Variable),
182
+ }
183
+
184
+ impl fmt::Display for UseVariableError {
185
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
186
+ match self {
187
+ UseVariableError::UsedBeforeDeclared(variable) => {
188
+ write!(
189
+ f,
190
+ "variable {} was used before it was defined",
191
+ variable.index()
192
+ )?;
193
+ }
194
+ }
195
+ Ok(())
196
+ }
197
+ }
198
+
199
+ impl std::error::Error for UseVariableError {}
200
+
201
+ #[derive(Debug, Copy, Clone, Eq, PartialEq)]
202
+ /// An error encountered when calling [`FunctionBuilder::try_declare_var`].
203
+ pub enum DeclareVariableError {
204
+ DeclaredMultipleTimes(Variable),
205
+ }
206
+
207
+ impl std::error::Error for DeclareVariableError {}
208
+
209
+ impl fmt::Display for DeclareVariableError {
210
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
211
+ match self {
212
+ DeclareVariableError::DeclaredMultipleTimes(variable) => {
213
+ write!(
214
+ f,
215
+ "variable {} was declared multiple times",
216
+ variable.index()
217
+ )?;
218
+ }
219
+ }
220
+ Ok(())
221
+ }
222
+ }
223
+
224
+ #[derive(Debug, Copy, Clone, Eq, PartialEq)]
225
+ /// An error encountered when defining the initial value of a variable.
226
+ pub enum DefVariableError {
227
+ /// The variable was instantiated with a value of the wrong type.
228
+ ///
229
+ /// note: to obtain the type of the value, you can call
230
+ /// [`cranelift_codegen::ir::dfg::DataFlowGraph::value_type`] (using the
231
+ /// `FunctionBuilder.func.dfg` field)
232
+ TypeMismatch(Variable, Value),
233
+ /// The value was defined (in a call to [`FunctionBuilder::def_var`]) before
234
+ /// it was declared (in a call to [`FunctionBuilder::declare_var`]).
235
+ DefinedBeforeDeclared(Variable),
236
+ }
237
+
238
+ impl fmt::Display for DefVariableError {
239
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
240
+ match self {
241
+ DefVariableError::TypeMismatch(variable, value) => {
242
+ write!(
243
+ f,
244
+ "the types of variable {} and value {} are not the same.
245
+ The `Value` supplied to `def_var` must be of the same type as
246
+ the variable was declared to be of in `declare_var`.",
247
+ variable.index(),
248
+ value.as_u32()
249
+ )?;
250
+ }
251
+ DefVariableError::DefinedBeforeDeclared(variable) => {
252
+ write!(
253
+ f,
254
+ "the value of variable {} was declared before it was defined",
255
+ variable.index()
256
+ )?;
257
+ }
258
+ }
259
+ Ok(())
260
+ }
261
+ }
262
+
263
+ /// This module allows you to create a function in Cranelift IR in a straightforward way, hiding
264
+ /// all the complexity of its internal representation.
265
+ ///
266
+ /// The module is parametrized by one type which is the representation of variables in your
267
+ /// origin language. It offers a way to conveniently append instruction to your program flow.
268
+ /// You are responsible to split your instruction flow into extended blocks (declared with
269
+ /// [`create_block`](Self::create_block)) whose properties are:
270
+ ///
271
+ /// - branch and jump instructions can only point at the top of extended blocks;
272
+ /// - the last instruction of each block is a terminator instruction which has no natural successor,
273
+ /// and those instructions can only appear at the end of extended blocks.
274
+ ///
275
+ /// The parameters of Cranelift IR instructions are Cranelift IR values, which can only be created
276
+ /// as results of other Cranelift IR instructions. To be able to create variables redefined multiple
277
+ /// times in your program, use the [`def_var`](Self::def_var) and [`use_var`](Self::use_var) command,
278
+ /// that will maintain the correspondence between your variables and Cranelift IR SSA values.
279
+ ///
280
+ /// The first block for which you call [`switch_to_block`](Self::switch_to_block) will be assumed to
281
+ /// be the beginning of the function.
282
+ ///
283
+ /// At creation, a [`FunctionBuilder`] instance borrows an already allocated `Function` which it
284
+ /// modifies with the information stored in the mutable borrowed
285
+ /// [`FunctionBuilderContext`]. The function passed in argument should be newly created with
286
+ /// [`Function::with_name_signature()`], whereas the [`FunctionBuilderContext`] can be kept as is
287
+ /// between two function translations.
288
+ ///
289
+ /// # Errors
290
+ ///
291
+ /// The functions below will panic in debug mode whenever you try to modify the Cranelift IR
292
+ /// function in a way that violate the coherence of the code. For instance: switching to a new
293
+ /// [`Block`] when you haven't filled the current one with a terminator instruction, inserting a
294
+ /// return instruction with arguments that don't match the function's signature.
295
+ impl<'a> FunctionBuilder<'a> {
296
+ /// Creates a new [`FunctionBuilder`] structure that will operate on a [`Function`] using a
297
+ /// [`FunctionBuilderContext`].
298
+ pub fn new(func: &'a mut Function, func_ctx: &'a mut FunctionBuilderContext) -> Self {
299
+ debug_assert!(func_ctx.is_empty());
300
+ Self {
301
+ func,
302
+ srcloc: Default::default(),
303
+ func_ctx,
304
+ position: Default::default(),
305
+ }
306
+ }
307
+
308
+ /// Get the block that this builder is currently at.
309
+ pub fn current_block(&self) -> Option<Block> {
310
+ self.position.expand()
311
+ }
312
+
313
+ /// Set the source location that should be assigned to all new instructions.
314
+ pub fn set_srcloc(&mut self, srcloc: ir::SourceLoc) {
315
+ self.srcloc = srcloc;
316
+ }
317
+
318
+ /// Creates a new [`Block`] and returns its reference.
319
+ pub fn create_block(&mut self) -> Block {
320
+ let block = self.func.dfg.make_block();
321
+ self.func_ctx.ssa.declare_block(block);
322
+ block
323
+ }
324
+
325
+ /// Mark a block as "cold".
326
+ ///
327
+ /// This will try to move it out of the ordinary path of execution
328
+ /// when lowered to machine code.
329
+ pub fn set_cold_block(&mut self, block: Block) {
330
+ self.func.layout.set_cold(block);
331
+ }
332
+
333
+ /// Insert `block` in the layout *after* the existing block `after`.
334
+ pub fn insert_block_after(&mut self, block: Block, after: Block) {
335
+ self.func.layout.insert_block_after(block, after);
336
+ }
337
+
338
+ /// After the call to this function, new instructions will be inserted into the designated
339
+ /// block, in the order they are declared. You must declare the types of the [`Block`] arguments
340
+ /// you will use here.
341
+ ///
342
+ /// When inserting the terminator instruction (which doesn't have a fallthrough to its immediate
343
+ /// successor), the block will be declared filled and it will not be possible to append
344
+ /// instructions to it.
345
+ pub fn switch_to_block(&mut self, block: Block) {
346
+ // First we check that the previous block has been filled.
347
+ debug_assert!(
348
+ self.position.is_none()
349
+ || self.is_unreachable()
350
+ || self.is_pristine(self.position.unwrap())
351
+ || self.is_filled(self.position.unwrap()),
352
+ "you have to fill your block before switching"
353
+ );
354
+ // We cannot switch to a filled block
355
+ debug_assert!(
356
+ !self.is_filled(block),
357
+ "you cannot switch to a block which is already filled"
358
+ );
359
+
360
+ // Then we change the cursor position.
361
+ self.position = PackedOption::from(block);
362
+ }
363
+
364
+ /// Declares that all the predecessors of this block are known.
365
+ ///
366
+ /// Function to call with `block` as soon as the last branch instruction to `block` has been
367
+ /// created. Forgetting to call this method on every block will cause inconsistencies in the
368
+ /// produced functions.
369
+ pub fn seal_block(&mut self, block: Block) {
370
+ let side_effects = self.func_ctx.ssa.seal_block(block, self.func);
371
+ self.handle_ssa_side_effects(side_effects);
372
+ }
373
+
374
+ /// Effectively calls [seal_block](Self::seal_block) on all unsealed blocks in the function.
375
+ ///
376
+ /// It's more efficient to seal [`Block`]s as soon as possible, during
377
+ /// translation, but for frontends where this is impractical to do, this
378
+ /// function can be used at the end of translating all blocks to ensure
379
+ /// that everything is sealed.
380
+ pub fn seal_all_blocks(&mut self) {
381
+ let side_effects = self.func_ctx.ssa.seal_all_blocks(self.func);
382
+ self.handle_ssa_side_effects(side_effects);
383
+ }
384
+
385
+ /// Declares the type of a variable, so that it can be used later (by calling
386
+ /// [`FunctionBuilder::use_var`]). This function will return an error if the variable
387
+ /// has been previously declared.
388
+ pub fn try_declare_var(&mut self, var: Variable, ty: Type) -> Result<(), DeclareVariableError> {
389
+ if self.func_ctx.types[var] != types::INVALID {
390
+ return Err(DeclareVariableError::DeclaredMultipleTimes(var));
391
+ }
392
+ self.func_ctx.types[var] = ty;
393
+ Ok(())
394
+ }
395
+
396
+ /// In order to use a variable (by calling [`FunctionBuilder::use_var`]), you need
397
+ /// to first declare its type with this method.
398
+ pub fn declare_var(&mut self, var: Variable, ty: Type) {
399
+ self.try_declare_var(var, ty)
400
+ .unwrap_or_else(|_| panic!("the variable {:?} has been declared multiple times", var))
401
+ }
402
+
403
+ /// Returns the Cranelift IR necessary to use a previously defined user
404
+ /// variable, returning an error if this is not possible.
405
+ pub fn try_use_var(&mut self, var: Variable) -> Result<Value, UseVariableError> {
406
+ // Assert that we're about to add instructions to this block using the definition of the
407
+ // given variable. ssa.use_var is the only part of this crate which can add block parameters
408
+ // behind the caller's back. If we disallow calling append_block_param as soon as use_var is
409
+ // called, then we enforce a strict separation between user parameters and SSA parameters.
410
+ self.ensure_inserted_block();
411
+
412
+ let (val, side_effects) = {
413
+ let ty = *self
414
+ .func_ctx
415
+ .types
416
+ .get(var)
417
+ .ok_or(UseVariableError::UsedBeforeDeclared(var))?;
418
+ debug_assert_ne!(
419
+ ty,
420
+ types::INVALID,
421
+ "variable {:?} is used but its type has not been declared",
422
+ var
423
+ );
424
+ self.func_ctx
425
+ .ssa
426
+ .use_var(self.func, var, ty, self.position.unwrap())
427
+ };
428
+ self.handle_ssa_side_effects(side_effects);
429
+ Ok(val)
430
+ }
431
+
432
+ /// Returns the Cranelift IR value corresponding to the utilization at the current program
433
+ /// position of a previously defined user variable.
434
+ pub fn use_var(&mut self, var: Variable) -> Value {
435
+ self.try_use_var(var).unwrap_or_else(|_| {
436
+ panic!(
437
+ "variable {:?} is used but its type has not been declared",
438
+ var
439
+ )
440
+ })
441
+ }
442
+
443
+ /// Registers a new definition of a user variable. This function will return
444
+ /// an error if the value supplied does not match the type the variable was
445
+ /// declared to have.
446
+ pub fn try_def_var(&mut self, var: Variable, val: Value) -> Result<(), DefVariableError> {
447
+ let var_ty = *self
448
+ .func_ctx
449
+ .types
450
+ .get(var)
451
+ .ok_or(DefVariableError::DefinedBeforeDeclared(var))?;
452
+ if var_ty != self.func.dfg.value_type(val) {
453
+ return Err(DefVariableError::TypeMismatch(var, val));
454
+ }
455
+
456
+ self.func_ctx.ssa.def_var(var, val, self.position.unwrap());
457
+ Ok(())
458
+ }
459
+
460
+ /// Register a new definition of a user variable. The type of the value must be
461
+ /// the same as the type registered for the variable.
462
+ pub fn def_var(&mut self, var: Variable, val: Value) {
463
+ self.try_def_var(var, val)
464
+ .unwrap_or_else(|error| match error {
465
+ DefVariableError::TypeMismatch(var, val) => {
466
+ panic!(
467
+ "declared type of variable {:?} doesn't match type of value {}",
468
+ var, val
469
+ );
470
+ }
471
+ DefVariableError::DefinedBeforeDeclared(var) => {
472
+ panic!(
473
+ "variable {:?} is used but its type has not been declared",
474
+ var
475
+ );
476
+ }
477
+ })
478
+ }
479
+
480
+ /// Set label for [`Value`]
481
+ ///
482
+ /// This will not do anything unless
483
+ /// [`func.dfg.collect_debug_info`](DataFlowGraph::collect_debug_info) is called first.
484
+ pub fn set_val_label(&mut self, val: Value, label: ValueLabel) {
485
+ if let Some(values_labels) = self.func.stencil.dfg.values_labels.as_mut() {
486
+ use alloc::collections::btree_map::Entry;
487
+
488
+ let start = ValueLabelStart {
489
+ from: RelSourceLoc::from_base_offset(self.func.params.base_srcloc(), self.srcloc),
490
+ label,
491
+ };
492
+
493
+ match values_labels.entry(val) {
494
+ Entry::Occupied(mut e) => match e.get_mut() {
495
+ ValueLabelAssignments::Starts(starts) => starts.push(start),
496
+ _ => panic!("Unexpected ValueLabelAssignments at this stage"),
497
+ },
498
+ Entry::Vacant(e) => {
499
+ e.insert(ValueLabelAssignments::Starts(vec![start]));
500
+ }
501
+ }
502
+ }
503
+ }
504
+
505
+ /// Declare that the given value is a GC reference that requires inclusion
506
+ /// in a stack map when it is live across GC safepoints.
507
+ ///
508
+ /// At the current moment, values that need inclusion in stack maps are
509
+ /// spilled before safepoints, but they are not reloaded afterwards. This
510
+ /// means that moving GCs are not yet supported, however the intention is to
511
+ /// add this support in the near future.
512
+ ///
513
+ /// # Panics
514
+ ///
515
+ /// Panics if `val` is larger than 16 bytes.
516
+ pub fn declare_needs_stack_map(&mut self, val: Value) {
517
+ // We rely on these properties in `insert_safepoint_spills`.
518
+ let size = self.func.dfg.value_type(val).bytes();
519
+ assert!(size <= 16);
520
+ assert!(size.is_power_of_two());
521
+
522
+ self.func_ctx.needs_stack_map.insert(val);
523
+ }
524
+
525
+ /// Creates a jump table in the function, to be used by [`br_table`](InstBuilder::br_table) instructions.
526
+ pub fn create_jump_table(&mut self, data: JumpTableData) -> JumpTable {
527
+ self.func.create_jump_table(data)
528
+ }
529
+
530
+ /// Creates a sized stack slot in the function, to be used by [`stack_load`](InstBuilder::stack_load),
531
+ /// [`stack_store`](InstBuilder::stack_store) and [`stack_addr`](InstBuilder::stack_addr) instructions.
532
+ pub fn create_sized_stack_slot(&mut self, data: StackSlotData) -> StackSlot {
533
+ self.func.create_sized_stack_slot(data)
534
+ }
535
+
536
+ /// Creates a dynamic stack slot in the function, to be used by
537
+ /// [`dynamic_stack_load`](InstBuilder::dynamic_stack_load),
538
+ /// [`dynamic_stack_store`](InstBuilder::dynamic_stack_store) and
539
+ /// [`dynamic_stack_addr`](InstBuilder::dynamic_stack_addr) instructions.
540
+ pub fn create_dynamic_stack_slot(&mut self, data: DynamicStackSlotData) -> DynamicStackSlot {
541
+ self.func.create_dynamic_stack_slot(data)
542
+ }
543
+
544
+ /// Adds a signature which can later be used to declare an external function import.
545
+ pub fn import_signature(&mut self, signature: Signature) -> SigRef {
546
+ self.func.import_signature(signature)
547
+ }
548
+
549
+ /// Declare an external function import.
550
+ pub fn import_function(&mut self, data: ExtFuncData) -> FuncRef {
551
+ self.func.import_function(data)
552
+ }
553
+
554
+ /// Declares a global value accessible to the function.
555
+ pub fn create_global_value(&mut self, data: GlobalValueData) -> GlobalValue {
556
+ self.func.create_global_value(data)
557
+ }
558
+
559
+ /// Returns an object with the [`InstBuilder`]
560
+ /// trait that allows to conveniently append an instruction to the current [`Block`] being built.
561
+ pub fn ins<'short>(&'short mut self) -> FuncInstBuilder<'short, 'a> {
562
+ let block = self
563
+ .position
564
+ .expect("Please call switch_to_block before inserting instructions");
565
+ FuncInstBuilder::new(self, block)
566
+ }
567
+
568
+ /// Make sure that the current block is inserted in the layout.
569
+ pub fn ensure_inserted_block(&mut self) {
570
+ let block = self.position.unwrap();
571
+ if self.is_pristine(block) {
572
+ if !self.func.layout.is_block_inserted(block) {
573
+ self.func.layout.append_block(block);
574
+ }
575
+ self.func_ctx.status[block] = BlockStatus::Partial;
576
+ } else {
577
+ debug_assert!(
578
+ !self.is_filled(block),
579
+ "you cannot add an instruction to a block already filled"
580
+ );
581
+ }
582
+ }
583
+
584
+ /// Returns a [`FuncCursor`] pointed at the current position ready for inserting instructions.
585
+ ///
586
+ /// This can be used to insert SSA code that doesn't need to access locals and that doesn't
587
+ /// need to know about [`FunctionBuilder`] at all.
588
+ pub fn cursor(&mut self) -> FuncCursor {
589
+ self.ensure_inserted_block();
590
+ FuncCursor::new(self.func)
591
+ .with_srcloc(self.srcloc)
592
+ .at_bottom(self.position.unwrap())
593
+ }
594
+
595
+ /// Append parameters to the given [`Block`] corresponding to the function
596
+ /// parameters. This can be used to set up the block parameters for the
597
+ /// entry block.
598
+ pub fn append_block_params_for_function_params(&mut self, block: Block) {
599
+ debug_assert!(
600
+ !self.func_ctx.ssa.has_any_predecessors(block),
601
+ "block parameters for function parameters should only be added to the entry block"
602
+ );
603
+
604
+ // These parameters count as "user" parameters here because they aren't
605
+ // inserted by the SSABuilder.
606
+ debug_assert!(
607
+ self.is_pristine(block),
608
+ "You can't add block parameters after adding any instruction"
609
+ );
610
+
611
+ for argtyp in &self.func.stencil.signature.params {
612
+ self.func
613
+ .stencil
614
+ .dfg
615
+ .append_block_param(block, argtyp.value_type);
616
+ }
617
+ }
618
+
619
+ /// Append parameters to the given [`Block`] corresponding to the function
620
+ /// return values. This can be used to set up the block parameters for a
621
+ /// function exit block.
622
+ pub fn append_block_params_for_function_returns(&mut self, block: Block) {
623
+ // These parameters count as "user" parameters here because they aren't
624
+ // inserted by the SSABuilder.
625
+ debug_assert!(
626
+ self.is_pristine(block),
627
+ "You can't add block parameters after adding any instruction"
628
+ );
629
+
630
+ for argtyp in &self.func.stencil.signature.returns {
631
+ self.func
632
+ .stencil
633
+ .dfg
634
+ .append_block_param(block, argtyp.value_type);
635
+ }
636
+ }
637
+
638
+ /// Insert spills for every value that needs to be in a stack map at every
639
+ /// safepoint.
640
+ ///
641
+ /// First, we do a very simple, imprecise, and overapproximating liveness
642
+ /// analysis. This considers any use (regardless if that use produces side
643
+ /// effects or flows into another instruction that produces side effects!)
644
+ /// of a needs-stack-map value to keep the value live. This allows us to do
645
+ /// this liveness analysis in a single post-order traversal of the IR,
646
+ /// without any fixed-point loop. The result of this analysis is the set of
647
+ /// live needs-stack-map values at each instruction that must be a safepoint
648
+ /// (currently this is just non-tail calls).
649
+ ///
650
+ /// Second, take those results, add stack slots so we have a place to spill
651
+ /// to, and then finally spill the live needs-stack-map values at each
652
+ /// safepoint.
653
+ fn insert_safepoint_spills(&mut self) {
654
+ // A map from each safepoint to the set of GC references that are live
655
+ // across it.
656
+ let mut safepoints: crate::HashMap<ir::Inst, SmallVec<[ir::Value; 4]>> =
657
+ crate::HashMap::new();
658
+
659
+ // The maximum number of values we need to store in a stack map at the
660
+ // same time, bucketed by their type's size. This array is indexed by
661
+ // the log2 of the type's size. We do not support recording values whose
662
+ // size is greater than 16 in stack maps.
663
+ const LOG2_SIZE_CAPACITY: usize = (16u8.ilog2() as usize) + 1;
664
+ let mut max_vals_in_stack_map_by_log2_size = [0; LOG2_SIZE_CAPACITY];
665
+
666
+ // The set of needs-stack-maps values that are currently live in our
667
+ // traversal.
668
+ //
669
+ // NB: use a `BTreeSet` so that iteration is deterministic, as we will
670
+ // insert spills an order derived from this collection's iteration
671
+ // order.
672
+ let mut live = BTreeSet::new();
673
+
674
+ // Do our single-pass liveness analysis.
675
+ //
676
+ // Use a post-order traversal, traversing the IR backwards from uses to
677
+ // defs, because liveness is a backwards analysis.
678
+ //
679
+ // 1. The definition of a value removes it from our `live` set. Values
680
+ // are not live before they are defined.
681
+ //
682
+ // 2. When we see any instruction that requires a safepoint (aka
683
+ // non-tail calls) we record the current live set of needs-stack-map
684
+ // values.
685
+ //
686
+ // We ignore tail calls because this caller and its frame won't exist
687
+ // by the time the callee is executing and potentially triggers a GC;
688
+ // nothing is live in the function after it exits!
689
+ //
690
+ // Note that this step should actually happen *before* adding uses to
691
+ // the `live` set below, in order to avoid holding GC objects alive
692
+ // longer than necessary, because arguments to the call that are not
693
+ // live afterwards should need not be prevented from reclamation by
694
+ // the GC for us, and therefore need not appear in this stack map. It
695
+ // is the callee's responsibility to record such arguments in its
696
+ // stack maps if it keeps them alive across some call that might
697
+ // trigger GC.
698
+ //
699
+ // 3. Any use of a needs-stack-map value adds it to our `live` set.
700
+ //
701
+ // Note: we do not flow liveness from block parameters back to branch
702
+ // arguments, and instead always consider branch arguments live. That
703
+ // additional precision would require a fixed-point loop in the
704
+ // presence of back edges.
705
+ //
706
+ // Furthermore, we do not differentiate between uses of a
707
+ // needs-stack-map value that ultimately flow into a side-effecting
708
+ // operation versus uses that themselves are not live. This could be
709
+ // tightened up in the future, but we're starting with the easiest,
710
+ // simplest thing. Besides, none of our mid-end optimization passes
711
+ // have run at this point in time yet, so there probably isn't much,
712
+ // if any, dead code.
713
+ for block in self.func_ctx.dfs.post_order_iter(&self.func) {
714
+ let mut option_inst = self.func.layout.last_inst(block);
715
+ while let Some(inst) = option_inst {
716
+ // (1) Remove values defined by this instruction from the `live`
717
+ // set.
718
+ for val in self.func.dfg.inst_results(inst) {
719
+ live.remove(val);
720
+ }
721
+
722
+ // (2) If this instruction is a call, then we need to add a
723
+ // safepoint to record any values in `live`.
724
+ let opcode = self.func.dfg.insts[inst].opcode();
725
+ if opcode.is_call() && !opcode.is_return() {
726
+ let mut live: SmallVec<[_; 4]> = live.iter().copied().collect();
727
+ for chunk in live_vals_by_size(&self.func.dfg, &mut live) {
728
+ let index = log2_size(&self.func.dfg, chunk[0]);
729
+ max_vals_in_stack_map_by_log2_size[index] =
730
+ core::cmp::max(max_vals_in_stack_map_by_log2_size[index], chunk.len());
731
+ }
732
+
733
+ let old_val = safepoints.insert(inst, live);
734
+ debug_assert!(old_val.is_none());
735
+ }
736
+
737
+ // (3) Add all needs-stack-map values that are operands to this
738
+ // instruction to the live set. This includes branch arguments,
739
+ // as mentioned above.
740
+ for val in self.func.dfg.inst_values(inst) {
741
+ if self.func_ctx.needs_stack_map.contains(val) {
742
+ live.insert(val);
743
+ }
744
+ }
745
+
746
+ option_inst = self.func.layout.prev_inst(inst);
747
+ }
748
+
749
+ // After we've processed this block's instructions, remove its
750
+ // parameters from the live set. This is part of step (1).
751
+ for val in self.func.dfg.block_params(block) {
752
+ live.remove(val);
753
+ }
754
+ }
755
+
756
+ // Create a stack slot for each size of needs-stack-map value. These
757
+ // slots are arrays capable of holding the maximum number of same-sized
758
+ // values that must appear in the same stack map at the same time.
759
+ //
760
+ // This is indexed by the log2 of the type size.
761
+ let mut stack_slots = [PackedOption::<ir::StackSlot>::default(); LOG2_SIZE_CAPACITY];
762
+ for (log2_size, capacity) in max_vals_in_stack_map_by_log2_size.into_iter().enumerate() {
763
+ if capacity == 0 {
764
+ continue;
765
+ }
766
+
767
+ let size = 1usize << log2_size;
768
+ let slot = self.func.create_sized_stack_slot(ir::StackSlotData::new(
769
+ ir::StackSlotKind::ExplicitSlot,
770
+ u32::try_from(size * capacity).unwrap(),
771
+ u8::try_from(log2_size).unwrap(),
772
+ ));
773
+ stack_slots[log2_size] = Some(slot).into();
774
+ }
775
+
776
+ // Insert spills to our new stack slots before each safepoint
777
+ // instruction.
778
+ let mut cursor = FuncCursor::new(self.func);
779
+ for (inst, live_vals) in safepoints {
780
+ cursor = cursor.at_inst(inst);
781
+
782
+ // The offset within each stack slot for the next spill to that
783
+ // associated stack slot.
784
+ let mut stack_slot_offsets = [0; LOG2_SIZE_CAPACITY];
785
+
786
+ for val in live_vals {
787
+ let ty = cursor.func.dfg.value_type(val);
788
+ let size_of_val = ty.bytes();
789
+
790
+ let index = log2_size(&cursor.func.dfg, val);
791
+ let slot = stack_slots[index].unwrap();
792
+
793
+ let offset = stack_slot_offsets[index];
794
+ stack_slot_offsets[index] += size_of_val;
795
+
796
+ cursor
797
+ .ins()
798
+ .stack_store(val, slot, i32::try_from(offset).unwrap());
799
+
800
+ cursor
801
+ .func
802
+ .dfg
803
+ .append_user_stack_map_entry(inst, ir::UserStackMapEntry { ty, slot, offset });
804
+ }
805
+ }
806
+ }
807
+
808
+ /// Declare that translation of the current function is complete.
809
+ ///
810
+ /// This resets the state of the [`FunctionBuilderContext`] in preparation to
811
+ /// be used for another function.
812
+ pub fn finalize(mut self) {
813
+ // Check that all the `Block`s are filled and sealed.
814
+ #[cfg(debug_assertions)]
815
+ {
816
+ for block in self.func_ctx.status.keys() {
817
+ if !self.is_pristine(block) {
818
+ assert!(
819
+ self.func_ctx.ssa.is_sealed(block),
820
+ "FunctionBuilder finalized, but block {} is not sealed",
821
+ block,
822
+ );
823
+ assert!(
824
+ self.is_filled(block),
825
+ "FunctionBuilder finalized, but block {} is not filled",
826
+ block,
827
+ );
828
+ }
829
+ }
830
+ }
831
+
832
+ // In debug mode, check that all blocks are valid basic blocks.
833
+ #[cfg(debug_assertions)]
834
+ {
835
+ // Iterate manually to provide more helpful error messages.
836
+ for block in self.func_ctx.status.keys() {
837
+ if let Err((inst, msg)) = self.func.is_block_basic(block) {
838
+ let inst_str = self.func.dfg.display_inst(inst);
839
+ panic!(
840
+ "{} failed basic block invariants on {}: {}",
841
+ block, inst_str, msg
842
+ );
843
+ }
844
+ }
845
+ }
846
+
847
+ if !self.func_ctx.needs_stack_map.is_empty() {
848
+ self.insert_safepoint_spills();
849
+ }
850
+
851
+ // Clear the state (but preserve the allocated buffers) in preparation
852
+ // for translation another function.
853
+ self.func_ctx.clear();
854
+ }
855
+ }
856
+
857
+ /// Sort `live` by size and return an iterable of subslices grouped by size.
858
+ fn live_vals_by_size<'a, 'b>(
859
+ dfg: &'a ir::DataFlowGraph,
860
+ live: &'b mut [ir::Value],
861
+ ) -> impl Iterator<Item = &'b [ir::Value]>
862
+ where
863
+ 'a: 'b,
864
+ {
865
+ live.sort_by_key(|val| dfg.value_type(*val).bytes());
866
+ live.chunk_by(|a, b| dfg.value_type(*a).bytes() == dfg.value_type(*b).bytes())
867
+ }
868
+
869
+ /// Get `log2(sizeof(val))` as a `usize`.
870
+ fn log2_size(dfg: &ir::DataFlowGraph, val: ir::Value) -> usize {
871
+ let size = dfg.value_type(val).bytes();
872
+ debug_assert!(size.is_power_of_two());
873
+ usize::try_from(size.ilog2()).unwrap()
874
+ }
875
+
876
+ /// All the functions documented in the previous block are write-only and help you build a valid
877
+ /// Cranelift IR functions via multiple debug asserts. However, you might need to improve the
878
+ /// performance of your translation perform more complex transformations to your Cranelift IR
879
+ /// function. The functions below help you inspect the function you're creating and modify it
880
+ /// in ways that can be unsafe if used incorrectly.
881
+ impl<'a> FunctionBuilder<'a> {
882
+ /// Retrieves all the parameters for a [`Block`] currently inferred from the jump instructions
883
+ /// inserted that target it and the SSA construction.
884
+ pub fn block_params(&self, block: Block) -> &[Value] {
885
+ self.func.dfg.block_params(block)
886
+ }
887
+
888
+ /// Retrieves the signature with reference `sigref` previously added with
889
+ /// [`import_signature`](Self::import_signature).
890
+ pub fn signature(&self, sigref: SigRef) -> Option<&Signature> {
891
+ self.func.dfg.signatures.get(sigref)
892
+ }
893
+
894
+ /// Creates a parameter for a specific [`Block`] by appending it to the list of already existing
895
+ /// parameters.
896
+ ///
897
+ /// **Note:** this function has to be called at the creation of the `Block` before adding
898
+ /// instructions to it, otherwise this could interfere with SSA construction.
899
+ pub fn append_block_param(&mut self, block: Block, ty: Type) -> Value {
900
+ debug_assert!(
901
+ self.is_pristine(block),
902
+ "You can't add block parameters after adding any instruction"
903
+ );
904
+ self.func.dfg.append_block_param(block, ty)
905
+ }
906
+
907
+ /// Returns the result values of an instruction.
908
+ pub fn inst_results(&self, inst: Inst) -> &[Value] {
909
+ self.func.dfg.inst_results(inst)
910
+ }
911
+
912
+ /// Changes the destination of a jump instruction after creation.
913
+ ///
914
+ /// **Note:** You are responsible for maintaining the coherence with the arguments of
915
+ /// other jump instructions.
916
+ pub fn change_jump_destination(&mut self, inst: Inst, old_block: Block, new_block: Block) {
917
+ let dfg = &mut self.func.dfg;
918
+ for block in dfg.insts[inst].branch_destination_mut(&mut dfg.jump_tables) {
919
+ if block.block(&dfg.value_lists) == old_block {
920
+ self.func_ctx.ssa.remove_block_predecessor(old_block, inst);
921
+ block.set_block(new_block, &mut dfg.value_lists);
922
+ self.func_ctx.ssa.declare_block_predecessor(new_block, inst);
923
+ }
924
+ }
925
+ }
926
+
927
+ /// Returns `true` if and only if the current [`Block`] is sealed and has no predecessors declared.
928
+ ///
929
+ /// The entry block of a function is never unreachable.
930
+ pub fn is_unreachable(&self) -> bool {
931
+ let is_entry = match self.func.layout.entry_block() {
932
+ None => false,
933
+ Some(entry) => self.position.unwrap() == entry,
934
+ };
935
+ !is_entry
936
+ && self.func_ctx.ssa.is_sealed(self.position.unwrap())
937
+ && !self
938
+ .func_ctx
939
+ .ssa
940
+ .has_any_predecessors(self.position.unwrap())
941
+ }
942
+
943
+ /// Returns `true` if and only if no instructions have been added since the last call to
944
+ /// [`switch_to_block`](Self::switch_to_block).
945
+ fn is_pristine(&self, block: Block) -> bool {
946
+ self.func_ctx.status[block] == BlockStatus::Empty
947
+ }
948
+
949
+ /// Returns `true` if and only if a terminator instruction has been inserted since the
950
+ /// last call to [`switch_to_block`](Self::switch_to_block).
951
+ fn is_filled(&self, block: Block) -> bool {
952
+ self.func_ctx.status[block] == BlockStatus::Filled
953
+ }
954
+ }
955
+
956
+ /// Helper functions
957
+ impl<'a> FunctionBuilder<'a> {
958
+ /// Calls libc.memcpy
959
+ ///
960
+ /// Copies the `size` bytes from `src` to `dest`, assumes that `src + size`
961
+ /// won't overlap onto `dest`. If `dest` and `src` overlap, the behavior is
962
+ /// undefined. Applications in which `dest` and `src` might overlap should
963
+ /// use `call_memmove` instead.
964
+ pub fn call_memcpy(
965
+ &mut self,
966
+ config: TargetFrontendConfig,
967
+ dest: Value,
968
+ src: Value,
969
+ size: Value,
970
+ ) {
971
+ let pointer_type = config.pointer_type();
972
+ let signature = {
973
+ let mut s = Signature::new(config.default_call_conv);
974
+ s.params.push(AbiParam::new(pointer_type));
975
+ s.params.push(AbiParam::new(pointer_type));
976
+ s.params.push(AbiParam::new(pointer_type));
977
+ s.returns.push(AbiParam::new(pointer_type));
978
+ self.import_signature(s)
979
+ };
980
+
981
+ let libc_memcpy = self.import_function(ExtFuncData {
982
+ name: ExternalName::LibCall(LibCall::Memcpy),
983
+ signature,
984
+ colocated: false,
985
+ });
986
+
987
+ self.ins().call(libc_memcpy, &[dest, src, size]);
988
+ }
989
+
990
+ /// Optimised memcpy or memmove for small copies.
991
+ ///
992
+ /// # Codegen safety
993
+ ///
994
+ /// The following properties must hold to prevent UB:
995
+ ///
996
+ /// * `src_align` and `dest_align` are an upper-bound on the alignment of `src` respectively `dest`.
997
+ /// * If `non_overlapping` is true, then this must be correct.
998
+ pub fn emit_small_memory_copy(
999
+ &mut self,
1000
+ config: TargetFrontendConfig,
1001
+ dest: Value,
1002
+ src: Value,
1003
+ size: u64,
1004
+ dest_align: u8,
1005
+ src_align: u8,
1006
+ non_overlapping: bool,
1007
+ mut flags: MemFlags,
1008
+ ) {
1009
+ // Currently the result of guess work, not actual profiling.
1010
+ const THRESHOLD: u64 = 4;
1011
+
1012
+ if size == 0 {
1013
+ return;
1014
+ }
1015
+
1016
+ let access_size = greatest_divisible_power_of_two(size);
1017
+ assert!(
1018
+ access_size.is_power_of_two(),
1019
+ "`size` is not a power of two"
1020
+ );
1021
+ assert!(
1022
+ access_size >= u64::from(::core::cmp::min(src_align, dest_align)),
1023
+ "`size` is smaller than `dest` and `src`'s alignment value."
1024
+ );
1025
+
1026
+ let (access_size, int_type) = if access_size <= 8 {
1027
+ (access_size, Type::int((access_size * 8) as u16).unwrap())
1028
+ } else {
1029
+ (8, types::I64)
1030
+ };
1031
+
1032
+ let load_and_store_amount = size / access_size;
1033
+
1034
+ if load_and_store_amount > THRESHOLD {
1035
+ let size_value = self.ins().iconst(config.pointer_type(), size as i64);
1036
+ if non_overlapping {
1037
+ self.call_memcpy(config, dest, src, size_value);
1038
+ } else {
1039
+ self.call_memmove(config, dest, src, size_value);
1040
+ }
1041
+ return;
1042
+ }
1043
+
1044
+ if u64::from(src_align) >= access_size && u64::from(dest_align) >= access_size {
1045
+ flags.set_aligned();
1046
+ }
1047
+
1048
+ // Load all of the memory first. This is necessary in case `dest` overlaps.
1049
+ // It can also improve performance a bit.
1050
+ let registers: smallvec::SmallVec<[_; THRESHOLD as usize]> = (0..load_and_store_amount)
1051
+ .map(|i| {
1052
+ let offset = (access_size * i) as i32;
1053
+ (self.ins().load(int_type, flags, src, offset), offset)
1054
+ })
1055
+ .collect();
1056
+
1057
+ for (value, offset) in registers {
1058
+ self.ins().store(flags, value, dest, offset);
1059
+ }
1060
+ }
1061
+
1062
+ /// Calls libc.memset
1063
+ ///
1064
+ /// Writes `size` bytes of i8 value `ch` to memory starting at `buffer`.
1065
+ pub fn call_memset(
1066
+ &mut self,
1067
+ config: TargetFrontendConfig,
1068
+ buffer: Value,
1069
+ ch: Value,
1070
+ size: Value,
1071
+ ) {
1072
+ let pointer_type = config.pointer_type();
1073
+ let signature = {
1074
+ let mut s = Signature::new(config.default_call_conv);
1075
+ s.params.push(AbiParam::new(pointer_type));
1076
+ s.params.push(AbiParam::new(types::I32));
1077
+ s.params.push(AbiParam::new(pointer_type));
1078
+ s.returns.push(AbiParam::new(pointer_type));
1079
+ self.import_signature(s)
1080
+ };
1081
+
1082
+ let libc_memset = self.import_function(ExtFuncData {
1083
+ name: ExternalName::LibCall(LibCall::Memset),
1084
+ signature,
1085
+ colocated: false,
1086
+ });
1087
+
1088
+ let ch = self.ins().uextend(types::I32, ch);
1089
+ self.ins().call(libc_memset, &[buffer, ch, size]);
1090
+ }
1091
+
1092
+ /// Calls libc.memset
1093
+ ///
1094
+ /// Writes `size` bytes of value `ch` to memory starting at `buffer`.
1095
+ pub fn emit_small_memset(
1096
+ &mut self,
1097
+ config: TargetFrontendConfig,
1098
+ buffer: Value,
1099
+ ch: u8,
1100
+ size: u64,
1101
+ buffer_align: u8,
1102
+ mut flags: MemFlags,
1103
+ ) {
1104
+ // Currently the result of guess work, not actual profiling.
1105
+ const THRESHOLD: u64 = 4;
1106
+
1107
+ if size == 0 {
1108
+ return;
1109
+ }
1110
+
1111
+ let access_size = greatest_divisible_power_of_two(size);
1112
+ assert!(
1113
+ access_size.is_power_of_two(),
1114
+ "`size` is not a power of two"
1115
+ );
1116
+ assert!(
1117
+ access_size >= u64::from(buffer_align),
1118
+ "`size` is smaller than `dest` and `src`'s alignment value."
1119
+ );
1120
+
1121
+ let (access_size, int_type) = if access_size <= 8 {
1122
+ (access_size, Type::int((access_size * 8) as u16).unwrap())
1123
+ } else {
1124
+ (8, types::I64)
1125
+ };
1126
+
1127
+ let load_and_store_amount = size / access_size;
1128
+
1129
+ if load_and_store_amount > THRESHOLD {
1130
+ let ch = self.ins().iconst(types::I8, i64::from(ch));
1131
+ let size = self.ins().iconst(config.pointer_type(), size as i64);
1132
+ self.call_memset(config, buffer, ch, size);
1133
+ } else {
1134
+ if u64::from(buffer_align) >= access_size {
1135
+ flags.set_aligned();
1136
+ }
1137
+
1138
+ let ch = u64::from(ch);
1139
+ let raw_value = if int_type == types::I64 {
1140
+ ch * 0x0101010101010101_u64
1141
+ } else if int_type == types::I32 {
1142
+ ch * 0x01010101_u64
1143
+ } else if int_type == types::I16 {
1144
+ (ch << 8) | ch
1145
+ } else {
1146
+ assert_eq!(int_type, types::I8);
1147
+ ch
1148
+ };
1149
+
1150
+ let value = self.ins().iconst(int_type, raw_value as i64);
1151
+ for i in 0..load_and_store_amount {
1152
+ let offset = (access_size * i) as i32;
1153
+ self.ins().store(flags, value, buffer, offset);
1154
+ }
1155
+ }
1156
+ }
1157
+
1158
+ /// Calls libc.memmove
1159
+ ///
1160
+ /// Copies `size` bytes from memory starting at `source` to memory starting
1161
+ /// at `dest`. `source` is always read before writing to `dest`.
1162
+ pub fn call_memmove(
1163
+ &mut self,
1164
+ config: TargetFrontendConfig,
1165
+ dest: Value,
1166
+ source: Value,
1167
+ size: Value,
1168
+ ) {
1169
+ let pointer_type = config.pointer_type();
1170
+ let signature = {
1171
+ let mut s = Signature::new(config.default_call_conv);
1172
+ s.params.push(AbiParam::new(pointer_type));
1173
+ s.params.push(AbiParam::new(pointer_type));
1174
+ s.params.push(AbiParam::new(pointer_type));
1175
+ s.returns.push(AbiParam::new(pointer_type));
1176
+ self.import_signature(s)
1177
+ };
1178
+
1179
+ let libc_memmove = self.import_function(ExtFuncData {
1180
+ name: ExternalName::LibCall(LibCall::Memmove),
1181
+ signature,
1182
+ colocated: false,
1183
+ });
1184
+
1185
+ self.ins().call(libc_memmove, &[dest, source, size]);
1186
+ }
1187
+
1188
+ /// Calls libc.memcmp
1189
+ ///
1190
+ /// Compares `size` bytes from memory starting at `left` to memory starting
1191
+ /// at `right`. Returns `0` if all `n` bytes are equal. If the first difference
1192
+ /// is at offset `i`, returns a positive integer if `ugt(left[i], right[i])`
1193
+ /// and a negative integer if `ult(left[i], right[i])`.
1194
+ ///
1195
+ /// Returns a C `int`, which is currently always [`types::I32`].
1196
+ pub fn call_memcmp(
1197
+ &mut self,
1198
+ config: TargetFrontendConfig,
1199
+ left: Value,
1200
+ right: Value,
1201
+ size: Value,
1202
+ ) -> Value {
1203
+ let pointer_type = config.pointer_type();
1204
+ let signature = {
1205
+ let mut s = Signature::new(config.default_call_conv);
1206
+ s.params.reserve(3);
1207
+ s.params.push(AbiParam::new(pointer_type));
1208
+ s.params.push(AbiParam::new(pointer_type));
1209
+ s.params.push(AbiParam::new(pointer_type));
1210
+ s.returns.push(AbiParam::new(types::I32));
1211
+ self.import_signature(s)
1212
+ };
1213
+
1214
+ let libc_memcmp = self.import_function(ExtFuncData {
1215
+ name: ExternalName::LibCall(LibCall::Memcmp),
1216
+ signature,
1217
+ colocated: false,
1218
+ });
1219
+
1220
+ let call = self.ins().call(libc_memcmp, &[left, right, size]);
1221
+ self.func.dfg.first_result(call)
1222
+ }
1223
+
1224
+ /// Optimised [`Self::call_memcmp`] for small copies.
1225
+ ///
1226
+ /// This implements the byte slice comparison `int_cc(left[..size], right[..size])`.
1227
+ ///
1228
+ /// `left_align` and `right_align` are the statically-known alignments of the
1229
+ /// `left` and `right` pointers respectively. These are used to know whether
1230
+ /// to mark `load`s as aligned. It's always fine to pass `1` for these, but
1231
+ /// passing something higher than the true alignment may trap or otherwise
1232
+ /// misbehave as described in [`MemFlags::aligned`].
1233
+ ///
1234
+ /// Note that `memcmp` is a *big-endian* and *unsigned* comparison.
1235
+ /// As such, this panics when called with `IntCC::Signed*`.
1236
+ pub fn emit_small_memory_compare(
1237
+ &mut self,
1238
+ config: TargetFrontendConfig,
1239
+ int_cc: IntCC,
1240
+ left: Value,
1241
+ right: Value,
1242
+ size: u64,
1243
+ left_align: std::num::NonZeroU8,
1244
+ right_align: std::num::NonZeroU8,
1245
+ flags: MemFlags,
1246
+ ) -> Value {
1247
+ use IntCC::*;
1248
+ let (zero_cc, empty_imm) = match int_cc {
1249
+ //
1250
+ Equal => (Equal, 1),
1251
+ NotEqual => (NotEqual, 0),
1252
+
1253
+ UnsignedLessThan => (SignedLessThan, 0),
1254
+ UnsignedGreaterThanOrEqual => (SignedGreaterThanOrEqual, 1),
1255
+ UnsignedGreaterThan => (SignedGreaterThan, 0),
1256
+ UnsignedLessThanOrEqual => (SignedLessThanOrEqual, 1),
1257
+
1258
+ SignedLessThan
1259
+ | SignedGreaterThanOrEqual
1260
+ | SignedGreaterThan
1261
+ | SignedLessThanOrEqual => {
1262
+ panic!("Signed comparison {} not supported by memcmp", int_cc)
1263
+ }
1264
+ };
1265
+
1266
+ if size == 0 {
1267
+ return self.ins().iconst(types::I8, empty_imm);
1268
+ }
1269
+
1270
+ // Future work could consider expanding this to handle more-complex scenarios.
1271
+ if let Some(small_type) = size.try_into().ok().and_then(Type::int_with_byte_size) {
1272
+ if let Equal | NotEqual = zero_cc {
1273
+ let mut left_flags = flags;
1274
+ if size == left_align.get() as u64 {
1275
+ left_flags.set_aligned();
1276
+ }
1277
+ let mut right_flags = flags;
1278
+ if size == right_align.get() as u64 {
1279
+ right_flags.set_aligned();
1280
+ }
1281
+ let left_val = self.ins().load(small_type, left_flags, left, 0);
1282
+ let right_val = self.ins().load(small_type, right_flags, right, 0);
1283
+ return self.ins().icmp(int_cc, left_val, right_val);
1284
+ } else if small_type == types::I8 {
1285
+ // Once the big-endian loads from wasmtime#2492 are implemented in
1286
+ // the backends, we could easily handle comparisons for more sizes here.
1287
+ // But for now, just handle single bytes where we don't need to worry.
1288
+
1289
+ let mut aligned_flags = flags;
1290
+ aligned_flags.set_aligned();
1291
+ let left_val = self.ins().load(small_type, aligned_flags, left, 0);
1292
+ let right_val = self.ins().load(small_type, aligned_flags, right, 0);
1293
+ return self.ins().icmp(int_cc, left_val, right_val);
1294
+ }
1295
+ }
1296
+
1297
+ let pointer_type = config.pointer_type();
1298
+ let size = self.ins().iconst(pointer_type, size as i64);
1299
+ let cmp = self.call_memcmp(config, left, right, size);
1300
+ self.ins().icmp_imm(zero_cc, cmp, 0)
1301
+ }
1302
+ }
1303
+
1304
+ fn greatest_divisible_power_of_two(size: u64) -> u64 {
1305
+ (size as i64 & -(size as i64)) as u64
1306
+ }
1307
+
1308
+ // Helper functions
1309
+ impl<'a> FunctionBuilder<'a> {
1310
+ /// A Block is 'filled' when a terminator instruction is present.
1311
+ fn fill_current_block(&mut self) {
1312
+ self.func_ctx.status[self.position.unwrap()] = BlockStatus::Filled;
1313
+ }
1314
+
1315
+ fn declare_successor(&mut self, dest_block: Block, jump_inst: Inst) {
1316
+ self.func_ctx
1317
+ .ssa
1318
+ .declare_block_predecessor(dest_block, jump_inst);
1319
+ }
1320
+
1321
+ fn handle_ssa_side_effects(&mut self, side_effects: SideEffects) {
1322
+ for modified_block in side_effects.instructions_added_to_blocks {
1323
+ if self.is_pristine(modified_block) {
1324
+ self.func_ctx.status[modified_block] = BlockStatus::Partial;
1325
+ }
1326
+ }
1327
+ }
1328
+ }
1329
+
1330
+ #[cfg(test)]
1331
+ mod tests {
1332
+ use super::greatest_divisible_power_of_two;
1333
+ use crate::frontend::{
1334
+ DeclareVariableError, DefVariableError, FunctionBuilder, FunctionBuilderContext,
1335
+ UseVariableError,
1336
+ };
1337
+ use crate::Variable;
1338
+ use alloc::string::ToString;
1339
+ use cranelift_codegen::entity::EntityRef;
1340
+ use cranelift_codegen::ir::condcodes::IntCC;
1341
+ use cranelift_codegen::ir::{self, types::*, UserFuncName};
1342
+ use cranelift_codegen::ir::{AbiParam, Function, InstBuilder, MemFlags, Signature, Value};
1343
+ use cranelift_codegen::isa::{CallConv, TargetFrontendConfig, TargetIsa};
1344
+ use cranelift_codegen::settings;
1345
+ use cranelift_codegen::verifier::verify_function;
1346
+ use target_lexicon::PointerWidth;
1347
+
1348
+ fn sample_function(lazy_seal: bool) {
1349
+ let mut sig = Signature::new(CallConv::SystemV);
1350
+ sig.returns.push(AbiParam::new(I32));
1351
+ sig.params.push(AbiParam::new(I32));
1352
+
1353
+ let mut fn_ctx = FunctionBuilderContext::new();
1354
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1355
+ {
1356
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1357
+
1358
+ let block0 = builder.create_block();
1359
+ let block1 = builder.create_block();
1360
+ let block2 = builder.create_block();
1361
+ let block3 = builder.create_block();
1362
+ let x = Variable::new(0);
1363
+ let y = Variable::new(1);
1364
+ let z = Variable::new(2);
1365
+ builder.declare_var(x, I32);
1366
+ builder.declare_var(y, I32);
1367
+ builder.declare_var(z, I32);
1368
+ builder.append_block_params_for_function_params(block0);
1369
+
1370
+ builder.switch_to_block(block0);
1371
+ if !lazy_seal {
1372
+ builder.seal_block(block0);
1373
+ }
1374
+ {
1375
+ let tmp = builder.block_params(block0)[0]; // the first function parameter
1376
+ builder.def_var(x, tmp);
1377
+ }
1378
+ {
1379
+ let tmp = builder.ins().iconst(I32, 2);
1380
+ builder.def_var(y, tmp);
1381
+ }
1382
+ {
1383
+ let arg1 = builder.use_var(x);
1384
+ let arg2 = builder.use_var(y);
1385
+ let tmp = builder.ins().iadd(arg1, arg2);
1386
+ builder.def_var(z, tmp);
1387
+ }
1388
+ builder.ins().jump(block1, &[]);
1389
+
1390
+ builder.switch_to_block(block1);
1391
+ {
1392
+ let arg1 = builder.use_var(y);
1393
+ let arg2 = builder.use_var(z);
1394
+ let tmp = builder.ins().iadd(arg1, arg2);
1395
+ builder.def_var(z, tmp);
1396
+ }
1397
+ {
1398
+ let arg = builder.use_var(y);
1399
+ builder.ins().brif(arg, block3, &[], block2, &[]);
1400
+ }
1401
+
1402
+ builder.switch_to_block(block2);
1403
+ if !lazy_seal {
1404
+ builder.seal_block(block2);
1405
+ }
1406
+ {
1407
+ let arg1 = builder.use_var(z);
1408
+ let arg2 = builder.use_var(x);
1409
+ let tmp = builder.ins().isub(arg1, arg2);
1410
+ builder.def_var(z, tmp);
1411
+ }
1412
+ {
1413
+ let arg = builder.use_var(y);
1414
+ builder.ins().return_(&[arg]);
1415
+ }
1416
+
1417
+ builder.switch_to_block(block3);
1418
+ if !lazy_seal {
1419
+ builder.seal_block(block3);
1420
+ }
1421
+
1422
+ {
1423
+ let arg1 = builder.use_var(y);
1424
+ let arg2 = builder.use_var(x);
1425
+ let tmp = builder.ins().isub(arg1, arg2);
1426
+ builder.def_var(y, tmp);
1427
+ }
1428
+ builder.ins().jump(block1, &[]);
1429
+ if !lazy_seal {
1430
+ builder.seal_block(block1);
1431
+ }
1432
+
1433
+ if lazy_seal {
1434
+ builder.seal_all_blocks();
1435
+ }
1436
+
1437
+ builder.finalize();
1438
+ }
1439
+
1440
+ let flags = settings::Flags::new(settings::builder());
1441
+ // println!("{}", func.display(None));
1442
+ if let Err(errors) = verify_function(&func, &flags) {
1443
+ panic!("{}\n{}", func.display(), errors)
1444
+ }
1445
+ }
1446
+
1447
+ #[test]
1448
+ fn sample() {
1449
+ sample_function(false)
1450
+ }
1451
+
1452
+ #[test]
1453
+ fn sample_with_lazy_seal() {
1454
+ sample_function(true)
1455
+ }
1456
+
1457
+ #[track_caller]
1458
+ fn check(func: &Function, expected_ir: &str) {
1459
+ let actual_ir = func.display().to_string();
1460
+ assert!(
1461
+ expected_ir == actual_ir,
1462
+ "Expected:\n{}\nGot:\n{}",
1463
+ expected_ir,
1464
+ actual_ir
1465
+ );
1466
+ }
1467
+
1468
+ /// Helper function to construct a fixed frontend configuration.
1469
+ fn systemv_frontend_config() -> TargetFrontendConfig {
1470
+ TargetFrontendConfig {
1471
+ default_call_conv: CallConv::SystemV,
1472
+ pointer_width: PointerWidth::U64,
1473
+ page_size_align_log2: 12,
1474
+ }
1475
+ }
1476
+
1477
+ #[test]
1478
+ fn memcpy() {
1479
+ let frontend_config = systemv_frontend_config();
1480
+ let mut sig = Signature::new(frontend_config.default_call_conv);
1481
+ sig.returns.push(AbiParam::new(I32));
1482
+
1483
+ let mut fn_ctx = FunctionBuilderContext::new();
1484
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1485
+ {
1486
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1487
+
1488
+ let block0 = builder.create_block();
1489
+ let x = Variable::new(0);
1490
+ let y = Variable::new(1);
1491
+ let z = Variable::new(2);
1492
+ builder.declare_var(x, frontend_config.pointer_type());
1493
+ builder.declare_var(y, frontend_config.pointer_type());
1494
+ builder.declare_var(z, I32);
1495
+ builder.append_block_params_for_function_params(block0);
1496
+ builder.switch_to_block(block0);
1497
+
1498
+ let src = builder.use_var(x);
1499
+ let dest = builder.use_var(y);
1500
+ let size = builder.use_var(y);
1501
+ builder.call_memcpy(frontend_config, dest, src, size);
1502
+ builder.ins().return_(&[size]);
1503
+
1504
+ builder.seal_all_blocks();
1505
+ builder.finalize();
1506
+ }
1507
+
1508
+ check(
1509
+ &func,
1510
+ "function %sample() -> i32 system_v {
1511
+ sig0 = (i64, i64, i64) -> i64 system_v
1512
+ fn0 = %Memcpy sig0
1513
+
1514
+ block0:
1515
+ v4 = iconst.i64 0
1516
+ v1 -> v4
1517
+ v3 = iconst.i64 0
1518
+ v0 -> v3
1519
+ v2 = call fn0(v1, v0, v1) ; v1 = 0, v0 = 0, v1 = 0
1520
+ return v1 ; v1 = 0
1521
+ }
1522
+ ",
1523
+ );
1524
+ }
1525
+
1526
+ #[test]
1527
+ fn small_memcpy() {
1528
+ let frontend_config = systemv_frontend_config();
1529
+ let mut sig = Signature::new(frontend_config.default_call_conv);
1530
+ sig.returns.push(AbiParam::new(I32));
1531
+
1532
+ let mut fn_ctx = FunctionBuilderContext::new();
1533
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1534
+ {
1535
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1536
+
1537
+ let block0 = builder.create_block();
1538
+ let x = Variable::new(0);
1539
+ let y = Variable::new(16);
1540
+ builder.declare_var(x, frontend_config.pointer_type());
1541
+ builder.declare_var(y, frontend_config.pointer_type());
1542
+ builder.append_block_params_for_function_params(block0);
1543
+ builder.switch_to_block(block0);
1544
+
1545
+ let src = builder.use_var(x);
1546
+ let dest = builder.use_var(y);
1547
+ let size = 8;
1548
+ builder.emit_small_memory_copy(
1549
+ frontend_config,
1550
+ dest,
1551
+ src,
1552
+ size,
1553
+ 8,
1554
+ 8,
1555
+ true,
1556
+ MemFlags::new(),
1557
+ );
1558
+ builder.ins().return_(&[dest]);
1559
+
1560
+ builder.seal_all_blocks();
1561
+ builder.finalize();
1562
+ }
1563
+
1564
+ check(
1565
+ &func,
1566
+ "function %sample() -> i32 system_v {
1567
+ block0:
1568
+ v4 = iconst.i64 0
1569
+ v1 -> v4
1570
+ v3 = iconst.i64 0
1571
+ v0 -> v3
1572
+ v2 = load.i64 aligned v0 ; v0 = 0
1573
+ store aligned v2, v1 ; v1 = 0
1574
+ return v1 ; v1 = 0
1575
+ }
1576
+ ",
1577
+ );
1578
+ }
1579
+
1580
+ #[test]
1581
+ fn not_so_small_memcpy() {
1582
+ let frontend_config = systemv_frontend_config();
1583
+ let mut sig = Signature::new(frontend_config.default_call_conv);
1584
+ sig.returns.push(AbiParam::new(I32));
1585
+
1586
+ let mut fn_ctx = FunctionBuilderContext::new();
1587
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1588
+ {
1589
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1590
+
1591
+ let block0 = builder.create_block();
1592
+ let x = Variable::new(0);
1593
+ let y = Variable::new(16);
1594
+ builder.declare_var(x, frontend_config.pointer_type());
1595
+ builder.declare_var(y, frontend_config.pointer_type());
1596
+ builder.append_block_params_for_function_params(block0);
1597
+ builder.switch_to_block(block0);
1598
+
1599
+ let src = builder.use_var(x);
1600
+ let dest = builder.use_var(y);
1601
+ let size = 8192;
1602
+ builder.emit_small_memory_copy(
1603
+ frontend_config,
1604
+ dest,
1605
+ src,
1606
+ size,
1607
+ 8,
1608
+ 8,
1609
+ true,
1610
+ MemFlags::new(),
1611
+ );
1612
+ builder.ins().return_(&[dest]);
1613
+
1614
+ builder.seal_all_blocks();
1615
+ builder.finalize();
1616
+ }
1617
+
1618
+ check(
1619
+ &func,
1620
+ "function %sample() -> i32 system_v {
1621
+ sig0 = (i64, i64, i64) -> i64 system_v
1622
+ fn0 = %Memcpy sig0
1623
+
1624
+ block0:
1625
+ v5 = iconst.i64 0
1626
+ v1 -> v5
1627
+ v4 = iconst.i64 0
1628
+ v0 -> v4
1629
+ v2 = iconst.i64 8192
1630
+ v3 = call fn0(v1, v0, v2) ; v1 = 0, v0 = 0, v2 = 8192
1631
+ return v1 ; v1 = 0
1632
+ }
1633
+ ",
1634
+ );
1635
+ }
1636
+
1637
+ #[test]
1638
+ fn small_memset() {
1639
+ let frontend_config = systemv_frontend_config();
1640
+ let mut sig = Signature::new(frontend_config.default_call_conv);
1641
+ sig.returns.push(AbiParam::new(I32));
1642
+
1643
+ let mut fn_ctx = FunctionBuilderContext::new();
1644
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1645
+ {
1646
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1647
+
1648
+ let block0 = builder.create_block();
1649
+ let y = Variable::new(16);
1650
+ builder.declare_var(y, frontend_config.pointer_type());
1651
+ builder.append_block_params_for_function_params(block0);
1652
+ builder.switch_to_block(block0);
1653
+
1654
+ let dest = builder.use_var(y);
1655
+ let size = 8;
1656
+ builder.emit_small_memset(frontend_config, dest, 1, size, 8, MemFlags::new());
1657
+ builder.ins().return_(&[dest]);
1658
+
1659
+ builder.seal_all_blocks();
1660
+ builder.finalize();
1661
+ }
1662
+
1663
+ check(
1664
+ &func,
1665
+ "function %sample() -> i32 system_v {
1666
+ block0:
1667
+ v2 = iconst.i64 0
1668
+ v0 -> v2
1669
+ v1 = iconst.i64 0x0101_0101_0101_0101
1670
+ store aligned v1, v0 ; v1 = 0x0101_0101_0101_0101, v0 = 0
1671
+ return v0 ; v0 = 0
1672
+ }
1673
+ ",
1674
+ );
1675
+ }
1676
+
1677
+ #[test]
1678
+ fn not_so_small_memset() {
1679
+ let frontend_config = systemv_frontend_config();
1680
+ let mut sig = Signature::new(frontend_config.default_call_conv);
1681
+ sig.returns.push(AbiParam::new(I32));
1682
+
1683
+ let mut fn_ctx = FunctionBuilderContext::new();
1684
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1685
+ {
1686
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1687
+
1688
+ let block0 = builder.create_block();
1689
+ let y = Variable::new(16);
1690
+ builder.declare_var(y, frontend_config.pointer_type());
1691
+ builder.append_block_params_for_function_params(block0);
1692
+ builder.switch_to_block(block0);
1693
+
1694
+ let dest = builder.use_var(y);
1695
+ let size = 8192;
1696
+ builder.emit_small_memset(frontend_config, dest, 1, size, 8, MemFlags::new());
1697
+ builder.ins().return_(&[dest]);
1698
+
1699
+ builder.seal_all_blocks();
1700
+ builder.finalize();
1701
+ }
1702
+
1703
+ check(
1704
+ &func,
1705
+ "function %sample() -> i32 system_v {
1706
+ sig0 = (i64, i32, i64) -> i64 system_v
1707
+ fn0 = %Memset sig0
1708
+
1709
+ block0:
1710
+ v5 = iconst.i64 0
1711
+ v0 -> v5
1712
+ v1 = iconst.i8 1
1713
+ v2 = iconst.i64 8192
1714
+ v3 = uextend.i32 v1 ; v1 = 1
1715
+ v4 = call fn0(v0, v3, v2) ; v0 = 0, v2 = 8192
1716
+ return v0 ; v0 = 0
1717
+ }
1718
+ ",
1719
+ );
1720
+ }
1721
+
1722
+ #[test]
1723
+ fn memcmp() {
1724
+ use core::str::FromStr;
1725
+ use cranelift_codegen::isa;
1726
+
1727
+ let shared_builder = settings::builder();
1728
+ let shared_flags = settings::Flags::new(shared_builder);
1729
+
1730
+ let triple =
1731
+ ::target_lexicon::Triple::from_str("x86_64").expect("Couldn't create x86_64 triple");
1732
+
1733
+ let target = isa::lookup(triple)
1734
+ .ok()
1735
+ .map(|b| b.finish(shared_flags))
1736
+ .expect("This test requires x86_64 support.")
1737
+ .expect("Should be able to create backend with default flags");
1738
+
1739
+ let mut sig = Signature::new(target.default_call_conv());
1740
+ sig.returns.push(AbiParam::new(I32));
1741
+
1742
+ let mut fn_ctx = FunctionBuilderContext::new();
1743
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1744
+ {
1745
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1746
+
1747
+ let block0 = builder.create_block();
1748
+ let x = Variable::new(0);
1749
+ let y = Variable::new(1);
1750
+ let z = Variable::new(2);
1751
+ builder.declare_var(x, target.pointer_type());
1752
+ builder.declare_var(y, target.pointer_type());
1753
+ builder.declare_var(z, target.pointer_type());
1754
+ builder.append_block_params_for_function_params(block0);
1755
+ builder.switch_to_block(block0);
1756
+
1757
+ let left = builder.use_var(x);
1758
+ let right = builder.use_var(y);
1759
+ let size = builder.use_var(z);
1760
+ let cmp = builder.call_memcmp(target.frontend_config(), left, right, size);
1761
+ builder.ins().return_(&[cmp]);
1762
+
1763
+ builder.seal_all_blocks();
1764
+ builder.finalize();
1765
+ }
1766
+
1767
+ check(
1768
+ &func,
1769
+ "function %sample() -> i32 system_v {
1770
+ sig0 = (i64, i64, i64) -> i32 system_v
1771
+ fn0 = %Memcmp sig0
1772
+
1773
+ block0:
1774
+ v6 = iconst.i64 0
1775
+ v2 -> v6
1776
+ v5 = iconst.i64 0
1777
+ v1 -> v5
1778
+ v4 = iconst.i64 0
1779
+ v0 -> v4
1780
+ v3 = call fn0(v0, v1, v2) ; v0 = 0, v1 = 0, v2 = 0
1781
+ return v3
1782
+ }
1783
+ ",
1784
+ );
1785
+ }
1786
+
1787
+ #[test]
1788
+ fn small_memcmp_zero_size() {
1789
+ let align_eight = std::num::NonZeroU8::new(8).unwrap();
1790
+ small_memcmp_helper(
1791
+ "
1792
+ block0:
1793
+ v4 = iconst.i64 0
1794
+ v1 -> v4
1795
+ v3 = iconst.i64 0
1796
+ v0 -> v3
1797
+ v2 = iconst.i8 1
1798
+ return v2 ; v2 = 1",
1799
+ |builder, target, x, y| {
1800
+ builder.emit_small_memory_compare(
1801
+ target.frontend_config(),
1802
+ IntCC::UnsignedGreaterThanOrEqual,
1803
+ x,
1804
+ y,
1805
+ 0,
1806
+ align_eight,
1807
+ align_eight,
1808
+ MemFlags::new(),
1809
+ )
1810
+ },
1811
+ );
1812
+ }
1813
+
1814
+ #[test]
1815
+ fn small_memcmp_byte_ugt() {
1816
+ let align_one = std::num::NonZeroU8::new(1).unwrap();
1817
+ small_memcmp_helper(
1818
+ "
1819
+ block0:
1820
+ v6 = iconst.i64 0
1821
+ v1 -> v6
1822
+ v5 = iconst.i64 0
1823
+ v0 -> v5
1824
+ v2 = load.i8 aligned v0 ; v0 = 0
1825
+ v3 = load.i8 aligned v1 ; v1 = 0
1826
+ v4 = icmp ugt v2, v3
1827
+ return v4",
1828
+ |builder, target, x, y| {
1829
+ builder.emit_small_memory_compare(
1830
+ target.frontend_config(),
1831
+ IntCC::UnsignedGreaterThan,
1832
+ x,
1833
+ y,
1834
+ 1,
1835
+ align_one,
1836
+ align_one,
1837
+ MemFlags::new(),
1838
+ )
1839
+ },
1840
+ );
1841
+ }
1842
+
1843
+ #[test]
1844
+ fn small_memcmp_aligned_eq() {
1845
+ let align_four = std::num::NonZeroU8::new(4).unwrap();
1846
+ small_memcmp_helper(
1847
+ "
1848
+ block0:
1849
+ v6 = iconst.i64 0
1850
+ v1 -> v6
1851
+ v5 = iconst.i64 0
1852
+ v0 -> v5
1853
+ v2 = load.i32 aligned v0 ; v0 = 0
1854
+ v3 = load.i32 aligned v1 ; v1 = 0
1855
+ v4 = icmp eq v2, v3
1856
+ return v4",
1857
+ |builder, target, x, y| {
1858
+ builder.emit_small_memory_compare(
1859
+ target.frontend_config(),
1860
+ IntCC::Equal,
1861
+ x,
1862
+ y,
1863
+ 4,
1864
+ align_four,
1865
+ align_four,
1866
+ MemFlags::new(),
1867
+ )
1868
+ },
1869
+ );
1870
+ }
1871
+
1872
+ #[test]
1873
+ fn small_memcmp_ipv6_ne() {
1874
+ let align_two = std::num::NonZeroU8::new(2).unwrap();
1875
+ small_memcmp_helper(
1876
+ "
1877
+ block0:
1878
+ v6 = iconst.i64 0
1879
+ v1 -> v6
1880
+ v5 = iconst.i64 0
1881
+ v0 -> v5
1882
+ v2 = load.i128 v0 ; v0 = 0
1883
+ v3 = load.i128 v1 ; v1 = 0
1884
+ v4 = icmp ne v2, v3
1885
+ return v4",
1886
+ |builder, target, x, y| {
1887
+ builder.emit_small_memory_compare(
1888
+ target.frontend_config(),
1889
+ IntCC::NotEqual,
1890
+ x,
1891
+ y,
1892
+ 16,
1893
+ align_two,
1894
+ align_two,
1895
+ MemFlags::new(),
1896
+ )
1897
+ },
1898
+ );
1899
+ }
1900
+
1901
+ #[test]
1902
+ fn small_memcmp_odd_size_uge() {
1903
+ let one = std::num::NonZeroU8::new(1).unwrap();
1904
+ small_memcmp_helper(
1905
+ "
1906
+ sig0 = (i64, i64, i64) -> i32 system_v
1907
+ fn0 = %Memcmp sig0
1908
+
1909
+ block0:
1910
+ v6 = iconst.i64 0
1911
+ v1 -> v6
1912
+ v5 = iconst.i64 0
1913
+ v0 -> v5
1914
+ v2 = iconst.i64 3
1915
+ v3 = call fn0(v0, v1, v2) ; v0 = 0, v1 = 0, v2 = 3
1916
+ v4 = icmp_imm sge v3, 0
1917
+ return v4",
1918
+ |builder, target, x, y| {
1919
+ builder.emit_small_memory_compare(
1920
+ target.frontend_config(),
1921
+ IntCC::UnsignedGreaterThanOrEqual,
1922
+ x,
1923
+ y,
1924
+ 3,
1925
+ one,
1926
+ one,
1927
+ MemFlags::new(),
1928
+ )
1929
+ },
1930
+ );
1931
+ }
1932
+
1933
+ fn small_memcmp_helper(
1934
+ expected: &str,
1935
+ f: impl FnOnce(&mut FunctionBuilder, &dyn TargetIsa, Value, Value) -> Value,
1936
+ ) {
1937
+ use core::str::FromStr;
1938
+ use cranelift_codegen::isa;
1939
+
1940
+ let shared_builder = settings::builder();
1941
+ let shared_flags = settings::Flags::new(shared_builder);
1942
+
1943
+ let triple =
1944
+ ::target_lexicon::Triple::from_str("x86_64").expect("Couldn't create x86_64 triple");
1945
+
1946
+ let target = isa::lookup(triple)
1947
+ .ok()
1948
+ .map(|b| b.finish(shared_flags))
1949
+ .expect("This test requires x86_64 support.")
1950
+ .expect("Should be able to create backend with default flags");
1951
+
1952
+ let mut sig = Signature::new(target.default_call_conv());
1953
+ sig.returns.push(AbiParam::new(I8));
1954
+
1955
+ let mut fn_ctx = FunctionBuilderContext::new();
1956
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1957
+ {
1958
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1959
+
1960
+ let block0 = builder.create_block();
1961
+ let x = Variable::new(0);
1962
+ let y = Variable::new(1);
1963
+ builder.declare_var(x, target.pointer_type());
1964
+ builder.declare_var(y, target.pointer_type());
1965
+ builder.append_block_params_for_function_params(block0);
1966
+ builder.switch_to_block(block0);
1967
+
1968
+ let left = builder.use_var(x);
1969
+ let right = builder.use_var(y);
1970
+ let ret = f(&mut builder, &*target, left, right);
1971
+ builder.ins().return_(&[ret]);
1972
+
1973
+ builder.seal_all_blocks();
1974
+ builder.finalize();
1975
+ }
1976
+
1977
+ check(
1978
+ &func,
1979
+ &format!("function %sample() -> i8 system_v {{{}\n}}\n", expected),
1980
+ );
1981
+ }
1982
+
1983
+ #[test]
1984
+ fn undef_vector_vars() {
1985
+ let mut sig = Signature::new(CallConv::SystemV);
1986
+ sig.returns.push(AbiParam::new(I8X16));
1987
+ sig.returns.push(AbiParam::new(I8X16));
1988
+ sig.returns.push(AbiParam::new(F32X4));
1989
+
1990
+ let mut fn_ctx = FunctionBuilderContext::new();
1991
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
1992
+ {
1993
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
1994
+
1995
+ let block0 = builder.create_block();
1996
+ let a = Variable::new(0);
1997
+ let b = Variable::new(1);
1998
+ let c = Variable::new(2);
1999
+ builder.declare_var(a, I8X16);
2000
+ builder.declare_var(b, I8X16);
2001
+ builder.declare_var(c, F32X4);
2002
+ builder.switch_to_block(block0);
2003
+
2004
+ let a = builder.use_var(a);
2005
+ let b = builder.use_var(b);
2006
+ let c = builder.use_var(c);
2007
+ builder.ins().return_(&[a, b, c]);
2008
+
2009
+ builder.seal_all_blocks();
2010
+ builder.finalize();
2011
+ }
2012
+
2013
+ check(
2014
+ &func,
2015
+ "function %sample() -> i8x16, i8x16, f32x4 system_v {
2016
+ const0 = 0x00000000000000000000000000000000
2017
+
2018
+ block0:
2019
+ v5 = f32const 0.0
2020
+ v6 = splat.f32x4 v5 ; v5 = 0.0
2021
+ v2 -> v6
2022
+ v4 = vconst.i8x16 const0
2023
+ v1 -> v4
2024
+ v3 = vconst.i8x16 const0
2025
+ v0 -> v3
2026
+ return v0, v1, v2 ; v0 = const0, v1 = const0
2027
+ }
2028
+ ",
2029
+ );
2030
+ }
2031
+
2032
+ #[test]
2033
+ fn test_greatest_divisible_power_of_two() {
2034
+ assert_eq!(64, greatest_divisible_power_of_two(64));
2035
+ assert_eq!(16, greatest_divisible_power_of_two(48));
2036
+ assert_eq!(8, greatest_divisible_power_of_two(24));
2037
+ assert_eq!(1, greatest_divisible_power_of_two(25));
2038
+ }
2039
+
2040
+ #[test]
2041
+ fn try_use_var() {
2042
+ let sig = Signature::new(CallConv::SystemV);
2043
+
2044
+ let mut fn_ctx = FunctionBuilderContext::new();
2045
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2046
+ {
2047
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2048
+
2049
+ let block0 = builder.create_block();
2050
+ builder.append_block_params_for_function_params(block0);
2051
+ builder.switch_to_block(block0);
2052
+
2053
+ assert_eq!(
2054
+ builder.try_use_var(Variable::from_u32(0)),
2055
+ Err(UseVariableError::UsedBeforeDeclared(Variable::from_u32(0)))
2056
+ );
2057
+
2058
+ let value = builder.ins().iconst(cranelift_codegen::ir::types::I32, 0);
2059
+
2060
+ assert_eq!(
2061
+ builder.try_def_var(Variable::from_u32(0), value),
2062
+ Err(DefVariableError::DefinedBeforeDeclared(Variable::from_u32(
2063
+ 0
2064
+ )))
2065
+ );
2066
+
2067
+ builder.declare_var(Variable::from_u32(0), cranelift_codegen::ir::types::I32);
2068
+ assert_eq!(
2069
+ builder.try_declare_var(Variable::from_u32(0), cranelift_codegen::ir::types::I32),
2070
+ Err(DeclareVariableError::DeclaredMultipleTimes(
2071
+ Variable::from_u32(0)
2072
+ ))
2073
+ );
2074
+ }
2075
+ }
2076
+
2077
+ #[test]
2078
+ fn needs_stack_map_and_loop() {
2079
+ let mut sig = Signature::new(CallConv::SystemV);
2080
+ sig.params.push(AbiParam::new(ir::types::I32));
2081
+ sig.params.push(AbiParam::new(ir::types::I32));
2082
+
2083
+ let mut fn_ctx = FunctionBuilderContext::new();
2084
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2085
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2086
+
2087
+ let name = builder
2088
+ .func
2089
+ .declare_imported_user_function(ir::UserExternalName {
2090
+ namespace: 0,
2091
+ index: 0,
2092
+ });
2093
+ let mut sig = Signature::new(CallConv::SystemV);
2094
+ sig.params.push(AbiParam::new(ir::types::I32));
2095
+ let signature = builder.func.import_signature(sig);
2096
+ let func_ref = builder.import_function(ir::ExtFuncData {
2097
+ name: ir::ExternalName::user(name),
2098
+ signature,
2099
+ colocated: true,
2100
+ });
2101
+
2102
+ // Here the value `v1` is technically not live but our single-pass liveness
2103
+ // analysis treats every branch argument to a block as live to avoid
2104
+ // needing to do a fixed-point loop.
2105
+ //
2106
+ // block0(v0, v1):
2107
+ // call $foo(v0)
2108
+ // jump block0(v0, v1)
2109
+ let block0 = builder.create_block();
2110
+ builder.append_block_params_for_function_params(block0);
2111
+ let a = builder.func.dfg.block_params(block0)[0];
2112
+ let b = builder.func.dfg.block_params(block0)[1];
2113
+ builder.declare_needs_stack_map(a);
2114
+ builder.declare_needs_stack_map(b);
2115
+ builder.switch_to_block(block0);
2116
+ builder.ins().call(func_ref, &[a]);
2117
+ builder.ins().jump(block0, &[a, b]);
2118
+ builder.seal_all_blocks();
2119
+ builder.finalize();
2120
+
2121
+ eprintln!("Actual = {}", func.display());
2122
+ assert_eq!(
2123
+ func.display().to_string().trim(),
2124
+ r#"
2125
+ function %sample(i32, i32) system_v {
2126
+ ss0 = explicit_slot 8, align = 4
2127
+ sig0 = (i32) system_v
2128
+ fn0 = colocated u0:0 sig0
2129
+
2130
+ block0(v0: i32, v1: i32):
2131
+ stack_store v0, ss0
2132
+ stack_store v1, ss0+4
2133
+ call fn0(v0), stack_map=[i32 @ ss0+0, i32 @ ss0+4]
2134
+ jump block0(v0, v1)
2135
+ }
2136
+ "#
2137
+ .trim()
2138
+ );
2139
+ }
2140
+
2141
+ #[test]
2142
+ fn needs_stack_map_simple() {
2143
+ let sig = Signature::new(CallConv::SystemV);
2144
+
2145
+ let mut fn_ctx = FunctionBuilderContext::new();
2146
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2147
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2148
+
2149
+ let name = builder
2150
+ .func
2151
+ .declare_imported_user_function(ir::UserExternalName {
2152
+ namespace: 0,
2153
+ index: 0,
2154
+ });
2155
+ let mut sig = Signature::new(CallConv::SystemV);
2156
+ sig.params.push(AbiParam::new(ir::types::I32));
2157
+ let signature = builder.func.import_signature(sig);
2158
+ let func_ref = builder.import_function(ir::ExtFuncData {
2159
+ name: ir::ExternalName::user(name),
2160
+ signature,
2161
+ colocated: true,
2162
+ });
2163
+
2164
+ // At each `call` we are losing one more value as no longer live, so
2165
+ // each stack map should be one smaller than the last. `v3` is never
2166
+ // live, so should never appear in a stack map. Note that a value that
2167
+ // is an argument to the call, but is not live after the call, should
2168
+ // not appear in the stack map. This is why `v0` appears in the first
2169
+ // call's stack map, but not the second call's stack map.
2170
+ //
2171
+ // block0:
2172
+ // v0 = needs stack map
2173
+ // v1 = needs stack map
2174
+ // v2 = needs stack map
2175
+ // v3 = needs stack map
2176
+ // call $foo(v0)
2177
+ // call $foo(v0)
2178
+ // call $foo(v1)
2179
+ // call $foo(v2)
2180
+ // return
2181
+ let block0 = builder.create_block();
2182
+ builder.append_block_params_for_function_params(block0);
2183
+ builder.switch_to_block(block0);
2184
+ let v0 = builder.ins().iconst(ir::types::I32, 0);
2185
+ builder.declare_needs_stack_map(v0);
2186
+ let v1 = builder.ins().iconst(ir::types::I32, 1);
2187
+ builder.declare_needs_stack_map(v1);
2188
+ let v2 = builder.ins().iconst(ir::types::I32, 2);
2189
+ builder.declare_needs_stack_map(v2);
2190
+ let v3 = builder.ins().iconst(ir::types::I32, 3);
2191
+ builder.declare_needs_stack_map(v3);
2192
+ builder.ins().call(func_ref, &[v0]);
2193
+ builder.ins().call(func_ref, &[v0]);
2194
+ builder.ins().call(func_ref, &[v1]);
2195
+ builder.ins().call(func_ref, &[v2]);
2196
+ builder.ins().return_(&[]);
2197
+ builder.seal_all_blocks();
2198
+ builder.finalize();
2199
+
2200
+ eprintln!("Actual = {}", func.display());
2201
+ assert_eq!(
2202
+ func.display().to_string().trim(),
2203
+ r#"
2204
+ function %sample() system_v {
2205
+ ss0 = explicit_slot 12, align = 4
2206
+ sig0 = (i32) system_v
2207
+ fn0 = colocated u0:0 sig0
2208
+
2209
+ block0:
2210
+ v0 = iconst.i32 0
2211
+ v1 = iconst.i32 1
2212
+ v2 = iconst.i32 2
2213
+ v3 = iconst.i32 3
2214
+ stack_store v0, ss0 ; v0 = 0
2215
+ stack_store v1, ss0+4 ; v1 = 1
2216
+ stack_store v2, ss0+8 ; v2 = 2
2217
+ call fn0(v0), stack_map=[i32 @ ss0+0, i32 @ ss0+4, i32 @ ss0+8] ; v0 = 0
2218
+ stack_store v1, ss0 ; v1 = 1
2219
+ stack_store v2, ss0+4 ; v2 = 2
2220
+ call fn0(v0), stack_map=[i32 @ ss0+0, i32 @ ss0+4] ; v0 = 0
2221
+ stack_store v2, ss0 ; v2 = 2
2222
+ call fn0(v1), stack_map=[i32 @ ss0+0] ; v1 = 1
2223
+ call fn0(v2) ; v2 = 2
2224
+ return
2225
+ }
2226
+ "#
2227
+ .trim()
2228
+ );
2229
+ }
2230
+
2231
+ #[test]
2232
+ fn needs_stack_map_and_post_order_early_return() {
2233
+ let mut sig = Signature::new(CallConv::SystemV);
2234
+ sig.params.push(AbiParam::new(ir::types::I32));
2235
+
2236
+ let mut fn_ctx = FunctionBuilderContext::new();
2237
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2238
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2239
+
2240
+ let name = builder
2241
+ .func
2242
+ .declare_imported_user_function(ir::UserExternalName {
2243
+ namespace: 0,
2244
+ index: 0,
2245
+ });
2246
+ let signature = builder
2247
+ .func
2248
+ .import_signature(Signature::new(CallConv::SystemV));
2249
+ let func_ref = builder.import_function(ir::ExtFuncData {
2250
+ name: ir::ExternalName::user(name),
2251
+ signature,
2252
+ colocated: true,
2253
+ });
2254
+
2255
+ // Here we rely on the post-order to make sure that we never visit block
2256
+ // 4 and add `v1` to our live set, then visit block 2 and add `v1` to
2257
+ // its stack map even though `v1` is not in scope. Thanksfully, that
2258
+ // sequence is impossible because it would be an invalid post-order
2259
+ // traversal. The only valid post-order traversals are [3, 1, 2, 0] and
2260
+ // [2, 3, 1, 0].
2261
+ //
2262
+ // block0(v0):
2263
+ // brif v0, block1, block2
2264
+ //
2265
+ // block1:
2266
+ // <stuff>
2267
+ // v1 = get some gc ref
2268
+ // jump block3
2269
+ //
2270
+ // block2:
2271
+ // call $needs_safepoint_accidentally
2272
+ // return
2273
+ //
2274
+ // block3:
2275
+ // stuff keeping v1 live
2276
+ // return
2277
+ let block0 = builder.create_block();
2278
+ let block1 = builder.create_block();
2279
+ let block2 = builder.create_block();
2280
+ let block3 = builder.create_block();
2281
+ builder.append_block_params_for_function_params(block0);
2282
+
2283
+ builder.switch_to_block(block0);
2284
+ let v0 = builder.func.dfg.block_params(block0)[0];
2285
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2286
+
2287
+ builder.switch_to_block(block1);
2288
+ let v1 = builder.ins().iconst(ir::types::I64, 0x12345678);
2289
+ builder.declare_needs_stack_map(v1);
2290
+ builder.ins().jump(block3, &[]);
2291
+
2292
+ builder.switch_to_block(block2);
2293
+ builder.ins().call(func_ref, &[]);
2294
+ builder.ins().return_(&[]);
2295
+
2296
+ builder.switch_to_block(block3);
2297
+ // NB: Our simplistic liveness analysis conservatively treats any use of
2298
+ // a value as keeping it live, regardless if the use has side effects or
2299
+ // is otherwise itself live, so an `iadd_imm` suffices to keep `v1` live
2300
+ // here.
2301
+ builder.ins().iadd_imm(v1, 0);
2302
+ builder.ins().return_(&[]);
2303
+
2304
+ builder.seal_all_blocks();
2305
+ builder.finalize();
2306
+
2307
+ eprintln!("Actual = {}", func.display());
2308
+ assert_eq!(
2309
+ func.display().to_string().trim(),
2310
+ r#"
2311
+ function %sample(i32) system_v {
2312
+ sig0 = () system_v
2313
+ fn0 = colocated u0:0 sig0
2314
+
2315
+ block0(v0: i32):
2316
+ brif v0, block1, block2
2317
+
2318
+ block1:
2319
+ v1 = iconst.i64 0x1234_5678
2320
+ jump block3
2321
+
2322
+ block2:
2323
+ call fn0()
2324
+ return
2325
+
2326
+ block3:
2327
+ v2 = iadd_imm.i64 v1, 0 ; v1 = 0x1234_5678
2328
+ return
2329
+ }
2330
+ "#
2331
+ .trim()
2332
+ );
2333
+ }
2334
+
2335
+ #[test]
2336
+ fn needs_stack_map_conditional_branches_and_liveness() {
2337
+ let mut sig = Signature::new(CallConv::SystemV);
2338
+ sig.params.push(AbiParam::new(ir::types::I32));
2339
+
2340
+ let mut fn_ctx = FunctionBuilderContext::new();
2341
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2342
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2343
+
2344
+ let name = builder
2345
+ .func
2346
+ .declare_imported_user_function(ir::UserExternalName {
2347
+ namespace: 0,
2348
+ index: 0,
2349
+ });
2350
+ let signature = builder
2351
+ .func
2352
+ .import_signature(Signature::new(CallConv::SystemV));
2353
+ let func_ref = builder.import_function(ir::ExtFuncData {
2354
+ name: ir::ExternalName::user(name),
2355
+ signature,
2356
+ colocated: true,
2357
+ });
2358
+
2359
+ // Depending on which post-order traversal we take, we might consider
2360
+ // `v1` live inside `block1` and emit unnecessary safepoint
2361
+ // spills. That's not great, but ultimately fine, we are trading away
2362
+ // precision for a single-pass analysis.
2363
+ //
2364
+ // block0(v0):
2365
+ // v1 = needs stack map
2366
+ // brif v0, block1, block2
2367
+ //
2368
+ // block1:
2369
+ // call $foo()
2370
+ // return
2371
+ //
2372
+ // block2:
2373
+ // keep v1 alive
2374
+ // return
2375
+ let block0 = builder.create_block();
2376
+ let block1 = builder.create_block();
2377
+ let block2 = builder.create_block();
2378
+ builder.append_block_params_for_function_params(block0);
2379
+
2380
+ builder.switch_to_block(block0);
2381
+ let v0 = builder.func.dfg.block_params(block0)[0];
2382
+ let v1 = builder.ins().iconst(ir::types::I64, 0x12345678);
2383
+ builder.declare_needs_stack_map(v1);
2384
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2385
+
2386
+ builder.switch_to_block(block1);
2387
+ builder.ins().call(func_ref, &[]);
2388
+ builder.ins().return_(&[]);
2389
+
2390
+ builder.switch_to_block(block2);
2391
+ // NB: Our simplistic liveness analysis conservatively treats any use of
2392
+ // a value as keeping it live, regardless if the use has side effects or
2393
+ // is otherwise itself live, so an `iadd_imm` suffices to keep `v1` live
2394
+ // here.
2395
+ builder.ins().iadd_imm(v1, 0);
2396
+ builder.ins().return_(&[]);
2397
+
2398
+ builder.seal_all_blocks();
2399
+ builder.finalize();
2400
+
2401
+ eprintln!("Actual = {}", func.display());
2402
+ assert_eq!(
2403
+ func.display().to_string().trim(),
2404
+ r#"
2405
+ function %sample(i32) system_v {
2406
+ sig0 = () system_v
2407
+ fn0 = colocated u0:0 sig0
2408
+
2409
+ block0(v0: i32):
2410
+ v1 = iconst.i64 0x1234_5678
2411
+ brif v0, block1, block2
2412
+
2413
+ block1:
2414
+ call fn0()
2415
+ return
2416
+
2417
+ block2:
2418
+ v2 = iadd_imm.i64 v1, 0 ; v1 = 0x1234_5678
2419
+ return
2420
+ }
2421
+ "#
2422
+ .trim()
2423
+ );
2424
+
2425
+ // Now Do the same test but with block 1 and 2 swapped so that we
2426
+ // exercise what we are trying to exercise, regardless of which
2427
+ // post-order traversal we happen to take.
2428
+ func.clear();
2429
+ fn_ctx.clear();
2430
+
2431
+ let mut sig = Signature::new(CallConv::SystemV);
2432
+ sig.params.push(AbiParam::new(ir::types::I32));
2433
+
2434
+ func.signature = sig;
2435
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2436
+
2437
+ let name = builder
2438
+ .func
2439
+ .declare_imported_user_function(ir::UserExternalName {
2440
+ namespace: 0,
2441
+ index: 0,
2442
+ });
2443
+ let signature = builder
2444
+ .func
2445
+ .import_signature(Signature::new(CallConv::SystemV));
2446
+ let func_ref = builder.import_function(ir::ExtFuncData {
2447
+ name: ir::ExternalName::user(name),
2448
+ signature,
2449
+ colocated: true,
2450
+ });
2451
+
2452
+ let block0 = builder.create_block();
2453
+ let block1 = builder.create_block();
2454
+ let block2 = builder.create_block();
2455
+ builder.append_block_params_for_function_params(block0);
2456
+
2457
+ builder.switch_to_block(block0);
2458
+ let v0 = builder.func.dfg.block_params(block0)[0];
2459
+ let v1 = builder.ins().iconst(ir::types::I64, 0x12345678);
2460
+ builder.declare_needs_stack_map(v1);
2461
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2462
+
2463
+ builder.switch_to_block(block1);
2464
+ builder.ins().iadd_imm(v1, 0);
2465
+ builder.ins().return_(&[]);
2466
+
2467
+ builder.switch_to_block(block2);
2468
+ builder.ins().call(func_ref, &[]);
2469
+ builder.ins().return_(&[]);
2470
+
2471
+ builder.seal_all_blocks();
2472
+ builder.finalize();
2473
+
2474
+ eprintln!("Actual = {}", func.display());
2475
+ assert_eq!(
2476
+ func.display().to_string().trim(),
2477
+ r#"
2478
+ function u0:0(i32) system_v {
2479
+ ss0 = explicit_slot 8, align = 8
2480
+ sig0 = () system_v
2481
+ fn0 = colocated u0:0 sig0
2482
+
2483
+ block0(v0: i32):
2484
+ v1 = iconst.i64 0x1234_5678
2485
+ brif v0, block1, block2
2486
+
2487
+ block1:
2488
+ v2 = iadd_imm.i64 v1, 0 ; v1 = 0x1234_5678
2489
+ return
2490
+
2491
+ block2:
2492
+ stack_store.i64 v1, ss0 ; v1 = 0x1234_5678
2493
+ call fn0(), stack_map=[i64 @ ss0+0]
2494
+ return
2495
+ }
2496
+ "#
2497
+ .trim()
2498
+ );
2499
+ }
2500
+
2501
+ #[test]
2502
+ fn needs_stack_map_and_tail_calls() {
2503
+ let mut sig = Signature::new(CallConv::SystemV);
2504
+ sig.params.push(AbiParam::new(ir::types::I32));
2505
+
2506
+ let mut fn_ctx = FunctionBuilderContext::new();
2507
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2508
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2509
+
2510
+ let name = builder
2511
+ .func
2512
+ .declare_imported_user_function(ir::UserExternalName {
2513
+ namespace: 0,
2514
+ index: 0,
2515
+ });
2516
+ let signature = builder
2517
+ .func
2518
+ .import_signature(Signature::new(CallConv::SystemV));
2519
+ let func_ref = builder.import_function(ir::ExtFuncData {
2520
+ name: ir::ExternalName::user(name),
2521
+ signature,
2522
+ colocated: true,
2523
+ });
2524
+
2525
+ // Depending on which post-order traversal we take, we might consider
2526
+ // `v1` live inside `block1`. But nothing is live after a tail call so
2527
+ // we shouldn't spill `v1` either way here.
2528
+ //
2529
+ // block0(v0):
2530
+ // v1 = needs stack map
2531
+ // brif v0, block1, block2
2532
+ //
2533
+ // block1:
2534
+ // return_call $foo()
2535
+ //
2536
+ // block2:
2537
+ // keep v1 alive
2538
+ // return
2539
+ let block0 = builder.create_block();
2540
+ let block1 = builder.create_block();
2541
+ let block2 = builder.create_block();
2542
+ builder.append_block_params_for_function_params(block0);
2543
+
2544
+ builder.switch_to_block(block0);
2545
+ let v0 = builder.func.dfg.block_params(block0)[0];
2546
+ let v1 = builder.ins().iconst(ir::types::I64, 0x12345678);
2547
+ builder.declare_needs_stack_map(v1);
2548
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2549
+
2550
+ builder.switch_to_block(block1);
2551
+ builder.ins().return_call(func_ref, &[]);
2552
+
2553
+ builder.switch_to_block(block2);
2554
+ // NB: Our simplistic liveness analysis conservatively treats any use of
2555
+ // a value as keeping it live, regardless if the use has side effects or
2556
+ // is otherwise itself live, so an `iadd_imm` suffices to keep `v1` live
2557
+ // here.
2558
+ builder.ins().iadd_imm(v1, 0);
2559
+ builder.ins().return_(&[]);
2560
+
2561
+ builder.seal_all_blocks();
2562
+ builder.finalize();
2563
+
2564
+ eprintln!("Actual = {}", func.display());
2565
+ assert_eq!(
2566
+ func.display().to_string().trim(),
2567
+ r#"
2568
+ function %sample(i32) system_v {
2569
+ sig0 = () system_v
2570
+ fn0 = colocated u0:0 sig0
2571
+
2572
+ block0(v0: i32):
2573
+ v1 = iconst.i64 0x1234_5678
2574
+ brif v0, block1, block2
2575
+
2576
+ block1:
2577
+ return_call fn0()
2578
+
2579
+ block2:
2580
+ v2 = iadd_imm.i64 v1, 0 ; v1 = 0x1234_5678
2581
+ return
2582
+ }
2583
+ "#
2584
+ .trim()
2585
+ );
2586
+
2587
+ // Do the same test but with block 1 and 2 swapped so that we exercise
2588
+ // what we are trying to exercise, regardless of which post-order
2589
+ // traversal we happen to take.
2590
+ func.clear();
2591
+ fn_ctx.clear();
2592
+
2593
+ let mut sig = Signature::new(CallConv::SystemV);
2594
+ sig.params.push(AbiParam::new(ir::types::I32));
2595
+ func.signature = sig;
2596
+
2597
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2598
+
2599
+ let name = builder
2600
+ .func
2601
+ .declare_imported_user_function(ir::UserExternalName {
2602
+ namespace: 0,
2603
+ index: 0,
2604
+ });
2605
+ let signature = builder
2606
+ .func
2607
+ .import_signature(Signature::new(CallConv::SystemV));
2608
+ let func_ref = builder.import_function(ir::ExtFuncData {
2609
+ name: ir::ExternalName::user(name),
2610
+ signature,
2611
+ colocated: true,
2612
+ });
2613
+
2614
+ let block0 = builder.create_block();
2615
+ let block1 = builder.create_block();
2616
+ let block2 = builder.create_block();
2617
+ builder.append_block_params_for_function_params(block0);
2618
+
2619
+ builder.switch_to_block(block0);
2620
+ let v0 = builder.func.dfg.block_params(block0)[0];
2621
+ let v1 = builder.ins().iconst(ir::types::I64, 0x12345678);
2622
+ builder.declare_needs_stack_map(v1);
2623
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2624
+
2625
+ builder.switch_to_block(block1);
2626
+ builder.ins().iadd_imm(v1, 0);
2627
+ builder.ins().return_(&[]);
2628
+
2629
+ builder.switch_to_block(block2);
2630
+ builder.ins().return_call(func_ref, &[]);
2631
+
2632
+ builder.seal_all_blocks();
2633
+ builder.finalize();
2634
+
2635
+ eprintln!("Actual = {}", func.display());
2636
+ assert_eq!(
2637
+ func.display().to_string().trim(),
2638
+ r#"
2639
+ function u0:0(i32) system_v {
2640
+ sig0 = () system_v
2641
+ fn0 = colocated u0:0 sig0
2642
+
2643
+ block0(v0: i32):
2644
+ v1 = iconst.i64 0x1234_5678
2645
+ brif v0, block1, block2
2646
+
2647
+ block1:
2648
+ v2 = iadd_imm.i64 v1, 0 ; v1 = 0x1234_5678
2649
+ return
2650
+
2651
+ block2:
2652
+ return_call fn0()
2653
+ }
2654
+ "#
2655
+ .trim()
2656
+ );
2657
+ }
2658
+
2659
+ #[test]
2660
+ fn needs_stack_map_and_cfg_diamond() {
2661
+ let mut sig = Signature::new(CallConv::SystemV);
2662
+ sig.params.push(AbiParam::new(ir::types::I32));
2663
+
2664
+ let mut fn_ctx = FunctionBuilderContext::new();
2665
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2666
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2667
+
2668
+ let name = builder
2669
+ .func
2670
+ .declare_imported_user_function(ir::UserExternalName {
2671
+ namespace: 0,
2672
+ index: 0,
2673
+ });
2674
+ let signature = builder
2675
+ .func
2676
+ .import_signature(Signature::new(CallConv::SystemV));
2677
+ let func_ref = builder.import_function(ir::ExtFuncData {
2678
+ name: ir::ExternalName::user(name),
2679
+ signature,
2680
+ colocated: true,
2681
+ });
2682
+
2683
+ // Create an if/else CFG diamond that and check that various things get
2684
+ // spilled as needed.
2685
+ //
2686
+ // block0(v0):
2687
+ // brif v0, block1, block2
2688
+ //
2689
+ // block1:
2690
+ // v1 = needs stack map
2691
+ // v2 = needs stack map
2692
+ // call $foo()
2693
+ // jump block3(v1, v2)
2694
+ //
2695
+ // block2:
2696
+ // v3 = needs stack map
2697
+ // v4 = needs stack map
2698
+ // call $foo()
2699
+ // jump block3(v3, v3) ;; Note: v4 is not live
2700
+ //
2701
+ // block3(v5, v6):
2702
+ // call $foo()
2703
+ // keep v5 alive, but not v6
2704
+ let block0 = builder.create_block();
2705
+ let block1 = builder.create_block();
2706
+ let block2 = builder.create_block();
2707
+ let block3 = builder.create_block();
2708
+ builder.append_block_params_for_function_params(block0);
2709
+
2710
+ builder.switch_to_block(block0);
2711
+ let v0 = builder.func.dfg.block_params(block0)[0];
2712
+ builder.ins().brif(v0, block1, &[], block2, &[]);
2713
+
2714
+ builder.switch_to_block(block1);
2715
+ let v1 = builder.ins().iconst(ir::types::I64, 1);
2716
+ builder.declare_needs_stack_map(v1);
2717
+ let v2 = builder.ins().iconst(ir::types::I64, 2);
2718
+ builder.declare_needs_stack_map(v2);
2719
+ builder.ins().call(func_ref, &[]);
2720
+ builder.ins().jump(block3, &[v1, v2]);
2721
+
2722
+ builder.switch_to_block(block2);
2723
+ let v3 = builder.ins().iconst(ir::types::I64, 3);
2724
+ builder.declare_needs_stack_map(v3);
2725
+ let v4 = builder.ins().iconst(ir::types::I64, 4);
2726
+ builder.declare_needs_stack_map(v4);
2727
+ builder.ins().call(func_ref, &[]);
2728
+ builder.ins().jump(block3, &[v3, v3]);
2729
+
2730
+ builder.switch_to_block(block3);
2731
+ builder.ins().call(func_ref, &[]);
2732
+ // NB: Our simplistic liveness analysis conservatively treats any use of
2733
+ // a value as keeping it live, regardless if the use has side effects or
2734
+ // is otherwise itself live, so an `iadd_imm` suffices to keep `v1` live
2735
+ // here.
2736
+ builder.ins().iadd_imm(v1, 0);
2737
+ builder.ins().return_(&[]);
2738
+
2739
+ builder.seal_all_blocks();
2740
+ builder.finalize();
2741
+
2742
+ eprintln!("Actual = {}", func.display());
2743
+ assert_eq!(
2744
+ func.display().to_string().trim(),
2745
+ r#"
2746
+ function %sample(i32) system_v {
2747
+ ss0 = explicit_slot 16, align = 8
2748
+ sig0 = () system_v
2749
+ fn0 = colocated u0:0 sig0
2750
+
2751
+ block0(v0: i32):
2752
+ brif v0, block1, block2
2753
+
2754
+ block1:
2755
+ v1 = iconst.i64 1
2756
+ v2 = iconst.i64 2
2757
+ stack_store v1, ss0 ; v1 = 1
2758
+ stack_store v2, ss0+8 ; v2 = 2
2759
+ call fn0(), stack_map=[i64 @ ss0+0, i64 @ ss0+8]
2760
+ jump block3(v1, v2) ; v1 = 1, v2 = 2
2761
+
2762
+ block2:
2763
+ v3 = iconst.i64 3
2764
+ v4 = iconst.i64 4
2765
+ stack_store v3, ss0 ; v3 = 3
2766
+ call fn0(), stack_map=[i64 @ ss0+0]
2767
+ jump block3(v3, v3) ; v3 = 3, v3 = 3
2768
+
2769
+ block3:
2770
+ stack_store.i64 v1, ss0 ; v1 = 1
2771
+ call fn0(), stack_map=[i64 @ ss0+0]
2772
+ v5 = iadd_imm.i64 v1, 0 ; v1 = 1
2773
+ return
2774
+ }
2775
+ "#
2776
+ .trim()
2777
+ );
2778
+ }
2779
+
2780
+ #[test]
2781
+ fn needs_stack_map_and_heterogeneous_types() {
2782
+ let mut sig = Signature::new(CallConv::SystemV);
2783
+ for ty in [
2784
+ ir::types::I8,
2785
+ ir::types::I16,
2786
+ ir::types::I32,
2787
+ ir::types::I64,
2788
+ ir::types::I128,
2789
+ ir::types::F32,
2790
+ ir::types::F64,
2791
+ ir::types::I8X16,
2792
+ ir::types::I16X8,
2793
+ ] {
2794
+ sig.params.push(AbiParam::new(ty));
2795
+ sig.returns.push(AbiParam::new(ty));
2796
+ }
2797
+
2798
+ let mut fn_ctx = FunctionBuilderContext::new();
2799
+ let mut func = Function::with_name_signature(UserFuncName::testcase("sample"), sig);
2800
+ let mut builder = FunctionBuilder::new(&mut func, &mut fn_ctx);
2801
+
2802
+ let name = builder
2803
+ .func
2804
+ .declare_imported_user_function(ir::UserExternalName {
2805
+ namespace: 0,
2806
+ index: 0,
2807
+ });
2808
+ let signature = builder
2809
+ .func
2810
+ .import_signature(Signature::new(CallConv::SystemV));
2811
+ let func_ref = builder.import_function(ir::ExtFuncData {
2812
+ name: ir::ExternalName::user(name),
2813
+ signature,
2814
+ colocated: true,
2815
+ });
2816
+
2817
+ // Test that we support stack maps of heterogeneous types and properly
2818
+ // coalesce types into stack slots based on their size.
2819
+ //
2820
+ // block0(v0, v1, v2, v3, v4, v5, v6, v7, v8):
2821
+ // call $foo()
2822
+ // return v0, v1, v2, v3, v4, v5, v6, v7, v8
2823
+ let block0 = builder.create_block();
2824
+ builder.append_block_params_for_function_params(block0);
2825
+
2826
+ builder.switch_to_block(block0);
2827
+ let params = builder.func.dfg.block_params(block0).to_vec();
2828
+ for val in &params {
2829
+ builder.declare_needs_stack_map(*val);
2830
+ }
2831
+ builder.ins().call(func_ref, &[]);
2832
+ builder.ins().return_(&params);
2833
+
2834
+ builder.seal_all_blocks();
2835
+ builder.finalize();
2836
+
2837
+ eprintln!("Actual = {}", func.display());
2838
+ assert_eq!(
2839
+ func.display().to_string().trim(),
2840
+ r#"
2841
+ function %sample(i8, i16, i32, i64, i128, f32, f64, i8x16, i16x8) -> i8, i16, i32, i64, i128, f32, f64, i8x16, i16x8 system_v {
2842
+ ss0 = explicit_slot 1
2843
+ ss1 = explicit_slot 2, align = 2
2844
+ ss2 = explicit_slot 8, align = 4
2845
+ ss3 = explicit_slot 16, align = 8
2846
+ ss4 = explicit_slot 48, align = 16
2847
+ sig0 = () system_v
2848
+ fn0 = colocated u0:0 sig0
2849
+
2850
+ block0(v0: i8, v1: i16, v2: i32, v3: i64, v4: i128, v5: f32, v6: f64, v7: i8x16, v8: i16x8):
2851
+ stack_store v0, ss0
2852
+ stack_store v1, ss1
2853
+ stack_store v2, ss2
2854
+ stack_store v5, ss2+4
2855
+ stack_store v3, ss3
2856
+ stack_store v6, ss3+8
2857
+ stack_store v4, ss4
2858
+ stack_store v7, ss4+16
2859
+ stack_store v8, ss4+32
2860
+ call fn0(), stack_map=[i8 @ ss0+0, i16 @ ss1+0, i32 @ ss2+0, f32 @ ss2+4, i64 @ ss3+0, f64 @ ss3+8, i128 @ ss4+0, i8x16 @ ss4+16, i16x8 @ ss4+32]
2861
+ return v0, v1, v2, v3, v4, v5, v6, v7, v8
2862
+ }
2863
+ "#
2864
+ .trim()
2865
+ );
2866
+ }
2867
+ }