wasmtime 22.0.0 → 23.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2164) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +127 -90
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cranelift-bforest-0.110.2/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.110.2/Cargo.toml +50 -0
  6. data/ext/cargo-vendor/cranelift-bitset-0.110.2/.cargo-checksum.json +1 -0
  7. data/ext/cargo-vendor/cranelift-bitset-0.110.2/Cargo.toml +60 -0
  8. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/compound.rs +508 -0
  9. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/lib.rs +19 -0
  10. data/ext/cargo-vendor/cranelift-bitset-0.110.2/src/scalar.rs +575 -0
  11. data/ext/cargo-vendor/cranelift-bitset-0.110.2/tests/bitset.rs +78 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.110.2/.cargo-checksum.json +1 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.110.2/Cargo.toml +206 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/binemit/stack_map.rs +141 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/context.rs +390 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/data_value.rs +410 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/dfg.rs +1806 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/globalvalue.rs +147 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/immediates.rs +2109 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/instructions.rs +1015 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/jumptable.rs +168 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/mod.rs +110 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/trapcode.rs +148 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/types.rs +643 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/ir/user_stack_maps.rs +101 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit.rs +3605 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/emit_tests.rs +7927 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst/mod.rs +3058 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/inst.isle +4221 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/lower.isle +2969 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/aarch64/mod.rs +259 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/mod.rs +462 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit.rs +2741 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/emit_tests.rs +2219 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst/mod.rs +1935 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/inst.isle +3153 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower/isle.rs +654 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/lower.isle +2953 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/riscv64/mod.rs +265 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/emit.rs +3421 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/inst/mod.rs +3395 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/lower.isle +3983 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/s390x/mod.rs +220 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit.rs +4297 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/emit_state.rs +65 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst/mod.rs +2818 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/inst.isle +5299 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/lower.isle +4819 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isa/x64/mod.rs +239 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/isle_prelude.rs +965 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/legalizer/mod.rs +343 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/lib.rs +106 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/abi.rs +2427 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/buffer.rs +2544 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/helpers.rs +23 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/isle.rs +908 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/lower.rs +1462 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/mod.rs +564 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/machinst/vcode.rs +1840 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude.isle +654 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/prelude_lower.isle +1070 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.110.2/src/write.rs +660 -0
  63. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/.cargo-checksum.json +1 -0
  64. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/Cargo.toml +45 -0
  65. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/types.rs +512 -0
  66. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/cdsl/typevar.rs +980 -0
  67. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/gen_inst.rs +1278 -0
  68. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/instructions.rs +3760 -0
  69. data/ext/cargo-vendor/cranelift-codegen-meta-0.110.2/src/shared/types.rs +143 -0
  70. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/.cargo-checksum.json +1 -0
  71. data/ext/cargo-vendor/cranelift-codegen-shared-0.110.2/Cargo.toml +31 -0
  72. data/ext/cargo-vendor/cranelift-control-0.110.2/.cargo-checksum.json +1 -0
  73. data/ext/cargo-vendor/cranelift-control-0.110.2/Cargo.toml +39 -0
  74. data/ext/cargo-vendor/cranelift-entity-0.110.2/.cargo-checksum.json +1 -0
  75. data/ext/cargo-vendor/cranelift-entity-0.110.2/Cargo.toml +66 -0
  76. data/ext/cargo-vendor/cranelift-entity-0.110.2/src/set.rs +193 -0
  77. data/ext/cargo-vendor/cranelift-frontend-0.110.2/.cargo-checksum.json +1 -0
  78. data/ext/cargo-vendor/cranelift-frontend-0.110.2/Cargo.toml +87 -0
  79. data/ext/cargo-vendor/cranelift-frontend-0.110.2/src/frontend.rs +2867 -0
  80. data/ext/cargo-vendor/cranelift-isle-0.110.2/.cargo-checksum.json +1 -0
  81. data/ext/cargo-vendor/cranelift-isle-0.110.2/Cargo.toml +60 -0
  82. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/codegen.rs +920 -0
  83. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/parser.rs +562 -0
  84. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/sema.rs +2503 -0
  85. data/ext/cargo-vendor/cranelift-isle-0.110.2/src/trie_again.rs +695 -0
  86. data/ext/cargo-vendor/cranelift-native-0.110.2/.cargo-checksum.json +1 -0
  87. data/ext/cargo-vendor/cranelift-native-0.110.2/Cargo.toml +52 -0
  88. data/ext/cargo-vendor/cranelift-native-0.110.2/src/lib.rs +188 -0
  89. data/ext/cargo-vendor/cranelift-wasm-0.110.2/.cargo-checksum.json +1 -0
  90. data/ext/cargo-vendor/cranelift-wasm-0.110.2/Cargo.toml +119 -0
  91. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator/bounds_checks.rs +731 -0
  92. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/code_translator.rs +3694 -0
  93. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/heap.rs +119 -0
  94. data/ext/cargo-vendor/cranelift-wasm-0.110.2/src/sections_translator.rs +333 -0
  95. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/.cargo-checksum.json +1 -0
  96. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.23/Cargo.toml +69 -0
  97. data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -0
  98. data/ext/cargo-vendor/termcolor-1.4.1/COPYING +3 -0
  99. data/ext/cargo-vendor/termcolor-1.4.1/Cargo.toml +40 -0
  100. data/ext/cargo-vendor/termcolor-1.4.1/LICENSE-MIT +21 -0
  101. data/ext/cargo-vendor/termcolor-1.4.1/README.md +110 -0
  102. data/ext/cargo-vendor/termcolor-1.4.1/UNLICENSE +24 -0
  103. data/ext/cargo-vendor/termcolor-1.4.1/rustfmt.toml +2 -0
  104. data/ext/cargo-vendor/termcolor-1.4.1/src/lib.rs +2572 -0
  105. data/ext/cargo-vendor/wasi-common-23.0.2/.cargo-checksum.json +1 -0
  106. data/ext/cargo-vendor/wasi-common-23.0.2/Cargo.toml +234 -0
  107. data/ext/cargo-vendor/wasi-common-23.0.2/src/tokio/mod.rs +135 -0
  108. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/async_.rs +295 -0
  109. data/ext/cargo-vendor/wasi-common-23.0.2/tests/all/sync.rs +284 -0
  110. data/ext/cargo-vendor/wasm-encoder-0.212.0/.cargo-checksum.json +1 -0
  111. data/ext/cargo-vendor/wasm-encoder-0.212.0/Cargo.toml +49 -0
  112. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/component/types.rs +771 -0
  113. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/code.rs +3571 -0
  114. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/exports.rs +85 -0
  115. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/globals.rs +100 -0
  116. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/imports.rs +143 -0
  117. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/memories.rs +115 -0
  118. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tables.rs +121 -0
  119. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/tags.rs +85 -0
  120. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/core/types.rs +663 -0
  121. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/lib.rs +218 -0
  122. data/ext/cargo-vendor/wasm-encoder-0.212.0/src/reencode.rs +1804 -0
  123. data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +65 -0
  125. data/ext/cargo-vendor/wasm-encoder-0.215.0/README.md +80 -0
  126. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/aliases.rs +160 -0
  127. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/builder.rs +455 -0
  128. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/canonicals.rs +159 -0
  129. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/components.rs +29 -0
  130. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/exports.rs +124 -0
  131. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/imports.rs +175 -0
  132. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/instances.rs +200 -0
  133. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/modules.rs +29 -0
  134. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/names.rs +149 -0
  135. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/start.rs +52 -0
  136. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +802 -0
  137. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component.rs +168 -0
  138. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +3947 -0
  139. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/custom.rs +73 -0
  140. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/data.rs +186 -0
  141. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/dump.rs +627 -0
  142. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/elements.rs +222 -0
  143. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/exports.rs +85 -0
  144. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/functions.rs +63 -0
  145. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/globals.rs +100 -0
  146. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/imports.rs +143 -0
  147. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/linking.rs +263 -0
  148. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/memories.rs +115 -0
  149. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/names.rs +298 -0
  150. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/producers.rs +181 -0
  151. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/start.rs +39 -0
  152. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tables.rs +129 -0
  153. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/tags.rs +85 -0
  154. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +678 -0
  155. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core.rs +168 -0
  156. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/lib.rs +218 -0
  157. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/raw.rs +30 -0
  158. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +2002 -0
  159. data/ext/cargo-vendor/wasmparser-0.212.0/.cargo-checksum.json +1 -0
  160. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.lock +669 -0
  161. data/ext/cargo-vendor/wasmparser-0.212.0/Cargo.toml +112 -0
  162. data/ext/cargo-vendor/wasmparser-0.212.0/src/binary_reader.rs +1968 -0
  163. data/ext/cargo-vendor/wasmparser-0.212.0/src/features.rs +166 -0
  164. data/ext/cargo-vendor/wasmparser-0.212.0/src/lib.rs +814 -0
  165. data/ext/cargo-vendor/wasmparser-0.212.0/src/parser.rs +1682 -0
  166. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/operators.rs +453 -0
  167. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/tables.rs +93 -0
  168. data/ext/cargo-vendor/wasmparser-0.212.0/src/readers/core/types.rs +1941 -0
  169. data/ext/cargo-vendor/wasmparser-0.212.0/src/resources.rs +234 -0
  170. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/component.rs +3252 -0
  171. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/core.rs +1454 -0
  172. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/operators.rs +4230 -0
  173. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator/types.rs +4598 -0
  174. data/ext/cargo-vendor/wasmparser-0.212.0/src/validator.rs +1632 -0
  175. data/ext/cargo-vendor/wasmprinter-0.212.0/.cargo-checksum.json +1 -0
  176. data/ext/cargo-vendor/wasmprinter-0.212.0/Cargo.toml +54 -0
  177. data/ext/cargo-vendor/wasmprinter-0.212.0/src/lib.rs +3221 -0
  178. data/ext/cargo-vendor/wasmprinter-0.212.0/src/operator.rs +1189 -0
  179. data/ext/cargo-vendor/wasmprinter-0.212.0/src/print.rs +190 -0
  180. data/ext/cargo-vendor/wasmprinter-0.212.0/tests/all.rs +48 -0
  181. data/ext/cargo-vendor/wasmtime-23.0.2/.cargo-checksum.json +1 -0
  182. data/ext/cargo-vendor/wasmtime-23.0.2/Cargo.toml +399 -0
  183. data/ext/cargo-vendor/wasmtime-23.0.2/build.rs +38 -0
  184. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/code_builder.rs +274 -0
  185. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile/runtime.rs +167 -0
  186. data/ext/cargo-vendor/wasmtime-23.0.2/src/compile.rs +881 -0
  187. data/ext/cargo-vendor/wasmtime-23.0.2/src/config.rs +2902 -0
  188. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine/serialization.rs +893 -0
  189. data/ext/cargo-vendor/wasmtime-23.0.2/src/engine.rs +719 -0
  190. data/ext/cargo-vendor/wasmtime-23.0.2/src/lib.rs +406 -0
  191. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/jitdump.rs +65 -0
  192. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/perfmap.rs +47 -0
  193. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent/vtune.rs +80 -0
  194. data/ext/cargo-vendor/wasmtime-23.0.2/src/profiling_agent.rs +104 -0
  195. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/code_memory.rs +337 -0
  196. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/bindgen_examples/mod.rs +488 -0
  197. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/component.rs +811 -0
  198. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/host.rs +439 -0
  199. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/options.rs +552 -0
  200. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func/typed.rs +2497 -0
  201. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/func.rs +688 -0
  202. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/instance.rs +846 -0
  203. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/linker.rs +673 -0
  204. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/matching.rs +216 -0
  205. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/mod.rs +663 -0
  206. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/resources.rs +1132 -0
  207. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/component/values.rs +979 -0
  208. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/coredump.rs +339 -0
  209. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/debug.rs +165 -0
  210. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/global.rs +310 -0
  211. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/externals/table.rs +480 -0
  212. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func/typed.rs +788 -0
  213. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/func.rs +2593 -0
  214. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/disabled/rooting.rs +224 -0
  215. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/externref.rs +591 -0
  216. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/gc/enabled/rooting.rs +1590 -0
  217. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instance.rs +989 -0
  218. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/instantiate.rs +332 -0
  219. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/limits.rs +398 -0
  220. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/linker.rs +1498 -0
  221. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/memory.rs +1101 -0
  222. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module/registry.rs +353 -0
  223. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/module.rs +1179 -0
  224. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/profiling.rs +280 -0
  225. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/stack.rs +72 -0
  226. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store/data.rs +301 -0
  227. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/store.rs +2873 -0
  228. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/func.rs +93 -0
  229. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/memory.rs +295 -0
  230. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline/table.rs +28 -0
  231. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trampoline.rs +75 -0
  232. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/trap.rs +642 -0
  233. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types/matching.rs +428 -0
  234. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/types.rs +2771 -0
  235. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/values.rs +966 -0
  236. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/arch/riscv64.rs +41 -0
  237. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/libcalls.rs +571 -0
  238. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component/resources.rs +351 -0
  239. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/component.rs +857 -0
  240. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/const_expr.rs +102 -0
  241. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/cow.rs +988 -0
  242. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/disabled.rs +23 -0
  243. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/drc.rs +964 -0
  244. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/enabled/free_list.rs +770 -0
  245. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_ref.rs +490 -0
  246. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc/gc_runtime.rs +505 -0
  247. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/gc.rs +244 -0
  248. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/on_demand.rs +219 -0
  249. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +199 -0
  250. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +93 -0
  251. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  252. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +703 -0
  253. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +990 -0
  254. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  255. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +279 -0
  256. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator/pooling.rs +793 -0
  257. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance/allocator.rs +808 -0
  258. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/instance.rs +1518 -0
  259. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/libcalls.rs +832 -0
  260. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/memory.rs +815 -0
  261. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap.rs +217 -0
  262. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mmap_vec.rs +159 -0
  263. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/module_id.rs +19 -0
  264. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/disabled.rs +43 -0
  265. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/enabled.rs +213 -0
  266. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/mod.rs +59 -0
  267. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/mpk/sys.rs +113 -0
  268. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mmap.rs +112 -0
  269. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/mod.rs +34 -0
  270. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/unwind.rs +17 -0
  271. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/custom/vm.rs +105 -0
  272. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/mmap.rs +98 -0
  273. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/miri/unwind.rs +17 -0
  274. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/mmap.rs +159 -0
  275. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/signals.rs +407 -0
  276. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/unix/unwind.rs +149 -0
  277. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/mmap.rs +220 -0
  278. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/sys/windows/unwind.rs +46 -0
  279. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/table.rs +898 -0
  280. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory.rs +235 -0
  281. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/threads/shared_memory_disabled.rs +104 -0
  282. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/traphandlers.rs +767 -0
  283. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  284. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm/vmcontext.rs +1246 -0
  285. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime/vm.rs +403 -0
  286. data/ext/cargo-vendor/wasmtime-23.0.2/src/runtime.rs +113 -0
  287. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/.cargo-checksum.json +1 -0
  288. data/ext/cargo-vendor/wasmtime-asm-macros-23.0.2/Cargo.toml +32 -0
  289. data/ext/cargo-vendor/wasmtime-cache-23.0.2/.cargo-checksum.json +1 -0
  290. data/ext/cargo-vendor/wasmtime-cache-23.0.2/Cargo.toml +103 -0
  291. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/.cargo-checksum.json +1 -0
  292. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/Cargo.toml +106 -0
  293. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/src/bindgen.rs +500 -0
  294. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/codegen.rs +698 -0
  295. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char.rs +268 -0
  296. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/char_async.rs +291 -0
  297. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions.rs +706 -0
  298. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/conventions_async.rs +757 -0
  299. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code.rs +194 -0
  300. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/dead-code_async.rs +213 -0
  301. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import.rs +120 -0
  302. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/direct-import_async.rs +132 -0
  303. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty.rs +74 -0
  304. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/empty_async.rs +80 -0
  305. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags.rs +743 -0
  306. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/flags_async.rs +791 -0
  307. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats.rs +343 -0
  308. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/floats_async.rs +376 -0
  309. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new.rs +94 -0
  310. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/function-new_async.rs +103 -0
  311. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers.rs +873 -0
  312. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/integers_async.rs +976 -0
  313. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists.rs +1924 -0
  314. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/lists_async.rs +2114 -0
  315. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments.rs +614 -0
  316. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/many-arguments_async.rs +638 -0
  317. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return.rs +357 -0
  318. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multi-return_async.rs +391 -0
  319. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion.rs +354 -0
  320. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/multiversion_async.rs +379 -0
  321. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records.rs +940 -0
  322. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/records_async.rs +1008 -0
  323. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename.rs +183 -0
  324. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/rename_async.rs +202 -0
  325. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export.rs +657 -0
  326. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-export_async.rs +712 -0
  327. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import.rs +1088 -0
  328. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/resources-import_async.rs +1166 -0
  329. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types.rs +315 -0
  330. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/share-types_async.rs +337 -0
  331. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions.rs +399 -0
  332. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-functions_async.rs +439 -0
  333. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists.rs +427 -0
  334. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-lists_async.rs +464 -0
  335. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi.rs +245 -0
  336. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/simple-wasi_async.rs +264 -0
  337. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous.rs +338 -0
  338. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/small-anonymous_async.rs +356 -0
  339. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default.rs +94 -0
  340. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-default_async.rs +103 -0
  341. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export.rs +149 -0
  342. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke-export_async.rs +158 -0
  343. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke.rs +133 -0
  344. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/smoke_async.rs +146 -0
  345. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings.rs +316 -0
  346. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/strings_async.rs +344 -0
  347. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo.rs +165 -0
  348. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/unversioned-foo_async.rs +178 -0
  349. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths.rs +317 -0
  350. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/use-paths_async.rs +349 -0
  351. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants.rs +1896 -0
  352. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/variants_async.rs +2019 -0
  353. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat.rs +145 -0
  354. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/wat_async.rs +151 -0
  355. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types.rs +175 -0
  356. data/ext/cargo-vendor/wasmtime-component-macro-23.0.2/tests/expanded/worlds-with-types_async.rs +191 -0
  357. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/.cargo-checksum.json +1 -0
  358. data/ext/cargo-vendor/wasmtime-component-util-23.0.2/Cargo.toml +35 -0
  359. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/.cargo-checksum.json +1 -0
  360. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/Cargo.toml +125 -0
  361. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/compiler.rs +1029 -0
  362. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/gc.rs +257 -0
  363. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/address_transform.rs +841 -0
  364. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/attr.rs +328 -0
  365. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/expression.rs +1264 -0
  366. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/line_program.rs +287 -0
  367. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/mod.rs +273 -0
  368. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/range_info_builder.rs +234 -0
  369. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/simulate.rs +423 -0
  370. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/unit.rs +520 -0
  371. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/transform/utils.rs +165 -0
  372. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug/write_debuginfo.rs +176 -0
  373. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/debug.rs +178 -0
  374. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/func_environ.rs +2721 -0
  375. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/gc/enabled.rs +648 -0
  376. data/ext/cargo-vendor/wasmtime-cranelift-23.0.2/src/lib.rs +458 -0
  377. data/ext/cargo-vendor/wasmtime-environ-23.0.2/.cargo-checksum.json +1 -0
  378. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.lock +792 -0
  379. data/ext/cargo-vendor/wasmtime-environ-23.0.2/Cargo.toml +185 -0
  380. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/mod.rs +379 -0
  381. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/compile/module_environ.rs +1264 -0
  382. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/dfg.rs +718 -0
  383. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/info.rs +683 -0
  384. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/names.rs +275 -0
  385. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate/inline.rs +1333 -0
  386. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/translate.rs +993 -0
  387. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types.rs +1041 -0
  388. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component/types_builder.rs +976 -0
  389. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/component.rs +109 -0
  390. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/lib.rs +64 -0
  391. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/module.rs +702 -0
  392. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/stack_map.rs +31 -0
  393. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/tunables.rs +165 -0
  394. data/ext/cargo-vendor/wasmtime-environ-23.0.2/src/vmoffsets.rs +897 -0
  395. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/.cargo-checksum.json +1 -0
  396. data/ext/cargo-vendor/wasmtime-fiber-23.0.2/Cargo.toml +75 -0
  397. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/.cargo-checksum.json +1 -0
  398. data/ext/cargo-vendor/wasmtime-jit-debug-23.0.2/Cargo.toml +77 -0
  399. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/.cargo-checksum.json +1 -0
  400. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-23.0.2/Cargo.toml +62 -0
  401. data/ext/cargo-vendor/wasmtime-slab-23.0.2/.cargo-checksum.json +1 -0
  402. data/ext/cargo-vendor/wasmtime-slab-23.0.2/Cargo.toml +31 -0
  403. data/ext/cargo-vendor/wasmtime-types-23.0.2/.cargo-checksum.json +1 -0
  404. data/ext/cargo-vendor/wasmtime-types-23.0.2/Cargo.toml +71 -0
  405. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/lib.rs +1760 -0
  406. data/ext/cargo-vendor/wasmtime-types-23.0.2/src/prelude.rs +86 -0
  407. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/.cargo-checksum.json +1 -0
  408. data/ext/cargo-vendor/wasmtime-versioned-export-macros-23.0.2/Cargo.toml +40 -0
  409. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/.cargo-checksum.json +1 -0
  410. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/Cargo.toml +215 -0
  411. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/bindings.rs +561 -0
  412. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/filesystem.rs +448 -0
  413. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/filesystem.rs +1091 -0
  414. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/host/io.rs +391 -0
  415. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/lib.rs +419 -0
  416. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/preview1.rs +2801 -0
  417. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/src/stdio.rs +596 -0
  418. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/api.rs +197 -0
  419. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/async_.rs +397 -0
  420. data/ext/cargo-vendor/wasmtime-wasi-23.0.2/tests/all/sync.rs +331 -0
  421. data/ext/cargo-vendor/wasmtime-winch-23.0.2/.cargo-checksum.json +1 -0
  422. data/ext/cargo-vendor/wasmtime-winch-23.0.2/Cargo.toml +92 -0
  423. data/ext/cargo-vendor/wasmtime-winch-23.0.2/src/compiler.rs +242 -0
  424. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/.cargo-checksum.json +1 -0
  425. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/Cargo.toml +57 -0
  426. data/ext/cargo-vendor/wasmtime-wit-bindgen-23.0.2/src/lib.rs +2777 -0
  427. data/ext/cargo-vendor/wast-215.0.0/.cargo-checksum.json +1 -0
  428. data/ext/cargo-vendor/wast-215.0.0/Cargo.toml +101 -0
  429. data/ext/cargo-vendor/wast-215.0.0/src/component/binary.rs +1014 -0
  430. data/ext/cargo-vendor/wast-215.0.0/src/component/component.rs +320 -0
  431. data/ext/cargo-vendor/wast-215.0.0/src/component/expand.rs +875 -0
  432. data/ext/cargo-vendor/wast-215.0.0/src/component/resolve.rs +988 -0
  433. data/ext/cargo-vendor/wast-215.0.0/src/component.rs +28 -0
  434. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf.rs +610 -0
  435. data/ext/cargo-vendor/wast-215.0.0/src/core/binary/dwarf_disabled.rs +41 -0
  436. data/ext/cargo-vendor/wast-215.0.0/src/core/binary.rs +1542 -0
  437. data/ext/cargo-vendor/wast-215.0.0/src/core/expr.rs +2110 -0
  438. data/ext/cargo-vendor/wast-215.0.0/src/core/memory.rs +279 -0
  439. data/ext/cargo-vendor/wast-215.0.0/src/core/module.rs +215 -0
  440. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/deinline_import_export.rs +232 -0
  441. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/names.rs +791 -0
  442. data/ext/cargo-vendor/wast-215.0.0/src/core/resolve/types.rs +270 -0
  443. data/ext/cargo-vendor/wast-215.0.0/src/core/table.rs +308 -0
  444. data/ext/cargo-vendor/wast-215.0.0/src/core/types.rs +1057 -0
  445. data/ext/cargo-vendor/wast-215.0.0/src/core.rs +30 -0
  446. data/ext/cargo-vendor/wast-215.0.0/src/lib.rs +556 -0
  447. data/ext/cargo-vendor/wast-215.0.0/src/parser.rs +1434 -0
  448. data/ext/cargo-vendor/wast-215.0.0/src/wat.rs +68 -0
  449. data/ext/cargo-vendor/wat-1.215.0/.cargo-checksum.json +1 -0
  450. data/ext/cargo-vendor/wat-1.215.0/Cargo.toml +56 -0
  451. data/ext/cargo-vendor/wat-1.215.0/src/lib.rs +469 -0
  452. data/ext/cargo-vendor/wiggle-23.0.2/.cargo-checksum.json +1 -0
  453. data/ext/cargo-vendor/wiggle-23.0.2/Cargo.toml +110 -0
  454. data/ext/cargo-vendor/wiggle-generate-23.0.2/.cargo-checksum.json +1 -0
  455. data/ext/cargo-vendor/wiggle-generate-23.0.2/Cargo.toml +76 -0
  456. data/ext/cargo-vendor/wiggle-macro-23.0.2/.cargo-checksum.json +1 -0
  457. data/ext/cargo-vendor/wiggle-macro-23.0.2/Cargo.toml +59 -0
  458. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -0
  459. data/ext/cargo-vendor/winapi-util-0.1.9/COPYING +3 -0
  460. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +53 -0
  461. data/ext/cargo-vendor/winapi-util-0.1.9/LICENSE-MIT +21 -0
  462. data/ext/cargo-vendor/winapi-util-0.1.9/README.md +64 -0
  463. data/ext/cargo-vendor/winapi-util-0.1.9/UNLICENSE +24 -0
  464. data/ext/cargo-vendor/winapi-util-0.1.9/rustfmt.toml +2 -0
  465. data/ext/cargo-vendor/winapi-util-0.1.9/src/console.rs +407 -0
  466. data/ext/cargo-vendor/winapi-util-0.1.9/src/file.rs +166 -0
  467. data/ext/cargo-vendor/winapi-util-0.1.9/src/lib.rs +35 -0
  468. data/ext/cargo-vendor/winapi-util-0.1.9/src/sysinfo.rs +161 -0
  469. data/ext/cargo-vendor/winapi-util-0.1.9/src/win.rs +246 -0
  470. data/ext/cargo-vendor/winch-codegen-0.21.2/.cargo-checksum.json +1 -0
  471. data/ext/cargo-vendor/winch-codegen-0.21.2/Cargo.toml +87 -0
  472. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/env.rs +449 -0
  473. data/ext/cargo-vendor/winch-codegen-0.21.2/src/codegen/mod.rs +878 -0
  474. data/ext/cargo-vendor/winch-codegen-0.21.2/src/visitor.rs +2154 -0
  475. data/ext/cargo-vendor/wit-parser-0.212.0/.cargo-checksum.json +1 -0
  476. data/ext/cargo-vendor/wit-parser-0.212.0/Cargo.toml +112 -0
  477. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/lex.rs +751 -0
  478. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast/resolve.rs +1539 -0
  479. data/ext/cargo-vendor/wit-parser-0.212.0/src/ast.rs +1851 -0
  480. data/ext/cargo-vendor/wit-parser-0.212.0/src/decoding.rs +1798 -0
  481. data/ext/cargo-vendor/wit-parser-0.212.0/src/lib.rs +888 -0
  482. data/ext/cargo-vendor/wit-parser-0.212.0/src/resolve.rs +2740 -0
  483. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/feature-gates.wit.json +308 -0
  484. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/a.wit +23 -0
  485. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package/b.wit +23 -0
  486. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-file-multi-package.wit.json +250 -0
  487. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +2 -0
  488. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +2 -0
  489. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps/packages.wit +13 -0
  490. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-shared-deps.wit.json +83 -0
  491. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +9 -0
  492. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +5 -0
  493. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps/packages.wit +11 -0
  494. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/multi-package-transitive-deps.wit.json +116 -0
  495. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit +23 -0
  496. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-colliding-decl-names.wit.json +130 -0
  497. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit +15 -0
  498. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-internal-references.wit.json +87 -0
  499. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit +23 -0
  500. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-explicit-with-semver.wit.json +130 -0
  501. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit +23 -0
  502. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-multiple-explicit.wit.json +130 -0
  503. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit +11 -0
  504. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/packages-single-explicit.wit.json +70 -0
  505. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit +3 -0
  506. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-colliding-names.wit.result +1 -0
  507. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit +13 -0
  508. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/explicit-packages-with-error.wit.result +8 -0
  509. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit +23 -0
  510. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-explicit-then-implicit-package.wit.result +1 -0
  511. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit +23 -0
  512. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/mix-implicit-then-explicit-package.wit.result +5 -0
  513. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +5 -0
  514. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +5 -0
  515. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +9 -0
  516. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit +11 -0
  517. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +5 -0
  518. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +15 -0
  519. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +5 -0
  520. data/ext/cargo-vendor/wit-parser-0.212.0/tests/ui/since-and-unstable.wit.json +583 -0
  521. data/ext/src/ruby_api/memory.rs +2 -1
  522. data/lib/wasmtime/version.rb +1 -1
  523. metadata +1736 -1643
  524. data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +0 -1
  525. data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +0 -41
  526. data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +0 -1
  527. data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +0 -193
  528. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/binemit/stack_map.rs +0 -155
  529. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/bitset.rs +0 -187
  530. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +0 -384
  531. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/data_value.rs +0 -385
  532. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +0 -1777
  533. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/globalvalue.rs +0 -147
  534. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +0 -1612
  535. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/instructions.rs +0 -1020
  536. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/jumptable.rs +0 -168
  537. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/mod.rs +0 -108
  538. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/trapcode.rs +0 -149
  539. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +0 -627
  540. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +0 -3584
  541. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +0 -7901
  542. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +0 -3060
  543. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +0 -4218
  544. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/lower.isle +0 -2933
  545. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/mod.rs +0 -242
  546. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/mod.rs +0 -449
  547. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +0 -2682
  548. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +0 -2215
  549. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +0 -1938
  550. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +0 -3127
  551. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +0 -649
  552. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +0 -2923
  553. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +0 -260
  554. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +0 -3401
  555. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +0 -3401
  556. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +0 -3995
  557. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/mod.rs +0 -215
  558. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +0 -4287
  559. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +0 -52
  560. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +0 -2821
  561. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +0 -5289
  562. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +0 -4810
  563. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/mod.rs +0 -234
  564. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +0 -986
  565. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/legalizer/mod.rs +0 -348
  566. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +0 -106
  567. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +0 -2419
  568. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +0 -2508
  569. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/helpers.rs +0 -33
  570. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +0 -909
  571. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +0 -1432
  572. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +0 -551
  573. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +0 -1741
  574. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +0 -664
  575. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +0 -1073
  576. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +0 -638
  577. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +0 -1
  578. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +0 -36
  579. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +0 -496
  580. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/typevar.rs +0 -980
  581. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_inst.rs +0 -1278
  582. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/instructions.rs +0 -3791
  583. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/types.rs +0 -137
  584. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +0 -1
  585. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +0 -22
  586. data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +0 -1
  587. data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +0 -30
  588. data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +0 -1
  589. data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +0 -53
  590. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +0 -290
  591. data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +0 -1
  592. data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +0 -68
  593. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +0 -1857
  594. data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +0 -1
  595. data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +0 -47
  596. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/codegen.rs +0 -886
  597. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/parser.rs +0 -562
  598. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +0 -2492
  599. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/trie_again.rs +0 -684
  600. data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +0 -1
  601. data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +0 -43
  602. data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +0 -188
  603. data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +0 -1
  604. data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +0 -110
  605. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator/bounds_checks.rs +0 -713
  606. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +0 -3695
  607. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/heap.rs +0 -116
  608. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +0 -343
  609. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +0 -1
  610. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +0 -48
  611. data/ext/cargo-vendor/memoffset-0.9.0/.cargo-checksum.json +0 -1
  612. data/ext/cargo-vendor/memoffset-0.9.0/Cargo.toml +0 -37
  613. data/ext/cargo-vendor/memoffset-0.9.0/LICENSE +0 -19
  614. data/ext/cargo-vendor/memoffset-0.9.0/README.md +0 -85
  615. data/ext/cargo-vendor/memoffset-0.9.0/build.rs +0 -25
  616. data/ext/cargo-vendor/memoffset-0.9.0/src/lib.rs +0 -94
  617. data/ext/cargo-vendor/memoffset-0.9.0/src/offset_of.rs +0 -400
  618. data/ext/cargo-vendor/memoffset-0.9.0/src/raw_field.rs +0 -226
  619. data/ext/cargo-vendor/memoffset-0.9.0/src/span_of.rs +0 -263
  620. data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +0 -1
  621. data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +0 -224
  622. data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/mod.rs +0 -137
  623. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/async_.rs +0 -293
  624. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/sync.rs +0 -279
  625. data/ext/cargo-vendor/wasm-encoder-0.209.1/.cargo-checksum.json +0 -1
  626. data/ext/cargo-vendor/wasm-encoder-0.209.1/Cargo.toml +0 -46
  627. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/component/types.rs +0 -792
  628. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/code.rs +0 -3595
  629. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/exports.rs +0 -98
  630. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/globals.rs +0 -112
  631. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/imports.rs +0 -157
  632. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/memories.rs +0 -128
  633. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tables.rs +0 -134
  634. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/tags.rs +0 -104
  635. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/core/types.rs +0 -678
  636. data/ext/cargo-vendor/wasm-encoder-0.209.1/src/lib.rs +0 -215
  637. data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +0 -1
  638. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +0 -662
  639. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +0 -109
  640. data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +0 -1929
  641. data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +0 -164
  642. data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +0 -814
  643. data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +0 -1682
  644. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +0 -423
  645. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/tables.rs +0 -93
  646. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +0 -1788
  647. data/ext/cargo-vendor/wasmparser-0.209.1/src/resources.rs +0 -235
  648. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +0 -3236
  649. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +0 -1464
  650. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +0 -4231
  651. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +0 -4550
  652. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +0 -1633
  653. data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +0 -1
  654. data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +0 -51
  655. data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +0 -3225
  656. data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +0 -1171
  657. data/ext/cargo-vendor/wasmprinter-0.209.1/tests/all.rs +0 -293
  658. data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +0 -1
  659. data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +0 -387
  660. data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +0 -42
  661. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/code_builder.rs +0 -275
  662. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +0 -167
  663. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +0 -917
  664. data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +0 -2943
  665. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +0 -890
  666. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine.rs +0 -728
  667. data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +0 -389
  668. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +0 -67
  669. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +0 -48
  670. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/vtune.rs +0 -81
  671. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent.rs +0 -106
  672. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +0 -338
  673. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +0 -489
  674. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +0 -656
  675. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/host.rs +0 -440
  676. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/options.rs +0 -555
  677. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +0 -2498
  678. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +0 -689
  679. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +0 -810
  680. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +0 -854
  681. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +0 -217
  682. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +0 -657
  683. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resources.rs +0 -1133
  684. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/values.rs +0 -980
  685. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/coredump.rs +0 -342
  686. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +0 -166
  687. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +0 -310
  688. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +0 -481
  689. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +0 -780
  690. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +0 -2564
  691. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/rooting.rs +0 -224
  692. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +0 -592
  693. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/rooting.rs +0 -1588
  694. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +0 -992
  695. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +0 -337
  696. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/limits.rs +0 -399
  697. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +0 -1499
  698. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/memory.rs +0 -998
  699. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +0 -353
  700. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +0 -1322
  701. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/profiling.rs +0 -221
  702. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/stack.rs +0 -73
  703. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/data.rs +0 -301
  704. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +0 -2824
  705. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +0 -94
  706. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +0 -287
  707. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/table.rs +0 -29
  708. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline.rs +0 -78
  709. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trap.rs +0 -642
  710. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types/matching.rs +0 -421
  711. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +0 -2580
  712. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +0 -966
  713. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/arch/riscv64.rs +0 -41
  714. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/libcalls.rs +0 -571
  715. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +0 -352
  716. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +0 -857
  717. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/const_expr.rs +0 -102
  718. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +0 -972
  719. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/disabled.rs +0 -24
  720. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/drc.rs +0 -968
  721. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/free_list.rs +0 -771
  722. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +0 -491
  723. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_runtime.rs +0 -506
  724. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc.rs +0 -245
  725. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +0 -220
  726. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -194
  727. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -94
  728. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -78
  729. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -707
  730. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -975
  731. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -245
  732. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -278
  733. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +0 -794
  734. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +0 -801
  735. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +0 -1514
  736. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/libcalls.rs +0 -834
  737. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +0 -736
  738. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap.rs +0 -220
  739. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap_vec.rs +0 -162
  740. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/module_id.rs +0 -43
  741. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/disabled.rs +0 -43
  742. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/enabled.rs +0 -214
  743. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/mod.rs +0 -54
  744. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/sys.rs +0 -114
  745. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mmap.rs +0 -112
  746. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mod.rs +0 -34
  747. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/unwind.rs +0 -17
  748. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +0 -105
  749. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/mmap.rs +0 -95
  750. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/unwind.rs +0 -17
  751. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/mmap.rs +0 -162
  752. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +0 -407
  753. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/unwind.rs +0 -150
  754. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/mmap.rs +0 -221
  755. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/unwind.rs +0 -46
  756. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +0 -899
  757. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory.rs +0 -233
  758. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory_disabled.rs +0 -101
  759. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +0 -768
  760. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -79
  761. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +0 -1302
  762. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +0 -277
  763. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +0 -113
  764. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +0 -1
  765. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +0 -22
  766. data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +0 -1
  767. data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +0 -89
  768. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +0 -1
  769. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +0 -86
  770. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +0 -493
  771. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +0 -651
  772. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +0 -198
  773. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +0 -215
  774. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +0 -586
  775. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +0 -631
  776. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +0 -165
  777. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +0 -178
  778. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +0 -91
  779. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +0 -97
  780. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +0 -45
  781. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +0 -45
  782. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +0 -637
  783. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +0 -679
  784. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +0 -255
  785. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +0 -282
  786. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +0 -59
  787. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +0 -62
  788. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +0 -722
  789. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +0 -819
  790. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +0 -1743
  791. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +0 -1927
  792. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +0 -543
  793. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +0 -561
  794. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +0 -270
  795. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +0 -298
  796. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +0 -251
  797. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +0 -270
  798. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +0 -815
  799. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +0 -877
  800. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +0 -154
  801. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +0 -167
  802. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +0 -467
  803. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +0 -516
  804. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +0 -1014
  805. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +0 -1086
  806. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +0 -249
  807. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +0 -265
  808. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +0 -313
  809. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +0 -347
  810. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +0 -350
  811. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +0 -381
  812. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +0 -216
  813. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +0 -229
  814. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +0 -275
  815. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +0 -287
  816. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +0 -59
  817. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +0 -62
  818. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +0 -86
  819. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +0 -89
  820. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +0 -104
  821. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +0 -111
  822. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +0 -247
  823. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +0 -269
  824. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +0 -136
  825. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +0 -143
  826. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +0 -288
  827. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +0 -314
  828. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +0 -1750
  829. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +0 -1867
  830. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +0 -84
  831. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +0 -84
  832. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +0 -138
  833. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +0 -148
  834. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +0 -1
  835. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +0 -25
  836. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +0 -1
  837. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +0 -115
  838. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +0 -1067
  839. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/gc.rs +0 -252
  840. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +0 -783
  841. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/attr.rs +0 -320
  842. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/expression.rs +0 -1248
  843. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/line_program.rs +0 -287
  844. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +0 -256
  845. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/range_info_builder.rs +0 -221
  846. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +0 -411
  847. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +0 -529
  848. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +0 -186
  849. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +0 -196
  850. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug.rs +0 -18
  851. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +0 -2910
  852. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +0 -648
  853. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +0 -462
  854. data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +0 -1
  855. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +0 -774
  856. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +0 -161
  857. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +0 -374
  858. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +0 -1348
  859. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/dfg.rs +0 -691
  860. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +0 -672
  861. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/inline.rs +0 -1332
  862. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +0 -985
  863. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +0 -1038
  864. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +0 -1004
  865. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component.rs +0 -107
  866. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +0 -151
  867. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +0 -704
  868. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/stack_map.rs +0 -37
  869. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +0 -175
  870. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +0 -989
  871. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +0 -1
  872. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +0 -65
  873. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +0 -1
  874. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +0 -68
  875. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +0 -1
  876. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +0 -52
  877. data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +0 -1
  878. data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +0 -21
  879. data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +0 -1
  880. data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +0 -56
  881. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +0 -1737
  882. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +0 -1
  883. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +0 -32
  884. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +0 -1
  885. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +0 -201
  886. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +0 -289
  887. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +0 -446
  888. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +0 -1091
  889. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +0 -388
  890. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +0 -417
  891. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +0 -2801
  892. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +0 -533
  893. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/api.rs +0 -198
  894. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/async_.rs +0 -397
  895. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/sync.rs +0 -331
  896. data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +0 -1
  897. data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +0 -82
  898. data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +0 -239
  899. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +0 -1
  900. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +0 -47
  901. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +0 -2639
  902. data/ext/cargo-vendor/wast-209.0.1/.cargo-checksum.json +0 -1
  903. data/ext/cargo-vendor/wast-209.0.1/Cargo.toml +0 -60
  904. data/ext/cargo-vendor/wast-209.0.1/src/component/binary.rs +0 -1000
  905. data/ext/cargo-vendor/wast-209.0.1/src/component/component.rs +0 -321
  906. data/ext/cargo-vendor/wast-209.0.1/src/component/expand.rs +0 -875
  907. data/ext/cargo-vendor/wast-209.0.1/src/component/resolve.rs +0 -999
  908. data/ext/cargo-vendor/wast-209.0.1/src/component.rs +0 -28
  909. data/ext/cargo-vendor/wast-209.0.1/src/core/binary.rs +0 -1396
  910. data/ext/cargo-vendor/wast-209.0.1/src/core/expr.rs +0 -2016
  911. data/ext/cargo-vendor/wast-209.0.1/src/core/memory.rs +0 -284
  912. data/ext/cargo-vendor/wast-209.0.1/src/core/module.rs +0 -218
  913. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/deinline_import_export.rs +0 -235
  914. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/names.rs +0 -751
  915. data/ext/cargo-vendor/wast-209.0.1/src/core/resolve/types.rs +0 -267
  916. data/ext/cargo-vendor/wast-209.0.1/src/core/table.rs +0 -302
  917. data/ext/cargo-vendor/wast-209.0.1/src/core/types.rs +0 -901
  918. data/ext/cargo-vendor/wast-209.0.1/src/core.rs +0 -29
  919. data/ext/cargo-vendor/wast-209.0.1/src/lib.rs +0 -551
  920. data/ext/cargo-vendor/wast-209.0.1/src/parser.rs +0 -1414
  921. data/ext/cargo-vendor/wast-209.0.1/src/wat.rs +0 -71
  922. data/ext/cargo-vendor/wat-1.209.1/.cargo-checksum.json +0 -1
  923. data/ext/cargo-vendor/wat-1.209.1/Cargo.toml +0 -34
  924. data/ext/cargo-vendor/wat-1.209.1/src/lib.rs +0 -401
  925. data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +0 -124
  927. data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +0 -67
  929. data/ext/cargo-vendor/wiggle-generate-22.0.0/LICENSE +0 -220
  930. data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +0 -1
  931. data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +0 -51
  932. data/ext/cargo-vendor/wiggle-macro-22.0.0/LICENSE +0 -220
  933. data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +0 -1
  934. data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +0 -77
  935. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +0 -448
  936. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +0 -882
  937. data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +0 -2149
  938. data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +0 -1
  939. data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +0 -112
  940. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/lex.rs +0 -747
  941. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +0 -1524
  942. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +0 -1668
  943. data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +0 -1795
  944. data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +0 -873
  945. data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +0 -2498
  946. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +0 -288
  947. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +0 -549
  948. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/LICENSE +0 -0
  949. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/README.md +0 -0
  950. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/lib.rs +0 -0
  951. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/map.rs +0 -0
  952. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/node.rs +0 -0
  953. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/path.rs +0 -0
  954. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/pool.rs +0 -0
  955. /data/ext/cargo-vendor/{cranelift-bforest-0.109.0 → cranelift-bforest-0.110.2}/src/set.rs +0 -0
  956. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/LICENSE +0 -0
  957. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/README.md +0 -0
  958. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/benches/x64-evex-encoding.rs +0 -0
  959. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/build.rs +0 -0
  960. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/alias_analysis.rs +0 -0
  961. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/binemit/mod.rs +0 -0
  962. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cfg_printer.rs +0 -0
  963. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/constant_hash.rs +0 -0
  964. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ctxhash.rs +0 -0
  965. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/cursor.rs +0 -0
  966. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dbg.rs +0 -0
  967. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/dominator_tree.rs +0 -0
  968. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/cost.rs +0 -0
  969. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph/elaborate.rs +0 -0
  970. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/egraph.rs +0 -0
  971. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/flowgraph.rs +0 -0
  972. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/incremental_cache.rs +0 -0
  973. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/inst_predicates.rs +0 -0
  974. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/atomic_rmw_op.rs +0 -0
  975. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/builder.rs +0 -0
  976. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/condcodes.rs +0 -0
  977. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/constant.rs +0 -0
  978. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/dynamic_type.rs +0 -0
  979. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/entities.rs +0 -0
  980. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extfunc.rs +0 -0
  981. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/extname.rs +0 -0
  982. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/function.rs +0 -0
  983. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/known_symbol.rs +0 -0
  984. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/layout.rs +0 -0
  985. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/libcall.rs +0 -0
  986. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memflags.rs +0 -0
  987. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/memtype.rs +0 -0
  988. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/pcc.rs +0 -0
  989. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/progpoint.rs +0 -0
  990. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/sourceloc.rs +0 -0
  991. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ir/stackslot.rs +0 -0
  992. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/abi.rs +0 -0
  993. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/args.rs +0 -0
  994. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/imms.rs +0 -0
  995. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/regs.rs +0 -0
  996. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  997. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst/unwind.rs +0 -0
  998. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/inst_neon.isle +0 -0
  999. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1000. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower/isle.rs +0 -0
  1001. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower.rs +0 -0
  1002. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1003. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/pcc.rs +0 -0
  1004. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/aarch64/settings.rs +0 -0
  1005. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/call_conv.rs +0 -0
  1006. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/abi.rs +0 -0
  1007. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/args.rs +0 -0
  1008. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/encode.rs +0 -0
  1009. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/imms.rs +0 -0
  1010. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/regs.rs +0 -0
  1011. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1012. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/unwind.rs +0 -0
  1013. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst/vector.rs +0 -0
  1014. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/inst_vector.isle +0 -0
  1015. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1016. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/lower.rs +0 -0
  1017. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/riscv64/settings.rs +0 -0
  1018. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/abi.rs +0 -0
  1019. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/args.rs +0 -0
  1020. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1021. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/imms.rs +0 -0
  1022. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/regs.rs +0 -0
  1023. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1024. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst/unwind.rs +0 -0
  1025. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/inst.isle +0 -0
  1026. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1027. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower/isle.rs +0 -0
  1028. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/lower.rs +0 -0
  1029. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/s390x/settings.rs +0 -0
  1030. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/systemv.rs +0 -0
  1031. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind/winx64.rs +0 -0
  1032. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/unwind.rs +0 -0
  1033. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/abi.rs +0 -0
  1034. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/evex.rs +0 -0
  1035. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/mod.rs +0 -0
  1036. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/rex.rs +0 -0
  1037. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/encoding/vex.rs +0 -0
  1038. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/args.rs +0 -0
  1039. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/emit_tests.rs +0 -0
  1040. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/regs.rs +0 -0
  1041. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1042. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1043. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/inst/unwind.rs +0 -0
  1044. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1045. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower/isle.rs +0 -0
  1046. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/lower.rs +0 -0
  1047. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/pcc.rs +0 -0
  1048. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/isa/x64/settings.rs +0 -0
  1049. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/iterators.rs +0 -0
  1050. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/legalizer/globalvalue.rs +0 -0
  1051. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/loop_analysis.rs +0 -0
  1052. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/blockorder.rs +0 -0
  1053. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/compile.rs +0 -0
  1054. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/inst_common.rs +0 -0
  1055. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/pcc.rs +0 -0
  1056. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/reg.rs +0 -0
  1057. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/machinst/valueregs.rs +0 -0
  1058. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/nan_canonicalization.rs +0 -0
  1059. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/README.md +0 -0
  1060. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/arithmetic.isle +0 -0
  1061. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/bitops.isle +0 -0
  1062. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/cprop.isle +0 -0
  1063. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/extends.isle +0 -0
  1064. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/generated_code.rs +0 -0
  1065. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/icmp.isle +0 -0
  1066. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/remat.isle +0 -0
  1067. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/selects.isle +0 -0
  1068. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/shifts.isle +0 -0
  1069. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spaceship.isle +0 -0
  1070. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/spectre.isle +0 -0
  1071. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts/vector.isle +0 -0
  1072. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/opts.rs +0 -0
  1073. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/prelude_opt.isle +0 -0
  1074. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/print_errors.rs +0 -0
  1075. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/ranges.rs +0 -0
  1076. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/remove_constant_phis.rs +0 -0
  1077. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/result.rs +0 -0
  1078. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/scoped_hash_map.rs +0 -0
  1079. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/settings.rs +0 -0
  1080. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/souper_harvest.rs +0 -0
  1081. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/timing.rs +0 -0
  1082. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/traversals.rs +0 -0
  1083. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unionfind.rs +0 -0
  1084. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/unreachable_code.rs +0 -0
  1085. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/value_label.rs +0 -0
  1086. /data/ext/cargo-vendor/{cranelift-codegen-0.109.0 → cranelift-codegen-0.110.2}/src/verifier/mod.rs +0 -0
  1087. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/LICENSE +0 -0
  1088. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/README.md +0 -0
  1089. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/formats.rs +0 -0
  1090. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/instructions.rs +0 -0
  1091. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/isa.rs +0 -0
  1092. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/mod.rs +0 -0
  1093. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/operands.rs +0 -0
  1094. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/cdsl/settings.rs +0 -0
  1095. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/constant_hash.rs +0 -0
  1096. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/error.rs +0 -0
  1097. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_isle.rs +0 -0
  1098. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_settings.rs +0 -0
  1099. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/gen_types.rs +0 -0
  1100. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/arm64.rs +0 -0
  1101. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/mod.rs +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/riscv64.rs +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/s390x.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isa/x86.rs +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/isle.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/lib.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/entities.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/formats.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/immediates.rs +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/mod.rs +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/shared/settings.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/srcgen.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.109.0 → cranelift-codegen-meta-0.110.2}/src/unique_table.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/LICENSE +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/README.md +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constant_hash.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/constants.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.109.0 → cranelift-codegen-shared-0.110.2}/src/lib.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/LICENSE +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/README.md +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/chaos.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/lib.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-control-0.109.0 → cranelift-control-0.110.2}/src/zero_sized.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/LICENSE +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/README.md +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/boxed_slice.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/iter.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/keys.rs +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/lib.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/list.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/map.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/packed_option.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/primary.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/sparse.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-entity-0.109.0 → cranelift-entity-0.110.2}/src/unsigned.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/LICENSE +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/README.md +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/lib.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/ssa.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/switch.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-frontend-0.109.0 → cranelift-frontend-0.110.2}/src/variable.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/README.md +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/build.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bad_converters.isle +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/error1.isle +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/extra_parens.isle +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_expression.isle +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/impure_rhs.isle +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/fail/multi_prio.isle +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows.isle +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/borrows_main.rs +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets.isle +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/iflets_main.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor.isle +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_constructor_main.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor.isle +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/multi_extractor_main.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test.isle +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/link/test_main.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/bound_var.isle +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/construct_and_extract.isle +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions.isle +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/conversions_extern.isle +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/let.isle +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/nodebug.isle +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test2.isle +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test3.isle +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/test4.isle +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/pass/tutorial.isle +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst.isle +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/iconst_main.rs +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing.isle +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/isle_examples/run/let_shadowing_main.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/ast.rs +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/compile.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/disjointsets.rs +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/error.rs +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lexer.rs +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/lib.rs +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/log.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/overlap.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/serialize.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/src/stablemapset.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-isle-0.109.0 → cranelift-isle-0.110.2}/tests/run_tests.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/LICENSE +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/README.md +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-native-0.109.0 → cranelift-native-0.110.2}/src/riscv.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/LICENSE +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/README.md +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/dummy.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/mod.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/environ/spec.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/func_translator.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/lib.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/module_translator.rs +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/state.rs +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/table.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-wasm-0.109.0 → cranelift-wasm-0.110.2}/src/translation_utils.rs +0 -0
  1203. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/README.md +0 -0
  1204. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/clocks.rs +0 -0
  1205. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/lib.rs +0 -0
  1206. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/src/noop_scheduler.rs +0 -0
  1207. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/clocks.rs +0 -0
  1208. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/common/mod.rs +0 -0
  1209. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/random.rs +0 -0
  1210. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.22 → deterministic-wasi-ctx-0.1.23}/tests/scheduler.rs +0 -0
  1211. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/LICENSE +0 -0
  1212. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/README.md +0 -0
  1213. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/clocks.rs +0 -0
  1214. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/ctx.rs +0 -0
  1215. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/dir.rs +0 -0
  1216. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/error.rs +0 -0
  1217. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/file.rs +0 -0
  1218. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/lib.rs +0 -0
  1219. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/pipe.rs +0 -0
  1220. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/random.rs +0 -0
  1221. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched/subscription.rs +0 -0
  1222. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sched.rs +0 -0
  1223. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/mod.rs +0 -0
  1224. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_0.rs +0 -0
  1225. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1/error.rs +0 -0
  1226. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/snapshots/preview_1.rs +0 -0
  1227. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/string_array.rs +0 -0
  1228. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/clocks.rs +0 -0
  1229. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/dir.rs +0 -0
  1230. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/file.rs +0 -0
  1231. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/mod.rs +0 -0
  1232. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/net.rs +0 -0
  1233. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/unix.rs +0 -0
  1234. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched/windows.rs +0 -0
  1235. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/sched.rs +0 -0
  1236. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/sync/stdio.rs +0 -0
  1237. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/table.rs +0 -0
  1238. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/dir.rs +0 -0
  1239. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/file.rs +0 -0
  1240. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/net.rs +0 -0
  1241. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/unix.rs +0 -0
  1242. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched/windows.rs +0 -0
  1243. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/sched.rs +0 -0
  1244. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/src/tokio/stdio.rs +0 -0
  1245. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/tests/all/main.rs +0 -0
  1246. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/typenames.witx +0 -0
  1247. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1248. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/typenames.witx +0 -0
  1249. /data/ext/cargo-vendor/{wasi-common-22.0.0 → wasi-common-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1250. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/LICENSE +0 -0
  1251. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/README.md +0 -0
  1252. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/aliases.rs +0 -0
  1253. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/builder.rs +0 -0
  1254. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/canonicals.rs +0 -0
  1255. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/components.rs +0 -0
  1256. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/exports.rs +0 -0
  1257. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/imports.rs +0 -0
  1258. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/instances.rs +0 -0
  1259. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/modules.rs +0 -0
  1260. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/names.rs +0 -0
  1261. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component/start.rs +0 -0
  1262. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/component.rs +0 -0
  1263. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/custom.rs +0 -0
  1264. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/data.rs +0 -0
  1265. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/dump.rs +0 -0
  1266. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/elements.rs +0 -0
  1267. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/functions.rs +0 -0
  1268. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/linking.rs +0 -0
  1269. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/names.rs +0 -0
  1270. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/producers.rs +0 -0
  1271. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core/start.rs +0 -0
  1272. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/core.rs +0 -0
  1273. /data/ext/cargo-vendor/{wasm-encoder-0.209.1 → wasm-encoder-0.212.0}/src/raw.rs +0 -0
  1274. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/README.md +0 -0
  1275. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/benches/benchmark.rs +0 -0
  1276. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/examples/simple.rs +0 -0
  1277. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/hash.rs +0 -0
  1278. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/detail.rs +0 -0
  1279. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map/tests.rs +0 -0
  1280. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_map.rs +0 -0
  1281. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/index_set.rs +0 -0
  1282. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/map.rs +0 -0
  1283. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/mod.rs +0 -0
  1284. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/collections/set.rs +0 -0
  1285. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/limits.rs +0 -0
  1286. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/aliases.rs +0 -0
  1287. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/canonicals.rs +0 -0
  1288. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/exports.rs +0 -0
  1289. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/imports.rs +0 -0
  1290. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/instances.rs +0 -0
  1291. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/names.rs +0 -0
  1292. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/start.rs +0 -0
  1293. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component/types.rs +0 -0
  1294. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/component.rs +0 -0
  1295. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/branch_hinting.rs +0 -0
  1296. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/code.rs +0 -0
  1297. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/coredumps.rs +0 -0
  1298. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/custom.rs +0 -0
  1299. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/data.rs +0 -0
  1300. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/dylink0.rs +0 -0
  1301. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/elements.rs +0 -0
  1302. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/exports.rs +0 -0
  1303. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/functions.rs +0 -0
  1304. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/globals.rs +0 -0
  1305. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/imports.rs +0 -0
  1306. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/init.rs +0 -0
  1307. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/linking.rs +0 -0
  1308. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/memories.rs +0 -0
  1309. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/names.rs +0 -0
  1310. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/producers.rs +0 -0
  1311. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/reloc.rs +0 -0
  1312. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/tags.rs +0 -0
  1313. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core/types/matches.rs +0 -0
  1314. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers/core.rs +0 -0
  1315. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/readers.rs +0 -0
  1316. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/core/canonical.rs +0 -0
  1317. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/func.rs +0 -0
  1318. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/src/validator/names.rs +0 -0
  1319. /data/ext/cargo-vendor/{wasmparser-0.209.1 → wasmparser-0.212.0}/tests/big-module.rs +0 -0
  1320. /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/LICENSE +0 -0
  1321. /data/ext/cargo-vendor/{wasmprinter-0.209.1 → wasmprinter-0.212.0}/README.md +0 -0
  1322. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/LICENSE +0 -0
  1323. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/README.md +0 -0
  1324. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1325. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/code.rs +0 -0
  1326. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1327. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1328. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1329. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1330. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1331. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  1332. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1333. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/resource_table.rs +0 -0
  1334. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/storage.rs +0 -0
  1335. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/store.rs +0 -0
  1336. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/component/types.rs +0 -0
  1337. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/externals.rs +0 -0
  1338. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/anyref.rs +0 -0
  1339. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/externref.rs +0 -0
  1340. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled/i31.rs +0 -0
  1341. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/disabled.rs +0 -0
  1342. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/anyref.rs +0 -0
  1343. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled/i31.rs +0 -0
  1344. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/enabled.rs +0 -0
  1345. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc/noextern.rs +0 -0
  1346. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/gc.rs +0 -0
  1347. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/resources.rs +0 -0
  1348. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/signatures.rs +0 -0
  1349. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/context.rs +0 -0
  1350. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/store/func_refs.rs +0 -0
  1351. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/trampoline/global.rs +0 -0
  1352. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/type_registry.rs +0 -0
  1353. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/uninhabited.rs +0 -0
  1354. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/unix.rs +0 -0
  1355. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/v128.rs +0 -0
  1356. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/aarch64.rs +0 -0
  1357. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/mod.rs +0 -0
  1358. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.S +0 -0
  1359. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/s390x.rs +0 -0
  1360. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/arch/x86_64.rs +0 -0
  1361. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/async_yield.rs +0 -0
  1362. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/debug_builtins.rs +0 -0
  1363. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/export.rs +0 -0
  1364. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1365. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/enabled.rs +0 -0
  1366. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/host_data.rs +0 -0
  1367. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/gc/i31.rs +0 -0
  1368. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/helpers.c +0 -0
  1369. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/imports.rs +0 -0
  1370. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/mpk/pkru.rs +0 -0
  1371. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/store_box.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/capi.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/mod.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/mod.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/threads/parking_spot.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/runtime/windows.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_nostd.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasmtime-22.0.0 → wasmtime-23.0.2}/src/sync_std.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasmtime-asm-macros-22.0.0 → wasmtime-asm-macros-23.0.2}/src/lib.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/LICENSE +0 -0
  1396. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/build.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config/tests.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/config.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/lib.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/tests.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests/system_time_stub.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker/tests.rs +0 -0
  1403. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/src/worker.rs +0 -0
  1404. /data/ext/cargo-vendor/{wasmtime-cache-22.0.0 → wasmtime-cache-23.0.2}/tests/cache_write_default_config.rs +0 -0
  1405. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/build.rs +0 -0
  1406. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/component.rs +0 -0
  1407. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/src/lib.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/char.wit +0 -0
  1409. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/conventions.wit +0 -0
  1410. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/dead-code.wit +0 -0
  1411. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/direct-import.wit +0 -0
  1412. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/empty.wit +0 -0
  1413. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/flags.wit +0 -0
  1414. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/floats.wit +0 -0
  1415. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/function-new.wit +0 -0
  1416. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/integers.wit +0 -0
  1417. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/lists.wit +0 -0
  1418. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/many-arguments.wit +0 -0
  1419. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multi-return.wit +0 -0
  1420. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1421. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1422. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/multiversion/root.wit +0 -0
  1423. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/records.wit +0 -0
  1424. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/rename.wit +0 -0
  1425. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-export.wit +0 -0
  1426. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/resources-import.wit +0 -0
  1427. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/share-types.wit +0 -0
  1428. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-functions.wit +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-lists.wit +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/simple-wasi.wit +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/small-anonymous.wit +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-default.wit +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke-export.wit +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/smoke.wit +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/strings.wit +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/unversioned-foo.wit +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/use-paths.wit +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/variants.wit +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/wat.wit +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen/worlds-with-types.wit +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/codegen_no_std.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-component-macro-22.0.0 → wasmtime-component-macro-23.0.2}/tests/expanded.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-component-util-22.0.0 → wasmtime-component-util-23.0.2}/src/lib.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/LICENSE +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/SECURITY.md +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/builder.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiled_function.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/compiler/component.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/debug/transform/refs.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc/disabled.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/gc.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/isa_builder.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-cranelift-22.0.0 → wasmtime-cranelift-23.0.2}/src/obj.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/LICENSE +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/examples/factc.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/address_map.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/builtin.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/address_map.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_artifacts.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/module_types.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/compile/trap_encoding.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/artifacts.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/compiler.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/translate/adapt.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/types_builder/resources.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/component/vmcomponent_offsets.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/demangling.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/core_types.rs +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/signature.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/trampoline.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/transcode.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact/traps.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/fact.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/gc.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_artifacts.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/module_types.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/obj.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/ref_bits.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/scopevec.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-environ-22.0.0 → wasmtime-environ-23.0.2}/src/trap_encoding.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/LICENSE +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/build.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/lib.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/aarch64.rs +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/arm.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/riscv64.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/s390x.S +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix/x86_64.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/unix.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.c +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-fiber-22.0.0 → wasmtime-fiber-23.0.2}/src/windows.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/README.md +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/gdb_jit_int.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/lib.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-jit-debug-22.0.0 → wasmtime-jit-debug-23.0.2}/src/perf_jitdump.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/lib.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/libc.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/miri.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-22.0.0 → wasmtime-jit-icache-coherence-23.0.2}/src/win.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-slab-22.0.0 → wasmtime-slab-23.0.2}/src/lib.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/LICENSE +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-types-22.0.0 → wasmtime-types-23.0.2}/src/error.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-22.0.0 → wasmtime-versioned-export-macros-23.0.2}/src/lib.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/LICENSE +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/README.md +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks/host.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/clocks.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ctx.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/error.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/clocks.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/env.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/exit.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/filesystem/sync.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/instance_network.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/mod.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/network.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/random.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/tcp_create_socket.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/host/udp_create_socket.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/ip_name_lookup.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/network.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/pipe.rs +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/poll.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/preview0.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/random.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/runtime.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stdio/worker_thread_stdin.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/stream.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/tcp.rs +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/udp.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/src/write_stream.rs +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/main.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/all/preview1.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/tests/process_stdin.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/command-extended.wit +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/command.wit +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/environment.wit +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/exit.wit +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/imports.wit +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/run.wit +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/stdio.wit +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/cli/terminal.wit +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/wall-clock.wit +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/clocks/world.wit +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/preopens.wit +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/types.wit +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/filesystem/world.wit +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/handler.wit +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/proxy.wit +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/http/types.wit +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/error.wit +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/poll.wit +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/streams.wit +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/io/world.wit +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure-seed.wit +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/insecure.wit +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/random.wit +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/random/world.wit +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/instance-network.wit +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/network.wit +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/tcp.wit +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/udp.wit +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/deps/sockets/world.wit +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/wit/test.wit +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/typenames.witx +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview0/wasi_unstable.witx +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/typenames.witx +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-wasi-22.0.0 → wasmtime-wasi-23.0.2}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/LICENSE +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/builder.rs +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-winch-22.0.0 → wasmtime-winch-23.0.2}/src/lib.rs +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/rust.rs +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/source.rs +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-22.0.0 → wasmtime-wit-bindgen-23.0.2}/src/types.rs +0 -0
  1582. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/README.md +0 -0
  1583. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/alias.rs +0 -0
  1584. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/custom.rs +0 -0
  1585. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/export.rs +0 -0
  1586. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/func.rs +0 -0
  1587. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/import.rs +0 -0
  1588. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/instance.rs +0 -0
  1589. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/item_ref.rs +0 -0
  1590. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/module.rs +0 -0
  1591. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/types.rs +0 -0
  1592. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/component/wast.rs +0 -0
  1593. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/custom.rs +0 -0
  1594. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/export.rs +0 -0
  1595. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/func.rs +0 -0
  1596. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/global.rs +0 -0
  1597. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/import.rs +0 -0
  1598. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/resolve/mod.rs +0 -0
  1599. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/tag.rs +0 -0
  1600. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/core/wast.rs +0 -0
  1601. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/encode.rs +0 -0
  1602. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/error.rs +0 -0
  1603. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/gensym.rs +0 -0
  1604. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/lexer.rs +0 -0
  1605. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/names.rs +0 -0
  1606. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/token.rs +0 -0
  1607. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/src/wast.rs +0 -0
  1608. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/annotations.rs +0 -0
  1609. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/comments.rs +0 -0
  1610. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  1611. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  1612. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  1613. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  1614. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat +0 -0
  1615. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  1616. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat +0 -0
  1617. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  1618. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  1619. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  1620. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  1621. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  1622. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat +0 -0
  1623. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block1.wat.err +0 -0
  1624. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat +0 -0
  1625. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block2.wat.err +0 -0
  1626. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat +0 -0
  1627. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/block3.wat.err +0 -0
  1628. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  1629. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  1630. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  1631. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  1632. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  1633. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  1634. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  1635. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  1636. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  1637. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  1638. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  1639. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  1640. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  1641. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  1642. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  1643. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  1644. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  1645. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  1646. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  1647. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  1648. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  1649. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  1650. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  1651. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  1652. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  1653. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  1654. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  1655. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  1656. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  1657. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  1658. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  1659. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  1660. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  1661. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  1662. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  1663. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  1664. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  1665. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  1666. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  1667. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  1668. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  1669. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  1670. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  1671. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  1672. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  1673. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  1674. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  1675. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  1676. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  1677. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  1678. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  1679. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  1680. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  1681. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  1682. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat +0 -0
  1683. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  1684. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  1685. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  1686. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat +0 -0
  1687. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string1.wat.err +0 -0
  1688. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat +0 -0
  1689. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string10.wat.err +0 -0
  1690. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat +0 -0
  1691. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string11.wat.err +0 -0
  1692. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat +0 -0
  1693. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string12.wat.err +0 -0
  1694. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat +0 -0
  1695. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string13.wat.err +0 -0
  1696. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat +0 -0
  1697. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string14.wat.err +0 -0
  1698. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat +0 -0
  1699. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string15.wat.err +0 -0
  1700. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat +0 -0
  1701. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string16.wat.err +0 -0
  1702. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat +0 -0
  1703. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string2.wat.err +0 -0
  1704. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat +0 -0
  1705. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string3.wat.err +0 -0
  1706. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat +0 -0
  1707. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string4.wat.err +0 -0
  1708. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat +0 -0
  1709. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string5.wat.err +0 -0
  1710. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat +0 -0
  1711. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string6.wat.err +0 -0
  1712. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat +0 -0
  1713. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string7.wat.err +0 -0
  1714. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat +0 -0
  1715. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string8.wat.err +0 -0
  1716. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat +0 -0
  1717. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/string9.wat.err +0 -0
  1718. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  1719. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  1720. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/parse-fail.rs +0 -0
  1721. /data/ext/cargo-vendor/{wast-209.0.1 → wast-215.0.0}/tests/recursive.rs +0 -0
  1722. /data/ext/cargo-vendor/{wat-1.209.1 → wat-1.215.0}/README.md +0 -0
  1723. /data/ext/cargo-vendor/{wast-209.0.1 → wiggle-23.0.2}/LICENSE +0 -0
  1724. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/README.md +0 -0
  1725. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/error.rs +0 -0
  1726. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/guest_type.rs +0 -0
  1727. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/lib.rs +0 -0
  1728. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-23.0.2}/src/region.rs +0 -0
  1729. /data/ext/cargo-vendor/{wat-1.209.1 → wiggle-generate-23.0.2}/LICENSE +0 -0
  1730. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/README.md +0 -0
  1731. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/codegen_settings.rs +0 -0
  1732. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/config.rs +0 -0
  1733. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/funcs.rs +0 -0
  1734. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lib.rs +0 -0
  1735. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/lifetimes.rs +0 -0
  1736. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/module_trait.rs +0 -0
  1737. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/names.rs +0 -0
  1738. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/error.rs +0 -0
  1739. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/flags.rs +0 -0
  1740. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/handle.rs +0 -0
  1741. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/mod.rs +0 -0
  1742. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/record.rs +0 -0
  1743. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/types/variant.rs +0 -0
  1744. /data/ext/cargo-vendor/{wiggle-generate-22.0.0 → wiggle-generate-23.0.2}/src/wasmtime.rs +0 -0
  1745. /data/ext/cargo-vendor/{wiggle-22.0.0 → wiggle-macro-23.0.2}/LICENSE +0 -0
  1746. /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/build.rs +0 -0
  1747. /data/ext/cargo-vendor/{wiggle-macro-22.0.0 → wiggle-macro-23.0.2}/src/lib.rs +0 -0
  1748. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/LICENSE +0 -0
  1749. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/build.rs +0 -0
  1750. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/local.rs +0 -0
  1751. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/abi/mod.rs +0 -0
  1752. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/bounds.rs +0 -0
  1753. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/builtin.rs +0 -0
  1754. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/call.rs +0 -0
  1755. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/context.rs +0 -0
  1756. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/codegen/control.rs +0 -0
  1757. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/frame/mod.rs +0 -0
  1758. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/abi.rs +0 -0
  1759. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/address.rs +0 -0
  1760. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/asm.rs +0 -0
  1761. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/masm.rs +0 -0
  1762. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/mod.rs +0 -0
  1763. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/aarch64/regs.rs +0 -0
  1764. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/mod.rs +0 -0
  1765. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/reg.rs +0 -0
  1766. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/abi.rs +0 -0
  1767. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/address.rs +0 -0
  1768. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/asm.rs +0 -0
  1769. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/masm.rs +0 -0
  1770. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/mod.rs +0 -0
  1771. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/isa/x64/regs.rs +0 -0
  1772. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/lib.rs +0 -0
  1773. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/masm.rs +0 -0
  1774. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regalloc.rs +0 -0
  1775. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/regset.rs +0 -0
  1776. /data/ext/cargo-vendor/{winch-codegen-0.20.0 → winch-codegen-0.21.2}/src/stack.rs +0 -0
  1777. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/README.md +0 -0
  1778. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/abi.rs +0 -0
  1779. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/ast/toposort.rs +0 -0
  1780. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/live.rs +0 -0
  1781. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/metadata.rs +0 -0
  1782. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/serde_.rs +0 -0
  1783. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/src/sizealign.rs +0 -0
  1784. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/all.rs +0 -0
  1785. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit +0 -0
  1786. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/comments.wit.json +0 -0
  1787. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  1788. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  1789. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include/root.wit +0 -0
  1790. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/complex-include.wit.json +0 -0
  1791. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  1792. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  1793. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/cross-package-resource.wit.json +0 -0
  1794. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  1795. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  1796. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1/join.wit +0 -0
  1797. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/diamond1.wit.json +0 -0
  1798. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  1799. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  1800. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  1801. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/disambiguate-diamond.wit.json +0 -0
  1802. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit +0 -0
  1803. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/empty.wit.json +0 -0
  1804. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/feature-gates.wit +0 -0
  1805. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  1806. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  1807. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  1808. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  1809. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  1810. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  1811. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  1812. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps/root.wit +0 -0
  1813. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  1814. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  1815. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  1816. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  1817. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  1818. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  1819. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  1820. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  1821. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  1822. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps-union.wit.json +0 -0
  1823. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/foreign-deps.wit.json +0 -0
  1824. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit +0 -0
  1825. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/functions.wit.json +0 -0
  1826. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  1827. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  1828. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  1829. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/ignore-files-deps.wit.json +0 -0
  1830. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit +0 -0
  1831. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  1832. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit +0 -0
  1833. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/import-export-overlap2.wit.json +0 -0
  1834. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit +0 -0
  1835. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/include-reps.wit.json +0 -0
  1836. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit +0 -0
  1837. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  1838. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  1839. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  1840. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  1841. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  1842. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  1843. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/kinds-of-deps.wit.json +0 -0
  1844. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/a.wit +0 -0
  1845. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names/b.wit +0 -0
  1846. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/many-names.wit.json +0 -0
  1847. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/bar.wit +0 -0
  1848. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  1849. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  1850. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file/foo.wit +0 -0
  1851. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/multi-file.wit.json +0 -0
  1852. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  1853. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  1854. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  1855. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit +0 -0
  1856. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax1.wit.json +0 -0
  1857. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit +0 -0
  1858. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax3.wit.json +0 -0
  1859. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit +0 -0
  1860. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/package-syntax4.wit.json +0 -0
  1861. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1862. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  1863. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async.wit.result +0 -0
  1864. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  1865. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  1866. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  1867. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  1868. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  1869. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit +0 -0
  1870. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate1.wit.result +0 -0
  1871. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit +0 -0
  1872. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate2.wit.result +0 -0
  1873. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit +0 -0
  1874. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate3.wit.result +0 -0
  1875. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit +0 -0
  1876. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate4.wit.result +0 -0
  1877. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit +0 -0
  1878. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-gate5.wit.result +0 -0
  1879. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  1880. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  1881. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  1882. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  1883. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  1884. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  1885. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  1886. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1887. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  1888. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  1889. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  1890. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  1891. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  1892. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1893. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  1894. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  1895. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  1896. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  1897. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  1898. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  1899. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  1900. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  1901. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1902. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  1903. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  1904. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  1905. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  1906. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  1907. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  1908. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  1909. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  1910. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  1911. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  1912. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  1913. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  1914. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  1934. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  1935. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit +0 -0
  1936. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since1.wit.result +0 -0
  1937. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit +0 -0
  1938. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-since3.wit.result +0 -0
  1939. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  1940. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  1941. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  1942. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  1943. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/conflicting-package.wit.result +0 -0
  1944. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit +0 -0
  1945. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  1946. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  1947. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  1948. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  1949. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  1950. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  1951. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  1952. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  1953. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  1954. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1955. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1956. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  1957. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  1958. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  1959. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  1960. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  1961. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  1962. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  1963. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  1964. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  1965. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  1966. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  1967. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  1968. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  1969. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  1970. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  1971. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  1972. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  1973. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  1974. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  1975. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  1976. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  1977. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  1978. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  1979. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  1980. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  1981. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  1982. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  1983. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  1984. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  1985. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  1986. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  1987. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  1988. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  1989. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  1990. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  1991. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  1992. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  1993. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  1994. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1995. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1996. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  1997. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  1998. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  1999. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2000. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2001. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2002. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2003. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2004. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit +0 -0
  2005. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2006. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  2007. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2008. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2009. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2010. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -0
  2011. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2012. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2013. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  2014. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2015. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2016. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  2017. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2018. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2019. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2020. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2021. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2022. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2023. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2024. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  2025. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -0
  2026. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  2027. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -0
  2028. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  2029. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow1.wit.result +0 -0
  2030. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  2031. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow2.wit.result +0 -0
  2032. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  2033. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  2034. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  2035. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  2036. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  2037. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  2038. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  2039. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow6.wit.result +0 -0
  2040. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow7.wit.result +0 -0
  2042. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  2043. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  2044. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/return-borrow8.wit.result +0 -0
  2045. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2046. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2047. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  2048. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2049. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2050. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2051. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2052. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2053. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2054. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2055. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2056. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2057. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2058. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2059. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2060. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2061. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2062. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2063. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2064. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2065. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2066. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2067. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2068. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2069. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2070. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2071. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2072. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2073. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2074. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2075. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2076. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2077. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2078. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2079. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2080. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2081. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2082. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2083. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2084. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2085. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2086. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2087. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2088. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2089. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2090. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2091. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2092. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2093. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2094. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2095. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2096. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2097. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2098. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2099. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2100. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2101. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2102. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2103. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2104. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit +0 -0
  2105. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/random.wit.json +0 -0
  2106. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit +0 -0
  2107. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-empty.wit.json +0 -0
  2108. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2109. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2110. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit +0 -0
  2111. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-multiple.wit.json +0 -0
  2112. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit +0 -0
  2113. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources-return-own.wit.json +0 -0
  2114. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit +0 -0
  2115. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources.wit.json +0 -0
  2116. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit +0 -0
  2117. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/resources1.wit.json +0 -0
  2118. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit +0 -0
  2119. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2120. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit +0 -0
  2121. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/shared-types.wit.json +0 -0
  2122. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wat +0 -0
  2123. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2124. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/since-and-unstable.wit +0 -0
  2125. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2126. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/stress-export-elaborate.wit.json +0 -0
  2127. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit +0 -0
  2128. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/type-then-eof.wit.json +0 -0
  2129. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit +0 -0
  2130. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/types.wit.json +0 -0
  2131. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit +0 -0
  2132. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2133. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit +0 -0
  2134. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2135. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit +0 -0
  2136. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use-chain.wit.json +0 -0
  2137. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit +0 -0
  2138. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/use.wit.json +0 -0
  2139. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2140. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2141. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions/foo.wit +0 -0
  2142. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/versions.wit.json +0 -0
  2143. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit +0 -0
  2144. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/wasi.wit.json +0 -0
  2145. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-diamond.wit.json +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-iface-no-collide.wit.json +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import1.wit.json +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import2.wit.json +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-implicit-import3.wit.json +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-same-fields4.wit.json +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/world-top-level-resources.wit.json +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-union-dedup.wit.json +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit +0 -0
  2164. /data/ext/cargo-vendor/{wit-parser-0.209.1 → wit-parser-0.212.0}/tests/ui/worlds-with-types.wit.json +0 -0
@@ -0,0 +1,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
+ }