wasmtime 20.0.2 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2470) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +137 -139
  3. data/ext/Cargo.toml +8 -6
  4. data/ext/cargo-vendor/cobs-0.2.3/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cobs-0.2.3/Cargo.toml +39 -0
  6. data/ext/cargo-vendor/cobs-0.2.3/LICENSE-APACHE +202 -0
  7. data/ext/cargo-vendor/cobs-0.2.3/LICENSE-MIT +19 -0
  8. data/ext/cargo-vendor/cobs-0.2.3/README.md +23 -0
  9. data/ext/cargo-vendor/cobs-0.2.3/src/dec.rs +360 -0
  10. data/ext/cargo-vendor/cobs-0.2.3/src/enc.rs +216 -0
  11. data/ext/cargo-vendor/cobs-0.2.3/src/lib.rs +14 -0
  12. data/ext/cargo-vendor/cobs-0.2.3/tests/test.rs +265 -0
  13. data/ext/cargo-vendor/cranelift-bforest-0.109.0/.cargo-checksum.json +1 -0
  14. data/ext/cargo-vendor/cranelift-bforest-0.109.0/Cargo.toml +41 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.109.0/.cargo-checksum.json +1 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.109.0/Cargo.toml +193 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.109.0/build.rs +266 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/alias_analysis.rs +403 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/context.rs +384 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ctxhash.rs +167 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/dominator_tree.rs +727 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/egraph/elaborate.rs +835 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/egraph.rs +835 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/incremental_cache.rs +256 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/inst_predicates.rs +230 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/dfg.rs +1777 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/extfunc.rs +402 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/immediates.rs +1612 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/instructions.rs +1020 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/stackslot.rs +208 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ir/types.rs +627 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/abi.rs +1556 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/args.rs +711 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit.rs +3584 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/emit_tests.rs +7901 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/imms.rs +1213 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/mod.rs +3060 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/regs.rs +269 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/inst.isle +4218 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/lower/isle.rs +810 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/aarch64/pcc.rs +568 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/mod.rs +449 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/abi.rs +1029 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/args.rs +2054 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit.rs +2682 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/emit_tests.rs +2215 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/encode.rs +675 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/imms.rs +374 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/mod.rs +1938 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/regs.rs +168 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst/vector.rs +1150 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst.isle +3127 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/inst_vector.isle +1907 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower/isle.rs +649 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/lower.isle +2923 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/riscv64/mod.rs +260 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/abi.rs +1016 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/args.rs +298 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit.rs +3401 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/emit_tests.rs +13388 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/imms.rs +202 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/mod.rs +3401 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/regs.rs +169 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/inst.isle +5028 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/s390x/lower.isle +3995 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/abi.rs +1390 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/args.rs +2240 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit.rs +4287 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_state.rs +52 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/emit_tests.rs +5171 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/mod.rs +2821 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/regs.rs +275 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst/unwind/systemv.rs +198 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/inst.isle +5289 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower/isle.rs +1064 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.isle +4810 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/lower.rs +337 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isa/x64/pcc.rs +1014 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/isle_prelude.rs +986 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/lib.rs +106 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/abi.rs +2419 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/blockorder.rs +465 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/buffer.rs +2508 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/isle.rs +909 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/lower.rs +1432 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/mod.rs +551 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/reg.rs +479 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/valueregs.rs +138 -0
  92. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/machinst/vcode.rs +1741 -0
  93. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/nan_canonicalization.rs +130 -0
  94. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/arithmetic.isle +240 -0
  95. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/cprop.isle +297 -0
  96. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/icmp.isle +215 -0
  97. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/opts/shifts.isle +307 -0
  98. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude.isle +664 -0
  99. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/prelude_lower.isle +1073 -0
  100. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/ranges.rs +131 -0
  101. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/remove_constant_phis.rs +419 -0
  102. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/scoped_hash_map.rs +310 -0
  103. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/settings.rs +590 -0
  104. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/timing.rs +296 -0
  105. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/traversals.rs +216 -0
  106. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/verifier/mod.rs +1957 -0
  107. data/ext/cargo-vendor/cranelift-codegen-0.109.0/src/write.rs +638 -0
  108. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/.cargo-checksum.json +1 -0
  109. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/Cargo.toml +36 -0
  110. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/cdsl/types.rs +496 -0
  111. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_inst.rs +1278 -0
  112. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_isle.rs +519 -0
  113. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_settings.rs +508 -0
  114. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/gen_types.rs +75 -0
  115. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isa/riscv64.rs +174 -0
  116. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isa/x86.rs +414 -0
  117. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/isle.rs +126 -0
  118. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/lib.rs +98 -0
  119. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/shared/settings.rs +348 -0
  120. data/ext/cargo-vendor/cranelift-codegen-meta-0.109.0/src/srcgen.rs +464 -0
  121. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/.cargo-checksum.json +1 -0
  122. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/Cargo.toml +22 -0
  123. data/ext/cargo-vendor/cranelift-codegen-shared-0.109.0/src/constants.rs +28 -0
  124. data/ext/cargo-vendor/cranelift-control-0.109.0/.cargo-checksum.json +1 -0
  125. data/ext/cargo-vendor/cranelift-control-0.109.0/Cargo.toml +30 -0
  126. data/ext/cargo-vendor/cranelift-entity-0.109.0/.cargo-checksum.json +1 -0
  127. data/ext/cargo-vendor/cranelift-entity-0.109.0/Cargo.toml +53 -0
  128. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/lib.rs +381 -0
  129. data/ext/cargo-vendor/cranelift-entity-0.109.0/src/set.rs +290 -0
  130. data/ext/cargo-vendor/cranelift-frontend-0.109.0/.cargo-checksum.json +1 -0
  131. data/ext/cargo-vendor/cranelift-frontend-0.109.0/Cargo.toml +68 -0
  132. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/frontend.rs +1857 -0
  133. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/lib.rs +187 -0
  134. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/ssa.rs +1328 -0
  135. data/ext/cargo-vendor/cranelift-frontend-0.109.0/src/switch.rs +696 -0
  136. data/ext/cargo-vendor/cranelift-isle-0.109.0/.cargo-checksum.json +1 -0
  137. data/ext/cargo-vendor/cranelift-isle-0.109.0/Cargo.toml +47 -0
  138. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/codegen.rs +886 -0
  139. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/disjointsets.rs +169 -0
  140. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/lib.rs +33 -0
  141. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/sema.rs +2492 -0
  142. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/serialize.rs +846 -0
  143. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/stablemapset.rs +79 -0
  144. data/ext/cargo-vendor/cranelift-isle-0.109.0/src/trie_again.rs +684 -0
  145. data/ext/cargo-vendor/cranelift-native-0.109.0/.cargo-checksum.json +1 -0
  146. data/ext/cargo-vendor/cranelift-native-0.109.0/Cargo.toml +43 -0
  147. data/ext/cargo-vendor/cranelift-native-0.109.0/src/lib.rs +188 -0
  148. data/ext/cargo-vendor/cranelift-native-0.109.0/src/riscv.rs +128 -0
  149. data/ext/cargo-vendor/cranelift-wasm-0.109.0/.cargo-checksum.json +1 -0
  150. data/ext/cargo-vendor/cranelift-wasm-0.109.0/Cargo.toml +110 -0
  151. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/code_translator.rs +3695 -0
  152. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/environ/dummy.rs +906 -0
  153. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/environ/spec.rs +945 -0
  154. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/func_translator.rs +296 -0
  155. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/module_translator.rs +120 -0
  156. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/sections_translator.rs +343 -0
  157. data/ext/cargo-vendor/cranelift-wasm-0.109.0/src/state.rs +522 -0
  158. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/.cargo-checksum.json +1 -0
  159. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.22/Cargo.toml +48 -0
  160. data/ext/cargo-vendor/embedded-io-0.4.0/.cargo-checksum.json +1 -0
  161. data/ext/cargo-vendor/embedded-io-0.4.0/CHANGELOG.md +28 -0
  162. data/ext/cargo-vendor/embedded-io-0.4.0/Cargo.toml +73 -0
  163. data/ext/cargo-vendor/embedded-io-0.4.0/LICENSE-MIT +25 -0
  164. data/ext/cargo-vendor/embedded-io-0.4.0/README.md +33 -0
  165. data/ext/cargo-vendor/embedded-io-0.4.0/ci.sh +21 -0
  166. data/ext/cargo-vendor/embedded-io-0.4.0/rust-toolchain.toml +3 -0
  167. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/futures_io.rs +65 -0
  168. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/mod.rs +40 -0
  169. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/std_io.rs +107 -0
  170. data/ext/cargo-vendor/embedded-io-0.4.0/src/adapters/tokio.rs +108 -0
  171. data/ext/cargo-vendor/embedded-io-0.4.0/src/asynch.rs +230 -0
  172. data/ext/cargo-vendor/embedded-io-0.4.0/src/blocking.rs +309 -0
  173. data/ext/cargo-vendor/embedded-io-0.4.0/src/fmt.rs +228 -0
  174. data/ext/cargo-vendor/embedded-io-0.4.0/src/lib.rs +125 -0
  175. data/ext/cargo-vendor/libm-0.2.8/.cargo-checksum.json +1 -0
  176. data/ext/cargo-vendor/libm-0.2.8/CHANGELOG.md +123 -0
  177. data/ext/cargo-vendor/libm-0.2.8/CONTRIBUTING.md +95 -0
  178. data/ext/cargo-vendor/libm-0.2.8/Cargo.toml +45 -0
  179. data/ext/cargo-vendor/libm-0.2.8/LICENSE-APACHE +201 -0
  180. data/ext/cargo-vendor/libm-0.2.8/LICENSE-MIT +25 -0
  181. data/ext/cargo-vendor/libm-0.2.8/README.md +51 -0
  182. data/ext/cargo-vendor/libm-0.2.8/build.rs +463 -0
  183. data/ext/cargo-vendor/libm-0.2.8/src/lib.rs +59 -0
  184. data/ext/cargo-vendor/libm-0.2.8/src/libm_helper.rs +171 -0
  185. data/ext/cargo-vendor/libm-0.2.8/src/math/acos.rs +112 -0
  186. data/ext/cargo-vendor/libm-0.2.8/src/math/acosf.rs +79 -0
  187. data/ext/cargo-vendor/libm-0.2.8/src/math/acosh.rs +27 -0
  188. data/ext/cargo-vendor/libm-0.2.8/src/math/acoshf.rs +26 -0
  189. data/ext/cargo-vendor/libm-0.2.8/src/math/asin.rs +119 -0
  190. data/ext/cargo-vendor/libm-0.2.8/src/math/asinf.rs +72 -0
  191. data/ext/cargo-vendor/libm-0.2.8/src/math/asinh.rs +40 -0
  192. data/ext/cargo-vendor/libm-0.2.8/src/math/asinhf.rs +39 -0
  193. data/ext/cargo-vendor/libm-0.2.8/src/math/atan.rs +184 -0
  194. data/ext/cargo-vendor/libm-0.2.8/src/math/atan2.rs +126 -0
  195. data/ext/cargo-vendor/libm-0.2.8/src/math/atan2f.rs +91 -0
  196. data/ext/cargo-vendor/libm-0.2.8/src/math/atanf.rs +112 -0
  197. data/ext/cargo-vendor/libm-0.2.8/src/math/atanh.rs +37 -0
  198. data/ext/cargo-vendor/libm-0.2.8/src/math/atanhf.rs +37 -0
  199. data/ext/cargo-vendor/libm-0.2.8/src/math/cbrt.rs +113 -0
  200. data/ext/cargo-vendor/libm-0.2.8/src/math/cbrtf.rs +75 -0
  201. data/ext/cargo-vendor/libm-0.2.8/src/math/ceil.rs +82 -0
  202. data/ext/cargo-vendor/libm-0.2.8/src/math/ceilf.rs +65 -0
  203. data/ext/cargo-vendor/libm-0.2.8/src/math/copysign.rs +12 -0
  204. data/ext/cargo-vendor/libm-0.2.8/src/math/copysignf.rs +12 -0
  205. data/ext/cargo-vendor/libm-0.2.8/src/math/cos.rs +73 -0
  206. data/ext/cargo-vendor/libm-0.2.8/src/math/cosf.rs +83 -0
  207. data/ext/cargo-vendor/libm-0.2.8/src/math/cosh.rs +38 -0
  208. data/ext/cargo-vendor/libm-0.2.8/src/math/coshf.rs +38 -0
  209. data/ext/cargo-vendor/libm-0.2.8/src/math/erf.rs +318 -0
  210. data/ext/cargo-vendor/libm-0.2.8/src/math/erff.rs +230 -0
  211. data/ext/cargo-vendor/libm-0.2.8/src/math/exp.rs +154 -0
  212. data/ext/cargo-vendor/libm-0.2.8/src/math/exp10.rs +22 -0
  213. data/ext/cargo-vendor/libm-0.2.8/src/math/exp10f.rs +22 -0
  214. data/ext/cargo-vendor/libm-0.2.8/src/math/exp2.rs +394 -0
  215. data/ext/cargo-vendor/libm-0.2.8/src/math/exp2f.rs +135 -0
  216. data/ext/cargo-vendor/libm-0.2.8/src/math/expf.rs +101 -0
  217. data/ext/cargo-vendor/libm-0.2.8/src/math/expm1.rs +144 -0
  218. data/ext/cargo-vendor/libm-0.2.8/src/math/expm1f.rs +134 -0
  219. data/ext/cargo-vendor/libm-0.2.8/src/math/expo2.rs +14 -0
  220. data/ext/cargo-vendor/libm-0.2.8/src/math/fabs.rs +41 -0
  221. data/ext/cargo-vendor/libm-0.2.8/src/math/fabsf.rs +41 -0
  222. data/ext/cargo-vendor/libm-0.2.8/src/math/fdim.rs +22 -0
  223. data/ext/cargo-vendor/libm-0.2.8/src/math/fdimf.rs +22 -0
  224. data/ext/cargo-vendor/libm-0.2.8/src/math/fenv.rs +27 -0
  225. data/ext/cargo-vendor/libm-0.2.8/src/math/floor.rs +81 -0
  226. data/ext/cargo-vendor/libm-0.2.8/src/math/floorf.rs +66 -0
  227. data/ext/cargo-vendor/libm-0.2.8/src/math/fma.rs +232 -0
  228. data/ext/cargo-vendor/libm-0.2.8/src/math/fmaf.rs +117 -0
  229. data/ext/cargo-vendor/libm-0.2.8/src/math/fmax.rs +12 -0
  230. data/ext/cargo-vendor/libm-0.2.8/src/math/fmaxf.rs +12 -0
  231. data/ext/cargo-vendor/libm-0.2.8/src/math/fmin.rs +12 -0
  232. data/ext/cargo-vendor/libm-0.2.8/src/math/fminf.rs +12 -0
  233. data/ext/cargo-vendor/libm-0.2.8/src/math/fmod.rs +80 -0
  234. data/ext/cargo-vendor/libm-0.2.8/src/math/fmodf.rs +89 -0
  235. data/ext/cargo-vendor/libm-0.2.8/src/math/frexp.rs +20 -0
  236. data/ext/cargo-vendor/libm-0.2.8/src/math/frexpf.rs +21 -0
  237. data/ext/cargo-vendor/libm-0.2.8/src/math/hypot.rs +74 -0
  238. data/ext/cargo-vendor/libm-0.2.8/src/math/hypotf.rs +43 -0
  239. data/ext/cargo-vendor/libm-0.2.8/src/math/ilogb.rs +32 -0
  240. data/ext/cargo-vendor/libm-0.2.8/src/math/ilogbf.rs +32 -0
  241. data/ext/cargo-vendor/libm-0.2.8/src/math/j0.rs +422 -0
  242. data/ext/cargo-vendor/libm-0.2.8/src/math/j0f.rs +359 -0
  243. data/ext/cargo-vendor/libm-0.2.8/src/math/j1.rs +414 -0
  244. data/ext/cargo-vendor/libm-0.2.8/src/math/j1f.rs +380 -0
  245. data/ext/cargo-vendor/libm-0.2.8/src/math/jn.rs +343 -0
  246. data/ext/cargo-vendor/libm-0.2.8/src/math/jnf.rs +259 -0
  247. data/ext/cargo-vendor/libm-0.2.8/src/math/k_cos.rs +62 -0
  248. data/ext/cargo-vendor/libm-0.2.8/src/math/k_cosf.rs +29 -0
  249. data/ext/cargo-vendor/libm-0.2.8/src/math/k_expo2.rs +14 -0
  250. data/ext/cargo-vendor/libm-0.2.8/src/math/k_expo2f.rs +14 -0
  251. data/ext/cargo-vendor/libm-0.2.8/src/math/k_sin.rs +57 -0
  252. data/ext/cargo-vendor/libm-0.2.8/src/math/k_sinf.rs +30 -0
  253. data/ext/cargo-vendor/libm-0.2.8/src/math/k_tan.rs +105 -0
  254. data/ext/cargo-vendor/libm-0.2.8/src/math/k_tanf.rs +46 -0
  255. data/ext/cargo-vendor/libm-0.2.8/src/math/ldexp.rs +4 -0
  256. data/ext/cargo-vendor/libm-0.2.8/src/math/ldexpf.rs +4 -0
  257. data/ext/cargo-vendor/libm-0.2.8/src/math/lgamma.rs +6 -0
  258. data/ext/cargo-vendor/libm-0.2.8/src/math/lgamma_r.rs +320 -0
  259. data/ext/cargo-vendor/libm-0.2.8/src/math/lgammaf.rs +6 -0
  260. data/ext/cargo-vendor/libm-0.2.8/src/math/lgammaf_r.rs +255 -0
  261. data/ext/cargo-vendor/libm-0.2.8/src/math/log.rs +117 -0
  262. data/ext/cargo-vendor/libm-0.2.8/src/math/log10.rs +117 -0
  263. data/ext/cargo-vendor/libm-0.2.8/src/math/log10f.rs +91 -0
  264. data/ext/cargo-vendor/libm-0.2.8/src/math/log1p.rs +143 -0
  265. data/ext/cargo-vendor/libm-0.2.8/src/math/log1pf.rs +98 -0
  266. data/ext/cargo-vendor/libm-0.2.8/src/math/log2.rs +106 -0
  267. data/ext/cargo-vendor/libm-0.2.8/src/math/log2f.rs +87 -0
  268. data/ext/cargo-vendor/libm-0.2.8/src/math/logf.rs +65 -0
  269. data/ext/cargo-vendor/libm-0.2.8/src/math/mod.rs +370 -0
  270. data/ext/cargo-vendor/libm-0.2.8/src/math/modf.rs +34 -0
  271. data/ext/cargo-vendor/libm-0.2.8/src/math/modff.rs +33 -0
  272. data/ext/cargo-vendor/libm-0.2.8/src/math/nextafter.rs +37 -0
  273. data/ext/cargo-vendor/libm-0.2.8/src/math/nextafterf.rs +37 -0
  274. data/ext/cargo-vendor/libm-0.2.8/src/math/pow.rs +637 -0
  275. data/ext/cargo-vendor/libm-0.2.8/src/math/powf.rs +342 -0
  276. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2.rs +233 -0
  277. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2_large.rs +470 -0
  278. data/ext/cargo-vendor/libm-0.2.8/src/math/rem_pio2f.rs +67 -0
  279. data/ext/cargo-vendor/libm-0.2.8/src/math/remainder.rs +5 -0
  280. data/ext/cargo-vendor/libm-0.2.8/src/math/remainderf.rs +5 -0
  281. data/ext/cargo-vendor/libm-0.2.8/src/math/remquo.rs +110 -0
  282. data/ext/cargo-vendor/libm-0.2.8/src/math/remquof.rs +97 -0
  283. data/ext/cargo-vendor/libm-0.2.8/src/math/rint.rs +58 -0
  284. data/ext/cargo-vendor/libm-0.2.8/src/math/rintf.rs +58 -0
  285. data/ext/cargo-vendor/libm-0.2.8/src/math/round.rs +28 -0
  286. data/ext/cargo-vendor/libm-0.2.8/src/math/roundf.rs +30 -0
  287. data/ext/cargo-vendor/libm-0.2.8/src/math/scalbn.rs +33 -0
  288. data/ext/cargo-vendor/libm-0.2.8/src/math/scalbnf.rs +29 -0
  289. data/ext/cargo-vendor/libm-0.2.8/src/math/sin.rs +88 -0
  290. data/ext/cargo-vendor/libm-0.2.8/src/math/sincos.rs +134 -0
  291. data/ext/cargo-vendor/libm-0.2.8/src/math/sincosf.rs +185 -0
  292. data/ext/cargo-vendor/libm-0.2.8/src/math/sinf.rs +93 -0
  293. data/ext/cargo-vendor/libm-0.2.8/src/math/sinh.rs +49 -0
  294. data/ext/cargo-vendor/libm-0.2.8/src/math/sinhf.rs +30 -0
  295. data/ext/cargo-vendor/libm-0.2.8/src/math/sqrt.rs +280 -0
  296. data/ext/cargo-vendor/libm-0.2.8/src/math/sqrtf.rs +170 -0
  297. data/ext/cargo-vendor/libm-0.2.8/src/math/tan.rs +70 -0
  298. data/ext/cargo-vendor/libm-0.2.8/src/math/tanf.rs +78 -0
  299. data/ext/cargo-vendor/libm-0.2.8/src/math/tanh.rs +53 -0
  300. data/ext/cargo-vendor/libm-0.2.8/src/math/tanhf.rs +39 -0
  301. data/ext/cargo-vendor/libm-0.2.8/src/math/tgamma.rs +208 -0
  302. data/ext/cargo-vendor/libm-0.2.8/src/math/tgammaf.rs +6 -0
  303. data/ext/cargo-vendor/libm-0.2.8/src/math/trunc.rs +40 -0
  304. data/ext/cargo-vendor/libm-0.2.8/src/math/truncf.rs +42 -0
  305. data/ext/cargo-vendor/object-0.36.3/.cargo-checksum.json +1 -0
  306. data/ext/cargo-vendor/object-0.36.3/CHANGELOG.md +1028 -0
  307. data/ext/cargo-vendor/object-0.36.3/Cargo.toml +180 -0
  308. data/ext/cargo-vendor/object-0.36.3/LICENSE-APACHE +201 -0
  309. data/ext/cargo-vendor/object-0.36.3/README.md +60 -0
  310. data/ext/cargo-vendor/object-0.36.3/src/build/bytes.rs +146 -0
  311. data/ext/cargo-vendor/object-0.36.3/src/build/elf.rs +3113 -0
  312. data/ext/cargo-vendor/object-0.36.3/src/common.rs +590 -0
  313. data/ext/cargo-vendor/object-0.36.3/src/elf.rs +6303 -0
  314. data/ext/cargo-vendor/object-0.36.3/src/endian.rs +831 -0
  315. data/ext/cargo-vendor/object-0.36.3/src/macho.rs +3303 -0
  316. data/ext/cargo-vendor/object-0.36.3/src/pod.rs +281 -0
  317. data/ext/cargo-vendor/object-0.36.3/src/read/any.rs +1334 -0
  318. data/ext/cargo-vendor/object-0.36.3/src/read/archive.rs +1133 -0
  319. data/ext/cargo-vendor/object-0.36.3/src/read/coff/comdat.rs +220 -0
  320. data/ext/cargo-vendor/object-0.36.3/src/read/coff/file.rs +381 -0
  321. data/ext/cargo-vendor/object-0.36.3/src/read/coff/relocation.rs +113 -0
  322. data/ext/cargo-vendor/object-0.36.3/src/read/coff/section.rs +619 -0
  323. data/ext/cargo-vendor/object-0.36.3/src/read/coff/symbol.rs +669 -0
  324. data/ext/cargo-vendor/object-0.36.3/src/read/elf/attributes.rs +340 -0
  325. data/ext/cargo-vendor/object-0.36.3/src/read/elf/comdat.rs +186 -0
  326. data/ext/cargo-vendor/object-0.36.3/src/read/elf/file.rs +959 -0
  327. data/ext/cargo-vendor/object-0.36.3/src/read/elf/hash.rs +236 -0
  328. data/ext/cargo-vendor/object-0.36.3/src/read/elf/note.rs +302 -0
  329. data/ext/cargo-vendor/object-0.36.3/src/read/elf/relocation.rs +661 -0
  330. data/ext/cargo-vendor/object-0.36.3/src/read/elf/section.rs +1241 -0
  331. data/ext/cargo-vendor/object-0.36.3/src/read/elf/segment.rs +365 -0
  332. data/ext/cargo-vendor/object-0.36.3/src/read/elf/symbol.rs +654 -0
  333. data/ext/cargo-vendor/object-0.36.3/src/read/elf/version.rs +513 -0
  334. data/ext/cargo-vendor/object-0.36.3/src/read/gnu_compression.rs +36 -0
  335. data/ext/cargo-vendor/object-0.36.3/src/read/macho/dyld_cache.rs +384 -0
  336. data/ext/cargo-vendor/object-0.36.3/src/read/macho/file.rs +779 -0
  337. data/ext/cargo-vendor/object-0.36.3/src/read/macho/load_command.rs +404 -0
  338. data/ext/cargo-vendor/object-0.36.3/src/read/macho/section.rs +420 -0
  339. data/ext/cargo-vendor/object-0.36.3/src/read/macho/segment.rs +317 -0
  340. data/ext/cargo-vendor/object-0.36.3/src/read/macho/symbol.rs +532 -0
  341. data/ext/cargo-vendor/object-0.36.3/src/read/mod.rs +1018 -0
  342. data/ext/cargo-vendor/object-0.36.3/src/read/pe/file.rs +1033 -0
  343. data/ext/cargo-vendor/object-0.36.3/src/read/pe/import.rs +381 -0
  344. data/ext/cargo-vendor/object-0.36.3/src/read/pe/relocation.rs +109 -0
  345. data/ext/cargo-vendor/object-0.36.3/src/read/pe/section.rs +476 -0
  346. data/ext/cargo-vendor/object-0.36.3/src/read/read_cache.rs +261 -0
  347. data/ext/cargo-vendor/object-0.36.3/src/read/traits.rs +589 -0
  348. data/ext/cargo-vendor/object-0.36.3/src/read/wasm.rs +983 -0
  349. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/file.rs +716 -0
  350. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/relocation.rs +138 -0
  351. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/section.rs +452 -0
  352. data/ext/cargo-vendor/object-0.36.3/src/read/xcoff/symbol.rs +836 -0
  353. data/ext/cargo-vendor/object-0.36.3/src/write/coff/object.rs +681 -0
  354. data/ext/cargo-vendor/object-0.36.3/src/write/coff/writer.rs +520 -0
  355. data/ext/cargo-vendor/object-0.36.3/src/write/elf/object.rs +897 -0
  356. data/ext/cargo-vendor/object-0.36.3/src/write/elf/writer.rs +2361 -0
  357. data/ext/cargo-vendor/object-0.36.3/src/write/macho.rs +1124 -0
  358. data/ext/cargo-vendor/object-0.36.3/src/write/mod.rs +1023 -0
  359. data/ext/cargo-vendor/object-0.36.3/src/write/pe.rs +849 -0
  360. data/ext/cargo-vendor/object-0.36.3/src/write/xcoff.rs +588 -0
  361. data/ext/cargo-vendor/object-0.36.3/tests/build/elf.rs +254 -0
  362. data/ext/cargo-vendor/object-0.36.3/tests/build/mod.rs +3 -0
  363. data/ext/cargo-vendor/object-0.36.3/tests/integration.rs +3 -0
  364. data/ext/cargo-vendor/object-0.36.3/tests/read/macho.rs +49 -0
  365. data/ext/cargo-vendor/object-0.36.3/tests/read/mod.rs +5 -0
  366. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/bss.rs +244 -0
  367. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/comdat.rs +217 -0
  368. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/common.rs +241 -0
  369. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/elf.rs +302 -0
  370. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/mod.rs +682 -0
  371. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/section_flags.rs +89 -0
  372. data/ext/cargo-vendor/object-0.36.3/tests/round_trip/tls.rs +308 -0
  373. data/ext/cargo-vendor/postcard-1.0.8/.cargo-checksum.json +1 -0
  374. data/ext/cargo-vendor/postcard-1.0.8/CHANGELOG.md +141 -0
  375. data/ext/cargo-vendor/postcard-1.0.8/Cargo.toml +100 -0
  376. data/ext/cargo-vendor/postcard-1.0.8/LICENSE-APACHE +201 -0
  377. data/ext/cargo-vendor/postcard-1.0.8/LICENSE-MIT +25 -0
  378. data/ext/cargo-vendor/postcard-1.0.8/README.md +146 -0
  379. data/ext/cargo-vendor/postcard-1.0.8/spec/LICENSE-CC-BY-SA +427 -0
  380. data/ext/cargo-vendor/postcard-1.0.8/spec/book.toml +6 -0
  381. data/ext/cargo-vendor/postcard-1.0.8/spec/src/SUMMARY.md +6 -0
  382. data/ext/cargo-vendor/postcard-1.0.8/spec/src/glossary.md +17 -0
  383. data/ext/cargo-vendor/postcard-1.0.8/spec/src/intro.md +12 -0
  384. data/ext/cargo-vendor/postcard-1.0.8/spec/src/serde-data-model.md +190 -0
  385. data/ext/cargo-vendor/postcard-1.0.8/spec/src/wire-format.md +327 -0
  386. data/ext/cargo-vendor/postcard-1.0.8/src/accumulator.rs +367 -0
  387. data/ext/cargo-vendor/postcard-1.0.8/src/de/deserializer.rs +599 -0
  388. data/ext/cargo-vendor/postcard-1.0.8/src/de/flavors.rs +468 -0
  389. data/ext/cargo-vendor/postcard-1.0.8/src/de/mod.rs +568 -0
  390. data/ext/cargo-vendor/postcard-1.0.8/src/error.rs +95 -0
  391. data/ext/cargo-vendor/postcard-1.0.8/src/fixint.rs +189 -0
  392. data/ext/cargo-vendor/postcard-1.0.8/src/lib.rs +143 -0
  393. data/ext/cargo-vendor/postcard-1.0.8/src/max_size.rs +233 -0
  394. data/ext/cargo-vendor/postcard-1.0.8/src/schema.rs +282 -0
  395. data/ext/cargo-vendor/postcard-1.0.8/src/ser/flavors.rs +722 -0
  396. data/ext/cargo-vendor/postcard-1.0.8/src/ser/mod.rs +866 -0
  397. data/ext/cargo-vendor/postcard-1.0.8/src/ser/serializer.rs +564 -0
  398. data/ext/cargo-vendor/postcard-1.0.8/src/varint.rs +103 -0
  399. data/ext/cargo-vendor/postcard-1.0.8/tests/accumulator.rs +57 -0
  400. data/ext/cargo-vendor/postcard-1.0.8/tests/crc.rs +60 -0
  401. data/ext/cargo-vendor/postcard-1.0.8/tests/loopback.rs +248 -0
  402. data/ext/cargo-vendor/postcard-1.0.8/tests/max_size.rs +101 -0
  403. data/ext/cargo-vendor/postcard-1.0.8/tests/schema.rs +107 -0
  404. data/ext/cargo-vendor/rb-sys-0.9.100/.cargo-checksum.json +1 -0
  405. data/ext/cargo-vendor/rb-sys-0.9.100/Cargo.toml +58 -0
  406. data/ext/cargo-vendor/rb-sys-0.9.100/build/main.rs +267 -0
  407. data/ext/cargo-vendor/rb-sys-0.9.100/build/stable_api_config.rs +139 -0
  408. data/ext/cargo-vendor/rb-sys-0.9.100/src/bindings.rs +21 -0
  409. data/ext/cargo-vendor/rb-sys-0.9.100/src/tracking_allocator.rs +266 -0
  410. data/ext/cargo-vendor/rb-sys-build-0.9.100/.cargo-checksum.json +1 -0
  411. data/ext/cargo-vendor/rb-sys-build-0.9.100/Cargo.toml +62 -0
  412. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/bindings/stable_api.rs +203 -0
  413. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/bindings.rs +254 -0
  414. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/cc.rs +374 -0
  415. data/ext/cargo-vendor/rb-sys-build-0.9.100/src/utils.rs +52 -0
  416. data/ext/cargo-vendor/wasi-common-22.0.0/.cargo-checksum.json +1 -0
  417. data/ext/cargo-vendor/wasi-common-22.0.0/Cargo.toml +224 -0
  418. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_0.rs +1080 -0
  419. data/ext/cargo-vendor/wasi-common-22.0.0/src/snapshots/preview_1.rs +1562 -0
  420. data/ext/cargo-vendor/wasi-common-22.0.0/src/string_array.rs +75 -0
  421. data/ext/cargo-vendor/wasi-common-22.0.0/src/sync/sched/windows.rs +221 -0
  422. data/ext/cargo-vendor/wasi-common-22.0.0/src/tokio/file.rs +247 -0
  423. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/async_.rs +293 -0
  424. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/main.rs +21 -0
  425. data/ext/cargo-vendor/wasi-common-22.0.0/tests/all/sync.rs +279 -0
  426. data/ext/cargo-vendor/wasmparser-0.209.1/.cargo-checksum.json +1 -0
  427. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.lock +662 -0
  428. data/ext/cargo-vendor/wasmparser-0.209.1/Cargo.toml +109 -0
  429. data/ext/cargo-vendor/wasmparser-0.209.1/src/binary_reader.rs +1929 -0
  430. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/hash.rs +120 -0
  431. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/detail.rs +1094 -0
  432. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map/tests.rs +183 -0
  433. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_map.rs +656 -0
  434. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/index_set.rs +316 -0
  435. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/map.rs +840 -0
  436. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/mod.rs +24 -0
  437. data/ext/cargo-vendor/wasmparser-0.209.1/src/collections/set.rs +660 -0
  438. data/ext/cargo-vendor/wasmparser-0.209.1/src/features.rs +164 -0
  439. data/ext/cargo-vendor/wasmparser-0.209.1/src/lib.rs +814 -0
  440. data/ext/cargo-vendor/wasmparser-0.209.1/src/limits.rs +79 -0
  441. data/ext/cargo-vendor/wasmparser-0.209.1/src/parser.rs +1682 -0
  442. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/canonicals.rs +121 -0
  443. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/imports.rs +130 -0
  444. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/instances.rs +166 -0
  445. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/names.rs +99 -0
  446. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/start.rs +31 -0
  447. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/component/types.rs +553 -0
  448. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/branch_hinting.rs +59 -0
  449. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/code.rs +142 -0
  450. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/coredumps.rs +278 -0
  451. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/custom.rs +128 -0
  452. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/data.rs +96 -0
  453. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/dylink0.rs +110 -0
  454. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/elements.rs +146 -0
  455. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/globals.rs +61 -0
  456. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/init.rs +57 -0
  457. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/linking.rs +457 -0
  458. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/memories.rs +57 -0
  459. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/names.rs +159 -0
  460. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/operators.rs +423 -0
  461. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/producers.rs +84 -0
  462. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/reloc.rs +300 -0
  463. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/tables.rs +93 -0
  464. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types/matches.rs +277 -0
  465. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core/types.rs +1788 -0
  466. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers/core.rs +43 -0
  467. data/ext/cargo-vendor/wasmparser-0.209.1/src/readers.rs +315 -0
  468. data/ext/cargo-vendor/wasmparser-0.209.1/src/resources.rs +235 -0
  469. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/component.rs +3236 -0
  470. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core/canonical.rs +233 -0
  471. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/core.rs +1464 -0
  472. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/func.rs +331 -0
  473. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/names.rs +1016 -0
  474. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/operators.rs +4231 -0
  475. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator/types.rs +4550 -0
  476. data/ext/cargo-vendor/wasmparser-0.209.1/src/validator.rs +1633 -0
  477. data/ext/cargo-vendor/wasmprinter-0.209.1/.cargo-checksum.json +1 -0
  478. data/ext/cargo-vendor/wasmprinter-0.209.1/Cargo.toml +51 -0
  479. data/ext/cargo-vendor/wasmprinter-0.209.1/src/lib.rs +3225 -0
  480. data/ext/cargo-vendor/wasmprinter-0.209.1/src/operator.rs +1171 -0
  481. data/ext/cargo-vendor/wasmprinter-0.209.1/tests/all.rs +293 -0
  482. data/ext/cargo-vendor/wasmtime-22.0.0/.cargo-checksum.json +1 -0
  483. data/ext/cargo-vendor/wasmtime-22.0.0/Cargo.toml +387 -0
  484. data/ext/cargo-vendor/wasmtime-22.0.0/build.rs +42 -0
  485. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/code_builder.rs +275 -0
  486. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile/runtime.rs +167 -0
  487. data/ext/cargo-vendor/wasmtime-22.0.0/src/compile.rs +917 -0
  488. data/ext/cargo-vendor/wasmtime-22.0.0/src/config.rs +2943 -0
  489. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine/serialization.rs +890 -0
  490. data/ext/cargo-vendor/wasmtime-22.0.0/src/engine.rs +728 -0
  491. data/ext/cargo-vendor/wasmtime-22.0.0/src/lib.rs +389 -0
  492. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/jitdump.rs +67 -0
  493. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/perfmap.rs +48 -0
  494. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent/vtune.rs +81 -0
  495. data/ext/cargo-vendor/wasmtime-22.0.0/src/profiling_agent.rs +106 -0
  496. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code.rs +102 -0
  497. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/code_memory.rs +338 -0
  498. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_0_hello_world.rs +9 -0
  499. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_1_world_imports.rs +17 -0
  500. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_2_world_exports.rs +18 -0
  501. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_3_interface_imports.rs +20 -0
  502. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_4_imported_resources.rs +45 -0
  503. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +29 -0
  504. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/_6_exported_resources.rs +26 -0
  505. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/bindgen_examples/mod.rs +489 -0
  506. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/component.rs +656 -0
  507. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/host.rs +440 -0
  508. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/options.rs +555 -0
  509. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func/typed.rs +2498 -0
  510. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/func.rs +689 -0
  511. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/instance.rs +810 -0
  512. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/linker.rs +854 -0
  513. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/matching.rs +217 -0
  514. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/mod.rs +657 -0
  515. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resource_table.rs +355 -0
  516. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/resources.rs +1133 -0
  517. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/storage.rs +43 -0
  518. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/store.rs +29 -0
  519. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/types.rs +897 -0
  520. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/component/values.rs +980 -0
  521. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/coredump.rs +342 -0
  522. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/debug.rs +166 -0
  523. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/global.rs +310 -0
  524. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals/table.rs +481 -0
  525. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/externals.rs +236 -0
  526. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func/typed.rs +780 -0
  527. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/func.rs +2564 -0
  528. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/anyref.rs +46 -0
  529. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/externref.rs +50 -0
  530. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/disabled/rooting.rs +224 -0
  531. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/anyref.rs +410 -0
  532. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/externref.rs +592 -0
  533. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/i31.rs +299 -0
  534. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/enabled/rooting.rs +1588 -0
  535. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc/noextern.rs +154 -0
  536. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/gc.rs +92 -0
  537. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instance.rs +992 -0
  538. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/instantiate.rs +337 -0
  539. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/limits.rs +399 -0
  540. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/linker.rs +1499 -0
  541. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/memory.rs +998 -0
  542. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module/registry.rs +353 -0
  543. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/module.rs +1322 -0
  544. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/profiling.rs +221 -0
  545. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/resources.rs +33 -0
  546. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/signatures.rs +216 -0
  547. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/stack.rs +73 -0
  548. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/context.rs +243 -0
  549. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/data.rs +301 -0
  550. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store/func_refs.rs +90 -0
  551. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/store.rs +2824 -0
  552. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/func.rs +94 -0
  553. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/global.rs +68 -0
  554. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/memory.rs +287 -0
  555. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline/table.rs +29 -0
  556. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trampoline.rs +78 -0
  557. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/trap.rs +642 -0
  558. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/type_registry.rs +1015 -0
  559. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types/matching.rs +421 -0
  560. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/types.rs +2580 -0
  561. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/unix.rs +40 -0
  562. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/v128.rs +116 -0
  563. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/values.rs +966 -0
  564. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/arch/aarch64.rs +76 -0
  565. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/arch/x86_64.rs +41 -0
  566. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/async_yield.rs +35 -0
  567. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/libcalls.rs +571 -0
  568. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component/resources.rs +352 -0
  569. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/component.rs +857 -0
  570. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/const_expr.rs +102 -0
  571. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/cow.rs +972 -0
  572. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/debug_builtins.rs +59 -0
  573. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/export.rs +108 -0
  574. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/disabled.rs +24 -0
  575. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/drc.rs +968 -0
  576. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/externref.rs +116 -0
  577. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled/free_list.rs +771 -0
  578. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/enabled.rs +18 -0
  579. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_ref.rs +491 -0
  580. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/gc_runtime.rs +506 -0
  581. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/host_data.rs +82 -0
  582. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc/i31.rs +87 -0
  583. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/gc.rs +245 -0
  584. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/imports.rs +29 -0
  585. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/on_demand.rs +220 -0
  586. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +194 -0
  587. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +94 -0
  588. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +78 -0
  589. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +707 -0
  590. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +975 -0
  591. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/table_pool.rs +245 -0
  592. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +278 -0
  593. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator/pooling.rs +794 -0
  594. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance/allocator.rs +801 -0
  595. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/instance.rs +1514 -0
  596. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/libcalls.rs +834 -0
  597. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/memory.rs +736 -0
  598. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap.rs +220 -0
  599. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mmap_vec.rs +162 -0
  600. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/module_id.rs +43 -0
  601. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/enabled.rs +214 -0
  602. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/mod.rs +54 -0
  603. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/pkru.rs +104 -0
  604. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/mpk/sys.rs +114 -0
  605. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/send_sync_ptr.rs +106 -0
  606. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/store_box.rs +37 -0
  607. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/capi.rs +200 -0
  608. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mmap.rs +112 -0
  609. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/mod.rs +34 -0
  610. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/traphandlers.rs +55 -0
  611. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/custom/vm.rs +105 -0
  612. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/mmap.rs +95 -0
  613. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/mod.rs +24 -0
  614. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/traphandlers.rs +47 -0
  615. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/miri/vm.rs +59 -0
  616. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/mod.rs +36 -0
  617. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/machports.rs +416 -0
  618. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/mmap.rs +162 -0
  619. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/mod.rs +35 -0
  620. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/signals.rs +407 -0
  621. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/unwind.rs +150 -0
  622. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/unix/vm.rs +190 -0
  623. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/mmap.rs +221 -0
  624. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/mod.rs +20 -0
  625. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/traphandlers.rs +104 -0
  626. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/sys/windows/vm.rs +75 -0
  627. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/table.rs +899 -0
  628. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/parking_spot.rs +623 -0
  629. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory.rs +233 -0
  630. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/threads/shared_memory_disabled.rs +101 -0
  631. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers/backtrace.rs +267 -0
  632. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers/coredump_disabled.rs +16 -0
  633. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers/coredump_enabled.rs +42 -0
  634. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/traphandlers.rs +768 -0
  635. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext/vm_host_func_context.rs +79 -0
  636. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm/vmcontext.rs +1302 -0
  637. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/vm.rs +277 -0
  638. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime/windows.rs +35 -0
  639. data/ext/cargo-vendor/wasmtime-22.0.0/src/runtime.rs +113 -0
  640. data/ext/cargo-vendor/wasmtime-22.0.0/src/sync_nostd.rs +255 -0
  641. data/ext/cargo-vendor/wasmtime-22.0.0/src/sync_std.rs +52 -0
  642. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/.cargo-checksum.json +1 -0
  643. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/Cargo.toml +22 -0
  644. data/ext/cargo-vendor/wasmtime-asm-macros-22.0.0/src/lib.rs +83 -0
  645. data/ext/cargo-vendor/wasmtime-cache-22.0.0/.cargo-checksum.json +1 -0
  646. data/ext/cargo-vendor/wasmtime-cache-22.0.0/Cargo.toml +89 -0
  647. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/config.rs +584 -0
  648. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/lib.rs +235 -0
  649. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/tests.rs +91 -0
  650. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker/tests.rs +758 -0
  651. data/ext/cargo-vendor/wasmtime-cache-22.0.0/src/worker.rs +890 -0
  652. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/.cargo-checksum.json +1 -0
  653. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/Cargo.toml +86 -0
  654. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/bindgen.rs +493 -0
  655. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/src/component.rs +1330 -0
  656. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen.rs +651 -0
  657. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/codegen_no_std.rs +16 -0
  658. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char.rs +198 -0
  659. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/char_async.rs +215 -0
  660. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions.rs +586 -0
  661. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/conventions_async.rs +631 -0
  662. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code.rs +165 -0
  663. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/dead-code_async.rs +178 -0
  664. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import.rs +91 -0
  665. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/direct-import_async.rs +97 -0
  666. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty.rs +45 -0
  667. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/empty_async.rs +45 -0
  668. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags.rs +637 -0
  669. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/flags_async.rs +679 -0
  670. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats.rs +255 -0
  671. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/floats_async.rs +282 -0
  672. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new.rs +59 -0
  673. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/function-new_async.rs +62 -0
  674. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers.rs +722 -0
  675. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/integers_async.rs +819 -0
  676. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists.rs +1743 -0
  677. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/lists_async.rs +1927 -0
  678. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments.rs +543 -0
  679. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/many-arguments_async.rs +561 -0
  680. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return.rs +270 -0
  681. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multi-return_async.rs +298 -0
  682. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion.rs +251 -0
  683. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/multiversion_async.rs +270 -0
  684. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records.rs +815 -0
  685. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/records_async.rs +877 -0
  686. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename.rs +154 -0
  687. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/rename_async.rs +167 -0
  688. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export.rs +467 -0
  689. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-export_async.rs +516 -0
  690. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import.rs +1014 -0
  691. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/resources-import_async.rs +1086 -0
  692. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types.rs +249 -0
  693. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/share-types_async.rs +265 -0
  694. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions.rs +313 -0
  695. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-functions_async.rs +347 -0
  696. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists.rs +350 -0
  697. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-lists_async.rs +381 -0
  698. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi.rs +216 -0
  699. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/simple-wasi_async.rs +229 -0
  700. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous.rs +275 -0
  701. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/small-anonymous_async.rs +287 -0
  702. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default.rs +59 -0
  703. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-default_async.rs +62 -0
  704. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export.rs +86 -0
  705. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke-export_async.rs +89 -0
  706. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke.rs +104 -0
  707. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/smoke_async.rs +111 -0
  708. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings.rs +247 -0
  709. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/strings_async.rs +269 -0
  710. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo.rs +136 -0
  711. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/unversioned-foo_async.rs +143 -0
  712. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths.rs +288 -0
  713. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/use-paths_async.rs +314 -0
  714. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants.rs +1750 -0
  715. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/variants_async.rs +1867 -0
  716. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat.rs +84 -0
  717. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/wat_async.rs +84 -0
  718. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types.rs +138 -0
  719. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded/worlds-with-types_async.rs +148 -0
  720. data/ext/cargo-vendor/wasmtime-component-macro-22.0.0/tests/expanded.rs +65 -0
  721. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/.cargo-checksum.json +1 -0
  722. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/Cargo.toml +25 -0
  723. data/ext/cargo-vendor/wasmtime-component-util-22.0.0/src/lib.rs +182 -0
  724. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/.cargo-checksum.json +1 -0
  725. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/Cargo.toml +115 -0
  726. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler/component.rs +957 -0
  727. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/compiler.rs +1067 -0
  728. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/gc.rs +252 -0
  729. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/address_transform.rs +783 -0
  730. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/attr.rs +320 -0
  731. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/expression.rs +1248 -0
  732. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/line_program.rs +287 -0
  733. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/mod.rs +256 -0
  734. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/simulate.rs +411 -0
  735. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/unit.rs +529 -0
  736. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/transform/utils.rs +186 -0
  737. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug/write_debuginfo.rs +196 -0
  738. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/debug.rs +18 -0
  739. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/func_environ.rs +2910 -0
  740. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc/enabled.rs +648 -0
  741. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/gc.rs +198 -0
  742. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/lib.rs +462 -0
  743. data/ext/cargo-vendor/wasmtime-cranelift-22.0.0/src/obj.rs +545 -0
  744. data/ext/cargo-vendor/wasmtime-environ-22.0.0/.cargo-checksum.json +1 -0
  745. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.lock +774 -0
  746. data/ext/cargo-vendor/wasmtime-environ-22.0.0/Cargo.toml +161 -0
  747. data/ext/cargo-vendor/wasmtime-environ-22.0.0/examples/factc.rs +198 -0
  748. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/address_map.rs +73 -0
  749. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/mod.rs +374 -0
  750. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_artifacts.rs +315 -0
  751. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_environ.rs +1348 -0
  752. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/module_types.rs +455 -0
  753. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/compile/trap_encoding.rs +70 -0
  754. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/artifacts.rs +68 -0
  755. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/compiler.rs +20 -0
  756. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/dfg.rs +691 -0
  757. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/info.rs +672 -0
  758. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate/adapt.rs +455 -0
  759. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/translate.rs +985 -0
  760. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types.rs +1038 -0
  761. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder/resources.rs +233 -0
  762. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component/types_builder.rs +1004 -0
  763. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/component.rs +107 -0
  764. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/demangling.rs +28 -0
  765. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/core_types.rs +25 -0
  766. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/signature.rs +119 -0
  767. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/trampoline.rs +3234 -0
  768. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/transcode.rs +90 -0
  769. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact/traps.rs +116 -0
  770. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/fact.rs +714 -0
  771. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/lib.rs +151 -0
  772. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module.rs +704 -0
  773. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_artifacts.rs +144 -0
  774. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/module_types.rs +139 -0
  775. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/ref_bits.rs +36 -0
  776. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/scopevec.rs +80 -0
  777. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/stack_map.rs +37 -0
  778. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/trap_encoding.rs +189 -0
  779. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/tunables.rs +175 -0
  780. data/ext/cargo-vendor/wasmtime-environ-22.0.0/src/vmoffsets.rs +989 -0
  781. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/.cargo-checksum.json +1 -0
  782. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/Cargo.toml +65 -0
  783. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/build.rs +39 -0
  784. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/lib.rs +340 -0
  785. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/unix.rs +494 -0
  786. data/ext/cargo-vendor/wasmtime-fiber-22.0.0/src/windows.rs +170 -0
  787. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/.cargo-checksum.json +1 -0
  788. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/Cargo.toml +68 -0
  789. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/gdb_jit_int.rs +130 -0
  790. data/ext/cargo-vendor/wasmtime-jit-debug-22.0.0/src/perf_jitdump.rs +293 -0
  791. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/.cargo-checksum.json +1 -0
  792. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/Cargo.toml +52 -0
  793. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/lib.rs +109 -0
  794. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/libc.rs +164 -0
  795. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/miri.rs +10 -0
  796. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-22.0.0/src/win.rs +49 -0
  797. data/ext/cargo-vendor/wasmtime-slab-22.0.0/.cargo-checksum.json +1 -0
  798. data/ext/cargo-vendor/wasmtime-slab-22.0.0/Cargo.toml +21 -0
  799. data/ext/cargo-vendor/wasmtime-slab-22.0.0/src/lib.rs +498 -0
  800. data/ext/cargo-vendor/wasmtime-types-22.0.0/.cargo-checksum.json +1 -0
  801. data/ext/cargo-vendor/wasmtime-types-22.0.0/Cargo.toml +56 -0
  802. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/error.rs +81 -0
  803. data/ext/cargo-vendor/wasmtime-types-22.0.0/src/lib.rs +1737 -0
  804. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/.cargo-checksum.json +1 -0
  805. data/ext/cargo-vendor/wasmtime-versioned-export-macros-22.0.0/Cargo.toml +32 -0
  806. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/.cargo-checksum.json +1 -0
  807. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/Cargo.toml +201 -0
  808. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/bindings.rs +289 -0
  809. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ctx.rs +704 -0
  810. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/filesystem.rs +446 -0
  811. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/clocks.rs +109 -0
  812. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/env.rs +18 -0
  813. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/exit.rs +14 -0
  814. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem/sync.rs +525 -0
  815. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/filesystem.rs +1091 -0
  816. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/instance_network.rs +18 -0
  817. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/io.rs +388 -0
  818. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/network.rs +545 -0
  819. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/random.rs +45 -0
  820. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp.rs +547 -0
  821. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/tcp_create_socket.rs +18 -0
  822. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp.rs +762 -0
  823. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/host/udp_create_socket.rs +18 -0
  824. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/ip_name_lookup.rs +132 -0
  825. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/lib.rs +417 -0
  826. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/network.rs +113 -0
  827. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/pipe.rs +826 -0
  828. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/poll.rs +245 -0
  829. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview0.rs +983 -0
  830. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/preview1.rs +2801 -0
  831. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/src/stdio.rs +533 -0
  832. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/api.rs +198 -0
  833. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/async_.rs +397 -0
  834. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/main.rs +91 -0
  835. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/preview1.rs +251 -0
  836. data/ext/cargo-vendor/wasmtime-wasi-22.0.0/tests/all/sync.rs +331 -0
  837. data/ext/cargo-vendor/wasmtime-winch-22.0.0/.cargo-checksum.json +1 -0
  838. data/ext/cargo-vendor/wasmtime-winch-22.0.0/Cargo.toml +82 -0
  839. data/ext/cargo-vendor/wasmtime-winch-22.0.0/src/compiler.rs +239 -0
  840. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/.cargo-checksum.json +1 -0
  841. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/Cargo.toml +47 -0
  842. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/lib.rs +2639 -0
  843. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/rust.rs +427 -0
  844. data/ext/cargo-vendor/wasmtime-wit-bindgen-22.0.0/src/types.rs +202 -0
  845. data/ext/cargo-vendor/wiggle-22.0.0/.cargo-checksum.json +1 -0
  846. data/ext/cargo-vendor/wiggle-22.0.0/Cargo.toml +124 -0
  847. data/ext/cargo-vendor/wiggle-22.0.0/src/guest_type.rs +200 -0
  848. data/ext/cargo-vendor/wiggle-22.0.0/src/lib.rs +605 -0
  849. data/ext/cargo-vendor/wiggle-generate-22.0.0/.cargo-checksum.json +1 -0
  850. data/ext/cargo-vendor/wiggle-generate-22.0.0/Cargo.toml +67 -0
  851. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/funcs.rs +434 -0
  852. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/module_trait.rs +89 -0
  853. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/names.rs +299 -0
  854. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/flags.rs +92 -0
  855. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/handle.rs +84 -0
  856. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/mod.rs +129 -0
  857. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/record.rs +129 -0
  858. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/types/variant.rs +186 -0
  859. data/ext/cargo-vendor/wiggle-generate-22.0.0/src/wasmtime.rs +172 -0
  860. data/ext/cargo-vendor/wiggle-macro-22.0.0/.cargo-checksum.json +1 -0
  861. data/ext/cargo-vendor/wiggle-macro-22.0.0/Cargo.toml +51 -0
  862. data/ext/cargo-vendor/wiggle-macro-22.0.0/build.rs +5 -0
  863. data/ext/cargo-vendor/wiggle-macro-22.0.0/src/lib.rs +233 -0
  864. data/ext/cargo-vendor/winch-codegen-0.20.0/.cargo-checksum.json +1 -0
  865. data/ext/cargo-vendor/winch-codegen-0.20.0/Cargo.toml +77 -0
  866. data/ext/cargo-vendor/winch-codegen-0.20.0/src/abi/mod.rs +671 -0
  867. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/context.rs +536 -0
  868. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/control.rs +972 -0
  869. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/env.rs +448 -0
  870. data/ext/cargo-vendor/winch-codegen-0.20.0/src/codegen/mod.rs +882 -0
  871. data/ext/cargo-vendor/winch-codegen-0.20.0/src/frame/mod.rs +258 -0
  872. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/abi.rs +291 -0
  873. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/address.rs +143 -0
  874. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/asm.rs +430 -0
  875. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/masm.rs +572 -0
  876. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/mod.rs +158 -0
  877. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/aarch64/regs.rs +161 -0
  878. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/reg.rs +73 -0
  879. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/asm.rs +1423 -0
  880. data/ext/cargo-vendor/winch-codegen-0.20.0/src/isa/x64/masm.rs +1120 -0
  881. data/ext/cargo-vendor/winch-codegen-0.20.0/src/masm.rs +941 -0
  882. data/ext/cargo-vendor/winch-codegen-0.20.0/src/regalloc.rs +65 -0
  883. data/ext/cargo-vendor/winch-codegen-0.20.0/src/regset.rs +194 -0
  884. data/ext/cargo-vendor/winch-codegen-0.20.0/src/stack.rs +439 -0
  885. data/ext/cargo-vendor/winch-codegen-0.20.0/src/visitor.rs +2149 -0
  886. data/ext/cargo-vendor/wit-parser-0.209.1/.cargo-checksum.json +1 -0
  887. data/ext/cargo-vendor/wit-parser-0.209.1/Cargo.toml +112 -0
  888. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast/resolve.rs +1524 -0
  889. data/ext/cargo-vendor/wit-parser-0.209.1/src/ast.rs +1668 -0
  890. data/ext/cargo-vendor/wit-parser-0.209.1/src/decoding.rs +1795 -0
  891. data/ext/cargo-vendor/wit-parser-0.209.1/src/lib.rs +873 -0
  892. data/ext/cargo-vendor/wit-parser-0.209.1/src/live.rs +126 -0
  893. data/ext/cargo-vendor/wit-parser-0.209.1/src/metadata.rs +772 -0
  894. data/ext/cargo-vendor/wit-parser-0.209.1/src/resolve.rs +2498 -0
  895. data/ext/cargo-vendor/wit-parser-0.209.1/src/serde_.rs +124 -0
  896. data/ext/cargo-vendor/wit-parser-0.209.1/tests/all.rs +154 -0
  897. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/complex-include.wit.json +200 -0
  898. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/diamond1.wit.json +59 -0
  899. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/disambiguate-diamond.wit.json +115 -0
  900. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit +118 -0
  901. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/feature-gates.wit.json +288 -0
  902. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps-union.wit.json +410 -0
  903. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/foreign-deps.wit.json +362 -0
  904. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/ignore-files-deps.wit.json +41 -0
  905. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/import-export-overlap2.wit.json +43 -0
  906. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/include-reps.wit.json +68 -0
  907. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/kinds-of-deps.wit.json +95 -0
  908. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/many-names.wit.json +42 -0
  909. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/multi-file.wit.json +304 -0
  910. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit +8 -0
  911. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate1.wit.result +5 -0
  912. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit +8 -0
  913. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate2.wit.result +5 -0
  914. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit +6 -0
  915. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate3.wit.result +8 -0
  916. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit +8 -0
  917. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate4.wit.result +8 -0
  918. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit +11 -0
  919. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-gate5.wit.result +8 -0
  920. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit +4 -0
  921. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since1.wit.result +5 -0
  922. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit +5 -0
  923. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/bad-since3.wit.result +5 -0
  924. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/conflicting-package.wit.result +10 -0
  925. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/multiple-package-docs.wit.result +10 -0
  926. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +8 -0
  927. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/resources-return-borrow.wit.result +8 -0
  928. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow1.wit +7 -0
  929. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow1.wit.result +8 -0
  930. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow2.wit +8 -0
  931. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow2.wit.result +8 -0
  932. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow3.wit +7 -0
  933. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow3.wit.result +5 -0
  934. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow4.wit +7 -0
  935. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow4.wit.result +5 -0
  936. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow5.wit +7 -0
  937. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow5.wit.result +5 -0
  938. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow6.wit +7 -0
  939. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow6.wit.result +8 -0
  940. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow7.wit +11 -0
  941. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow7.wit.result +8 -0
  942. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8/deps/baz.wit +9 -0
  943. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8/foo.wit +7 -0
  944. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/parse-fail/return-borrow8.wit.result +9 -0
  945. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/shared-types.wit.json +87 -0
  946. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit +89 -0
  947. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/since-and-unstable.wit.json +549 -0
  948. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/stress-export-elaborate.wit.json +1156 -0
  949. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-diamond.wit.json +124 -0
  950. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-iface-no-collide.wit.json +68 -0
  951. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import1.wit.json +81 -0
  952. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import2.wit.json +72 -0
  953. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-implicit-import3.wit.json +73 -0
  954. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-same-fields4.wit.json +82 -0
  955. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-top-level-resources.wit +24 -0
  956. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/world-top-level-resources.wit.json +237 -0
  957. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-union-dedup.wit.json +112 -0
  958. data/ext/cargo-vendor/wit-parser-0.209.1/tests/ui/worlds-with-types.wit.json +204 -0
  959. data/ext/src/lib.rs +1 -0
  960. data/ext/src/ruby_api/config.rs +1 -12
  961. data/ext/src/ruby_api/engine.rs +3 -6
  962. data/ext/src/ruby_api/pooling_allocation_config.rs +6 -6
  963. data/ext/src/ruby_api/store.rs +68 -5
  964. data/lib/wasmtime/version.rb +1 -1
  965. metadata +1766 -1507
  966. data/ext/cargo-vendor/bincode-1.3.3/.cargo-checksum.json +0 -1
  967. data/ext/cargo-vendor/bincode-1.3.3/Cargo.toml +0 -37
  968. data/ext/cargo-vendor/bincode-1.3.3/LICENSE.md +0 -21
  969. data/ext/cargo-vendor/bincode-1.3.3/readme.md +0 -112
  970. data/ext/cargo-vendor/bincode-1.3.3/src/byteorder.rs +0 -385
  971. data/ext/cargo-vendor/bincode-1.3.3/src/config/endian.rs +0 -27
  972. data/ext/cargo-vendor/bincode-1.3.3/src/config/int.rs +0 -682
  973. data/ext/cargo-vendor/bincode-1.3.3/src/config/legacy.rs +0 -253
  974. data/ext/cargo-vendor/bincode-1.3.3/src/config/limit.rs +0 -49
  975. data/ext/cargo-vendor/bincode-1.3.3/src/config/mod.rs +0 -408
  976. data/ext/cargo-vendor/bincode-1.3.3/src/config/trailing.rs +0 -37
  977. data/ext/cargo-vendor/bincode-1.3.3/src/de/mod.rs +0 -515
  978. data/ext/cargo-vendor/bincode-1.3.3/src/de/read.rs +0 -202
  979. data/ext/cargo-vendor/bincode-1.3.3/src/error.rs +0 -115
  980. data/ext/cargo-vendor/bincode-1.3.3/src/internal.rs +0 -124
  981. data/ext/cargo-vendor/bincode-1.3.3/src/lib.rs +0 -201
  982. data/ext/cargo-vendor/bincode-1.3.3/src/ser/mod.rs +0 -772
  983. data/ext/cargo-vendor/bincode-1.3.3/tests/test.rs +0 -899
  984. data/ext/cargo-vendor/cranelift-bforest-0.107.2/.cargo-checksum.json +0 -1
  985. data/ext/cargo-vendor/cranelift-bforest-0.107.2/Cargo.toml +0 -40
  986. data/ext/cargo-vendor/cranelift-codegen-0.107.2/.cargo-checksum.json +0 -1
  987. data/ext/cargo-vendor/cranelift-codegen-0.107.2/Cargo.toml +0 -178
  988. data/ext/cargo-vendor/cranelift-codegen-0.107.2/build.rs +0 -396
  989. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/alias_analysis.rs +0 -403
  990. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/context.rs +0 -386
  991. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ctxhash.rs +0 -167
  992. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/dce.rs +0 -37
  993. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/dominator_tree.rs +0 -803
  994. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/egraph/elaborate.rs +0 -835
  995. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/egraph.rs +0 -838
  996. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/fx.rs +0 -105
  997. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/incremental_cache.rs +0 -256
  998. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/inst_predicates.rs +0 -236
  999. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/dfg.rs +0 -1777
  1000. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/extfunc.rs +0 -411
  1001. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/immediates.rs +0 -1612
  1002. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/instructions.rs +0 -1019
  1003. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/stackslot.rs +0 -216
  1004. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/ir/types.rs +0 -629
  1005. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/abi.rs +0 -1707
  1006. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/args.rs +0 -779
  1007. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/emit.rs +0 -3932
  1008. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/emit_tests.rs +0 -7919
  1009. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/imms.rs +0 -1218
  1010. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/mod.rs +0 -3083
  1011. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/regs.rs +0 -292
  1012. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  1013. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/inst.isle +0 -4218
  1014. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/lower/isle.rs +0 -884
  1015. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/aarch64/pcc.rs +0 -565
  1016. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/mod.rs +0 -432
  1017. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/abi.rs +0 -1109
  1018. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/args.rs +0 -1968
  1019. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/emit.rs +0 -3466
  1020. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/emit_tests.rs +0 -2146
  1021. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/encode.rs +0 -654
  1022. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/imms.rs +0 -374
  1023. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/mod.rs +0 -2041
  1024. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/regs.rs +0 -175
  1025. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  1026. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst/vector.rs +0 -1162
  1027. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst.isle +0 -2944
  1028. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/inst_vector.isle +0 -1899
  1029. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/lower/isle.rs +0 -625
  1030. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/lower.isle +0 -2872
  1031. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/riscv64/mod.rs +0 -260
  1032. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/abi.rs +0 -1047
  1033. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/args.rs +0 -347
  1034. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/emit.rs +0 -3646
  1035. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/emit_tests.rs +0 -13389
  1036. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/imms.rs +0 -202
  1037. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/mod.rs +0 -3423
  1038. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/regs.rs +0 -187
  1039. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  1040. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/inst.isle +0 -5033
  1041. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/s390x/lower.isle +0 -3995
  1042. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/abi.rs +0 -1369
  1043. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/args.rs +0 -2289
  1044. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/emit.rs +0 -4383
  1045. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/emit_state.rs +0 -74
  1046. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/emit_tests.rs +0 -5131
  1047. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/mod.rs +0 -2798
  1048. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/regs.rs +0 -276
  1049. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst/unwind/systemv.rs +0 -198
  1050. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/inst.isle +0 -5304
  1051. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower/isle.rs +0 -1066
  1052. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower.isle +0 -4809
  1053. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/lower.rs +0 -339
  1054. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isa/x64/pcc.rs +0 -1003
  1055. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/isle_prelude.rs +0 -957
  1056. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/lib.rs +0 -106
  1057. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/abi.rs +0 -2594
  1058. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/blockorder.rs +0 -465
  1059. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/buffer.rs +0 -2512
  1060. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/isle.rs +0 -914
  1061. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/lower.rs +0 -1452
  1062. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/mod.rs +0 -555
  1063. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/reg.rs +0 -562
  1064. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/valueregs.rs +0 -132
  1065. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/machinst/vcode.rs +0 -1807
  1066. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/nan_canonicalization.rs +0 -110
  1067. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/arithmetic.isle +0 -179
  1068. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/cprop.isle +0 -281
  1069. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/icmp.isle +0 -197
  1070. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/opts/shifts.isle +0 -307
  1071. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/prelude.isle +0 -646
  1072. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/prelude_lower.isle +0 -1073
  1073. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/remove_constant_phis.rs +0 -420
  1074. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/scoped_hash_map.rs +0 -310
  1075. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/settings.rs +0 -591
  1076. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/timing.rs +0 -297
  1077. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/verifier/mod.rs +0 -1957
  1078. data/ext/cargo-vendor/cranelift-codegen-0.107.2/src/write.rs +0 -631
  1079. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/.cargo-checksum.json +0 -1
  1080. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/Cargo.toml +0 -35
  1081. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/cdsl/types.rs +0 -496
  1082. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_inst.rs +0 -1784
  1083. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_settings.rs +0 -508
  1084. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/gen_types.rs +0 -75
  1085. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/isa/riscv64.rs +0 -160
  1086. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/isa/x86.rs +0 -402
  1087. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/lib.rs +0 -59
  1088. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/shared/settings.rs +0 -355
  1089. data/ext/cargo-vendor/cranelift-codegen-meta-0.107.2/src/srcgen.rs +0 -470
  1090. data/ext/cargo-vendor/cranelift-codegen-shared-0.107.2/.cargo-checksum.json +0 -1
  1091. data/ext/cargo-vendor/cranelift-codegen-shared-0.107.2/Cargo.toml +0 -22
  1092. data/ext/cargo-vendor/cranelift-codegen-shared-0.107.2/src/constants.rs +0 -28
  1093. data/ext/cargo-vendor/cranelift-control-0.107.2/.cargo-checksum.json +0 -1
  1094. data/ext/cargo-vendor/cranelift-control-0.107.2/Cargo.toml +0 -30
  1095. data/ext/cargo-vendor/cranelift-entity-0.107.2/.cargo-checksum.json +0 -1
  1096. data/ext/cargo-vendor/cranelift-entity-0.107.2/Cargo.toml +0 -50
  1097. data/ext/cargo-vendor/cranelift-entity-0.107.2/src/lib.rs +0 -317
  1098. data/ext/cargo-vendor/cranelift-entity-0.107.2/src/set.rs +0 -290
  1099. data/ext/cargo-vendor/cranelift-frontend-0.107.2/.cargo-checksum.json +0 -1
  1100. data/ext/cargo-vendor/cranelift-frontend-0.107.2/Cargo.toml +0 -69
  1101. data/ext/cargo-vendor/cranelift-frontend-0.107.2/src/frontend.rs +0 -1854
  1102. data/ext/cargo-vendor/cranelift-frontend-0.107.2/src/lib.rs +0 -189
  1103. data/ext/cargo-vendor/cranelift-frontend-0.107.2/src/ssa.rs +0 -1328
  1104. data/ext/cargo-vendor/cranelift-frontend-0.107.2/src/switch.rs +0 -654
  1105. data/ext/cargo-vendor/cranelift-isle-0.107.2/.cargo-checksum.json +0 -1
  1106. data/ext/cargo-vendor/cranelift-isle-0.107.2/Cargo.toml +0 -46
  1107. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/codegen.rs +0 -886
  1108. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/lib.rs +0 -271
  1109. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/sema.rs +0 -2492
  1110. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/serialize.rs +0 -846
  1111. data/ext/cargo-vendor/cranelift-isle-0.107.2/src/trie_again.rs +0 -683
  1112. data/ext/cargo-vendor/cranelift-native-0.107.2/.cargo-checksum.json +0 -1
  1113. data/ext/cargo-vendor/cranelift-native-0.107.2/Cargo.toml +0 -45
  1114. data/ext/cargo-vendor/cranelift-native-0.107.2/src/lib.rs +0 -188
  1115. data/ext/cargo-vendor/cranelift-native-0.107.2/src/riscv.rs +0 -128
  1116. data/ext/cargo-vendor/cranelift-wasm-0.107.2/.cargo-checksum.json +0 -1
  1117. data/ext/cargo-vendor/cranelift-wasm-0.107.2/Cargo.toml +0 -107
  1118. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/code_translator.rs +0 -3683
  1119. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/environ/dummy.rs +0 -912
  1120. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/environ/spec.rs +0 -945
  1121. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/func_translator.rs +0 -296
  1122. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/module_translator.rs +0 -128
  1123. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/sections_translator.rs +0 -409
  1124. data/ext/cargo-vendor/cranelift-wasm-0.107.2/src/state.rs +0 -522
  1125. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.21/.cargo-checksum.json +0 -1
  1126. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.21/Cargo.toml +0 -48
  1127. data/ext/cargo-vendor/object-0.33.0/.cargo-checksum.json +0 -1
  1128. data/ext/cargo-vendor/object-0.33.0/CHANGELOG.md +0 -797
  1129. data/ext/cargo-vendor/object-0.33.0/Cargo.toml +0 -179
  1130. data/ext/cargo-vendor/object-0.33.0/README.md +0 -56
  1131. data/ext/cargo-vendor/object-0.33.0/src/build/bytes.rs +0 -141
  1132. data/ext/cargo-vendor/object-0.33.0/src/build/elf.rs +0 -3033
  1133. data/ext/cargo-vendor/object-0.33.0/src/common.rs +0 -568
  1134. data/ext/cargo-vendor/object-0.33.0/src/elf.rs +0 -6291
  1135. data/ext/cargo-vendor/object-0.33.0/src/endian.rs +0 -831
  1136. data/ext/cargo-vendor/object-0.33.0/src/macho.rs +0 -3309
  1137. data/ext/cargo-vendor/object-0.33.0/src/pod.rs +0 -239
  1138. data/ext/cargo-vendor/object-0.33.0/src/read/any.rs +0 -1328
  1139. data/ext/cargo-vendor/object-0.33.0/src/read/archive.rs +0 -759
  1140. data/ext/cargo-vendor/object-0.33.0/src/read/coff/comdat.rs +0 -211
  1141. data/ext/cargo-vendor/object-0.33.0/src/read/coff/file.rs +0 -383
  1142. data/ext/cargo-vendor/object-0.33.0/src/read/coff/relocation.rs +0 -108
  1143. data/ext/cargo-vendor/object-0.33.0/src/read/coff/section.rs +0 -585
  1144. data/ext/cargo-vendor/object-0.33.0/src/read/coff/symbol.rs +0 -635
  1145. data/ext/cargo-vendor/object-0.33.0/src/read/elf/attributes.rs +0 -306
  1146. data/ext/cargo-vendor/object-0.33.0/src/read/elf/comdat.rs +0 -162
  1147. data/ext/cargo-vendor/object-0.33.0/src/read/elf/file.rs +0 -918
  1148. data/ext/cargo-vendor/object-0.33.0/src/read/elf/hash.rs +0 -224
  1149. data/ext/cargo-vendor/object-0.33.0/src/read/elf/note.rs +0 -271
  1150. data/ext/cargo-vendor/object-0.33.0/src/read/elf/relocation.rs +0 -629
  1151. data/ext/cargo-vendor/object-0.33.0/src/read/elf/section.rs +0 -1150
  1152. data/ext/cargo-vendor/object-0.33.0/src/read/elf/segment.rs +0 -356
  1153. data/ext/cargo-vendor/object-0.33.0/src/read/elf/symbol.rs +0 -595
  1154. data/ext/cargo-vendor/object-0.33.0/src/read/elf/version.rs +0 -424
  1155. data/ext/cargo-vendor/object-0.33.0/src/read/macho/dyld_cache.rs +0 -345
  1156. data/ext/cargo-vendor/object-0.33.0/src/read/macho/file.rs +0 -783
  1157. data/ext/cargo-vendor/object-0.33.0/src/read/macho/load_command.rs +0 -386
  1158. data/ext/cargo-vendor/object-0.33.0/src/read/macho/section.rs +0 -389
  1159. data/ext/cargo-vendor/object-0.33.0/src/read/macho/segment.rs +0 -303
  1160. data/ext/cargo-vendor/object-0.33.0/src/read/macho/symbol.rs +0 -492
  1161. data/ext/cargo-vendor/object-0.33.0/src/read/mod.rs +0 -880
  1162. data/ext/cargo-vendor/object-0.33.0/src/read/pe/file.rs +0 -1053
  1163. data/ext/cargo-vendor/object-0.33.0/src/read/pe/import.rs +0 -339
  1164. data/ext/cargo-vendor/object-0.33.0/src/read/pe/relocation.rs +0 -92
  1165. data/ext/cargo-vendor/object-0.33.0/src/read/pe/section.rs +0 -440
  1166. data/ext/cargo-vendor/object-0.33.0/src/read/read_cache.rs +0 -213
  1167. data/ext/cargo-vendor/object-0.33.0/src/read/traits.rs +0 -551
  1168. data/ext/cargo-vendor/object-0.33.0/src/read/wasm.rs +0 -966
  1169. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/file.rs +0 -697
  1170. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/relocation.rs +0 -134
  1171. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/section.rs +0 -433
  1172. data/ext/cargo-vendor/object-0.33.0/src/read/xcoff/symbol.rs +0 -784
  1173. data/ext/cargo-vendor/object-0.33.0/src/write/coff/object.rs +0 -678
  1174. data/ext/cargo-vendor/object-0.33.0/src/write/coff/writer.rs +0 -518
  1175. data/ext/cargo-vendor/object-0.33.0/src/write/elf/object.rs +0 -885
  1176. data/ext/cargo-vendor/object-0.33.0/src/write/elf/writer.rs +0 -2309
  1177. data/ext/cargo-vendor/object-0.33.0/src/write/macho.rs +0 -1107
  1178. data/ext/cargo-vendor/object-0.33.0/src/write/mod.rs +0 -990
  1179. data/ext/cargo-vendor/object-0.33.0/src/write/pe.rs +0 -847
  1180. data/ext/cargo-vendor/object-0.33.0/src/write/xcoff.rs +0 -589
  1181. data/ext/cargo-vendor/object-0.33.0/tests/integration.rs +0 -2
  1182. data/ext/cargo-vendor/object-0.33.0/tests/read/mod.rs +0 -4
  1183. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/bss.rs +0 -255
  1184. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/comdat.rs +0 -225
  1185. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/common.rs +0 -245
  1186. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/elf.rs +0 -289
  1187. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/mod.rs +0 -704
  1188. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/section_flags.rs +0 -90
  1189. data/ext/cargo-vendor/object-0.33.0/tests/round_trip/tls.rs +0 -316
  1190. data/ext/cargo-vendor/rb-sys-0.9.97/.cargo-checksum.json +0 -1
  1191. data/ext/cargo-vendor/rb-sys-0.9.97/Cargo.toml +0 -54
  1192. data/ext/cargo-vendor/rb-sys-0.9.97/build/main.rs +0 -238
  1193. data/ext/cargo-vendor/rb-sys-0.9.97/build/stable_api_config.rs +0 -133
  1194. data/ext/cargo-vendor/rb-sys-0.9.97/src/bindings.rs +0 -20
  1195. data/ext/cargo-vendor/rb-sys-0.9.97/src/tracking_allocator.rs +0 -265
  1196. data/ext/cargo-vendor/rb-sys-build-0.9.97/.cargo-checksum.json +0 -1
  1197. data/ext/cargo-vendor/rb-sys-build-0.9.97/Cargo.toml +0 -62
  1198. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/bindings/stable_api.rs +0 -202
  1199. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/bindings.rs +0 -250
  1200. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/cc.rs +0 -365
  1201. data/ext/cargo-vendor/rb-sys-build-0.9.97/src/utils.rs +0 -52
  1202. data/ext/cargo-vendor/wasi-common-20.0.2/.cargo-checksum.json +0 -1
  1203. data/ext/cargo-vendor/wasi-common-20.0.2/Cargo.toml +0 -220
  1204. data/ext/cargo-vendor/wasi-common-20.0.2/src/snapshots/preview_0.rs +0 -1145
  1205. data/ext/cargo-vendor/wasi-common-20.0.2/src/snapshots/preview_1.rs +0 -1497
  1206. data/ext/cargo-vendor/wasi-common-20.0.2/src/string_array.rs +0 -74
  1207. data/ext/cargo-vendor/wasi-common-20.0.2/src/sync/sched/windows.rs +0 -221
  1208. data/ext/cargo-vendor/wasi-common-20.0.2/src/tokio/file.rs +0 -247
  1209. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/async_.rs +0 -293
  1210. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/main.rs +0 -21
  1211. data/ext/cargo-vendor/wasi-common-20.0.2/tests/all/sync.rs +0 -279
  1212. data/ext/cargo-vendor/wasm-encoder-0.202.0/.cargo-checksum.json +0 -1
  1213. data/ext/cargo-vendor/wasm-encoder-0.202.0/Cargo.toml +0 -43
  1214. data/ext/cargo-vendor/wasm-encoder-0.202.0/README.md +0 -80
  1215. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/aliases.rs +0 -160
  1216. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/builder.rs +0 -455
  1217. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/canonicals.rs +0 -159
  1218. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/components.rs +0 -29
  1219. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/exports.rs +0 -124
  1220. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/imports.rs +0 -175
  1221. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/instances.rs +0 -200
  1222. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/modules.rs +0 -29
  1223. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/names.rs +0 -149
  1224. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/start.rs +0 -52
  1225. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component/types.rs +0 -792
  1226. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/component.rs +0 -168
  1227. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/code.rs +0 -3444
  1228. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/custom.rs +0 -73
  1229. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/data.rs +0 -185
  1230. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/dump.rs +0 -627
  1231. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/elements.rs +0 -220
  1232. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/exports.rs +0 -98
  1233. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/functions.rs +0 -63
  1234. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/globals.rs +0 -101
  1235. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/imports.rs +0 -156
  1236. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/linking.rs +0 -263
  1237. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/memories.rs +0 -111
  1238. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/names.rs +0 -298
  1239. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/producers.rs +0 -180
  1240. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/start.rs +0 -39
  1241. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/tables.rs +0 -116
  1242. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/tags.rs +0 -104
  1243. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core/types.rs +0 -673
  1244. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/core.rs +0 -168
  1245. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/lib.rs +0 -215
  1246. data/ext/cargo-vendor/wasm-encoder-0.202.0/src/raw.rs +0 -30
  1247. data/ext/cargo-vendor/wasmparser-0.202.0/.cargo-checksum.json +0 -1
  1248. data/ext/cargo-vendor/wasmparser-0.202.0/Cargo.lock +0 -744
  1249. data/ext/cargo-vendor/wasmparser-0.202.0/Cargo.toml +0 -66
  1250. data/ext/cargo-vendor/wasmparser-0.202.0/src/binary_reader.rs +0 -1849
  1251. data/ext/cargo-vendor/wasmparser-0.202.0/src/lib.rs +0 -766
  1252. data/ext/cargo-vendor/wasmparser-0.202.0/src/limits.rs +0 -64
  1253. data/ext/cargo-vendor/wasmparser-0.202.0/src/parser.rs +0 -1611
  1254. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/canonicals.rs +0 -120
  1255. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/imports.rs +0 -129
  1256. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/instances.rs +0 -163
  1257. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/names.rs +0 -102
  1258. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/start.rs +0 -30
  1259. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/component/types.rs +0 -549
  1260. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/branch_hinting.rs +0 -59
  1261. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/code.rs +0 -146
  1262. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/coredumps.rs +0 -243
  1263. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/custom.rs +0 -63
  1264. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/data.rs +0 -96
  1265. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/dylink0.rs +0 -109
  1266. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/elements.rs +0 -152
  1267. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/globals.rs +0 -49
  1268. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/init.rs +0 -51
  1269. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/linking.rs +0 -449
  1270. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/memories.rs +0 -56
  1271. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/names.rs +0 -156
  1272. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/operators.rs +0 -411
  1273. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/producers.rs +0 -83
  1274. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/tables.rs +0 -87
  1275. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/types/matches.rs +0 -277
  1276. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core/types.rs +0 -1680
  1277. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers/core.rs +0 -41
  1278. data/ext/cargo-vendor/wasmparser-0.202.0/src/readers.rs +0 -316
  1279. data/ext/cargo-vendor/wasmparser-0.202.0/src/resources.rs +0 -235
  1280. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/component.rs +0 -3238
  1281. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/core/canonical.rs +0 -233
  1282. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/core.rs +0 -1400
  1283. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/func.rs +0 -338
  1284. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/names.rs +0 -929
  1285. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/operators.rs +0 -4076
  1286. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator/types.rs +0 -4449
  1287. data/ext/cargo-vendor/wasmparser-0.202.0/src/validator.rs +0 -1619
  1288. data/ext/cargo-vendor/wasmprinter-0.202.0/.cargo-checksum.json +0 -1
  1289. data/ext/cargo-vendor/wasmprinter-0.202.0/Cargo.toml +0 -45
  1290. data/ext/cargo-vendor/wasmprinter-0.202.0/src/lib.rs +0 -3202
  1291. data/ext/cargo-vendor/wasmprinter-0.202.0/src/operator.rs +0 -1131
  1292. data/ext/cargo-vendor/wasmprinter-0.202.0/tests/all.rs +0 -279
  1293. data/ext/cargo-vendor/wasmtime-20.0.2/.cargo-checksum.json +0 -1
  1294. data/ext/cargo-vendor/wasmtime-20.0.2/Cargo.toml +0 -268
  1295. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile/code_builder.rs +0 -201
  1296. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile/runtime.rs +0 -175
  1297. data/ext/cargo-vendor/wasmtime-20.0.2/src/compile.rs +0 -897
  1298. data/ext/cargo-vendor/wasmtime-20.0.2/src/config.rs +0 -2695
  1299. data/ext/cargo-vendor/wasmtime-20.0.2/src/engine/serialization.rs +0 -849
  1300. data/ext/cargo-vendor/wasmtime-20.0.2/src/engine.rs +0 -741
  1301. data/ext/cargo-vendor/wasmtime-20.0.2/src/lib.rs +0 -303
  1302. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/jitdump.rs +0 -66
  1303. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/perfmap.rs +0 -47
  1304. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent/vtune.rs +0 -80
  1305. data/ext/cargo-vendor/wasmtime-20.0.2/src/profiling_agent.rs +0 -105
  1306. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/code.rs +0 -102
  1307. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/code_memory.rs +0 -335
  1308. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/component.rs +0 -661
  1309. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/host.rs +0 -439
  1310. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/options.rs +0 -554
  1311. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func/typed.rs +0 -2484
  1312. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/func.rs +0 -747
  1313. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/instance.rs +0 -804
  1314. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/linker.rs +0 -786
  1315. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/matching.rs +0 -217
  1316. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/mod.rs +0 -756
  1317. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/resource_table.rs +0 -350
  1318. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/resources.rs +0 -1133
  1319. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/storage.rs +0 -43
  1320. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/store.rs +0 -28
  1321. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/types.rs +0 -892
  1322. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/component/values.rs +0 -978
  1323. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/coredump.rs +0 -336
  1324. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/debug.rs +0 -165
  1325. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals/global.rs +0 -300
  1326. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals/table.rs +0 -480
  1327. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/externals.rs +0 -236
  1328. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/func/typed.rs +0 -898
  1329. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/func.rs +0 -2633
  1330. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/anyref.rs +0 -46
  1331. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/externref.rs +0 -50
  1332. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/disabled/rooting.rs +0 -222
  1333. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/anyref.rs +0 -472
  1334. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/externref.rs +0 -644
  1335. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/i31.rs +0 -345
  1336. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc/enabled/rooting.rs +0 -1543
  1337. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/gc.rs +0 -87
  1338. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/instance.rs +0 -992
  1339. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/instantiate.rs +0 -345
  1340. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/limits.rs +0 -398
  1341. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/linker.rs +0 -1521
  1342. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/memory.rs +0 -999
  1343. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/module/registry.rs +0 -354
  1344. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/module.rs +0 -1295
  1345. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/profiling.rs +0 -224
  1346. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/resources.rs +0 -33
  1347. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/signatures.rs +0 -216
  1348. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/stack.rs +0 -73
  1349. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/context.rs +0 -243
  1350. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/data.rs +0 -289
  1351. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store/func_refs.rs +0 -85
  1352. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/store.rs +0 -2796
  1353. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/func.rs +0 -138
  1354. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/global.rs +0 -68
  1355. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/memory.rs +0 -286
  1356. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline/table.rs +0 -34
  1357. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trampoline.rs +0 -77
  1358. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/trap.rs +0 -641
  1359. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/type_registry.rs +0 -632
  1360. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/types/matching.rs +0 -367
  1361. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/types.rs +0 -1378
  1362. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/unix.rs +0 -39
  1363. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/v128.rs +0 -131
  1364. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/values.rs +0 -945
  1365. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime/windows.rs +0 -34
  1366. data/ext/cargo-vendor/wasmtime-20.0.2/src/runtime.rs +0 -112
  1367. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/.cargo-checksum.json +0 -1
  1368. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/Cargo.toml +0 -22
  1369. data/ext/cargo-vendor/wasmtime-asm-macros-20.0.2/src/lib.rs +0 -81
  1370. data/ext/cargo-vendor/wasmtime-cache-20.0.2/.cargo-checksum.json +0 -1
  1371. data/ext/cargo-vendor/wasmtime-cache-20.0.2/Cargo.toml +0 -81
  1372. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/config.rs +0 -584
  1373. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/lib.rs +0 -235
  1374. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/tests.rs +0 -91
  1375. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/worker/tests.rs +0 -758
  1376. data/ext/cargo-vendor/wasmtime-cache-20.0.2/src/worker.rs +0 -890
  1377. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/.cargo-checksum.json +0 -1
  1378. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/Cargo.toml +0 -67
  1379. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/src/bindgen.rs +0 -390
  1380. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/src/component.rs +0 -1295
  1381. data/ext/cargo-vendor/wasmtime-component-macro-20.0.2/tests/codegen.rs +0 -342
  1382. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/.cargo-checksum.json +0 -1
  1383. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/Cargo.toml +0 -25
  1384. data/ext/cargo-vendor/wasmtime-component-util-20.0.2/src/lib.rs +0 -180
  1385. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/.cargo-checksum.json +0 -1
  1386. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/Cargo.toml +0 -114
  1387. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/compiler/component.rs +0 -962
  1388. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/compiler.rs +0 -1369
  1389. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/gc.rs +0 -239
  1390. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/address_transform.rs +0 -783
  1391. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/attr.rs +0 -345
  1392. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/expression.rs +0 -1252
  1393. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/line_program.rs +0 -282
  1394. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/mod.rs +0 -126
  1395. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/simulate.rs +0 -411
  1396. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/unit.rs +0 -522
  1397. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/transform/utils.rs +0 -187
  1398. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug/write_debuginfo.rs +0 -187
  1399. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/debug.rs +0 -18
  1400. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/func_environ.rs +0 -2672
  1401. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/gc/enabled.rs +0 -649
  1402. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/gc.rs +0 -198
  1403. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/lib.rs +0 -505
  1404. data/ext/cargo-vendor/wasmtime-cranelift-20.0.2/src/obj.rs +0 -545
  1405. data/ext/cargo-vendor/wasmtime-environ-20.0.2/.cargo-checksum.json +0 -1
  1406. data/ext/cargo-vendor/wasmtime-environ-20.0.2/Cargo.lock +0 -782
  1407. data/ext/cargo-vendor/wasmtime-environ-20.0.2/Cargo.toml +0 -144
  1408. data/ext/cargo-vendor/wasmtime-environ-20.0.2/examples/factc.rs +0 -205
  1409. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/address_map.rs +0 -72
  1410. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/mod.rs +0 -389
  1411. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/module_artifacts.rs +0 -300
  1412. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/compile/trap_encoding.rs +0 -69
  1413. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/artifacts.rs +0 -72
  1414. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/compiler.rs +0 -19
  1415. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/dfg.rs +0 -690
  1416. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/info.rs +0 -672
  1417. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/translate/adapt.rs +0 -459
  1418. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/translate.rs +0 -965
  1419. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/types/resources.rs +0 -234
  1420. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component/types.rs +0 -1972
  1421. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/component.rs +0 -103
  1422. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/demangling.rs +0 -28
  1423. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/core_types.rs +0 -24
  1424. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/signature.rs +0 -135
  1425. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/trampoline.rs +0 -3233
  1426. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/transcode.rs +0 -89
  1427. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact/traps.rs +0 -115
  1428. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/fact.rs +0 -711
  1429. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/lib.rs +0 -70
  1430. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module.rs +0 -780
  1431. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_artifacts.rs +0 -145
  1432. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_environ.rs +0 -1288
  1433. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/module_types.rs +0 -122
  1434. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/ref_bits.rs +0 -36
  1435. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/scopevec.rs +0 -78
  1436. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/stack_map.rs +0 -36
  1437. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/trap_encoding.rs +0 -188
  1438. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/tunables.rs +0 -158
  1439. data/ext/cargo-vendor/wasmtime-environ-20.0.2/src/vmoffsets.rs +0 -952
  1440. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/.cargo-checksum.json +0 -1
  1441. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/Cargo.toml +0 -63
  1442. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/build.rs +0 -26
  1443. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/lib.rs +0 -328
  1444. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/unix.rs +0 -265
  1445. data/ext/cargo-vendor/wasmtime-fiber-20.0.2/src/windows.rs +0 -166
  1446. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/.cargo-checksum.json +0 -1
  1447. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/Cargo.toml +0 -67
  1448. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/src/gdb_jit_int.rs +0 -130
  1449. data/ext/cargo-vendor/wasmtime-jit-debug-20.0.2/src/perf_jitdump.rs +0 -293
  1450. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/.cargo-checksum.json +0 -1
  1451. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/Cargo.toml +0 -47
  1452. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/lib.rs +0 -108
  1453. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/libc.rs +0 -149
  1454. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/miri.rs +0 -10
  1455. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-20.0.2/src/win.rs +0 -45
  1456. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/.cargo-checksum.json +0 -1
  1457. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/Cargo.toml +0 -147
  1458. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/build.rs +0 -24
  1459. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/arch/aarch64.rs +0 -76
  1460. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/arch/x86_64.rs +0 -41
  1461. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/async_yield.rs +0 -35
  1462. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component/libcalls.rs +0 -571
  1463. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component/resources.rs +0 -351
  1464. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/component.rs +0 -860
  1465. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/cow.rs +0 -888
  1466. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/debug_builtins.rs +0 -59
  1467. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/export.rs +0 -108
  1468. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/disabled.rs +0 -23
  1469. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/drc.rs +0 -963
  1470. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/externref.rs +0 -115
  1471. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled/free_list.rs +0 -767
  1472. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/enabled.rs +0 -18
  1473. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/gc_ref.rs +0 -486
  1474. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/gc_runtime.rs +0 -503
  1475. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/host_data.rs +0 -81
  1476. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc/i31.rs +0 -86
  1477. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/gc.rs +0 -244
  1478. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/imports.rs +0 -27
  1479. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/on_demand.rs +0 -217
  1480. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/gc_heap_pool.rs +0 -92
  1481. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/index_allocator.rs +0 -704
  1482. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/memory_pool.rs +0 -996
  1483. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/stack_pool.rs +0 -242
  1484. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling/table_pool.rs +0 -231
  1485. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator/pooling.rs +0 -699
  1486. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance/allocator.rs +0 -780
  1487. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/instance.rs +0 -1566
  1488. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/lib.rs +0 -289
  1489. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/libcalls.rs +0 -777
  1490. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/memory.rs +0 -751
  1491. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mmap.rs +0 -214
  1492. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mmap_vec.rs +0 -201
  1493. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/module_id.rs +0 -43
  1494. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/enabled.rs +0 -213
  1495. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/mod.rs +0 -54
  1496. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/pkru.rs +0 -104
  1497. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/mpk/sys.rs +0 -113
  1498. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/send_sync_ptr.rs +0 -106
  1499. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/store_box.rs +0 -35
  1500. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/capi.rs +0 -189
  1501. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/mmap.rs +0 -111
  1502. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/mod.rs +0 -24
  1503. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/traphandlers.rs +0 -55
  1504. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/custom/vm.rs +0 -108
  1505. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/mmap.rs +0 -94
  1506. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/mod.rs +0 -10
  1507. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/traphandlers.rs +0 -47
  1508. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/miri/vm.rs +0 -63
  1509. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/mod.rs +0 -33
  1510. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/machports.rs +0 -416
  1511. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/mmap.rs +0 -151
  1512. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/mod.rs +0 -21
  1513. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/signals.rs +0 -401
  1514. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/unwind.rs +0 -149
  1515. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/unix/vm.rs +0 -208
  1516. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/mmap.rs +0 -216
  1517. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/mod.rs +0 -6
  1518. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/traphandlers.rs +0 -104
  1519. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/sys/windows/vm.rs +0 -79
  1520. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/table.rs +0 -851
  1521. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/parking_spot.rs +0 -621
  1522. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/shared_memory.rs +0 -230
  1523. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/threads/shared_memory_disabled.rs +0 -100
  1524. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/backtrace.rs +0 -265
  1525. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/coredump_disabled.rs +0 -16
  1526. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers/coredump_enabled.rs +0 -40
  1527. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/traphandlers.rs +0 -785
  1528. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/vmcontext/vm_host_func_context.rs +0 -137
  1529. data/ext/cargo-vendor/wasmtime-runtime-20.0.2/src/vmcontext.rs +0 -1293
  1530. data/ext/cargo-vendor/wasmtime-slab-20.0.2/.cargo-checksum.json +0 -1
  1531. data/ext/cargo-vendor/wasmtime-slab-20.0.2/Cargo.toml +0 -21
  1532. data/ext/cargo-vendor/wasmtime-slab-20.0.2/src/lib.rs +0 -493
  1533. data/ext/cargo-vendor/wasmtime-types-20.0.2/.cargo-checksum.json +0 -1
  1534. data/ext/cargo-vendor/wasmtime-types-20.0.2/Cargo.toml +0 -36
  1535. data/ext/cargo-vendor/wasmtime-types-20.0.2/src/error.rs +0 -59
  1536. data/ext/cargo-vendor/wasmtime-types-20.0.2/src/lib.rs +0 -832
  1537. data/ext/cargo-vendor/wasmtime-versioned-export-macros-20.0.2/.cargo-checksum.json +0 -1
  1538. data/ext/cargo-vendor/wasmtime-versioned-export-macros-20.0.2/Cargo.toml +0 -32
  1539. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/.cargo-checksum.json +0 -1
  1540. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/Cargo.toml +0 -194
  1541. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/bindings.rs +0 -283
  1542. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/ctx.rs +0 -659
  1543. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/filesystem.rs +0 -433
  1544. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/clocks.rs +0 -103
  1545. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/env.rs +0 -15
  1546. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/exit.rs +0 -11
  1547. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/filesystem/sync.rs +0 -518
  1548. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/filesystem.rs +0 -1079
  1549. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/instance_network.rs +0 -15
  1550. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/io.rs +0 -367
  1551. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/network.rs +0 -539
  1552. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/random.rs +0 -36
  1553. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/tcp.rs +0 -306
  1554. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/tcp_create_socket.rs +0 -15
  1555. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/udp.rs +0 -532
  1556. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/host/udp_create_socket.rs +0 -15
  1557. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/ip_name_lookup.rs +0 -126
  1558. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/lib.rs +0 -404
  1559. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/network.rs +0 -107
  1560. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/pipe.rs +0 -826
  1561. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/poll.rs +0 -233
  1562. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/preview0.rs +0 -879
  1563. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/preview1.rs +0 -2601
  1564. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/src/stdio.rs +0 -507
  1565. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/api.rs +0 -194
  1566. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/async_.rs +0 -397
  1567. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/main.rs +0 -91
  1568. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/preview1.rs +0 -251
  1569. data/ext/cargo-vendor/wasmtime-wasi-20.0.2/tests/all/sync.rs +0 -333
  1570. data/ext/cargo-vendor/wasmtime-winch-20.0.2/.cargo-checksum.json +0 -1
  1571. data/ext/cargo-vendor/wasmtime-winch-20.0.2/Cargo.toml +0 -81
  1572. data/ext/cargo-vendor/wasmtime-winch-20.0.2/src/compiler.rs +0 -257
  1573. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/.cargo-checksum.json +0 -1
  1574. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/Cargo.toml +0 -41
  1575. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/src/lib.rs +0 -2213
  1576. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/src/rust.rs +0 -421
  1577. data/ext/cargo-vendor/wasmtime-wit-bindgen-20.0.2/src/types.rs +0 -202
  1578. data/ext/cargo-vendor/wiggle-20.0.2/.cargo-checksum.json +0 -1
  1579. data/ext/cargo-vendor/wiggle-20.0.2/Cargo.toml +0 -122
  1580. data/ext/cargo-vendor/wiggle-20.0.2/LICENSE +0 -220
  1581. data/ext/cargo-vendor/wiggle-20.0.2/src/borrow.rs +0 -113
  1582. data/ext/cargo-vendor/wiggle-20.0.2/src/guest_type.rs +0 -237
  1583. data/ext/cargo-vendor/wiggle-20.0.2/src/lib.rs +0 -1184
  1584. data/ext/cargo-vendor/wiggle-20.0.2/src/wasmtime.rs +0 -97
  1585. data/ext/cargo-vendor/wiggle-generate-20.0.2/.cargo-checksum.json +0 -1
  1586. data/ext/cargo-vendor/wiggle-generate-20.0.2/Cargo.toml +0 -65
  1587. data/ext/cargo-vendor/wiggle-generate-20.0.2/LICENSE +0 -220
  1588. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/funcs.rs +0 -435
  1589. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/module_trait.rs +0 -102
  1590. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/names.rs +0 -303
  1591. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/types/flags.rs +0 -92
  1592. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/types/handle.rs +0 -84
  1593. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/types/mod.rs +0 -129
  1594. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/types/record.rs +0 -132
  1595. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/types/variant.rs +0 -191
  1596. data/ext/cargo-vendor/wiggle-generate-20.0.2/src/wasmtime.rs +0 -170
  1597. data/ext/cargo-vendor/wiggle-macro-20.0.2/.cargo-checksum.json +0 -1
  1598. data/ext/cargo-vendor/wiggle-macro-20.0.2/Cargo.toml +0 -55
  1599. data/ext/cargo-vendor/wiggle-macro-20.0.2/LICENSE +0 -220
  1600. data/ext/cargo-vendor/wiggle-macro-20.0.2/src/lib.rs +0 -210
  1601. data/ext/cargo-vendor/winch-codegen-0.18.2/.cargo-checksum.json +0 -1
  1602. data/ext/cargo-vendor/winch-codegen-0.18.2/Cargo.toml +0 -81
  1603. data/ext/cargo-vendor/winch-codegen-0.18.2/src/abi/mod.rs +0 -671
  1604. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/context.rs +0 -534
  1605. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/control.rs +0 -972
  1606. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/env.rs +0 -435
  1607. data/ext/cargo-vendor/winch-codegen-0.18.2/src/codegen/mod.rs +0 -756
  1608. data/ext/cargo-vendor/winch-codegen-0.18.2/src/frame/mod.rs +0 -258
  1609. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/abi.rs +0 -291
  1610. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/address.rs +0 -144
  1611. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/asm.rs +0 -252
  1612. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/masm.rs +0 -573
  1613. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/mod.rs +0 -154
  1614. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/aarch64/regs.rs +0 -149
  1615. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/reg.rs +0 -86
  1616. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/x64/asm.rs +0 -1423
  1617. data/ext/cargo-vendor/winch-codegen-0.18.2/src/isa/x64/masm.rs +0 -1256
  1618. data/ext/cargo-vendor/winch-codegen-0.18.2/src/masm.rs +0 -947
  1619. data/ext/cargo-vendor/winch-codegen-0.18.2/src/regalloc.rs +0 -65
  1620. data/ext/cargo-vendor/winch-codegen-0.18.2/src/regset.rs +0 -194
  1621. data/ext/cargo-vendor/winch-codegen-0.18.2/src/stack.rs +0 -439
  1622. data/ext/cargo-vendor/winch-codegen-0.18.2/src/visitor.rs +0 -2149
  1623. data/ext/cargo-vendor/wit-parser-0.202.0/.cargo-checksum.json +0 -1
  1624. data/ext/cargo-vendor/wit-parser-0.202.0/Cargo.toml +0 -101
  1625. data/ext/cargo-vendor/wit-parser-0.202.0/src/ast/resolve.rs +0 -1443
  1626. data/ext/cargo-vendor/wit-parser-0.202.0/src/ast.rs +0 -1348
  1627. data/ext/cargo-vendor/wit-parser-0.202.0/src/decoding.rs +0 -1764
  1628. data/ext/cargo-vendor/wit-parser-0.202.0/src/docs.rs +0 -389
  1629. data/ext/cargo-vendor/wit-parser-0.202.0/src/lib.rs +0 -765
  1630. data/ext/cargo-vendor/wit-parser-0.202.0/src/live.rs +0 -111
  1631. data/ext/cargo-vendor/wit-parser-0.202.0/src/resolve.rs +0 -2240
  1632. data/ext/cargo-vendor/wit-parser-0.202.0/src/serde_.rs +0 -108
  1633. data/ext/cargo-vendor/wit-parser-0.202.0/tests/all.rs +0 -153
  1634. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/complex-include.wit.json +0 -168
  1635. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/diamond1.wit.json +0 -55
  1636. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/disambiguate-diamond.wit.json +0 -107
  1637. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/foreign-deps-union.wit.json +0 -380
  1638. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/foreign-deps.wit.json +0 -344
  1639. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/ignore-files-deps.wit.json +0 -39
  1640. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/import-export-overlap2.wit.json +0 -41
  1641. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/include-reps.wit.json +0 -60
  1642. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/kinds-of-deps.wit.json +0 -87
  1643. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/many-names.wit.json +0 -40
  1644. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/multi-file.wit.json +0 -298
  1645. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -9
  1646. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -9
  1647. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/resources-multiple-returns-borrow.wit.json +0 -74
  1648. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/resources-return-borrow.wit.json +0 -69
  1649. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/shared-types.wit.json +0 -83
  1650. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/stress-export-elaborate.wit.json +0 -1136
  1651. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-diamond.wit.json +0 -118
  1652. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-iface-no-collide.wit.json +0 -66
  1653. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-implicit-import1.wit.json +0 -75
  1654. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-implicit-import2.wit.json +0 -70
  1655. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-implicit-import3.wit.json +0 -71
  1656. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-same-fields4.wit.json +0 -76
  1657. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-top-level-resources.wit +0 -24
  1658. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/world-top-level-resources.wit.json +0 -240
  1659. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/worlds-union-dedup.wit.json +0 -100
  1660. data/ext/cargo-vendor/wit-parser-0.202.0/tests/ui/worlds-with-types.wit.json +0 -202
  1661. data/ext/src/ruby_api/config/tracked_memory_creator.rs +0 -82
  1662. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/LICENSE +0 -0
  1663. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/README.md +0 -0
  1664. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/lib.rs +0 -0
  1665. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/map.rs +0 -0
  1666. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/node.rs +0 -0
  1667. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/path.rs +0 -0
  1668. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/pool.rs +0 -0
  1669. /data/ext/cargo-vendor/{cranelift-bforest-0.107.2 → cranelift-bforest-0.109.0}/src/set.rs +0 -0
  1670. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/LICENSE +0 -0
  1671. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/README.md +0 -0
  1672. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/benches/x64-evex-encoding.rs +0 -0
  1673. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/binemit/mod.rs +0 -0
  1674. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/binemit/stack_map.rs +0 -0
  1675. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/bitset.rs +0 -0
  1676. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/cfg_printer.rs +0 -0
  1677. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/constant_hash.rs +0 -0
  1678. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/cursor.rs +0 -0
  1679. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/data_value.rs +0 -0
  1680. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/dbg.rs +0 -0
  1681. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/egraph/cost.rs +0 -0
  1682. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/flowgraph.rs +0 -0
  1683. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/atomic_rmw_op.rs +0 -0
  1684. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/builder.rs +0 -0
  1685. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/condcodes.rs +0 -0
  1686. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/constant.rs +0 -0
  1687. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/dynamic_type.rs +0 -0
  1688. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/entities.rs +0 -0
  1689. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/extname.rs +0 -0
  1690. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/function.rs +0 -0
  1691. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/globalvalue.rs +0 -0
  1692. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/jumptable.rs +0 -0
  1693. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/known_symbol.rs +0 -0
  1694. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/layout.rs +0 -0
  1695. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/libcall.rs +0 -0
  1696. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/memflags.rs +0 -0
  1697. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/memtype.rs +0 -0
  1698. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/mod.rs +0 -0
  1699. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/pcc.rs +0 -0
  1700. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/progpoint.rs +0 -0
  1701. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/sourceloc.rs +0 -0
  1702. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/ir/trapcode.rs +0 -0
  1703. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  1704. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/inst_neon.isle +0 -0
  1705. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1706. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.isle +0 -0
  1707. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower.rs +0 -0
  1708. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1709. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/mod.rs +0 -0
  1710. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/aarch64/settings.rs +0 -0
  1711. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/call_conv.rs +0 -0
  1712. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  1713. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1714. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/riscv64/lower.rs +0 -0
  1715. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/riscv64/settings.rs +0 -0
  1716. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/inst/unwind.rs +0 -0
  1717. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1718. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/lower/isle.rs +0 -0
  1719. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/lower.rs +0 -0
  1720. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/mod.rs +0 -0
  1721. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/s390x/settings.rs +0 -0
  1722. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/unwind/systemv.rs +0 -0
  1723. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/unwind/winx64.rs +0 -0
  1724. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/unwind.rs +0 -0
  1725. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/evex.rs +0 -0
  1726. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/mod.rs +0 -0
  1727. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/rex.rs +0 -0
  1728. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/encoding/vex.rs +0 -0
  1729. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1730. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/inst/unwind.rs +0 -0
  1731. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1732. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/mod.rs +0 -0
  1733. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/isa/x64/settings.rs +0 -0
  1734. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/iterators.rs +0 -0
  1735. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/legalizer/globalvalue.rs +0 -0
  1736. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/legalizer/mod.rs +0 -0
  1737. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/loop_analysis.rs +0 -0
  1738. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/machinst/compile.rs +0 -0
  1739. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/machinst/helpers.rs +0 -0
  1740. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/machinst/inst_common.rs +0 -0
  1741. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/machinst/pcc.rs +0 -0
  1742. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/README.md +0 -0
  1743. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/bitops.isle +0 -0
  1744. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/extends.isle +0 -0
  1745. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/generated_code.rs +0 -0
  1746. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/remat.isle +0 -0
  1747. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/selects.isle +0 -0
  1748. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/spaceship.isle +0 -0
  1749. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/spectre.isle +0 -0
  1750. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts/vector.isle +0 -0
  1751. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/opts.rs +0 -0
  1752. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/prelude_opt.isle +0 -0
  1753. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/print_errors.rs +0 -0
  1754. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/result.rs +0 -0
  1755. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/souper_harvest.rs +0 -0
  1756. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/unionfind.rs +0 -0
  1757. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/unreachable_code.rs +0 -0
  1758. /data/ext/cargo-vendor/{cranelift-codegen-0.107.2 → cranelift-codegen-0.109.0}/src/value_label.rs +0 -0
  1759. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/LICENSE +0 -0
  1760. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/README.md +0 -0
  1761. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/formats.rs +0 -0
  1762. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/instructions.rs +0 -0
  1763. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/isa.rs +0 -0
  1764. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/mod.rs +0 -0
  1765. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/operands.rs +0 -0
  1766. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/settings.rs +0 -0
  1767. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/cdsl/typevar.rs +0 -0
  1768. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/constant_hash.rs +0 -0
  1769. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/error.rs +0 -0
  1770. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/isa/arm64.rs +0 -0
  1771. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/isa/mod.rs +0 -0
  1772. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/isa/s390x.rs +0 -0
  1773. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/entities.rs +0 -0
  1774. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/formats.rs +0 -0
  1775. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/immediates.rs +0 -0
  1776. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/instructions.rs +0 -0
  1777. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/mod.rs +0 -0
  1778. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/shared/types.rs +0 -0
  1779. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.107.2 → cranelift-codegen-meta-0.109.0}/src/unique_table.rs +0 -0
  1780. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.109.0}/LICENSE +0 -0
  1781. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.109.0}/README.md +0 -0
  1782. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.109.0}/src/constant_hash.rs +0 -0
  1783. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.107.2 → cranelift-codegen-shared-0.109.0}/src/lib.rs +0 -0
  1784. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.109.0}/LICENSE +0 -0
  1785. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.109.0}/README.md +0 -0
  1786. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.109.0}/src/chaos.rs +0 -0
  1787. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.109.0}/src/lib.rs +0 -0
  1788. /data/ext/cargo-vendor/{cranelift-control-0.107.2 → cranelift-control-0.109.0}/src/zero_sized.rs +0 -0
  1789. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/LICENSE +0 -0
  1790. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/README.md +0 -0
  1791. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/boxed_slice.rs +0 -0
  1792. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/iter.rs +0 -0
  1793. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/keys.rs +0 -0
  1794. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/list.rs +0 -0
  1795. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/map.rs +0 -0
  1796. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/packed_option.rs +0 -0
  1797. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/primary.rs +0 -0
  1798. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/sparse.rs +0 -0
  1799. /data/ext/cargo-vendor/{cranelift-entity-0.107.2 → cranelift-entity-0.109.0}/src/unsigned.rs +0 -0
  1800. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.109.0}/LICENSE +0 -0
  1801. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.109.0}/README.md +0 -0
  1802. /data/ext/cargo-vendor/{cranelift-frontend-0.107.2 → cranelift-frontend-0.109.0}/src/variable.rs +0 -0
  1803. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/README.md +0 -0
  1804. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/build.rs +0 -0
  1805. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/bad_converters.isle +0 -0
  1806. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1807. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1808. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/error1.isle +0 -0
  1809. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/extra_parens.isle +0 -0
  1810. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/impure_expression.isle +0 -0
  1811. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/impure_rhs.isle +0 -0
  1812. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1813. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/fail/multi_prio.isle +0 -0
  1814. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/borrows.isle +0 -0
  1815. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/borrows_main.rs +0 -0
  1816. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/iflets.isle +0 -0
  1817. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/iflets_main.rs +0 -0
  1818. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor.isle +0 -0
  1819. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/multi_constructor_main.rs +0 -0
  1820. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor.isle +0 -0
  1821. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/multi_extractor_main.rs +0 -0
  1822. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/test.isle +0 -0
  1823. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/link/test_main.rs +0 -0
  1824. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/bound_var.isle +0 -0
  1825. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  1826. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/conversions.isle +0 -0
  1827. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/conversions_extern.isle +0 -0
  1828. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/let.isle +0 -0
  1829. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/nodebug.isle +0 -0
  1830. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1831. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/test2.isle +0 -0
  1832. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/test3.isle +0 -0
  1833. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/test4.isle +0 -0
  1834. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/pass/tutorial.isle +0 -0
  1835. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/run/iconst.isle +0 -0
  1836. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/run/iconst_main.rs +0 -0
  1837. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing.isle +0 -0
  1838. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  1839. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/ast.rs +0 -0
  1840. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/compile.rs +0 -0
  1841. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/error.rs +0 -0
  1842. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/lexer.rs +0 -0
  1843. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/log.rs +0 -0
  1844. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/overlap.rs +0 -0
  1845. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/src/parser.rs +0 -0
  1846. /data/ext/cargo-vendor/{cranelift-isle-0.107.2 → cranelift-isle-0.109.0}/tests/run_tests.rs +0 -0
  1847. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.109.0}/LICENSE +0 -0
  1848. /data/ext/cargo-vendor/{cranelift-native-0.107.2 → cranelift-native-0.109.0}/README.md +0 -0
  1849. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/LICENSE +0 -0
  1850. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/README.md +0 -0
  1851. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/code_translator/bounds_checks.rs +0 -0
  1852. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/environ/mod.rs +0 -0
  1853. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/heap.rs +0 -0
  1854. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/lib.rs +0 -0
  1855. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/table.rs +0 -0
  1856. /data/ext/cargo-vendor/{cranelift-wasm-0.107.2 → cranelift-wasm-0.109.0}/src/translation_utils.rs +0 -0
  1857. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/README.md +0 -0
  1858. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/clocks.rs +0 -0
  1859. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/lib.rs +0 -0
  1860. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/src/noop_scheduler.rs +0 -0
  1861. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/clocks.rs +0 -0
  1862. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/common/mod.rs +0 -0
  1863. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/random.rs +0 -0
  1864. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.21 → deterministic-wasi-ctx-0.1.22}/tests/scheduler.rs +0 -0
  1865. /data/ext/cargo-vendor/{object-0.33.0 → embedded-io-0.4.0}/LICENSE-APACHE +0 -0
  1866. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/LICENSE-MIT +0 -0
  1867. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/archive.rs +0 -0
  1868. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/error.rs +0 -0
  1869. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/mod.rs +0 -0
  1870. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/build/table.rs +0 -0
  1871. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/lib.rs +0 -0
  1872. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/pe.rs +0 -0
  1873. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/import.rs +0 -0
  1874. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/coff/mod.rs +0 -0
  1875. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/compression.rs +0 -0
  1876. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/dynamic.rs +0 -0
  1877. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/elf/mod.rs +0 -0
  1878. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/fat.rs +0 -0
  1879. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/mod.rs +0 -0
  1880. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/macho/relocation.rs +0 -0
  1881. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/data_directory.rs +0 -0
  1882. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/export.rs +0 -0
  1883. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/mod.rs +0 -0
  1884. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/resource.rs +0 -0
  1885. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/pe/rich.rs +0 -0
  1886. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/read_ref.rs +0 -0
  1887. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/util.rs +0 -0
  1888. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/comdat.rs +0 -0
  1889. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/mod.rs +0 -0
  1890. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/read/xcoff/segment.rs +0 -0
  1891. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/coff/mod.rs +0 -0
  1892. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/elf/mod.rs +0 -0
  1893. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/string.rs +0 -0
  1894. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/write/util.rs +0 -0
  1895. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/src/xcoff.rs +0 -0
  1896. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/parse_self.rs +0 -0
  1897. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/coff.rs +0 -0
  1898. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/read/elf.rs +0 -0
  1899. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/coff.rs +0 -0
  1900. /data/ext/cargo-vendor/{object-0.33.0 → object-0.36.3}/tests/round_trip/macho.rs +0 -0
  1901. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/LICENSE-APACHE +0 -0
  1902. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/LICENSE-MIT +0 -0
  1903. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/bin/release.sh +0 -0
  1904. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/build/features.rs +0 -0
  1905. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/build/version.rs +0 -0
  1906. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/readme.md +0 -0
  1907. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/hidden.rs +0 -0
  1908. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/lib.rs +0 -0
  1909. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/macros.rs +0 -0
  1910. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/memory.rs +0 -0
  1911. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/ruby_abi_version.rs +0 -0
  1912. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/special_consts.rs +0 -0
  1913. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/compiled.c +0 -0
  1914. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/compiled.rs +0 -0
  1915. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_2_6.rs +0 -0
  1916. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_2_7.rs +0 -0
  1917. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_0.rs +0 -0
  1918. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_1.rs +0 -0
  1919. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_2.rs +0 -0
  1920. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api/ruby_3_3.rs +0 -0
  1921. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/stable_api.rs +0 -0
  1922. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/symbol.rs +0 -0
  1923. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/utils.rs +0 -0
  1924. /data/ext/cargo-vendor/{rb-sys-0.9.97 → rb-sys-0.9.100}/src/value_type.rs +0 -0
  1925. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/LICENSE-APACHE +0 -0
  1926. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/LICENSE-MIT +0 -0
  1927. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/bindings/sanitizer.rs +0 -0
  1928. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/bindings/wrapper.h +0 -0
  1929. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/lib.rs +0 -0
  1930. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/flags.rs +0 -0
  1931. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/library.rs +0 -0
  1932. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config/search_path.rs +0 -0
  1933. /data/ext/cargo-vendor/{rb-sys-build-0.9.97 → rb-sys-build-0.9.100}/src/rb_config.rs +0 -0
  1934. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/LICENSE +0 -0
  1935. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/README.md +0 -0
  1936. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/clocks.rs +0 -0
  1937. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/ctx.rs +0 -0
  1938. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/dir.rs +0 -0
  1939. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/error.rs +0 -0
  1940. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/file.rs +0 -0
  1941. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/lib.rs +0 -0
  1942. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/pipe.rs +0 -0
  1943. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/random.rs +0 -0
  1944. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sched/subscription.rs +0 -0
  1945. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sched.rs +0 -0
  1946. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/snapshots/mod.rs +0 -0
  1947. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1948. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/clocks.rs +0 -0
  1949. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/dir.rs +0 -0
  1950. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/file.rs +0 -0
  1951. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/mod.rs +0 -0
  1952. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/net.rs +0 -0
  1953. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/sched/unix.rs +0 -0
  1954. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/sched.rs +0 -0
  1955. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/sync/stdio.rs +0 -0
  1956. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/table.rs +0 -0
  1957. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/dir.rs +0 -0
  1958. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/mod.rs +0 -0
  1959. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/net.rs +0 -0
  1960. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/sched/unix.rs +0 -0
  1961. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/sched/windows.rs +0 -0
  1962. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/sched.rs +0 -0
  1963. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/src/tokio/stdio.rs +0 -0
  1964. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/witx/preview0/typenames.witx +0 -0
  1965. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1966. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/witx/preview1/typenames.witx +0 -0
  1967. /data/ext/cargo-vendor/{wasi-common-20.0.2 → wasi-common-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1968. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/README.md +0 -0
  1969. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/benches/benchmark.rs +0 -0
  1970. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/examples/simple.rs +0 -0
  1971. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/component/aliases.rs +0 -0
  1972. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/component/exports.rs +0 -0
  1973. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/component.rs +0 -0
  1974. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/core/exports.rs +0 -0
  1975. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/core/functions.rs +0 -0
  1976. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/core/imports.rs +0 -0
  1977. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/src/readers/core/tags.rs +0 -0
  1978. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmparser-0.209.1}/tests/big-module.rs +0 -0
  1979. /data/ext/cargo-vendor/{wasm-encoder-0.202.0 → wasmprinter-0.209.1}/LICENSE +0 -0
  1980. /data/ext/cargo-vendor/{wasmprinter-0.202.0 → wasmprinter-0.209.1}/README.md +0 -0
  1981. /data/ext/cargo-vendor/{wasmparser-0.202.0 → wasmtime-22.0.0}/LICENSE +0 -0
  1982. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-22.0.0}/README.md +0 -0
  1983. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/proptest-regressions → wasmtime-22.0.0/proptest-regressions/runtime/vm}/instance/allocator/pooling/memory_pool.txt +0 -0
  1984. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-22.0.0}/src/runtime/gc/disabled/i31.rs +0 -0
  1985. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-22.0.0}/src/runtime/gc/disabled.rs +0 -0
  1986. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-22.0.0}/src/runtime/gc/enabled.rs +0 -0
  1987. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-22.0.0}/src/runtime/uninhabited.rs +0 -0
  1988. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/arch/mod.rs +0 -0
  1989. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/arch/riscv64.rs +0 -0
  1990. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/arch/s390x.S +0 -0
  1991. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/arch/s390x.rs +0 -0
  1992. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/helpers.c +0 -0
  1993. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/mpk/disabled.rs +0 -0
  1994. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/sys/custom/unwind.rs +0 -0
  1995. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/sys/miri/unwind.rs +0 -0
  1996. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/sys/unix/macos_traphandlers.rs +0 -0
  1997. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/sys/windows/unwind.rs +0 -0
  1998. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2/src → wasmtime-22.0.0/src/runtime/vm}/threads/mod.rs +0 -0
  1999. /data/ext/cargo-vendor/{wasmprinter-0.202.0 → wasmtime-cache-22.0.0}/LICENSE +0 -0
  2000. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-22.0.0}/build.rs +0 -0
  2001. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-22.0.0}/src/config/tests.rs +0 -0
  2002. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-22.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  2003. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-cache-22.0.0}/tests/cache_write_default_config.rs +0 -0
  2004. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/build.rs +0 -0
  2005. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/src/lib.rs +0 -0
  2006. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/char.wit +0 -0
  2007. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/conventions.wit +0 -0
  2008. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/dead-code.wit +0 -0
  2009. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/direct-import.wit +0 -0
  2010. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/empty.wit +0 -0
  2011. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/flags.wit +0 -0
  2012. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/floats.wit +0 -0
  2013. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/function-new.wit +0 -0
  2014. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/integers.wit +0 -0
  2015. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/lists.wit +0 -0
  2016. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/many-arguments.wit +0 -0
  2017. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/multi-return.wit +0 -0
  2018. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  2019. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  2020. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/multiversion/root.wit +0 -0
  2021. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/records.wit +0 -0
  2022. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/rename.wit +0 -0
  2023. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-export.wit +0 -0
  2024. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/resources-import.wit +0 -0
  2025. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/share-types.wit +0 -0
  2026. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-functions.wit +0 -0
  2027. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-lists.wit +0 -0
  2028. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/simple-wasi.wit +0 -0
  2029. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/small-anonymous.wit +0 -0
  2030. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-default.wit +0 -0
  2031. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke-export.wit +0 -0
  2032. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/smoke.wit +0 -0
  2033. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/strings.wit +0 -0
  2034. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/unversioned-foo.wit +0 -0
  2035. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/use-paths.wit +0 -0
  2036. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/variants.wit +0 -0
  2037. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/wat.wit +0 -0
  2038. /data/ext/cargo-vendor/{wasmtime-component-macro-20.0.2 → wasmtime-component-macro-22.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  2039. /data/ext/cargo-vendor/{wasmtime-20.0.2 → wasmtime-cranelift-22.0.0}/LICENSE +0 -0
  2040. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/SECURITY.md +0 -0
  2041. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/builder.rs +0 -0
  2042. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/compiled_function.rs +0 -0
  2043. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  2044. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/debug/transform/refs.rs +0 -0
  2045. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/gc/disabled.rs +0 -0
  2046. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-cranelift-22.0.0}/src/isa_builder.rs +0 -0
  2047. /data/ext/cargo-vendor/{wasmtime-cache-20.0.2 → wasmtime-environ-22.0.0}/LICENSE +0 -0
  2048. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/address_map.rs +0 -0
  2049. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/builtin.rs +0 -0
  2050. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/component/translate/inline.rs +0 -0
  2051. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  2052. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/gc.rs +0 -0
  2053. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-environ-22.0.0}/src/obj.rs +0 -0
  2054. /data/ext/cargo-vendor/{wasmtime-cranelift-20.0.2 → wasmtime-fiber-22.0.0}/LICENSE +0 -0
  2055. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/aarch64.rs +0 -0
  2056. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/arm.rs +0 -0
  2057. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/riscv64.rs +0 -0
  2058. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/s390x.S +0 -0
  2059. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/x86.rs +0 -0
  2060. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/unix/x86_64.rs +0 -0
  2061. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-fiber-22.0.0}/src/windows.c +0 -0
  2062. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-22.0.0}/README.md +0 -0
  2063. /data/ext/cargo-vendor/{wasmtime-jit-debug-20.0.2 → wasmtime-jit-debug-22.0.0}/src/lib.rs +0 -0
  2064. /data/ext/cargo-vendor/{wasmtime-environ-20.0.2 → wasmtime-types-22.0.0}/LICENSE +0 -0
  2065. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-20.0.2 → wasmtime-versioned-export-macros-22.0.0}/src/lib.rs +0 -0
  2066. /data/ext/cargo-vendor/{wasmtime-fiber-20.0.2 → wasmtime-wasi-22.0.0}/LICENSE +0 -0
  2067. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/README.md +0 -0
  2068. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/clocks/host.rs +0 -0
  2069. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/clocks.rs +0 -0
  2070. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/error.rs +0 -0
  2071. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/host/mod.rs +0 -0
  2072. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/random.rs +0 -0
  2073. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/runtime.rs +0 -0
  2074. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/stdio/worker_thread_stdin.rs +0 -0
  2075. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/stream.rs +0 -0
  2076. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/tcp.rs +0 -0
  2077. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/udp.rs +0 -0
  2078. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/src/write_stream.rs +0 -0
  2079. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/tests/process_stdin.rs +0 -0
  2080. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/command-extended.wit +0 -0
  2081. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/command.wit +0 -0
  2082. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/environment.wit +0 -0
  2083. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/exit.wit +0 -0
  2084. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/imports.wit +0 -0
  2085. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/run.wit +0 -0
  2086. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/stdio.wit +0 -0
  2087. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/cli/terminal.wit +0 -0
  2088. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/clocks/monotonic-clock.wit +0 -0
  2089. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/clocks/wall-clock.wit +0 -0
  2090. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/clocks/world.wit +0 -0
  2091. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/preopens.wit +0 -0
  2092. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/types.wit +0 -0
  2093. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/filesystem/world.wit +0 -0
  2094. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/http/handler.wit +0 -0
  2095. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/http/proxy.wit +0 -0
  2096. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/http/types.wit +0 -0
  2097. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/io/error.wit +0 -0
  2098. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/io/poll.wit +0 -0
  2099. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/io/streams.wit +0 -0
  2100. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/io/world.wit +0 -0
  2101. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure-seed.wit +0 -0
  2102. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/random/insecure.wit +0 -0
  2103. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/random/random.wit +0 -0
  2104. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/random/world.wit +0 -0
  2105. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/instance-network.wit +0 -0
  2106. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  2107. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/network.wit +0 -0
  2108. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  2109. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/tcp.wit +0 -0
  2110. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp-create-socket.wit +0 -0
  2111. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/udp.wit +0 -0
  2112. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/deps/sockets/world.wit +0 -0
  2113. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/wit/test.wit +0 -0
  2114. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/witx/preview0/typenames.witx +0 -0
  2115. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  2116. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/witx/preview1/typenames.witx +0 -0
  2117. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wasmtime-wasi-22.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  2118. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-22.0.0}/LICENSE +0 -0
  2119. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-22.0.0}/src/builder.rs +0 -0
  2120. /data/ext/cargo-vendor/{wasmtime-winch-20.0.2 → wasmtime-winch-22.0.0}/src/lib.rs +0 -0
  2121. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-20.0.2 → wasmtime-wit-bindgen-22.0.0}/src/source.rs +0 -0
  2122. /data/ext/cargo-vendor/{wasmtime-runtime-20.0.2 → wiggle-22.0.0}/LICENSE +0 -0
  2123. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-22.0.0}/README.md +0 -0
  2124. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-22.0.0}/src/error.rs +0 -0
  2125. /data/ext/cargo-vendor/{wiggle-20.0.2 → wiggle-22.0.0}/src/region.rs +0 -0
  2126. /data/ext/cargo-vendor/{wasmtime-types-20.0.2 → wiggle-generate-22.0.0}/LICENSE +0 -0
  2127. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/README.md +0 -0
  2128. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/src/codegen_settings.rs +0 -0
  2129. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/src/config.rs +0 -0
  2130. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/src/lib.rs +0 -0
  2131. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/src/lifetimes.rs +0 -0
  2132. /data/ext/cargo-vendor/{wiggle-generate-20.0.2 → wiggle-generate-22.0.0}/src/types/error.rs +0 -0
  2133. /data/ext/cargo-vendor/{wasmtime-wasi-20.0.2 → wiggle-macro-22.0.0}/LICENSE +0 -0
  2134. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/LICENSE +0 -0
  2135. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/build.rs +0 -0
  2136. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/abi/local.rs +0 -0
  2137. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/codegen/bounds.rs +0 -0
  2138. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/codegen/builtin.rs +0 -0
  2139. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/codegen/call.rs +0 -0
  2140. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/isa/mod.rs +0 -0
  2141. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/isa/x64/abi.rs +0 -0
  2142. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/isa/x64/address.rs +0 -0
  2143. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/isa/x64/mod.rs +0 -0
  2144. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/isa/x64/regs.rs +0 -0
  2145. /data/ext/cargo-vendor/{winch-codegen-0.18.2 → winch-codegen-0.20.0}/src/lib.rs +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/README.md +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/src/abi.rs +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/src/ast/lex.rs +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/src/ast/toposort.rs +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/src/sizealign.rs +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/comments.wit +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/comments.wit.json +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/complex-include/root.wit +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource/foo.wit +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/cross-package-resource.wit.json +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/diamond1/join.wit +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  2164. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/disambiguate-diamond/world.wit +0 -0
  2165. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/empty.wit +0 -0
  2166. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/empty.wit.json +0 -0
  2167. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  2168. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  2169. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  2170. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  2171. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  2172. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  2173. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  2174. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps/root.wit +0 -0
  2175. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  2176. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  2177. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  2178. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  2179. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  2180. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  2181. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  2182. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  2183. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/foreign-deps-union/root.wit +0 -0
  2184. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/functions.wit +0 -0
  2185. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/functions.wit.json +0 -0
  2186. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  2187. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  2188. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/ignore-files-deps/world.wit +0 -0
  2189. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit +0 -0
  2190. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap1.wit.json +0 -0
  2191. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/import-export-overlap2.wit +0 -0
  2192. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/include-reps.wit +0 -0
  2193. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit +0 -0
  2194. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kebab-name-include-with.wit.json +0 -0
  2195. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/a.wit +0 -0
  2196. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  2197. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  2198. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  2199. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  2200. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/many-names/a.wit +0 -0
  2201. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/many-names/b.wit +0 -0
  2202. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/multi-file/bar.wit +0 -0
  2203. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-a.wit +0 -0
  2204. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/multi-file/cycle-b.wit +0 -0
  2205. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/multi-file/foo.wit +0 -0
  2206. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  2207. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  2208. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  2209. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit +0 -0
  2210. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax1.wit.json +0 -0
  2211. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit +0 -0
  2212. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax3.wit.json +0 -0
  2213. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit +0 -0
  2214. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/package-syntax4.wit.json +0 -0
  2215. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  2216. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  2217. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async.wit.result +0 -0
  2218. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/async1.wit.result +0 -0
  2219. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit +0 -0
  2220. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  2221. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit +0 -0
  2222. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  2223. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit +0 -0
  2224. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  2225. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit +0 -0
  2226. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  2227. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit +0 -0
  2228. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  2229. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit +0 -0
  2230. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  2231. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  2232. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg1.wit.result +0 -0
  2233. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  2234. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  2235. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg2.wit.result +0 -0
  2236. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  2237. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  2238. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg3.wit.result +0 -0
  2239. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  2240. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  2241. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg4.wit.result +0 -0
  2242. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  2243. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  2244. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg5.wit.result +0 -0
  2245. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  2246. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  2247. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-pkg6.wit.result +0 -0
  2248. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  2249. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  2250. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  2251. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  2252. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  2253. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  2254. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  2255. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  2256. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  2257. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  2258. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  2259. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  2260. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  2261. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  2262. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource15.wit.result +0 -0
  2263. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  2264. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  2265. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  2266. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  2267. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  2268. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  2269. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  2270. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  2271. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  2272. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  2273. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  2274. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  2275. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  2276. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  2277. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  2278. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  2279. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  2280. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  2281. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  2282. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  2283. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit +0 -0
  2284. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle.wit.result +0 -0
  2285. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit +0 -0
  2286. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  2287. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit +0 -0
  2288. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  2289. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit +0 -0
  2290. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  2291. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit +0 -0
  2292. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  2293. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit +0 -0
  2294. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  2295. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  2296. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  2297. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  2298. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  2299. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  2300. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  2301. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  2302. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  2303. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -0
  2304. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  2305. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  2306. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit +0 -0
  2307. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  2308. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  2309. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  2310. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit +0 -0
  2311. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  2312. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  2313. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  2314. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  2315. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  2316. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  2317. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  2318. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  2319. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  2320. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  2321. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  2322. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit +0 -0
  2323. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  2324. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit +0 -0
  2325. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  2326. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  2327. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  2328. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-foreign.wit.result +0 -0
  2329. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit +0 -0
  2330. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  2331. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  2332. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  2333. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  2334. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  2335. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  2336. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  2337. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  2338. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2339. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2340. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2341. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2342. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2343. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit +0 -0
  2344. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2345. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit +0 -0
  2346. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2347. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2348. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2349. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2350. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2351. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -0
  2352. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2353. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2354. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -0
  2355. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2356. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2357. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle.wit.result +0 -0
  2358. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2359. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2360. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2361. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -0
  2362. /data/ext/cargo-vendor/{wit-parser-0.202.0/tests/ui → wit-parser-0.209.1/tests/ui/parse-fail}/resources-multiple-returns-borrow.wit +0 -0
  2363. /data/ext/cargo-vendor/{wit-parser-0.202.0/tests/ui → wit-parser-0.209.1/tests/ui/parse-fail}/resources-return-borrow.wit +0 -0
  2364. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2365. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2366. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -0
  2367. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2368. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2369. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2370. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2371. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2372. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2373. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2374. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2375. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2376. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2377. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2378. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2379. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2380. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2381. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2382. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2383. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use10.wit.result +0 -0
  2384. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2385. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2386. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2387. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2388. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2389. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2390. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2391. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2392. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2393. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2394. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2395. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2396. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2397. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-and-include-world.wit.result +0 -0
  2398. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2399. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2400. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2401. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2402. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2403. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2404. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2405. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2406. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2407. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2408. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2409. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2410. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2411. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2412. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/use-world.wit.result +0 -0
  2413. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2414. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2415. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2416. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2417. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2418. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2419. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2420. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2421. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2422. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2423. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/random.wit +0 -0
  2424. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/random.wit.json +0 -0
  2425. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit +0 -0
  2426. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-empty.wit.json +0 -0
  2427. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2428. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2429. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit +0 -0
  2430. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-multiple.wit.json +0 -0
  2431. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit +0 -0
  2432. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources-return-own.wit.json +0 -0
  2433. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources.wit +0 -0
  2434. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources.wit.json +0 -0
  2435. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources1.wit +0 -0
  2436. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/resources1.wit.json +0 -0
  2437. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit +0 -0
  2438. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/same-name-import-export.wit.json +0 -0
  2439. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/shared-types.wit +0 -0
  2440. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wat +0 -0
  2441. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/simple-wasm-text.wit.json +0 -0
  2442. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/stress-export-elaborate.wit +0 -0
  2443. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit +0 -0
  2444. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/type-then-eof.wit.json +0 -0
  2445. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/types.wit +0 -0
  2446. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/types.wit.json +0 -0
  2447. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit +0 -0
  2448. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-1.wit.json +0 -0
  2449. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit +0 -0
  2450. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/union-fuzz-2.wit.json +0 -0
  2451. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit +0 -0
  2452. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/use-chain.wit.json +0 -0
  2453. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/use.wit +0 -0
  2454. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/use.wit.json +0 -0
  2455. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2456. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2457. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/versions/foo.wit +0 -0
  2458. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/versions.wit.json +0 -0
  2459. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/wasi.wit +0 -0
  2460. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/wasi.wit.json +0 -0
  2461. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-diamond.wit +0 -0
  2462. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-iface-no-collide.wit +0 -0
  2463. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import1.wit +0 -0
  2464. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import2.wit +0 -0
  2465. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-implicit-import3.wit +0 -0
  2466. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-same-fields4.wit +0 -0
  2467. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit +0 -0
  2468. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2469. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/worlds-union-dedup.wit +0 -0
  2470. /data/ext/cargo-vendor/{wit-parser-0.202.0 → wit-parser-0.209.1}/tests/ui/worlds-with-types.wit +0 -0
@@ -0,0 +1,3234 @@
1
+ //! Low-level compilation of an fused adapter function.
2
+ //!
3
+ //! This module is tasked with the top-level `compile` function which creates a
4
+ //! single WebAssembly function which will perform the steps of the fused
5
+ //! adapter for an `AdapterData` provided. This is the "meat" of compilation
6
+ //! where the validation of the canonical ABI or similar all happens to
7
+ //! translate arguments from one module to another.
8
+ //!
9
+ //! ## Traps and their ordering
10
+ //!
11
+ //! Currently this compiler is pretty "loose" about the ordering of precisely
12
+ //! what trap happens where. The main reason for this is that to core wasm all
13
+ //! traps are the same and for fused adapters if a trap happens no intermediate
14
+ //! side effects are visible (as designed by the canonical ABI itself). For this
15
+ //! it's important to note that some of the precise choices of control flow here
16
+ //! can be somewhat arbitrary, an intentional decision.
17
+
18
+ use crate::component::{
19
+ CanonicalAbiInfo, ComponentTypesBuilder, FixedEncoding as FE, FlatType, InterfaceType,
20
+ StringEncoding, Transcode, TypeEnumIndex, TypeFlagsIndex, TypeListIndex, TypeOptionIndex,
21
+ TypeRecordIndex, TypeResourceTableIndex, TypeResultIndex, TypeTupleIndex, TypeVariantIndex,
22
+ VariantInfo, FLAG_MAY_ENTER, FLAG_MAY_LEAVE, MAX_FLAT_PARAMS, MAX_FLAT_RESULTS,
23
+ };
24
+ use crate::fact::signature::Signature;
25
+ use crate::fact::transcode::Transcoder;
26
+ use crate::fact::traps::Trap;
27
+ use crate::fact::{
28
+ AdapterData, Body, Context, Function, FunctionId, Helper, HelperLocation, HelperType, Module,
29
+ Options,
30
+ };
31
+ use crate::prelude::*;
32
+ use crate::{FuncIndex, GlobalIndex};
33
+ use std::collections::HashMap;
34
+ use std::mem;
35
+ use std::ops::Range;
36
+ use wasm_encoder::{BlockType, Encode, Instruction, Instruction::*, MemArg, ValType};
37
+ use wasmtime_component_util::{DiscriminantSize, FlagsSize};
38
+
39
+ const MAX_STRING_BYTE_LENGTH: u32 = 1 << 31;
40
+ const UTF16_TAG: u32 = 1 << 31;
41
+
42
+ /// This value is arbitrarily chosen and should be fine to change at any time,
43
+ /// it just seemed like a halfway reasonable starting point.
44
+ const INITIAL_FUEL: usize = 1_000;
45
+
46
+ struct Compiler<'a, 'b> {
47
+ types: &'a ComponentTypesBuilder,
48
+ module: &'b mut Module<'a>,
49
+ result: FunctionId,
50
+
51
+ /// The encoded WebAssembly function body so far, not including locals.
52
+ code: Vec<u8>,
53
+
54
+ /// Total number of locals generated so far.
55
+ nlocals: u32,
56
+
57
+ /// Locals partitioned by type which are not currently in use.
58
+ free_locals: HashMap<ValType, Vec<u32>>,
59
+
60
+ /// Metadata about all `unreachable` trap instructions in this function and
61
+ /// what the trap represents. The offset within `self.code` is recorded as
62
+ /// well.
63
+ traps: Vec<(usize, Trap)>,
64
+
65
+ /// A heuristic which is intended to limit the size of a generated function
66
+ /// to a certain maximum to avoid generating arbitrarily large functions.
67
+ ///
68
+ /// This fuel counter is decremented each time `translate` is called and
69
+ /// when fuel is entirely consumed further translations, if necessary, will
70
+ /// be done through calls to other functions in the module. This is intended
71
+ /// to be a heuristic to split up the main function into theoretically
72
+ /// reusable portions.
73
+ fuel: usize,
74
+
75
+ /// Indicates whether an "enter call" should be emitted in the generated
76
+ /// function with a call to `Resource{Enter,Exit}Call` at the beginning and
77
+ /// end of the function for tracking of information related to borrowed
78
+ /// resources.
79
+ emit_resource_call: bool,
80
+ }
81
+
82
+ pub(super) fn compile(module: &mut Module<'_>, adapter: &AdapterData) {
83
+ let lower_sig = module.types.signature(&adapter.lower, Context::Lower);
84
+ let lift_sig = module.types.signature(&adapter.lift, Context::Lift);
85
+ let ty = module
86
+ .core_types
87
+ .function(&lower_sig.params, &lower_sig.results);
88
+ let result = module
89
+ .funcs
90
+ .push(Function::new(Some(adapter.name.clone()), ty));
91
+
92
+ // If this type signature contains any borrowed resources then invocations
93
+ // of enter/exit call for resource-related metadata tracking must be used.
94
+ // It shouldn't matter whether the lower/lift signature is used here as both
95
+ // should return the same answer.
96
+ let emit_resource_call = module.types.contains_borrow_resource(&adapter.lower);
97
+ assert_eq!(
98
+ emit_resource_call,
99
+ module.types.contains_borrow_resource(&adapter.lift)
100
+ );
101
+
102
+ Compiler {
103
+ types: module.types,
104
+ module,
105
+ code: Vec::new(),
106
+ nlocals: lower_sig.params.len() as u32,
107
+ free_locals: HashMap::new(),
108
+ traps: Vec::new(),
109
+ result,
110
+ fuel: INITIAL_FUEL,
111
+ emit_resource_call,
112
+ }
113
+ .compile_adapter(adapter, &lower_sig, &lift_sig)
114
+ }
115
+
116
+ /// Compiles a helper function as specified by the `Helper` configuration.
117
+ ///
118
+ /// This function is invoked when the translation process runs out of fuel for
119
+ /// some prior function which enqueues a helper to get translated later. This
120
+ /// translation function will perform one type translation as specified by
121
+ /// `Helper` which can either be in the stack or memory for each side.
122
+ pub(super) fn compile_helper(module: &mut Module<'_>, result: FunctionId, helper: Helper) {
123
+ let mut nlocals = 0;
124
+ let src_flat;
125
+ let src = match helper.src.loc {
126
+ // If the source is on the stack then it's specified in the parameters
127
+ // to the function, so this creates the flattened representation and
128
+ // then lists those as the locals with appropriate types for the source
129
+ // values.
130
+ HelperLocation::Stack => {
131
+ src_flat = module
132
+ .types
133
+ .flatten_types(&helper.src.opts, usize::MAX, [helper.src.ty])
134
+ .unwrap()
135
+ .iter()
136
+ .enumerate()
137
+ .map(|(i, ty)| (i as u32, *ty))
138
+ .collect::<Vec<_>>();
139
+ nlocals += src_flat.len() as u32;
140
+ Source::Stack(Stack {
141
+ locals: &src_flat,
142
+ opts: &helper.src.opts,
143
+ })
144
+ }
145
+ // If the source is in memory then that's just propagated here as the
146
+ // first local is the pointer to the source.
147
+ HelperLocation::Memory => {
148
+ nlocals += 1;
149
+ Source::Memory(Memory {
150
+ opts: &helper.src.opts,
151
+ addr: TempLocal::new(0, helper.src.opts.ptr()),
152
+ offset: 0,
153
+ })
154
+ }
155
+ };
156
+ let dst_flat;
157
+ let dst = match helper.dst.loc {
158
+ // This is the same as the stack-based source although `Destination` is
159
+ // configured slightly differently.
160
+ HelperLocation::Stack => {
161
+ dst_flat = module
162
+ .types
163
+ .flatten_types(&helper.dst.opts, usize::MAX, [helper.dst.ty])
164
+ .unwrap();
165
+ Destination::Stack(&dst_flat, &helper.dst.opts)
166
+ }
167
+ // This is the same as a memroy-based source but note that the address
168
+ // of the destination is passed as the final parameter to the function.
169
+ HelperLocation::Memory => {
170
+ nlocals += 1;
171
+ Destination::Memory(Memory {
172
+ opts: &helper.dst.opts,
173
+ addr: TempLocal::new(nlocals - 1, helper.dst.opts.ptr()),
174
+ offset: 0,
175
+ })
176
+ }
177
+ };
178
+ let mut compiler = Compiler {
179
+ types: module.types,
180
+ module,
181
+ code: Vec::new(),
182
+ nlocals,
183
+ free_locals: HashMap::new(),
184
+ traps: Vec::new(),
185
+ result,
186
+ fuel: INITIAL_FUEL,
187
+ // This is a helper function and only the top-level function is
188
+ // responsible for emitting these intrinsic calls.
189
+ emit_resource_call: false,
190
+ };
191
+ compiler.translate(&helper.src.ty, &src, &helper.dst.ty, &dst);
192
+ compiler.finish();
193
+ }
194
+
195
+ /// Possible ways that a interface value is represented in the core wasm
196
+ /// canonical ABI.
197
+ enum Source<'a> {
198
+ /// This value is stored on the "stack" in wasm locals.
199
+ ///
200
+ /// This could mean that it's inline from the parameters to the function or
201
+ /// that after a function call the results were stored in locals and the
202
+ /// locals are the inline results.
203
+ Stack(Stack<'a>),
204
+
205
+ /// This value is stored in linear memory described by the `Memory`
206
+ /// structure.
207
+ Memory(Memory<'a>),
208
+ }
209
+
210
+ /// Same as `Source` but for where values are translated into.
211
+ enum Destination<'a> {
212
+ /// This value is destined for the WebAssembly stack which means that
213
+ /// results are simply pushed as we go along.
214
+ ///
215
+ /// The types listed are the types that are expected to be on the stack at
216
+ /// the end of translation.
217
+ Stack(&'a [ValType], &'a Options),
218
+
219
+ /// This value is to be placed in linear memory described by `Memory`.
220
+ Memory(Memory<'a>),
221
+ }
222
+
223
+ struct Stack<'a> {
224
+ /// The locals that comprise a particular value.
225
+ ///
226
+ /// The length of this list represents the flattened list of types that make
227
+ /// up the component value. Each list has the index of the local being
228
+ /// accessed as well as the type of the local itself.
229
+ locals: &'a [(u32, ValType)],
230
+ /// The lifting/lowering options for where this stack of values comes from
231
+ opts: &'a Options,
232
+ }
233
+
234
+ /// Representation of where a value is going to be stored in linear memory.
235
+ struct Memory<'a> {
236
+ /// The lifting/lowering options with memory configuration
237
+ opts: &'a Options,
238
+ /// The index of the local that contains the base address of where the
239
+ /// storage is happening.
240
+ addr: TempLocal,
241
+ /// A "static" offset that will be baked into wasm instructions for where
242
+ /// memory loads/stores happen.
243
+ offset: u32,
244
+ }
245
+
246
+ impl Compiler<'_, '_> {
247
+ fn compile_adapter(
248
+ mut self,
249
+ adapter: &AdapterData,
250
+ lower_sig: &Signature,
251
+ lift_sig: &Signature,
252
+ ) {
253
+ // Check the instance flags required for this trampoline.
254
+ //
255
+ // This inserts the initial check required by `canon_lower` that the
256
+ // caller instance can be left and additionally checks the
257
+ // flags on the callee if necessary whether it can be entered.
258
+ self.trap_if_not_flag(adapter.lower.flags, FLAG_MAY_LEAVE, Trap::CannotLeave);
259
+ if adapter.called_as_export {
260
+ self.trap_if_not_flag(adapter.lift.flags, FLAG_MAY_ENTER, Trap::CannotEnter);
261
+ self.set_flag(adapter.lift.flags, FLAG_MAY_ENTER, false);
262
+ } else if self.module.debug {
263
+ self.assert_not_flag(
264
+ adapter.lift.flags,
265
+ FLAG_MAY_ENTER,
266
+ "may_enter should be unset",
267
+ );
268
+ }
269
+
270
+ if self.emit_resource_call {
271
+ let enter = self.module.import_resource_enter_call();
272
+ self.instruction(Call(enter.as_u32()));
273
+ }
274
+
275
+ // Perform the translation of arguments. Note that `FLAG_MAY_LEAVE` is
276
+ // cleared around this invocation for the callee as per the
277
+ // `canon_lift` definition in the spec. Additionally note that the
278
+ // precise ordering of traps here is not required since internal state
279
+ // is not visible to either instance and a trap will "lock down" both
280
+ // instances to no longer be visible. This means that we're free to
281
+ // reorder lifts/lowers and flags and such as is necessary and
282
+ // convenient here.
283
+ //
284
+ // TODO: if translation doesn't actually call any functions in either
285
+ // instance then there's no need to set/clear the flag here and that can
286
+ // be optimized away.
287
+ self.set_flag(adapter.lift.flags, FLAG_MAY_LEAVE, false);
288
+ let param_locals = lower_sig
289
+ .params
290
+ .iter()
291
+ .enumerate()
292
+ .map(|(i, ty)| (i as u32, *ty))
293
+ .collect::<Vec<_>>();
294
+ self.translate_params(adapter, &param_locals);
295
+ self.set_flag(adapter.lift.flags, FLAG_MAY_LEAVE, true);
296
+
297
+ // With all the arguments on the stack the actual target function is
298
+ // now invoked. The core wasm results of the function are then placed
299
+ // into locals for result translation afterwards.
300
+ self.instruction(Call(adapter.callee.as_u32()));
301
+ let mut result_locals = Vec::with_capacity(lift_sig.results.len());
302
+ let mut temps = Vec::new();
303
+ for ty in lift_sig.results.iter().rev() {
304
+ let local = self.local_set_new_tmp(*ty);
305
+ result_locals.push((local.idx, *ty));
306
+ temps.push(local);
307
+ }
308
+ result_locals.reverse();
309
+
310
+ // Like above during the translation of results the caller cannot be
311
+ // left (as we might invoke things like `realloc`). Again the precise
312
+ // order of everything doesn't matter since intermediate states cannot
313
+ // be witnessed, hence the setting of flags here to encapsulate both
314
+ // liftings and lowerings.
315
+ //
316
+ // TODO: like above the management of the `MAY_LEAVE` flag can probably
317
+ // be elided here for "simple" results.
318
+ self.set_flag(adapter.lower.flags, FLAG_MAY_LEAVE, false);
319
+ self.translate_results(adapter, &param_locals, &result_locals);
320
+ self.set_flag(adapter.lower.flags, FLAG_MAY_LEAVE, true);
321
+
322
+ // And finally post-return state is handled here once all results/etc
323
+ // are all translated.
324
+ if let Some(func) = adapter.lift.post_return {
325
+ for (result, _) in result_locals.iter() {
326
+ self.instruction(LocalGet(*result));
327
+ }
328
+ self.instruction(Call(func.as_u32()));
329
+ }
330
+ if adapter.called_as_export {
331
+ self.set_flag(adapter.lift.flags, FLAG_MAY_ENTER, true);
332
+ }
333
+
334
+ for tmp in temps {
335
+ self.free_temp_local(tmp);
336
+ }
337
+
338
+ if self.emit_resource_call {
339
+ let exit = self.module.import_resource_exit_call();
340
+ self.instruction(Call(exit.as_u32()));
341
+ }
342
+
343
+ self.finish()
344
+ }
345
+
346
+ fn translate_params(&mut self, adapter: &AdapterData, param_locals: &[(u32, ValType)]) {
347
+ let src_tys = self.types[adapter.lower.ty].params;
348
+ let src_tys = self.types[src_tys]
349
+ .types
350
+ .iter()
351
+ .copied()
352
+ .collect::<Vec<_>>();
353
+ let dst_tys = self.types[adapter.lift.ty].params;
354
+ let dst_tys = self.types[dst_tys]
355
+ .types
356
+ .iter()
357
+ .copied()
358
+ .collect::<Vec<_>>();
359
+ let lift_opts = &adapter.lift.options;
360
+ let lower_opts = &adapter.lower.options;
361
+
362
+ // TODO: handle subtyping
363
+ assert_eq!(src_tys.len(), dst_tys.len());
364
+
365
+ let src_flat =
366
+ self.types
367
+ .flatten_types(lower_opts, MAX_FLAT_PARAMS, src_tys.iter().copied());
368
+ let dst_flat =
369
+ self.types
370
+ .flatten_types(lift_opts, MAX_FLAT_PARAMS, dst_tys.iter().copied());
371
+
372
+ let src = if let Some(flat) = &src_flat {
373
+ Source::Stack(Stack {
374
+ locals: &param_locals[..flat.len()],
375
+ opts: lower_opts,
376
+ })
377
+ } else {
378
+ // If there are too many parameters then that means the parameters
379
+ // are actually a tuple stored in linear memory addressed by the
380
+ // first parameter local.
381
+ let (addr, ty) = param_locals[0];
382
+ assert_eq!(ty, lower_opts.ptr());
383
+ let align = src_tys
384
+ .iter()
385
+ .map(|t| self.types.align(lower_opts, t))
386
+ .max()
387
+ .unwrap_or(1);
388
+ Source::Memory(self.memory_operand(lower_opts, TempLocal::new(addr, ty), align))
389
+ };
390
+
391
+ let dst = if let Some(flat) = &dst_flat {
392
+ Destination::Stack(flat, lift_opts)
393
+ } else {
394
+ // If there are too many parameters then space is allocated in the
395
+ // destination module for the parameters via its `realloc` function.
396
+ let abi = CanonicalAbiInfo::record(dst_tys.iter().map(|t| self.types.canonical_abi(t)));
397
+ let (size, align) = if lift_opts.memory64 {
398
+ (abi.size64, abi.align64)
399
+ } else {
400
+ (abi.size32, abi.align32)
401
+ };
402
+ let size = MallocSize::Const(size);
403
+ Destination::Memory(self.malloc(lift_opts, size, align))
404
+ };
405
+
406
+ let srcs = src
407
+ .record_field_srcs(self.types, src_tys.iter().copied())
408
+ .zip(src_tys.iter());
409
+ let dsts = dst
410
+ .record_field_dsts(self.types, dst_tys.iter().copied())
411
+ .zip(dst_tys.iter());
412
+ for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
413
+ self.translate(&src_ty, &src, &dst_ty, &dst);
414
+ }
415
+
416
+ // If the destination was linear memory instead of the stack then the
417
+ // actual parameter that we're passing is the address of the values
418
+ // stored, so ensure that's happening in the wasm body here.
419
+ if let Destination::Memory(mem) = dst {
420
+ self.instruction(LocalGet(mem.addr.idx));
421
+ self.free_temp_local(mem.addr);
422
+ }
423
+ }
424
+
425
+ fn translate_results(
426
+ &mut self,
427
+ adapter: &AdapterData,
428
+ param_locals: &[(u32, ValType)],
429
+ result_locals: &[(u32, ValType)],
430
+ ) {
431
+ let src_tys = self.types[adapter.lift.ty].results;
432
+ let src_tys = self.types[src_tys]
433
+ .types
434
+ .iter()
435
+ .map(|ty| *ty)
436
+ .collect::<Vec<_>>();
437
+ let dst_tys = self.types[adapter.lower.ty].results;
438
+ let dst_tys = self.types[dst_tys]
439
+ .types
440
+ .iter()
441
+ .map(|ty| *ty)
442
+ .collect::<Vec<_>>();
443
+ let lift_opts = &adapter.lift.options;
444
+ let lower_opts = &adapter.lower.options;
445
+
446
+ let src_flat =
447
+ self.types
448
+ .flatten_types(lift_opts, MAX_FLAT_RESULTS, src_tys.iter().copied());
449
+ let dst_flat =
450
+ self.types
451
+ .flatten_types(lower_opts, MAX_FLAT_RESULTS, dst_tys.iter().copied());
452
+
453
+ let src = if src_flat.is_some() {
454
+ Source::Stack(Stack {
455
+ locals: result_locals,
456
+ opts: lift_opts,
457
+ })
458
+ } else {
459
+ // The original results to read from in this case come from the
460
+ // return value of the function itself. The imported function will
461
+ // return a linear memory address at which the values can be read
462
+ // from.
463
+ let align = src_tys
464
+ .iter()
465
+ .map(|t| self.types.align(lift_opts, t))
466
+ .max()
467
+ .unwrap_or(1);
468
+ assert_eq!(result_locals.len(), 1);
469
+ let (addr, ty) = result_locals[0];
470
+ assert_eq!(ty, lift_opts.ptr());
471
+ Source::Memory(self.memory_operand(lift_opts, TempLocal::new(addr, ty), align))
472
+ };
473
+
474
+ let dst = if let Some(flat) = &dst_flat {
475
+ Destination::Stack(flat, lower_opts)
476
+ } else {
477
+ // This is slightly different than `translate_params` where the
478
+ // return pointer was provided by the caller of this function
479
+ // meaning the last parameter local is a pointer into linear memory.
480
+ let align = dst_tys
481
+ .iter()
482
+ .map(|t| self.types.align(lower_opts, t))
483
+ .max()
484
+ .unwrap_or(1);
485
+ let (addr, ty) = *param_locals.last().expect("no retptr");
486
+ assert_eq!(ty, lower_opts.ptr());
487
+ Destination::Memory(self.memory_operand(lower_opts, TempLocal::new(addr, ty), align))
488
+ };
489
+
490
+ let srcs = src
491
+ .record_field_srcs(self.types, src_tys.iter().copied())
492
+ .zip(src_tys.iter());
493
+ let dsts = dst
494
+ .record_field_dsts(self.types, dst_tys.iter().copied())
495
+ .zip(dst_tys.iter());
496
+ for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
497
+ self.translate(&src_ty, &src, &dst_ty, &dst);
498
+ }
499
+ }
500
+
501
+ fn translate(
502
+ &mut self,
503
+ src_ty: &InterfaceType,
504
+ src: &Source<'_>,
505
+ dst_ty: &InterfaceType,
506
+ dst: &Destination,
507
+ ) {
508
+ if let Source::Memory(mem) = src {
509
+ self.assert_aligned(src_ty, mem);
510
+ }
511
+ if let Destination::Memory(mem) = dst {
512
+ self.assert_aligned(dst_ty, mem);
513
+ }
514
+
515
+ // Calculate a cost heuristic for what the translation of this specific
516
+ // layer of the type is going to incur. The purpose of this cost is that
517
+ // we'll deduct it from `self.fuel` and if no fuel is remaining then
518
+ // translation is outlined into a separate function rather than being
519
+ // translated into this function.
520
+ //
521
+ // The general goal is to avoid creating an exponentially sized function
522
+ // for a linearly sized input (the type section). By outlining helper
523
+ // functions there will ideally be a constant set of helper functions
524
+ // per type (to accommodate in-memory or on-stack transfers as well as
525
+ // src/dst options) which means that each function is at most a certain
526
+ // size and we have a linear number of functions which should guarantee
527
+ // an overall linear size of the output.
528
+ //
529
+ // To implement this the current heuristic is that each layer of
530
+ // translating a type has a cost associated with it and this cost is
531
+ // accounted for in `self.fuel`. Some conversions are considered free as
532
+ // they generate basically as much code as the `call` to the translation
533
+ // function while other are considered proportionally expensive to the
534
+ // size of the type. The hope is that some upper layers are of a type's
535
+ // translation are all inlined into one function but bottom layers end
536
+ // up getting outlined to separate functions. Theoretically, again this
537
+ // is built on hopes and dreams, the outlining can be shared amongst
538
+ // tightly-intertwined type hierarchies which will reduce the size of
539
+ // the output module due to the helpers being used.
540
+ //
541
+ // This heuristic of how to split functions has changed a few times in
542
+ // the past and this isn't necessarily guaranteed to be the final
543
+ // iteration.
544
+ let cost = match src_ty {
545
+ // These types are all quite simple to load/store and equate to
546
+ // basically the same cost of the `call` instruction to call an
547
+ // out-of-line translation function, so give them 0 cost.
548
+ InterfaceType::Bool
549
+ | InterfaceType::U8
550
+ | InterfaceType::S8
551
+ | InterfaceType::U16
552
+ | InterfaceType::S16
553
+ | InterfaceType::U32
554
+ | InterfaceType::S32
555
+ | InterfaceType::U64
556
+ | InterfaceType::S64
557
+ | InterfaceType::Float32
558
+ | InterfaceType::Float64 => 0,
559
+
560
+ // This has a small amount of validation associated with it, so
561
+ // give it a cost of 1.
562
+ InterfaceType::Char => 1,
563
+
564
+ // This has a fair bit of code behind it depending on the
565
+ // strings/encodings in play, so arbitrarily assign it this cost.
566
+ InterfaceType::String => 40,
567
+
568
+ // Iteration of a loop is along the lines of the cost of a string
569
+ // so give it the same cost
570
+ InterfaceType::List(_) => 40,
571
+
572
+ InterfaceType::Flags(i) => {
573
+ let count = self.module.types[*i].names.len();
574
+ match FlagsSize::from_count(count) {
575
+ FlagsSize::Size0 => 0,
576
+ FlagsSize::Size1 | FlagsSize::Size2 => 1,
577
+ FlagsSize::Size4Plus(n) => n.into(),
578
+ }
579
+ }
580
+
581
+ InterfaceType::Record(i) => self.types[*i].fields.len(),
582
+ InterfaceType::Tuple(i) => self.types[*i].types.len(),
583
+ InterfaceType::Variant(i) => self.types[*i].cases.len(),
584
+ InterfaceType::Enum(i) => self.types[*i].names.len(),
585
+
586
+ // 2 cases to consider for each of these variants.
587
+ InterfaceType::Option(_) | InterfaceType::Result(_) => 2,
588
+
589
+ // TODO(#6696) - something nonzero, is 1 right?
590
+ InterfaceType::Own(_) | InterfaceType::Borrow(_) => 1,
591
+ };
592
+
593
+ match self.fuel.checked_sub(cost) {
594
+ // This function has enough fuel to perform the layer of translation
595
+ // necessary for this type, so the fuel is updated in-place and
596
+ // translation continues. Note that the recursion here is bounded by
597
+ // the static recursion limit for all interface types as imposed
598
+ // during the translation phase.
599
+ Some(n) => {
600
+ self.fuel = n;
601
+ match src_ty {
602
+ InterfaceType::Bool => self.translate_bool(src, dst_ty, dst),
603
+ InterfaceType::U8 => self.translate_u8(src, dst_ty, dst),
604
+ InterfaceType::S8 => self.translate_s8(src, dst_ty, dst),
605
+ InterfaceType::U16 => self.translate_u16(src, dst_ty, dst),
606
+ InterfaceType::S16 => self.translate_s16(src, dst_ty, dst),
607
+ InterfaceType::U32 => self.translate_u32(src, dst_ty, dst),
608
+ InterfaceType::S32 => self.translate_s32(src, dst_ty, dst),
609
+ InterfaceType::U64 => self.translate_u64(src, dst_ty, dst),
610
+ InterfaceType::S64 => self.translate_s64(src, dst_ty, dst),
611
+ InterfaceType::Float32 => self.translate_f32(src, dst_ty, dst),
612
+ InterfaceType::Float64 => self.translate_f64(src, dst_ty, dst),
613
+ InterfaceType::Char => self.translate_char(src, dst_ty, dst),
614
+ InterfaceType::String => self.translate_string(src, dst_ty, dst),
615
+ InterfaceType::List(t) => self.translate_list(*t, src, dst_ty, dst),
616
+ InterfaceType::Record(t) => self.translate_record(*t, src, dst_ty, dst),
617
+ InterfaceType::Flags(f) => self.translate_flags(*f, src, dst_ty, dst),
618
+ InterfaceType::Tuple(t) => self.translate_tuple(*t, src, dst_ty, dst),
619
+ InterfaceType::Variant(v) => self.translate_variant(*v, src, dst_ty, dst),
620
+ InterfaceType::Enum(t) => self.translate_enum(*t, src, dst_ty, dst),
621
+ InterfaceType::Option(t) => self.translate_option(*t, src, dst_ty, dst),
622
+ InterfaceType::Result(t) => self.translate_result(*t, src, dst_ty, dst),
623
+ InterfaceType::Own(t) => self.translate_own(*t, src, dst_ty, dst),
624
+ InterfaceType::Borrow(t) => self.translate_borrow(*t, src, dst_ty, dst),
625
+ }
626
+ }
627
+
628
+ // This function does not have enough fuel left to perform this
629
+ // layer of translation so the translation is deferred to a helper
630
+ // function. The actual translation here is then done by marshalling
631
+ // the src/dst into the function we're calling and then processing
632
+ // the results.
633
+ None => {
634
+ let src_loc = match src {
635
+ // If the source is on the stack then `stack_get` is used to
636
+ // convert everything to the appropriate flat representation
637
+ // for the source type.
638
+ Source::Stack(stack) => {
639
+ for (i, ty) in stack
640
+ .opts
641
+ .flat_types(src_ty, self.types)
642
+ .unwrap()
643
+ .iter()
644
+ .enumerate()
645
+ {
646
+ let stack = stack.slice(i..i + 1);
647
+ self.stack_get(&stack, (*ty).into());
648
+ }
649
+ HelperLocation::Stack
650
+ }
651
+ // If the source is in memory then the pointer is passed
652
+ // through, but note that the offset must be factored in
653
+ // here since the translation function will start from
654
+ // offset 0.
655
+ Source::Memory(mem) => {
656
+ self.push_mem_addr(mem);
657
+ HelperLocation::Memory
658
+ }
659
+ };
660
+ let dst_loc = match dst {
661
+ Destination::Stack(..) => HelperLocation::Stack,
662
+ Destination::Memory(mem) => {
663
+ self.push_mem_addr(mem);
664
+ HelperLocation::Memory
665
+ }
666
+ };
667
+ // Generate a `FunctionId` corresponding to the `Helper`
668
+ // configuration that is necessary here. This will ideally be a
669
+ // "cache hit" and use a preexisting helper which represents
670
+ // outlining what would otherwise be duplicate code within a
671
+ // function to one function.
672
+ let helper = self.module.translate_helper(Helper {
673
+ src: HelperType {
674
+ ty: *src_ty,
675
+ opts: *src.opts(),
676
+ loc: src_loc,
677
+ },
678
+ dst: HelperType {
679
+ ty: *dst_ty,
680
+ opts: *dst.opts(),
681
+ loc: dst_loc,
682
+ },
683
+ });
684
+ // Emit a `call` instruction which will get "relocated" to a
685
+ // function index once translation has completely finished.
686
+ self.flush_code();
687
+ self.module.funcs[self.result].body.push(Body::Call(helper));
688
+
689
+ // If the destination of the translation was on the stack then
690
+ // the types on the stack need to be optionally converted to
691
+ // different types (e.g. if the result here is part of a variant
692
+ // somewhere else).
693
+ //
694
+ // This translation happens inline here by popping the results
695
+ // into new locals and then using those locals to do a
696
+ // `stack_set`.
697
+ if let Destination::Stack(tys, opts) = dst {
698
+ let flat = self
699
+ .types
700
+ .flatten_types(opts, usize::MAX, [*dst_ty])
701
+ .unwrap();
702
+ assert_eq!(flat.len(), tys.len());
703
+ let locals = flat
704
+ .iter()
705
+ .rev()
706
+ .map(|ty| self.local_set_new_tmp(*ty))
707
+ .collect::<Vec<_>>();
708
+ for (ty, local) in tys.iter().zip(locals.into_iter().rev()) {
709
+ self.instruction(LocalGet(local.idx));
710
+ self.stack_set(std::slice::from_ref(ty), local.ty);
711
+ self.free_temp_local(local);
712
+ }
713
+ }
714
+ }
715
+ }
716
+ }
717
+
718
+ fn push_mem_addr(&mut self, mem: &Memory<'_>) {
719
+ self.instruction(LocalGet(mem.addr.idx));
720
+ if mem.offset != 0 {
721
+ self.ptr_uconst(mem.opts, mem.offset);
722
+ self.ptr_add(mem.opts);
723
+ }
724
+ }
725
+
726
+ fn translate_bool(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
727
+ // TODO: subtyping
728
+ assert!(matches!(dst_ty, InterfaceType::Bool));
729
+ self.push_dst_addr(dst);
730
+
731
+ // Booleans are canonicalized to 0 or 1 as they pass through the
732
+ // component boundary, so use a `select` instruction to do so.
733
+ self.instruction(I32Const(1));
734
+ self.instruction(I32Const(0));
735
+ match src {
736
+ Source::Memory(mem) => self.i32_load8u(mem),
737
+ Source::Stack(stack) => self.stack_get(stack, ValType::I32),
738
+ }
739
+ self.instruction(Select);
740
+
741
+ match dst {
742
+ Destination::Memory(mem) => self.i32_store8(mem),
743
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
744
+ }
745
+ }
746
+
747
+ fn translate_u8(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
748
+ // TODO: subtyping
749
+ assert!(matches!(dst_ty, InterfaceType::U8));
750
+ self.convert_u8_mask(src, dst, 0xff);
751
+ }
752
+
753
+ fn convert_u8_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u8) {
754
+ self.push_dst_addr(dst);
755
+ let mut needs_mask = true;
756
+ match src {
757
+ Source::Memory(mem) => {
758
+ self.i32_load8u(mem);
759
+ needs_mask = mask != 0xff;
760
+ }
761
+ Source::Stack(stack) => {
762
+ self.stack_get(stack, ValType::I32);
763
+ }
764
+ }
765
+ if needs_mask {
766
+ self.instruction(I32Const(i32::from(mask)));
767
+ self.instruction(I32And);
768
+ }
769
+ match dst {
770
+ Destination::Memory(mem) => self.i32_store8(mem),
771
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
772
+ }
773
+ }
774
+
775
+ fn translate_s8(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
776
+ // TODO: subtyping
777
+ assert!(matches!(dst_ty, InterfaceType::S8));
778
+ self.push_dst_addr(dst);
779
+ match src {
780
+ Source::Memory(mem) => self.i32_load8s(mem),
781
+ Source::Stack(stack) => {
782
+ self.stack_get(stack, ValType::I32);
783
+ self.instruction(I32Extend8S);
784
+ }
785
+ }
786
+ match dst {
787
+ Destination::Memory(mem) => self.i32_store8(mem),
788
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
789
+ }
790
+ }
791
+
792
+ fn translate_u16(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
793
+ // TODO: subtyping
794
+ assert!(matches!(dst_ty, InterfaceType::U16));
795
+ self.convert_u16_mask(src, dst, 0xffff);
796
+ }
797
+
798
+ fn convert_u16_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u16) {
799
+ self.push_dst_addr(dst);
800
+ let mut needs_mask = true;
801
+ match src {
802
+ Source::Memory(mem) => {
803
+ self.i32_load16u(mem);
804
+ needs_mask = mask != 0xffff;
805
+ }
806
+ Source::Stack(stack) => {
807
+ self.stack_get(stack, ValType::I32);
808
+ }
809
+ }
810
+ if needs_mask {
811
+ self.instruction(I32Const(i32::from(mask)));
812
+ self.instruction(I32And);
813
+ }
814
+ match dst {
815
+ Destination::Memory(mem) => self.i32_store16(mem),
816
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
817
+ }
818
+ }
819
+
820
+ fn translate_s16(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
821
+ // TODO: subtyping
822
+ assert!(matches!(dst_ty, InterfaceType::S16));
823
+ self.push_dst_addr(dst);
824
+ match src {
825
+ Source::Memory(mem) => self.i32_load16s(mem),
826
+ Source::Stack(stack) => {
827
+ self.stack_get(stack, ValType::I32);
828
+ self.instruction(I32Extend16S);
829
+ }
830
+ }
831
+ match dst {
832
+ Destination::Memory(mem) => self.i32_store16(mem),
833
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
834
+ }
835
+ }
836
+
837
+ fn translate_u32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
838
+ // TODO: subtyping
839
+ assert!(matches!(dst_ty, InterfaceType::U32));
840
+ self.convert_u32_mask(src, dst, 0xffffffff)
841
+ }
842
+
843
+ fn convert_u32_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u32) {
844
+ self.push_dst_addr(dst);
845
+ match src {
846
+ Source::Memory(mem) => self.i32_load(mem),
847
+ Source::Stack(stack) => self.stack_get(stack, ValType::I32),
848
+ }
849
+ if mask != 0xffffffff {
850
+ self.instruction(I32Const(mask as i32));
851
+ self.instruction(I32And);
852
+ }
853
+ match dst {
854
+ Destination::Memory(mem) => self.i32_store(mem),
855
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
856
+ }
857
+ }
858
+
859
+ fn translate_s32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
860
+ // TODO: subtyping
861
+ assert!(matches!(dst_ty, InterfaceType::S32));
862
+ self.push_dst_addr(dst);
863
+ match src {
864
+ Source::Memory(mem) => self.i32_load(mem),
865
+ Source::Stack(stack) => self.stack_get(stack, ValType::I32),
866
+ }
867
+ match dst {
868
+ Destination::Memory(mem) => self.i32_store(mem),
869
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
870
+ }
871
+ }
872
+
873
+ fn translate_u64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
874
+ // TODO: subtyping
875
+ assert!(matches!(dst_ty, InterfaceType::U64));
876
+ self.push_dst_addr(dst);
877
+ match src {
878
+ Source::Memory(mem) => self.i64_load(mem),
879
+ Source::Stack(stack) => self.stack_get(stack, ValType::I64),
880
+ }
881
+ match dst {
882
+ Destination::Memory(mem) => self.i64_store(mem),
883
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I64),
884
+ }
885
+ }
886
+
887
+ fn translate_s64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
888
+ // TODO: subtyping
889
+ assert!(matches!(dst_ty, InterfaceType::S64));
890
+ self.push_dst_addr(dst);
891
+ match src {
892
+ Source::Memory(mem) => self.i64_load(mem),
893
+ Source::Stack(stack) => self.stack_get(stack, ValType::I64),
894
+ }
895
+ match dst {
896
+ Destination::Memory(mem) => self.i64_store(mem),
897
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I64),
898
+ }
899
+ }
900
+
901
+ fn translate_f32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
902
+ // TODO: subtyping
903
+ assert!(matches!(dst_ty, InterfaceType::Float32));
904
+ self.push_dst_addr(dst);
905
+ match src {
906
+ Source::Memory(mem) => self.f32_load(mem),
907
+ Source::Stack(stack) => self.stack_get(stack, ValType::F32),
908
+ }
909
+ match dst {
910
+ Destination::Memory(mem) => self.f32_store(mem),
911
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::F32),
912
+ }
913
+ }
914
+
915
+ fn translate_f64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
916
+ // TODO: subtyping
917
+ assert!(matches!(dst_ty, InterfaceType::Float64));
918
+ self.push_dst_addr(dst);
919
+ match src {
920
+ Source::Memory(mem) => self.f64_load(mem),
921
+ Source::Stack(stack) => self.stack_get(stack, ValType::F64),
922
+ }
923
+ match dst {
924
+ Destination::Memory(mem) => self.f64_store(mem),
925
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::F64),
926
+ }
927
+ }
928
+
929
+ fn translate_char(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
930
+ assert!(matches!(dst_ty, InterfaceType::Char));
931
+ match src {
932
+ Source::Memory(mem) => self.i32_load(mem),
933
+ Source::Stack(stack) => self.stack_get(stack, ValType::I32),
934
+ }
935
+ let local = self.local_set_new_tmp(ValType::I32);
936
+
937
+ // This sequence is copied from the output of LLVM for:
938
+ //
939
+ // pub extern "C" fn foo(x: u32) -> char {
940
+ // char::try_from(x)
941
+ // .unwrap_or_else(|_| std::arch::wasm32::unreachable())
942
+ // }
943
+ //
944
+ // Apparently this does what's required by the canonical ABI:
945
+ //
946
+ // def i32_to_char(opts, i):
947
+ // trap_if(i >= 0x110000)
948
+ // trap_if(0xD800 <= i <= 0xDFFF)
949
+ // return chr(i)
950
+ //
951
+ // ... but I don't know how it works other than "well I trust LLVM"
952
+ self.instruction(Block(BlockType::Empty));
953
+ self.instruction(Block(BlockType::Empty));
954
+ self.instruction(LocalGet(local.idx));
955
+ self.instruction(I32Const(0xd800));
956
+ self.instruction(I32Xor);
957
+ self.instruction(I32Const(-0x110000));
958
+ self.instruction(I32Add);
959
+ self.instruction(I32Const(-0x10f800));
960
+ self.instruction(I32LtU);
961
+ self.instruction(BrIf(0));
962
+ self.instruction(LocalGet(local.idx));
963
+ self.instruction(I32Const(0x110000));
964
+ self.instruction(I32Ne);
965
+ self.instruction(BrIf(1));
966
+ self.instruction(End);
967
+ self.trap(Trap::InvalidChar);
968
+ self.instruction(End);
969
+
970
+ self.push_dst_addr(dst);
971
+ self.instruction(LocalGet(local.idx));
972
+ match dst {
973
+ Destination::Memory(mem) => {
974
+ self.i32_store(mem);
975
+ }
976
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
977
+ }
978
+
979
+ self.free_temp_local(local);
980
+ }
981
+
982
+ fn translate_string(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
983
+ assert!(matches!(dst_ty, InterfaceType::String));
984
+ let src_opts = src.opts();
985
+ let dst_opts = dst.opts();
986
+
987
+ // Load the pointer/length of this string into temporary locals. These
988
+ // will be referenced a good deal so this just makes it easier to deal
989
+ // with them consistently below rather than trying to reload from memory
990
+ // for example.
991
+ match src {
992
+ Source::Stack(s) => {
993
+ assert_eq!(s.locals.len(), 2);
994
+ self.stack_get(&s.slice(0..1), src_opts.ptr());
995
+ self.stack_get(&s.slice(1..2), src_opts.ptr());
996
+ }
997
+ Source::Memory(mem) => {
998
+ self.ptr_load(mem);
999
+ self.ptr_load(&mem.bump(src_opts.ptr_size().into()));
1000
+ }
1001
+ }
1002
+ let src_len = self.local_set_new_tmp(src_opts.ptr());
1003
+ let src_ptr = self.local_set_new_tmp(src_opts.ptr());
1004
+ let src_str = WasmString {
1005
+ ptr: src_ptr,
1006
+ len: src_len,
1007
+ opts: src_opts,
1008
+ };
1009
+
1010
+ let dst_str = match src_opts.string_encoding {
1011
+ StringEncoding::Utf8 => match dst_opts.string_encoding {
1012
+ StringEncoding::Utf8 => self.string_copy(&src_str, FE::Utf8, dst_opts, FE::Utf8),
1013
+ StringEncoding::Utf16 => self.string_utf8_to_utf16(&src_str, dst_opts),
1014
+ StringEncoding::CompactUtf16 => {
1015
+ self.string_to_compact(&src_str, FE::Utf8, dst_opts)
1016
+ }
1017
+ },
1018
+
1019
+ StringEncoding::Utf16 => {
1020
+ self.verify_aligned(src_opts, src_str.ptr.idx, 2);
1021
+ match dst_opts.string_encoding {
1022
+ StringEncoding::Utf8 => {
1023
+ self.string_deflate_to_utf8(&src_str, FE::Utf16, dst_opts)
1024
+ }
1025
+ StringEncoding::Utf16 => {
1026
+ self.string_copy(&src_str, FE::Utf16, dst_opts, FE::Utf16)
1027
+ }
1028
+ StringEncoding::CompactUtf16 => {
1029
+ self.string_to_compact(&src_str, FE::Utf16, dst_opts)
1030
+ }
1031
+ }
1032
+ }
1033
+
1034
+ StringEncoding::CompactUtf16 => {
1035
+ self.verify_aligned(src_opts, src_str.ptr.idx, 2);
1036
+
1037
+ // Test the tag big to see if this is a utf16 or a latin1 string
1038
+ // at runtime...
1039
+ self.instruction(LocalGet(src_str.len.idx));
1040
+ self.ptr_uconst(src_opts, UTF16_TAG);
1041
+ self.ptr_and(src_opts);
1042
+ self.ptr_if(src_opts, BlockType::Empty);
1043
+
1044
+ // In the utf16 block unset the upper bit from the length local
1045
+ // so further calculations have the right value. Afterwards the
1046
+ // string transcode proceeds assuming utf16.
1047
+ self.instruction(LocalGet(src_str.len.idx));
1048
+ self.ptr_uconst(src_opts, UTF16_TAG);
1049
+ self.ptr_xor(src_opts);
1050
+ self.instruction(LocalSet(src_str.len.idx));
1051
+ let s1 = match dst_opts.string_encoding {
1052
+ StringEncoding::Utf8 => {
1053
+ self.string_deflate_to_utf8(&src_str, FE::Utf16, dst_opts)
1054
+ }
1055
+ StringEncoding::Utf16 => {
1056
+ self.string_copy(&src_str, FE::Utf16, dst_opts, FE::Utf16)
1057
+ }
1058
+ StringEncoding::CompactUtf16 => {
1059
+ self.string_compact_utf16_to_compact(&src_str, dst_opts)
1060
+ }
1061
+ };
1062
+
1063
+ self.instruction(Else);
1064
+
1065
+ // In the latin1 block the `src_len` local is already the number
1066
+ // of code units, so the string transcoding is all that needs to
1067
+ // happen.
1068
+ let s2 = match dst_opts.string_encoding {
1069
+ StringEncoding::Utf16 => {
1070
+ self.string_copy(&src_str, FE::Latin1, dst_opts, FE::Utf16)
1071
+ }
1072
+ StringEncoding::Utf8 => {
1073
+ self.string_deflate_to_utf8(&src_str, FE::Latin1, dst_opts)
1074
+ }
1075
+ StringEncoding::CompactUtf16 => {
1076
+ self.string_copy(&src_str, FE::Latin1, dst_opts, FE::Latin1)
1077
+ }
1078
+ };
1079
+ // Set our `s2` generated locals to the `s2` generated locals
1080
+ // as the resulting pointer of this transcode.
1081
+ self.instruction(LocalGet(s2.ptr.idx));
1082
+ self.instruction(LocalSet(s1.ptr.idx));
1083
+ self.instruction(LocalGet(s2.len.idx));
1084
+ self.instruction(LocalSet(s1.len.idx));
1085
+ self.instruction(End);
1086
+ self.free_temp_local(s2.ptr);
1087
+ self.free_temp_local(s2.len);
1088
+ s1
1089
+ }
1090
+ };
1091
+
1092
+ // Store the ptr/length in the desired destination
1093
+ match dst {
1094
+ Destination::Stack(s, _) => {
1095
+ self.instruction(LocalGet(dst_str.ptr.idx));
1096
+ self.stack_set(&s[..1], dst_opts.ptr());
1097
+ self.instruction(LocalGet(dst_str.len.idx));
1098
+ self.stack_set(&s[1..], dst_opts.ptr());
1099
+ }
1100
+ Destination::Memory(mem) => {
1101
+ self.instruction(LocalGet(mem.addr.idx));
1102
+ self.instruction(LocalGet(dst_str.ptr.idx));
1103
+ self.ptr_store(mem);
1104
+ self.instruction(LocalGet(mem.addr.idx));
1105
+ self.instruction(LocalGet(dst_str.len.idx));
1106
+ self.ptr_store(&mem.bump(dst_opts.ptr_size().into()));
1107
+ }
1108
+ }
1109
+
1110
+ self.free_temp_local(src_str.ptr);
1111
+ self.free_temp_local(src_str.len);
1112
+ self.free_temp_local(dst_str.ptr);
1113
+ self.free_temp_local(dst_str.len);
1114
+ }
1115
+
1116
+ // Corresponding function for `store_string_copy` in the spec.
1117
+ //
1118
+ // This performs a transcoding of the string with a one-pass copy from
1119
+ // the `src` encoding to the `dst` encoding. This is only possible for
1120
+ // fixed encodings where the first allocation is guaranteed to be an
1121
+ // appropriate fit so it's not suitable for all encodings.
1122
+ //
1123
+ // Imported host transcoding functions here take the src/dst pointers as
1124
+ // well as the number of code units in the source (which always matches
1125
+ // the number of code units in the destination). There is no return
1126
+ // value from the transcode function since the encoding should always
1127
+ // work on the first pass.
1128
+ fn string_copy<'a>(
1129
+ &mut self,
1130
+ src: &WasmString<'_>,
1131
+ src_enc: FE,
1132
+ dst_opts: &'a Options,
1133
+ dst_enc: FE,
1134
+ ) -> WasmString<'a> {
1135
+ assert!(dst_enc.width() >= src_enc.width());
1136
+ self.validate_string_length(src, dst_enc);
1137
+
1138
+ // Calculate the source byte length given the size of each code
1139
+ // unit. Note that this shouldn't overflow given
1140
+ // `validate_string_length` above.
1141
+ let mut src_byte_len_tmp = None;
1142
+ let src_byte_len = if src_enc.width() == 1 {
1143
+ src.len.idx
1144
+ } else {
1145
+ assert_eq!(src_enc.width(), 2);
1146
+ self.instruction(LocalGet(src.len.idx));
1147
+ self.ptr_uconst(src.opts, 1);
1148
+ self.ptr_shl(src.opts);
1149
+ let tmp = self.local_set_new_tmp(src.opts.ptr());
1150
+ let ret = tmp.idx;
1151
+ src_byte_len_tmp = Some(tmp);
1152
+ ret
1153
+ };
1154
+
1155
+ // Convert the source code units length to the destination byte
1156
+ // length type.
1157
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1158
+ let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1159
+ if dst_enc.width() > 1 {
1160
+ assert_eq!(dst_enc.width(), 2);
1161
+ self.ptr_uconst(dst_opts, 1);
1162
+ self.ptr_shl(dst_opts);
1163
+ }
1164
+ let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1165
+
1166
+ // Allocate space in the destination using the calculated byte
1167
+ // length.
1168
+ let dst = {
1169
+ let dst_mem = self.malloc(
1170
+ dst_opts,
1171
+ MallocSize::Local(dst_byte_len.idx),
1172
+ dst_enc.width().into(),
1173
+ );
1174
+ WasmString {
1175
+ ptr: dst_mem.addr,
1176
+ len: dst_len,
1177
+ opts: dst_opts,
1178
+ }
1179
+ };
1180
+
1181
+ // Validate that `src_len + src_ptr` and
1182
+ // `dst_mem.addr_local + dst_byte_len` are both in-bounds. This
1183
+ // is done by loading the last byte of the string and if that
1184
+ // doesn't trap then it's known valid.
1185
+ self.validate_string_inbounds(src, src_byte_len);
1186
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1187
+
1188
+ // If the validations pass then the host `transcode` intrinsic
1189
+ // is invoked. This will either raise a trap or otherwise succeed
1190
+ // in which case we're done.
1191
+ let op = if src_enc == dst_enc {
1192
+ Transcode::Copy(src_enc)
1193
+ } else {
1194
+ assert_eq!(src_enc, FE::Latin1);
1195
+ assert_eq!(dst_enc, FE::Utf16);
1196
+ Transcode::Latin1ToUtf16
1197
+ };
1198
+ let transcode = self.transcoder(src, &dst, op);
1199
+ self.instruction(LocalGet(src.ptr.idx));
1200
+ self.instruction(LocalGet(src.len.idx));
1201
+ self.instruction(LocalGet(dst.ptr.idx));
1202
+ self.instruction(Call(transcode.as_u32()));
1203
+
1204
+ self.free_temp_local(dst_byte_len);
1205
+ if let Some(tmp) = src_byte_len_tmp {
1206
+ self.free_temp_local(tmp);
1207
+ }
1208
+
1209
+ dst
1210
+ }
1211
+ // Corresponding function for `store_string_to_utf8` in the spec.
1212
+ //
1213
+ // This translation works by possibly performing a number of
1214
+ // reallocations. First a buffer of size input-code-units is used to try
1215
+ // to get the transcoding correct on the first try. If that fails the
1216
+ // maximum worst-case size is used and then that is resized down if it's
1217
+ // too large.
1218
+ //
1219
+ // The host transcoding function imported here will receive src ptr/len
1220
+ // and dst ptr/len and return how many code units were consumed on both
1221
+ // sides. The amount of code units consumed in the source dictates which
1222
+ // branches are taken in this conversion.
1223
+ fn string_deflate_to_utf8<'a>(
1224
+ &mut self,
1225
+ src: &WasmString<'_>,
1226
+ src_enc: FE,
1227
+ dst_opts: &'a Options,
1228
+ ) -> WasmString<'a> {
1229
+ self.validate_string_length(src, src_enc);
1230
+
1231
+ // Optimistically assume that the code unit length of the source is
1232
+ // all that's needed in the destination. Perform that allocation
1233
+ // here and proceed to transcoding below.
1234
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1235
+ let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1236
+ let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1237
+
1238
+ let dst = {
1239
+ let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 1);
1240
+ WasmString {
1241
+ ptr: dst_mem.addr,
1242
+ len: dst_len,
1243
+ opts: dst_opts,
1244
+ }
1245
+ };
1246
+
1247
+ // Ensure buffers are all in-bounds
1248
+ let mut src_byte_len_tmp = None;
1249
+ let src_byte_len = match src_enc {
1250
+ FE::Latin1 => src.len.idx,
1251
+ FE::Utf16 => {
1252
+ self.instruction(LocalGet(src.len.idx));
1253
+ self.ptr_uconst(src.opts, 1);
1254
+ self.ptr_shl(src.opts);
1255
+ let tmp = self.local_set_new_tmp(src.opts.ptr());
1256
+ let ret = tmp.idx;
1257
+ src_byte_len_tmp = Some(tmp);
1258
+ ret
1259
+ }
1260
+ FE::Utf8 => unreachable!(),
1261
+ };
1262
+ self.validate_string_inbounds(src, src_byte_len);
1263
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1264
+
1265
+ // Perform the initial transcode
1266
+ let op = match src_enc {
1267
+ FE::Latin1 => Transcode::Latin1ToUtf8,
1268
+ FE::Utf16 => Transcode::Utf16ToUtf8,
1269
+ FE::Utf8 => unreachable!(),
1270
+ };
1271
+ let transcode = self.transcoder(src, &dst, op);
1272
+ self.instruction(LocalGet(src.ptr.idx));
1273
+ self.instruction(LocalGet(src.len.idx));
1274
+ self.instruction(LocalGet(dst.ptr.idx));
1275
+ self.instruction(LocalGet(dst_byte_len.idx));
1276
+ self.instruction(Call(transcode.as_u32()));
1277
+ self.instruction(LocalSet(dst.len.idx));
1278
+ let src_len_tmp = self.local_set_new_tmp(src.opts.ptr());
1279
+
1280
+ // Test if the source was entirely transcoded by comparing
1281
+ // `src_len_tmp`, the number of code units transcoded from the
1282
+ // source, with `src_len`, the original number of code units.
1283
+ self.instruction(LocalGet(src_len_tmp.idx));
1284
+ self.instruction(LocalGet(src.len.idx));
1285
+ self.ptr_ne(src.opts);
1286
+ self.instruction(If(BlockType::Empty));
1287
+
1288
+ // Here a worst-case reallocation is performed to grow `dst_mem`.
1289
+ // In-line a check is also performed that the worst-case byte size
1290
+ // fits within the maximum size of strings.
1291
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1292
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1293
+ self.ptr_uconst(dst.opts, 1); // align
1294
+ let factor = match src_enc {
1295
+ FE::Latin1 => 2,
1296
+ FE::Utf16 => 3,
1297
+ _ => unreachable!(),
1298
+ };
1299
+ self.validate_string_length_u8(src, factor);
1300
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1301
+ self.ptr_uconst(dst_opts, factor.into());
1302
+ self.ptr_mul(dst_opts);
1303
+ self.instruction(LocalTee(dst_byte_len.idx));
1304
+ self.instruction(Call(dst_opts.realloc.unwrap().as_u32()));
1305
+ self.instruction(LocalSet(dst.ptr.idx));
1306
+
1307
+ // Verify that the destination is still in-bounds
1308
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1309
+
1310
+ // Perform another round of transcoding that should be guaranteed
1311
+ // to succeed. Note that all the parameters here are offset by the
1312
+ // results of the first transcoding to only perform the remaining
1313
+ // transcode on the final units.
1314
+ self.instruction(LocalGet(src.ptr.idx));
1315
+ self.instruction(LocalGet(src_len_tmp.idx));
1316
+ if let FE::Utf16 = src_enc {
1317
+ self.ptr_uconst(src.opts, 1);
1318
+ self.ptr_shl(src.opts);
1319
+ }
1320
+ self.ptr_add(src.opts);
1321
+ self.instruction(LocalGet(src.len.idx));
1322
+ self.instruction(LocalGet(src_len_tmp.idx));
1323
+ self.ptr_sub(src.opts);
1324
+ self.instruction(LocalGet(dst.ptr.idx));
1325
+ self.instruction(LocalGet(dst.len.idx));
1326
+ self.ptr_add(dst.opts);
1327
+ self.instruction(LocalGet(dst_byte_len.idx));
1328
+ self.instruction(LocalGet(dst.len.idx));
1329
+ self.ptr_sub(dst.opts);
1330
+ self.instruction(Call(transcode.as_u32()));
1331
+
1332
+ // Add the second result, the amount of destination units encoded,
1333
+ // to `dst_len` so it's an accurate reflection of the final size of
1334
+ // the destination buffer.
1335
+ self.instruction(LocalGet(dst.len.idx));
1336
+ self.ptr_add(dst.opts);
1337
+ self.instruction(LocalSet(dst.len.idx));
1338
+
1339
+ // In debug mode verify the first result consumed the entire string,
1340
+ // otherwise simply discard it.
1341
+ if self.module.debug {
1342
+ self.instruction(LocalGet(src.len.idx));
1343
+ self.instruction(LocalGet(src_len_tmp.idx));
1344
+ self.ptr_sub(src.opts);
1345
+ self.ptr_ne(src.opts);
1346
+ self.instruction(If(BlockType::Empty));
1347
+ self.trap(Trap::AssertFailed("should have finished encoding"));
1348
+ self.instruction(End);
1349
+ } else {
1350
+ self.instruction(Drop);
1351
+ }
1352
+
1353
+ // Perform a downsizing if the worst-case size was too large
1354
+ self.instruction(LocalGet(dst.len.idx));
1355
+ self.instruction(LocalGet(dst_byte_len.idx));
1356
+ self.ptr_ne(dst.opts);
1357
+ self.instruction(If(BlockType::Empty));
1358
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1359
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1360
+ self.ptr_uconst(dst.opts, 1); // align
1361
+ self.instruction(LocalGet(dst.len.idx)); // new_size
1362
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1363
+ self.instruction(LocalSet(dst.ptr.idx));
1364
+ self.instruction(End);
1365
+
1366
+ // If the first transcode was enough then assert that the returned
1367
+ // amount of destination items written equals the byte size.
1368
+ if self.module.debug {
1369
+ self.instruction(Else);
1370
+
1371
+ self.instruction(LocalGet(dst.len.idx));
1372
+ self.instruction(LocalGet(dst_byte_len.idx));
1373
+ self.ptr_ne(dst_opts);
1374
+ self.instruction(If(BlockType::Empty));
1375
+ self.trap(Trap::AssertFailed("should have finished encoding"));
1376
+ self.instruction(End);
1377
+ }
1378
+
1379
+ self.instruction(End); // end of "first transcode not enough"
1380
+
1381
+ self.free_temp_local(src_len_tmp);
1382
+ self.free_temp_local(dst_byte_len);
1383
+ if let Some(tmp) = src_byte_len_tmp {
1384
+ self.free_temp_local(tmp);
1385
+ }
1386
+
1387
+ dst
1388
+ }
1389
+
1390
+ // Corresponds to the `store_utf8_to_utf16` function in the spec.
1391
+ //
1392
+ // When converting utf-8 to utf-16 a pessimistic allocation is
1393
+ // done which is twice the byte length of the utf-8 string.
1394
+ // The host then transcodes and returns how many code units were
1395
+ // actually used during the transcoding and if it's beneath the
1396
+ // pessimistic maximum then the buffer is reallocated down to
1397
+ // a smaller amount.
1398
+ //
1399
+ // The host-imported transcoding function takes the src/dst pointer as
1400
+ // well as the code unit size of both the source and destination. The
1401
+ // destination should always be big enough to hold the result of the
1402
+ // transcode and so the result of the host function is how many code
1403
+ // units were written to the destination.
1404
+ fn string_utf8_to_utf16<'a>(
1405
+ &mut self,
1406
+ src: &WasmString<'_>,
1407
+ dst_opts: &'a Options,
1408
+ ) -> WasmString<'a> {
1409
+ self.validate_string_length(src, FE::Utf16);
1410
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1411
+ let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1412
+ self.ptr_uconst(dst_opts, 1);
1413
+ self.ptr_shl(dst_opts);
1414
+ let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1415
+ let dst = {
1416
+ let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1417
+ WasmString {
1418
+ ptr: dst_mem.addr,
1419
+ len: dst_len,
1420
+ opts: dst_opts,
1421
+ }
1422
+ };
1423
+
1424
+ self.validate_string_inbounds(src, src.len.idx);
1425
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1426
+
1427
+ let transcode = self.transcoder(src, &dst, Transcode::Utf8ToUtf16);
1428
+ self.instruction(LocalGet(src.ptr.idx));
1429
+ self.instruction(LocalGet(src.len.idx));
1430
+ self.instruction(LocalGet(dst.ptr.idx));
1431
+ self.instruction(Call(transcode.as_u32()));
1432
+ self.instruction(LocalSet(dst.len.idx));
1433
+
1434
+ // If the number of code units returned by transcode is not
1435
+ // equal to the original number of code units then
1436
+ // the buffer must be shrunk.
1437
+ //
1438
+ // Note that the byte length of the final allocation we
1439
+ // want is twice the code unit length returned by the
1440
+ // transcoding function.
1441
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1442
+ self.instruction(LocalGet(dst.len.idx));
1443
+ self.ptr_ne(dst_opts);
1444
+ self.instruction(If(BlockType::Empty));
1445
+ self.instruction(LocalGet(dst.ptr.idx));
1446
+ self.instruction(LocalGet(dst_byte_len.idx));
1447
+ self.ptr_uconst(dst.opts, 2);
1448
+ self.instruction(LocalGet(dst.len.idx));
1449
+ self.ptr_uconst(dst.opts, 1);
1450
+ self.ptr_shl(dst.opts);
1451
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1452
+ self.instruction(LocalSet(dst.ptr.idx));
1453
+ self.instruction(End); // end of shrink-to-fit
1454
+
1455
+ self.free_temp_local(dst_byte_len);
1456
+
1457
+ dst
1458
+ }
1459
+
1460
+ // Corresponds to `store_probably_utf16_to_latin1_or_utf16` in the spec.
1461
+ //
1462
+ // This will try to transcode the input utf16 string to utf16 in the
1463
+ // destination. If utf16 isn't needed though and latin1 could be used
1464
+ // then that's used instead and a reallocation to downsize occurs
1465
+ // afterwards.
1466
+ //
1467
+ // The host transcode function here will take the src/dst pointers as
1468
+ // well as src length. The destination byte length is twice the src code
1469
+ // unit length. The return value is the tagged length of the returned
1470
+ // string. If the upper bit is set then utf16 was used and the
1471
+ // conversion is done. If the upper bit is not set then latin1 was used
1472
+ // and a downsizing needs to happen.
1473
+ fn string_compact_utf16_to_compact<'a>(
1474
+ &mut self,
1475
+ src: &WasmString<'_>,
1476
+ dst_opts: &'a Options,
1477
+ ) -> WasmString<'a> {
1478
+ self.validate_string_length(src, FE::Utf16);
1479
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1480
+ let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1481
+ self.ptr_uconst(dst_opts, 1);
1482
+ self.ptr_shl(dst_opts);
1483
+ let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1484
+ let dst = {
1485
+ let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1486
+ WasmString {
1487
+ ptr: dst_mem.addr,
1488
+ len: dst_len,
1489
+ opts: dst_opts,
1490
+ }
1491
+ };
1492
+
1493
+ self.convert_src_len_to_dst(dst_byte_len.idx, dst.opts.ptr(), src.opts.ptr());
1494
+ let src_byte_len = self.local_set_new_tmp(src.opts.ptr());
1495
+
1496
+ self.validate_string_inbounds(src, src_byte_len.idx);
1497
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1498
+
1499
+ let transcode = self.transcoder(src, &dst, Transcode::Utf16ToCompactProbablyUtf16);
1500
+ self.instruction(LocalGet(src.ptr.idx));
1501
+ self.instruction(LocalGet(src.len.idx));
1502
+ self.instruction(LocalGet(dst.ptr.idx));
1503
+ self.instruction(Call(transcode.as_u32()));
1504
+ self.instruction(LocalSet(dst.len.idx));
1505
+
1506
+ // Assert that the untagged code unit length is the same as the
1507
+ // source code unit length.
1508
+ if self.module.debug {
1509
+ self.instruction(LocalGet(dst.len.idx));
1510
+ self.ptr_uconst(dst.opts, !UTF16_TAG);
1511
+ self.ptr_and(dst.opts);
1512
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1513
+ self.ptr_ne(dst.opts);
1514
+ self.instruction(If(BlockType::Empty));
1515
+ self.trap(Trap::AssertFailed("expected equal code units"));
1516
+ self.instruction(End);
1517
+ }
1518
+
1519
+ // If the UTF16_TAG is set then utf16 was used and the destination
1520
+ // should be appropriately sized. Bail out of the "is this string
1521
+ // empty" block and fall through otherwise to resizing.
1522
+ self.instruction(LocalGet(dst.len.idx));
1523
+ self.ptr_uconst(dst.opts, UTF16_TAG);
1524
+ self.ptr_and(dst.opts);
1525
+ self.ptr_br_if(dst.opts, 0);
1526
+
1527
+ // Here `realloc` is used to downsize the string
1528
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1529
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1530
+ self.ptr_uconst(dst.opts, 2); // align
1531
+ self.instruction(LocalGet(dst.len.idx)); // new_size
1532
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1533
+ self.instruction(LocalSet(dst.ptr.idx));
1534
+
1535
+ self.free_temp_local(dst_byte_len);
1536
+ self.free_temp_local(src_byte_len);
1537
+
1538
+ dst
1539
+ }
1540
+
1541
+ // Corresponds to `store_string_to_latin1_or_utf16` in the spec.
1542
+ //
1543
+ // This will attempt a first pass of transcoding to latin1 and on
1544
+ // failure a larger buffer is allocated for utf16 and then utf16 is
1545
+ // encoded in-place into the buffer. After either latin1 or utf16 the
1546
+ // buffer is then resized to fit the final string allocation.
1547
+ fn string_to_compact<'a>(
1548
+ &mut self,
1549
+ src: &WasmString<'_>,
1550
+ src_enc: FE,
1551
+ dst_opts: &'a Options,
1552
+ ) -> WasmString<'a> {
1553
+ self.validate_string_length(src, src_enc);
1554
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1555
+ let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1556
+ let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1557
+ let dst = {
1558
+ let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1559
+ WasmString {
1560
+ ptr: dst_mem.addr,
1561
+ len: dst_len,
1562
+ opts: dst_opts,
1563
+ }
1564
+ };
1565
+
1566
+ self.validate_string_inbounds(src, src.len.idx);
1567
+ self.validate_string_inbounds(&dst, dst_byte_len.idx);
1568
+
1569
+ // Perform the initial latin1 transcode. This returns the number of
1570
+ // source code units consumed and the number of destination code
1571
+ // units (bytes) written.
1572
+ let (latin1, utf16) = match src_enc {
1573
+ FE::Utf8 => (Transcode::Utf8ToLatin1, Transcode::Utf8ToCompactUtf16),
1574
+ FE::Utf16 => (Transcode::Utf16ToLatin1, Transcode::Utf16ToCompactUtf16),
1575
+ FE::Latin1 => unreachable!(),
1576
+ };
1577
+ let transcode_latin1 = self.transcoder(src, &dst, latin1);
1578
+ let transcode_utf16 = self.transcoder(src, &dst, utf16);
1579
+ self.instruction(LocalGet(src.ptr.idx));
1580
+ self.instruction(LocalGet(src.len.idx));
1581
+ self.instruction(LocalGet(dst.ptr.idx));
1582
+ self.instruction(Call(transcode_latin1.as_u32()));
1583
+ self.instruction(LocalSet(dst.len.idx));
1584
+ let src_len_tmp = self.local_set_new_tmp(src.opts.ptr());
1585
+
1586
+ // If the source was entirely consumed then the transcode completed
1587
+ // and all that's necessary is to optionally shrink the buffer.
1588
+ self.instruction(LocalGet(src_len_tmp.idx));
1589
+ self.instruction(LocalGet(src.len.idx));
1590
+ self.ptr_eq(src.opts);
1591
+ self.instruction(If(BlockType::Empty)); // if latin1-or-utf16 block
1592
+
1593
+ // Test if the original byte length of the allocation is the same as
1594
+ // the number of written bytes, and if not then shrink the buffer
1595
+ // with a call to `realloc`.
1596
+ self.instruction(LocalGet(dst_byte_len.idx));
1597
+ self.instruction(LocalGet(dst.len.idx));
1598
+ self.ptr_ne(dst.opts);
1599
+ self.instruction(If(BlockType::Empty));
1600
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1601
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1602
+ self.ptr_uconst(dst.opts, 2); // align
1603
+ self.instruction(LocalGet(dst.len.idx)); // new_size
1604
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1605
+ self.instruction(LocalSet(dst.ptr.idx));
1606
+ self.instruction(End);
1607
+
1608
+ // In this block the latin1 encoding failed. The host transcode
1609
+ // returned how many units were consumed from the source and how
1610
+ // many bytes were written to the destination. Here the buffer is
1611
+ // inflated and sized and the second utf16 intrinsic is invoked to
1612
+ // perform the final inflation.
1613
+ self.instruction(Else); // else latin1-or-utf16 block
1614
+
1615
+ // For utf8 validate that the inflated size is still within bounds.
1616
+ if src_enc.width() == 1 {
1617
+ self.validate_string_length_u8(src, 2);
1618
+ }
1619
+
1620
+ // Reallocate the buffer with twice the source code units in byte
1621
+ // size.
1622
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1623
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1624
+ self.ptr_uconst(dst.opts, 2); // align
1625
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1626
+ self.ptr_uconst(dst.opts, 1);
1627
+ self.ptr_shl(dst.opts);
1628
+ self.instruction(LocalTee(dst_byte_len.idx));
1629
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1630
+ self.instruction(LocalSet(dst.ptr.idx));
1631
+
1632
+ // Call the host utf16 transcoding function. This will inflate the
1633
+ // prior latin1 bytes and then encode the rest of the source string
1634
+ // as utf16 into the remaining space in the destination buffer.
1635
+ self.instruction(LocalGet(src.ptr.idx));
1636
+ self.instruction(LocalGet(src_len_tmp.idx));
1637
+ if let FE::Utf16 = src_enc {
1638
+ self.ptr_uconst(src.opts, 1);
1639
+ self.ptr_shl(src.opts);
1640
+ }
1641
+ self.ptr_add(src.opts);
1642
+ self.instruction(LocalGet(src.len.idx));
1643
+ self.instruction(LocalGet(src_len_tmp.idx));
1644
+ self.ptr_sub(src.opts);
1645
+ self.instruction(LocalGet(dst.ptr.idx));
1646
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1647
+ self.instruction(LocalGet(dst.len.idx));
1648
+ self.instruction(Call(transcode_utf16.as_u32()));
1649
+ self.instruction(LocalSet(dst.len.idx));
1650
+
1651
+ // If the returned number of code units written to the destination
1652
+ // is not equal to the size of the allocation then the allocation is
1653
+ // resized down to the appropriate size.
1654
+ //
1655
+ // Note that the byte size desired is `2*dst_len` and the current
1656
+ // byte buffer size is `2*src_len` so the `2` factor isn't checked
1657
+ // here, just the lengths.
1658
+ self.instruction(LocalGet(dst.len.idx));
1659
+ self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1660
+ self.ptr_ne(dst.opts);
1661
+ self.instruction(If(BlockType::Empty));
1662
+ self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1663
+ self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1664
+ self.ptr_uconst(dst.opts, 2); // align
1665
+ self.instruction(LocalGet(dst.len.idx));
1666
+ self.ptr_uconst(dst.opts, 1);
1667
+ self.ptr_shl(dst.opts);
1668
+ self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1669
+ self.instruction(LocalSet(dst.ptr.idx));
1670
+ self.instruction(End);
1671
+
1672
+ // Tag the returned pointer as utf16
1673
+ self.instruction(LocalGet(dst.len.idx));
1674
+ self.ptr_uconst(dst.opts, UTF16_TAG);
1675
+ self.ptr_or(dst.opts);
1676
+ self.instruction(LocalSet(dst.len.idx));
1677
+
1678
+ self.instruction(End); // end latin1-or-utf16 block
1679
+
1680
+ self.free_temp_local(src_len_tmp);
1681
+ self.free_temp_local(dst_byte_len);
1682
+
1683
+ dst
1684
+ }
1685
+
1686
+ fn validate_string_length(&mut self, src: &WasmString<'_>, dst: FE) {
1687
+ self.validate_string_length_u8(src, dst.width())
1688
+ }
1689
+
1690
+ fn validate_string_length_u8(&mut self, s: &WasmString<'_>, dst: u8) {
1691
+ // Check to see if the source byte length is out of bounds in
1692
+ // which case a trap is generated.
1693
+ self.instruction(LocalGet(s.len.idx));
1694
+ let max = MAX_STRING_BYTE_LENGTH / u32::from(dst);
1695
+ self.ptr_uconst(s.opts, max);
1696
+ self.ptr_ge_u(s.opts);
1697
+ self.instruction(If(BlockType::Empty));
1698
+ self.trap(Trap::StringLengthTooBig);
1699
+ self.instruction(End);
1700
+ }
1701
+
1702
+ fn transcoder(
1703
+ &mut self,
1704
+ src: &WasmString<'_>,
1705
+ dst: &WasmString<'_>,
1706
+ op: Transcode,
1707
+ ) -> FuncIndex {
1708
+ self.module.import_transcoder(Transcoder {
1709
+ from_memory: src.opts.memory.unwrap(),
1710
+ from_memory64: src.opts.memory64,
1711
+ to_memory: dst.opts.memory.unwrap(),
1712
+ to_memory64: dst.opts.memory64,
1713
+ op,
1714
+ })
1715
+ }
1716
+
1717
+ fn validate_string_inbounds(&mut self, s: &WasmString<'_>, byte_len: u32) {
1718
+ self.validate_memory_inbounds(s.opts, s.ptr.idx, byte_len, Trap::StringLengthOverflow)
1719
+ }
1720
+
1721
+ fn validate_memory_inbounds(
1722
+ &mut self,
1723
+ opts: &Options,
1724
+ ptr_local: u32,
1725
+ byte_len_local: u32,
1726
+ trap: Trap,
1727
+ ) {
1728
+ let extend_to_64 = |me: &mut Self| {
1729
+ if !opts.memory64 {
1730
+ me.instruction(I64ExtendI32U);
1731
+ }
1732
+ };
1733
+
1734
+ self.instruction(Block(BlockType::Empty));
1735
+ self.instruction(Block(BlockType::Empty));
1736
+
1737
+ // Calculate the full byte size of memory with `memory.size`. Note that
1738
+ // arithmetic here is done always in 64-bits to accommodate 4G memories.
1739
+ // Additionally it's assumed that 64-bit memories never fill up
1740
+ // entirely.
1741
+ self.instruction(MemorySize(opts.memory.unwrap().as_u32()));
1742
+ extend_to_64(self);
1743
+ self.instruction(I64Const(16));
1744
+ self.instruction(I64Shl);
1745
+
1746
+ // Calculate the end address of the string. This is done by adding the
1747
+ // base pointer to the byte length. For 32-bit memories there's no need
1748
+ // to check for overflow since everything is extended to 64-bit, but for
1749
+ // 64-bit memories overflow is checked.
1750
+ self.instruction(LocalGet(ptr_local));
1751
+ extend_to_64(self);
1752
+ self.instruction(LocalGet(byte_len_local));
1753
+ extend_to_64(self);
1754
+ self.instruction(I64Add);
1755
+ if opts.memory64 {
1756
+ let tmp = self.local_tee_new_tmp(ValType::I64);
1757
+ self.instruction(LocalGet(ptr_local));
1758
+ self.ptr_lt_u(opts);
1759
+ self.instruction(BrIf(0));
1760
+ self.instruction(LocalGet(tmp.idx));
1761
+ self.free_temp_local(tmp);
1762
+ }
1763
+
1764
+ // If the byte size of memory is greater than the final address of the
1765
+ // string then the string is invalid. Note that if it's precisely equal
1766
+ // then that's ok.
1767
+ self.instruction(I64GeU);
1768
+ self.instruction(BrIf(1));
1769
+
1770
+ self.instruction(End);
1771
+ self.trap(trap);
1772
+ self.instruction(End);
1773
+ }
1774
+
1775
+ fn translate_list(
1776
+ &mut self,
1777
+ src_ty: TypeListIndex,
1778
+ src: &Source<'_>,
1779
+ dst_ty: &InterfaceType,
1780
+ dst: &Destination,
1781
+ ) {
1782
+ let src_element_ty = &self.types[src_ty].element;
1783
+ let dst_element_ty = match dst_ty {
1784
+ InterfaceType::List(r) => &self.types[*r].element,
1785
+ _ => panic!("expected a list"),
1786
+ };
1787
+ let src_opts = src.opts();
1788
+ let dst_opts = dst.opts();
1789
+ let (src_size, src_align) = self.types.size_align(src_opts, src_element_ty);
1790
+ let (dst_size, dst_align) = self.types.size_align(dst_opts, dst_element_ty);
1791
+
1792
+ // Load the pointer/length of this list into temporary locals. These
1793
+ // will be referenced a good deal so this just makes it easier to deal
1794
+ // with them consistently below rather than trying to reload from memory
1795
+ // for example.
1796
+ match src {
1797
+ Source::Stack(s) => {
1798
+ assert_eq!(s.locals.len(), 2);
1799
+ self.stack_get(&s.slice(0..1), src_opts.ptr());
1800
+ self.stack_get(&s.slice(1..2), src_opts.ptr());
1801
+ }
1802
+ Source::Memory(mem) => {
1803
+ self.ptr_load(mem);
1804
+ self.ptr_load(&mem.bump(src_opts.ptr_size().into()));
1805
+ }
1806
+ }
1807
+ let src_len = self.local_set_new_tmp(src_opts.ptr());
1808
+ let src_ptr = self.local_set_new_tmp(src_opts.ptr());
1809
+
1810
+ // Create a `Memory` operand which will internally assert that the
1811
+ // `src_ptr` value is properly aligned.
1812
+ let src_mem = self.memory_operand(src_opts, src_ptr, src_align);
1813
+
1814
+ // Calculate the source/destination byte lengths into unique locals.
1815
+ let src_byte_len = self.calculate_list_byte_len(src_opts, src_len.idx, src_size);
1816
+ let dst_byte_len = if src_size == dst_size {
1817
+ self.convert_src_len_to_dst(src_byte_len.idx, src_opts.ptr(), dst_opts.ptr());
1818
+ self.local_set_new_tmp(dst_opts.ptr())
1819
+ } else if src_opts.ptr() == dst_opts.ptr() {
1820
+ self.calculate_list_byte_len(dst_opts, src_len.idx, dst_size)
1821
+ } else {
1822
+ self.convert_src_len_to_dst(src_byte_len.idx, src_opts.ptr(), dst_opts.ptr());
1823
+ let tmp = self.local_set_new_tmp(dst_opts.ptr());
1824
+ let ret = self.calculate_list_byte_len(dst_opts, tmp.idx, dst_size);
1825
+ self.free_temp_local(tmp);
1826
+ ret
1827
+ };
1828
+
1829
+ // Here `realloc` is invoked (in a `malloc`-like fashion) to allocate
1830
+ // space for the list in the destination memory. This will also
1831
+ // internally insert checks that the returned pointer is aligned
1832
+ // correctly for the destination.
1833
+ let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), dst_align);
1834
+
1835
+ // With all the pointers and byte lengths verity that both the source
1836
+ // and the destination buffers are in-bounds.
1837
+ self.validate_memory_inbounds(
1838
+ src_opts,
1839
+ src_mem.addr.idx,
1840
+ src_byte_len.idx,
1841
+ Trap::ListByteLengthOverflow,
1842
+ );
1843
+ self.validate_memory_inbounds(
1844
+ dst_opts,
1845
+ dst_mem.addr.idx,
1846
+ dst_byte_len.idx,
1847
+ Trap::ListByteLengthOverflow,
1848
+ );
1849
+
1850
+ self.free_temp_local(src_byte_len);
1851
+ self.free_temp_local(dst_byte_len);
1852
+
1853
+ // This is the main body of the loop to actually translate list types.
1854
+ // Note that if both element sizes are 0 then this won't actually do
1855
+ // anything so the loop is removed entirely.
1856
+ if src_size > 0 || dst_size > 0 {
1857
+ // This block encompasses the entire loop and is use to exit before even
1858
+ // entering the loop if the list size is zero.
1859
+ self.instruction(Block(BlockType::Empty));
1860
+
1861
+ // Set the `remaining` local and only continue if it's > 0
1862
+ self.instruction(LocalGet(src_len.idx));
1863
+ let remaining = self.local_tee_new_tmp(src_opts.ptr());
1864
+ self.ptr_eqz(src_opts);
1865
+ self.instruction(BrIf(0));
1866
+
1867
+ // Initialize the two destination pointers to their initial values
1868
+ self.instruction(LocalGet(src_mem.addr.idx));
1869
+ let cur_src_ptr = self.local_set_new_tmp(src_opts.ptr());
1870
+ self.instruction(LocalGet(dst_mem.addr.idx));
1871
+ let cur_dst_ptr = self.local_set_new_tmp(dst_opts.ptr());
1872
+
1873
+ self.instruction(Loop(BlockType::Empty));
1874
+
1875
+ // Translate the next element in the list
1876
+ let element_src = Source::Memory(Memory {
1877
+ opts: src_opts,
1878
+ offset: 0,
1879
+ addr: TempLocal::new(cur_src_ptr.idx, cur_src_ptr.ty),
1880
+ });
1881
+ let element_dst = Destination::Memory(Memory {
1882
+ opts: dst_opts,
1883
+ offset: 0,
1884
+ addr: TempLocal::new(cur_dst_ptr.idx, cur_dst_ptr.ty),
1885
+ });
1886
+ self.translate(src_element_ty, &element_src, dst_element_ty, &element_dst);
1887
+
1888
+ // Update the two loop pointers
1889
+ if src_size > 0 {
1890
+ self.instruction(LocalGet(cur_src_ptr.idx));
1891
+ self.ptr_uconst(src_opts, src_size);
1892
+ self.ptr_add(src_opts);
1893
+ self.instruction(LocalSet(cur_src_ptr.idx));
1894
+ }
1895
+ if dst_size > 0 {
1896
+ self.instruction(LocalGet(cur_dst_ptr.idx));
1897
+ self.ptr_uconst(dst_opts, dst_size);
1898
+ self.ptr_add(dst_opts);
1899
+ self.instruction(LocalSet(cur_dst_ptr.idx));
1900
+ }
1901
+
1902
+ // Update the remaining count, falling through to break out if it's zero
1903
+ // now.
1904
+ self.instruction(LocalGet(remaining.idx));
1905
+ self.ptr_iconst(src_opts, -1);
1906
+ self.ptr_add(src_opts);
1907
+ self.instruction(LocalTee(remaining.idx));
1908
+ self.ptr_br_if(src_opts, 0);
1909
+ self.instruction(End); // end of loop
1910
+ self.instruction(End); // end of block
1911
+
1912
+ self.free_temp_local(cur_dst_ptr);
1913
+ self.free_temp_local(cur_src_ptr);
1914
+ self.free_temp_local(remaining);
1915
+ }
1916
+
1917
+ // Store the ptr/length in the desired destination
1918
+ match dst {
1919
+ Destination::Stack(s, _) => {
1920
+ self.instruction(LocalGet(dst_mem.addr.idx));
1921
+ self.stack_set(&s[..1], dst_opts.ptr());
1922
+ self.convert_src_len_to_dst(src_len.idx, src_opts.ptr(), dst_opts.ptr());
1923
+ self.stack_set(&s[1..], dst_opts.ptr());
1924
+ }
1925
+ Destination::Memory(mem) => {
1926
+ self.instruction(LocalGet(mem.addr.idx));
1927
+ self.instruction(LocalGet(dst_mem.addr.idx));
1928
+ self.ptr_store(mem);
1929
+ self.instruction(LocalGet(mem.addr.idx));
1930
+ self.convert_src_len_to_dst(src_len.idx, src_opts.ptr(), dst_opts.ptr());
1931
+ self.ptr_store(&mem.bump(dst_opts.ptr_size().into()));
1932
+ }
1933
+ }
1934
+
1935
+ self.free_temp_local(src_len);
1936
+ self.free_temp_local(src_mem.addr);
1937
+ self.free_temp_local(dst_mem.addr);
1938
+ }
1939
+
1940
+ fn calculate_list_byte_len(
1941
+ &mut self,
1942
+ opts: &Options,
1943
+ len_local: u32,
1944
+ elt_size: u32,
1945
+ ) -> TempLocal {
1946
+ // Zero-size types are easy to handle here because the byte size of the
1947
+ // destination is always zero.
1948
+ if elt_size == 0 {
1949
+ self.ptr_uconst(opts, 0);
1950
+ return self.local_set_new_tmp(opts.ptr());
1951
+ }
1952
+
1953
+ // For one-byte elements in the destination the check here can be a bit
1954
+ // more optimal than the general case below. In these situations if the
1955
+ // source pointer type is 32-bit then we're guaranteed to not overflow,
1956
+ // so the source length is simply casted to the destination's type.
1957
+ //
1958
+ // If the source is 64-bit then all that needs to be checked is to
1959
+ // ensure that it does not have the upper 32-bits set.
1960
+ if elt_size == 1 {
1961
+ if let ValType::I64 = opts.ptr() {
1962
+ self.instruction(LocalGet(len_local));
1963
+ self.instruction(I64Const(32));
1964
+ self.instruction(I64ShrU);
1965
+ self.instruction(I32WrapI64);
1966
+ self.instruction(If(BlockType::Empty));
1967
+ self.trap(Trap::ListByteLengthOverflow);
1968
+ self.instruction(End);
1969
+ }
1970
+ self.instruction(LocalGet(len_local));
1971
+ return self.local_set_new_tmp(opts.ptr());
1972
+ }
1973
+
1974
+ // The main check implemented by this function is to verify that
1975
+ // `src_len_local` does not exceed the 32-bit range. Byte sizes for
1976
+ // lists must always fit in 32-bits to get transferred to 32-bit
1977
+ // memories.
1978
+ self.instruction(Block(BlockType::Empty));
1979
+ self.instruction(Block(BlockType::Empty));
1980
+ self.instruction(LocalGet(len_local));
1981
+ match opts.ptr() {
1982
+ // The source's list length is guaranteed to be less than 32-bits
1983
+ // so simply extend it up to a 64-bit type for the multiplication
1984
+ // below.
1985
+ ValType::I32 => self.instruction(I64ExtendI32U),
1986
+
1987
+ // If the source is a 64-bit memory then if the item length doesn't
1988
+ // fit in 32-bits the byte length definitely won't, so generate a
1989
+ // branch to our overflow trap here if any of the upper 32-bits are set.
1990
+ ValType::I64 => {
1991
+ self.instruction(I64Const(32));
1992
+ self.instruction(I64ShrU);
1993
+ self.instruction(I32WrapI64);
1994
+ self.instruction(BrIf(0));
1995
+ self.instruction(LocalGet(len_local));
1996
+ }
1997
+
1998
+ _ => unreachable!(),
1999
+ }
2000
+
2001
+ // Next perform a 64-bit multiplication with the element byte size that
2002
+ // is itself guaranteed to fit in 32-bits. The result is then checked
2003
+ // to see if we overflowed the 32-bit space. The two input operands to
2004
+ // the multiplication are guaranteed to be 32-bits at most which means
2005
+ // that this multiplication shouldn't overflow.
2006
+ //
2007
+ // The result of the multiplication is saved into a local as well to
2008
+ // get the result afterwards.
2009
+ self.instruction(I64Const(elt_size.into()));
2010
+ self.instruction(I64Mul);
2011
+ let tmp = self.local_tee_new_tmp(ValType::I64);
2012
+ // Branch to success if the upper 32-bits are zero, otherwise
2013
+ // fall-through to the trap.
2014
+ self.instruction(I64Const(32));
2015
+ self.instruction(I64ShrU);
2016
+ self.instruction(I64Eqz);
2017
+ self.instruction(BrIf(1));
2018
+ self.instruction(End);
2019
+ self.trap(Trap::ListByteLengthOverflow);
2020
+ self.instruction(End);
2021
+
2022
+ // If a fresh local was used to store the result of the multiplication
2023
+ // then convert it down to 32-bits which should be guaranteed to not
2024
+ // lose information at this point.
2025
+ if opts.ptr() == ValType::I64 {
2026
+ tmp
2027
+ } else {
2028
+ self.instruction(LocalGet(tmp.idx));
2029
+ self.instruction(I32WrapI64);
2030
+ self.free_temp_local(tmp);
2031
+ self.local_set_new_tmp(ValType::I32)
2032
+ }
2033
+ }
2034
+
2035
+ fn convert_src_len_to_dst(
2036
+ &mut self,
2037
+ src_len_local: u32,
2038
+ src_ptr_ty: ValType,
2039
+ dst_ptr_ty: ValType,
2040
+ ) {
2041
+ self.instruction(LocalGet(src_len_local));
2042
+ match (src_ptr_ty, dst_ptr_ty) {
2043
+ (ValType::I32, ValType::I64) => self.instruction(I64ExtendI32U),
2044
+ (ValType::I64, ValType::I32) => self.instruction(I32WrapI64),
2045
+ (src, dst) => assert_eq!(src, dst),
2046
+ }
2047
+ }
2048
+
2049
+ fn translate_record(
2050
+ &mut self,
2051
+ src_ty: TypeRecordIndex,
2052
+ src: &Source<'_>,
2053
+ dst_ty: &InterfaceType,
2054
+ dst: &Destination,
2055
+ ) {
2056
+ let src_ty = &self.types[src_ty];
2057
+ let dst_ty = match dst_ty {
2058
+ InterfaceType::Record(r) => &self.types[*r],
2059
+ _ => panic!("expected a record"),
2060
+ };
2061
+
2062
+ // TODO: subtyping
2063
+ assert_eq!(src_ty.fields.len(), dst_ty.fields.len());
2064
+
2065
+ // First a map is made of the source fields to where they're coming
2066
+ // from (e.g. which offset or which locals). This map is keyed by the
2067
+ // fields' names
2068
+ let mut src_fields = HashMap::new();
2069
+ for (i, src) in src
2070
+ .record_field_srcs(self.types, src_ty.fields.iter().map(|f| f.ty))
2071
+ .enumerate()
2072
+ {
2073
+ let field = &src_ty.fields[i];
2074
+ src_fields.insert(&field.name, (src, &field.ty));
2075
+ }
2076
+
2077
+ // .. and next translation is performed in the order of the destination
2078
+ // fields in case the destination is the stack to ensure that the stack
2079
+ // has the fields all in the right order.
2080
+ //
2081
+ // Note that the lookup in `src_fields` is an infallible lookup which
2082
+ // will panic if the field isn't found.
2083
+ //
2084
+ // TODO: should that lookup be fallible with subtyping?
2085
+ for (i, dst) in dst
2086
+ .record_field_dsts(self.types, dst_ty.fields.iter().map(|f| f.ty))
2087
+ .enumerate()
2088
+ {
2089
+ let field = &dst_ty.fields[i];
2090
+ let (src, src_ty) = &src_fields[&field.name];
2091
+ self.translate(src_ty, src, &field.ty, &dst);
2092
+ }
2093
+ }
2094
+
2095
+ fn translate_flags(
2096
+ &mut self,
2097
+ src_ty: TypeFlagsIndex,
2098
+ src: &Source<'_>,
2099
+ dst_ty: &InterfaceType,
2100
+ dst: &Destination,
2101
+ ) {
2102
+ let src_ty = &self.types[src_ty];
2103
+ let dst_ty = match dst_ty {
2104
+ InterfaceType::Flags(r) => &self.types[*r],
2105
+ _ => panic!("expected a record"),
2106
+ };
2107
+
2108
+ // TODO: subtyping
2109
+ //
2110
+ // Notably this implementation does not support reordering flags from
2111
+ // the source to the destination nor having more flags in the
2112
+ // destination. Currently this is a copy from source to destination
2113
+ // in-bulk. Otherwise reordering indices would have to have some sort of
2114
+ // fancy bit twiddling tricks or something like that.
2115
+ assert_eq!(src_ty.names, dst_ty.names);
2116
+ let cnt = src_ty.names.len();
2117
+ match FlagsSize::from_count(cnt) {
2118
+ FlagsSize::Size0 => {}
2119
+ FlagsSize::Size1 => {
2120
+ let mask = if cnt == 8 { 0xff } else { (1 << cnt) - 1 };
2121
+ self.convert_u8_mask(src, dst, mask);
2122
+ }
2123
+ FlagsSize::Size2 => {
2124
+ let mask = if cnt == 16 { 0xffff } else { (1 << cnt) - 1 };
2125
+ self.convert_u16_mask(src, dst, mask);
2126
+ }
2127
+ FlagsSize::Size4Plus(n) => {
2128
+ let srcs = src.record_field_srcs(self.types, (0..n).map(|_| InterfaceType::U32));
2129
+ let dsts = dst.record_field_dsts(self.types, (0..n).map(|_| InterfaceType::U32));
2130
+ let n = usize::from(n);
2131
+ for (i, (src, dst)) in srcs.zip(dsts).enumerate() {
2132
+ let mask = if i == n - 1 && (cnt % 32 != 0) {
2133
+ (1 << (cnt % 32)) - 1
2134
+ } else {
2135
+ 0xffffffff
2136
+ };
2137
+ self.convert_u32_mask(&src, &dst, mask);
2138
+ }
2139
+ }
2140
+ }
2141
+ }
2142
+
2143
+ fn translate_tuple(
2144
+ &mut self,
2145
+ src_ty: TypeTupleIndex,
2146
+ src: &Source<'_>,
2147
+ dst_ty: &InterfaceType,
2148
+ dst: &Destination,
2149
+ ) {
2150
+ let src_ty = &self.types[src_ty];
2151
+ let dst_ty = match dst_ty {
2152
+ InterfaceType::Tuple(t) => &self.types[*t],
2153
+ _ => panic!("expected a tuple"),
2154
+ };
2155
+
2156
+ // TODO: subtyping
2157
+ assert_eq!(src_ty.types.len(), dst_ty.types.len());
2158
+
2159
+ let srcs = src
2160
+ .record_field_srcs(self.types, src_ty.types.iter().copied())
2161
+ .zip(src_ty.types.iter());
2162
+ let dsts = dst
2163
+ .record_field_dsts(self.types, dst_ty.types.iter().copied())
2164
+ .zip(dst_ty.types.iter());
2165
+ for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
2166
+ self.translate(src_ty, &src, dst_ty, &dst);
2167
+ }
2168
+ }
2169
+
2170
+ fn translate_variant(
2171
+ &mut self,
2172
+ src_ty: TypeVariantIndex,
2173
+ src: &Source<'_>,
2174
+ dst_ty: &InterfaceType,
2175
+ dst: &Destination,
2176
+ ) {
2177
+ let src_ty = &self.types[src_ty];
2178
+ let dst_ty = match dst_ty {
2179
+ InterfaceType::Variant(t) => &self.types[*t],
2180
+ _ => panic!("expected a variant"),
2181
+ };
2182
+
2183
+ let src_info = variant_info(self.types, src_ty.cases.iter().map(|(_, c)| c.as_ref()));
2184
+ let dst_info = variant_info(self.types, dst_ty.cases.iter().map(|(_, c)| c.as_ref()));
2185
+
2186
+ let iter = src_ty
2187
+ .cases
2188
+ .iter()
2189
+ .enumerate()
2190
+ .map(|(src_i, (src_case, src_case_ty))| {
2191
+ let dst_i = dst_ty
2192
+ .cases
2193
+ .iter()
2194
+ .position(|(c, _)| c == src_case)
2195
+ .unwrap();
2196
+ let dst_case_ty = &dst_ty.cases[dst_i];
2197
+ let src_i = u32::try_from(src_i).unwrap();
2198
+ let dst_i = u32::try_from(dst_i).unwrap();
2199
+ VariantCase {
2200
+ src_i,
2201
+ src_ty: src_case_ty.as_ref(),
2202
+ dst_i,
2203
+ dst_ty: dst_case_ty.as_ref(),
2204
+ }
2205
+ });
2206
+ self.convert_variant(src, &src_info, dst, &dst_info, iter);
2207
+ }
2208
+
2209
+ fn translate_enum(
2210
+ &mut self,
2211
+ src_ty: TypeEnumIndex,
2212
+ src: &Source<'_>,
2213
+ dst_ty: &InterfaceType,
2214
+ dst: &Destination,
2215
+ ) {
2216
+ let src_ty = &self.types[src_ty];
2217
+ let dst_ty = match dst_ty {
2218
+ InterfaceType::Enum(t) => &self.types[*t],
2219
+ _ => panic!("expected an option"),
2220
+ };
2221
+ let src_info = variant_info(self.types, src_ty.names.iter().map(|_| None));
2222
+ let dst_info = variant_info(self.types, dst_ty.names.iter().map(|_| None));
2223
+
2224
+ self.convert_variant(
2225
+ src,
2226
+ &src_info,
2227
+ dst,
2228
+ &dst_info,
2229
+ src_ty.names.iter().enumerate().map(|(src_i, src_name)| {
2230
+ let dst_i = dst_ty.names.iter().position(|n| n == src_name).unwrap();
2231
+ let src_i = u32::try_from(src_i).unwrap();
2232
+ let dst_i = u32::try_from(dst_i).unwrap();
2233
+ VariantCase {
2234
+ src_i,
2235
+ dst_i,
2236
+ src_ty: None,
2237
+ dst_ty: None,
2238
+ }
2239
+ }),
2240
+ );
2241
+ }
2242
+
2243
+ fn translate_option(
2244
+ &mut self,
2245
+ src_ty: TypeOptionIndex,
2246
+ src: &Source<'_>,
2247
+ dst_ty: &InterfaceType,
2248
+ dst: &Destination,
2249
+ ) {
2250
+ let src_ty = &self.types[src_ty].ty;
2251
+ let dst_ty = match dst_ty {
2252
+ InterfaceType::Option(t) => &self.types[*t].ty,
2253
+ _ => panic!("expected an option"),
2254
+ };
2255
+ let src_ty = Some(src_ty);
2256
+ let dst_ty = Some(dst_ty);
2257
+
2258
+ let src_info = variant_info(self.types, [None, src_ty]);
2259
+ let dst_info = variant_info(self.types, [None, dst_ty]);
2260
+
2261
+ self.convert_variant(
2262
+ src,
2263
+ &src_info,
2264
+ dst,
2265
+ &dst_info,
2266
+ [
2267
+ VariantCase {
2268
+ src_i: 0,
2269
+ dst_i: 0,
2270
+ src_ty: None,
2271
+ dst_ty: None,
2272
+ },
2273
+ VariantCase {
2274
+ src_i: 1,
2275
+ dst_i: 1,
2276
+ src_ty,
2277
+ dst_ty,
2278
+ },
2279
+ ]
2280
+ .into_iter(),
2281
+ );
2282
+ }
2283
+
2284
+ fn translate_result(
2285
+ &mut self,
2286
+ src_ty: TypeResultIndex,
2287
+ src: &Source<'_>,
2288
+ dst_ty: &InterfaceType,
2289
+ dst: &Destination,
2290
+ ) {
2291
+ let src_ty = &self.types[src_ty];
2292
+ let dst_ty = match dst_ty {
2293
+ InterfaceType::Result(t) => &self.types[*t],
2294
+ _ => panic!("expected a result"),
2295
+ };
2296
+
2297
+ let src_info = variant_info(self.types, [src_ty.ok.as_ref(), src_ty.err.as_ref()]);
2298
+ let dst_info = variant_info(self.types, [dst_ty.ok.as_ref(), dst_ty.err.as_ref()]);
2299
+
2300
+ self.convert_variant(
2301
+ src,
2302
+ &src_info,
2303
+ dst,
2304
+ &dst_info,
2305
+ [
2306
+ VariantCase {
2307
+ src_i: 0,
2308
+ dst_i: 0,
2309
+ src_ty: src_ty.ok.as_ref(),
2310
+ dst_ty: dst_ty.ok.as_ref(),
2311
+ },
2312
+ VariantCase {
2313
+ src_i: 1,
2314
+ dst_i: 1,
2315
+ src_ty: src_ty.err.as_ref(),
2316
+ dst_ty: dst_ty.err.as_ref(),
2317
+ },
2318
+ ]
2319
+ .into_iter(),
2320
+ );
2321
+ }
2322
+
2323
+ fn convert_variant<'a>(
2324
+ &mut self,
2325
+ src: &Source<'_>,
2326
+ src_info: &VariantInfo,
2327
+ dst: &Destination,
2328
+ dst_info: &VariantInfo,
2329
+ src_cases: impl ExactSizeIterator<Item = VariantCase<'a>>,
2330
+ ) {
2331
+ // The outermost block is special since it has the result type of the
2332
+ // translation here. That will depend on the `dst`.
2333
+ let outer_block_ty = match dst {
2334
+ Destination::Stack(dst_flat, _) => match dst_flat.len() {
2335
+ 0 => BlockType::Empty,
2336
+ 1 => BlockType::Result(dst_flat[0]),
2337
+ _ => {
2338
+ let ty = self.module.core_types.function(&[], &dst_flat);
2339
+ BlockType::FunctionType(ty)
2340
+ }
2341
+ },
2342
+ Destination::Memory(_) => BlockType::Empty,
2343
+ };
2344
+ self.instruction(Block(outer_block_ty));
2345
+
2346
+ // After the outermost block generate a new block for each of the
2347
+ // remaining cases.
2348
+ let src_cases_len = src_cases.len();
2349
+ for _ in 0..src_cases_len - 1 {
2350
+ self.instruction(Block(BlockType::Empty));
2351
+ }
2352
+
2353
+ // Generate a block for an invalid variant discriminant
2354
+ self.instruction(Block(BlockType::Empty));
2355
+
2356
+ // And generate one final block that we'll be jumping out of with the
2357
+ // `br_table`
2358
+ self.instruction(Block(BlockType::Empty));
2359
+
2360
+ // Load the discriminant
2361
+ match src {
2362
+ Source::Stack(s) => self.stack_get(&s.slice(0..1), ValType::I32),
2363
+ Source::Memory(mem) => match src_info.size {
2364
+ DiscriminantSize::Size1 => self.i32_load8u(mem),
2365
+ DiscriminantSize::Size2 => self.i32_load16u(mem),
2366
+ DiscriminantSize::Size4 => self.i32_load(mem),
2367
+ },
2368
+ }
2369
+
2370
+ // Generate the `br_table` for the discriminant. Each case has an
2371
+ // offset of 1 to skip the trapping block.
2372
+ let mut targets = Vec::new();
2373
+ for i in 0..src_cases_len {
2374
+ targets.push((i + 1) as u32);
2375
+ }
2376
+ self.instruction(BrTable(targets[..].into(), 0));
2377
+ self.instruction(End); // end the `br_table` block
2378
+
2379
+ self.trap(Trap::InvalidDiscriminant);
2380
+ self.instruction(End); // end the "invalid discriminant" block
2381
+
2382
+ // Translate each case individually within its own block. Note that the
2383
+ // iteration order here places the first case in the innermost block
2384
+ // and the last case in the outermost block. This matches the order
2385
+ // of the jump targets in the `br_table` instruction.
2386
+ let src_cases_len = u32::try_from(src_cases_len).unwrap();
2387
+ for case in src_cases {
2388
+ let VariantCase {
2389
+ src_i,
2390
+ src_ty,
2391
+ dst_i,
2392
+ dst_ty,
2393
+ } = case;
2394
+
2395
+ // Translate the discriminant here, noting that `dst_i` may be
2396
+ // different than `src_i`.
2397
+ self.push_dst_addr(dst);
2398
+ self.instruction(I32Const(dst_i as i32));
2399
+ match dst {
2400
+ Destination::Stack(stack, _) => self.stack_set(&stack[..1], ValType::I32),
2401
+ Destination::Memory(mem) => match dst_info.size {
2402
+ DiscriminantSize::Size1 => self.i32_store8(mem),
2403
+ DiscriminantSize::Size2 => self.i32_store16(mem),
2404
+ DiscriminantSize::Size4 => self.i32_store(mem),
2405
+ },
2406
+ }
2407
+
2408
+ let src_payload = src.payload_src(self.types, src_info, src_ty);
2409
+ let dst_payload = dst.payload_dst(self.types, dst_info, dst_ty);
2410
+
2411
+ // Translate the payload of this case using the various types from
2412
+ // the dst/src.
2413
+ match (src_ty, dst_ty) {
2414
+ (Some(src_ty), Some(dst_ty)) => {
2415
+ self.translate(src_ty, &src_payload, dst_ty, &dst_payload);
2416
+ }
2417
+ (None, None) => {}
2418
+ _ => unimplemented!(),
2419
+ }
2420
+
2421
+ // If the results of this translation were placed on the stack then
2422
+ // the stack values may need to be padded with more zeros due to
2423
+ // this particular case being possibly smaller than the entire
2424
+ // variant. That's handled here by pushing remaining zeros after
2425
+ // accounting for the discriminant pushed as well as the results of
2426
+ // this individual payload.
2427
+ if let Destination::Stack(payload_results, _) = dst_payload {
2428
+ if let Destination::Stack(dst_results, _) = dst {
2429
+ let remaining = &dst_results[1..][payload_results.len()..];
2430
+ for ty in remaining {
2431
+ match ty {
2432
+ ValType::I32 => self.instruction(I32Const(0)),
2433
+ ValType::I64 => self.instruction(I64Const(0)),
2434
+ ValType::F32 => self.instruction(F32Const(0.0)),
2435
+ ValType::F64 => self.instruction(F64Const(0.0)),
2436
+ _ => unreachable!(),
2437
+ }
2438
+ }
2439
+ }
2440
+ }
2441
+
2442
+ // Branch to the outermost block. Note that this isn't needed for
2443
+ // the outermost case since it simply falls through.
2444
+ if src_i != src_cases_len - 1 {
2445
+ self.instruction(Br(src_cases_len - src_i - 1));
2446
+ }
2447
+ self.instruction(End); // end this case's block
2448
+ }
2449
+ }
2450
+
2451
+ fn translate_own(
2452
+ &mut self,
2453
+ src_ty: TypeResourceTableIndex,
2454
+ src: &Source<'_>,
2455
+ dst_ty: &InterfaceType,
2456
+ dst: &Destination,
2457
+ ) {
2458
+ let dst_ty = match dst_ty {
2459
+ InterfaceType::Own(t) => *t,
2460
+ _ => panic!("expected an `Own`"),
2461
+ };
2462
+ let transfer = self.module.import_resource_transfer_own();
2463
+ self.translate_resource(src_ty, src, dst_ty, dst, transfer);
2464
+ }
2465
+
2466
+ fn translate_borrow(
2467
+ &mut self,
2468
+ src_ty: TypeResourceTableIndex,
2469
+ src: &Source<'_>,
2470
+ dst_ty: &InterfaceType,
2471
+ dst: &Destination,
2472
+ ) {
2473
+ let dst_ty = match dst_ty {
2474
+ InterfaceType::Borrow(t) => *t,
2475
+ _ => panic!("expected an `Borrow`"),
2476
+ };
2477
+
2478
+ let transfer = self.module.import_resource_transfer_borrow();
2479
+ self.translate_resource(src_ty, src, dst_ty, dst, transfer);
2480
+ }
2481
+
2482
+ /// Translates the index `src`, which resides in the table `src_ty`, into
2483
+ /// and index within `dst_ty` and is stored at `dst`.
2484
+ ///
2485
+ /// Actual translation of the index happens in a wasmtime libcall, which a
2486
+ /// cranelift-generated trampoline to satisfy this import will call. The
2487
+ /// `transfer` function is an imported function which takes the src, src_ty,
2488
+ /// and dst_ty, and returns the dst index.
2489
+ fn translate_resource(
2490
+ &mut self,
2491
+ src_ty: TypeResourceTableIndex,
2492
+ src: &Source<'_>,
2493
+ dst_ty: TypeResourceTableIndex,
2494
+ dst: &Destination,
2495
+ transfer: FuncIndex,
2496
+ ) {
2497
+ self.push_dst_addr(dst);
2498
+ match src {
2499
+ Source::Memory(mem) => self.i32_load(mem),
2500
+ Source::Stack(stack) => self.stack_get(stack, ValType::I32),
2501
+ }
2502
+ self.instruction(I32Const(src_ty.as_u32() as i32));
2503
+ self.instruction(I32Const(dst_ty.as_u32() as i32));
2504
+ self.instruction(Call(transfer.as_u32()));
2505
+ match dst {
2506
+ Destination::Memory(mem) => self.i32_store(mem),
2507
+ Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
2508
+ }
2509
+ }
2510
+
2511
+ fn trap_if_not_flag(&mut self, flags_global: GlobalIndex, flag_to_test: i32, trap: Trap) {
2512
+ self.instruction(GlobalGet(flags_global.as_u32()));
2513
+ self.instruction(I32Const(flag_to_test));
2514
+ self.instruction(I32And);
2515
+ self.instruction(I32Eqz);
2516
+ self.instruction(If(BlockType::Empty));
2517
+ self.trap(trap);
2518
+ self.instruction(End);
2519
+ }
2520
+
2521
+ fn assert_not_flag(&mut self, flags_global: GlobalIndex, flag_to_test: i32, msg: &'static str) {
2522
+ self.instruction(GlobalGet(flags_global.as_u32()));
2523
+ self.instruction(I32Const(flag_to_test));
2524
+ self.instruction(I32And);
2525
+ self.instruction(If(BlockType::Empty));
2526
+ self.trap(Trap::AssertFailed(msg));
2527
+ self.instruction(End);
2528
+ }
2529
+
2530
+ fn set_flag(&mut self, flags_global: GlobalIndex, flag_to_set: i32, value: bool) {
2531
+ self.instruction(GlobalGet(flags_global.as_u32()));
2532
+ if value {
2533
+ self.instruction(I32Const(flag_to_set));
2534
+ self.instruction(I32Or);
2535
+ } else {
2536
+ self.instruction(I32Const(!flag_to_set));
2537
+ self.instruction(I32And);
2538
+ }
2539
+ self.instruction(GlobalSet(flags_global.as_u32()));
2540
+ }
2541
+
2542
+ fn verify_aligned(&mut self, opts: &Options, addr_local: u32, align: u32) {
2543
+ // If the alignment is 1 then everything is trivially aligned and the
2544
+ // check can be omitted.
2545
+ if align == 1 {
2546
+ return;
2547
+ }
2548
+ self.instruction(LocalGet(addr_local));
2549
+ assert!(align.is_power_of_two());
2550
+ self.ptr_uconst(opts, align - 1);
2551
+ self.ptr_and(opts);
2552
+ self.ptr_if(opts, BlockType::Empty);
2553
+ self.trap(Trap::UnalignedPointer);
2554
+ self.instruction(End);
2555
+ }
2556
+
2557
+ fn assert_aligned(&mut self, ty: &InterfaceType, mem: &Memory) {
2558
+ if !self.module.debug {
2559
+ return;
2560
+ }
2561
+ let align = self.types.align(mem.opts, ty);
2562
+ if align == 1 {
2563
+ return;
2564
+ }
2565
+ assert!(align.is_power_of_two());
2566
+ self.instruction(LocalGet(mem.addr.idx));
2567
+ self.ptr_uconst(mem.opts, mem.offset);
2568
+ self.ptr_add(mem.opts);
2569
+ self.ptr_uconst(mem.opts, align - 1);
2570
+ self.ptr_and(mem.opts);
2571
+ self.ptr_if(mem.opts, BlockType::Empty);
2572
+ self.trap(Trap::AssertFailed("pointer not aligned"));
2573
+ self.instruction(End);
2574
+ }
2575
+
2576
+ fn malloc<'a>(&mut self, opts: &'a Options, size: MallocSize, align: u32) -> Memory<'a> {
2577
+ let realloc = opts.realloc.unwrap();
2578
+ self.ptr_uconst(opts, 0);
2579
+ self.ptr_uconst(opts, 0);
2580
+ self.ptr_uconst(opts, align);
2581
+ match size {
2582
+ MallocSize::Const(size) => self.ptr_uconst(opts, size),
2583
+ MallocSize::Local(idx) => self.instruction(LocalGet(idx)),
2584
+ }
2585
+ self.instruction(Call(realloc.as_u32()));
2586
+ let addr = self.local_set_new_tmp(opts.ptr());
2587
+ self.memory_operand(opts, addr, align)
2588
+ }
2589
+
2590
+ fn memory_operand<'a>(&mut self, opts: &'a Options, addr: TempLocal, align: u32) -> Memory<'a> {
2591
+ let ret = Memory {
2592
+ addr,
2593
+ offset: 0,
2594
+ opts,
2595
+ };
2596
+ self.verify_aligned(opts, ret.addr.idx, align);
2597
+ ret
2598
+ }
2599
+
2600
+ /// Generates a new local in this function of the `ty` specified,
2601
+ /// initializing it with the top value on the current wasm stack.
2602
+ ///
2603
+ /// The returned `TempLocal` must be freed after it is finished with
2604
+ /// `free_temp_local`.
2605
+ fn local_tee_new_tmp(&mut self, ty: ValType) -> TempLocal {
2606
+ self.gen_temp_local(ty, LocalTee)
2607
+ }
2608
+
2609
+ /// Same as `local_tee_new_tmp` but initializes the local with `LocalSet`
2610
+ /// instead of `LocalTee`.
2611
+ fn local_set_new_tmp(&mut self, ty: ValType) -> TempLocal {
2612
+ self.gen_temp_local(ty, LocalSet)
2613
+ }
2614
+
2615
+ fn gen_temp_local(&mut self, ty: ValType, insn: fn(u32) -> Instruction<'static>) -> TempLocal {
2616
+ // First check to see if any locals are available in this function which
2617
+ // were previously generated but are no longer in use.
2618
+ if let Some(idx) = self.free_locals.get_mut(&ty).and_then(|v| v.pop()) {
2619
+ self.instruction(insn(idx));
2620
+ return TempLocal {
2621
+ ty,
2622
+ idx,
2623
+ needs_free: true,
2624
+ };
2625
+ }
2626
+
2627
+ // Failing that generate a fresh new local.
2628
+ let locals = &mut self.module.funcs[self.result].locals;
2629
+ match locals.last_mut() {
2630
+ Some((cnt, prev_ty)) if ty == *prev_ty => *cnt += 1,
2631
+ _ => locals.push((1, ty)),
2632
+ }
2633
+ self.nlocals += 1;
2634
+ let idx = self.nlocals - 1;
2635
+ self.instruction(insn(idx));
2636
+ TempLocal {
2637
+ ty,
2638
+ idx,
2639
+ needs_free: true,
2640
+ }
2641
+ }
2642
+
2643
+ /// Used to release a `TempLocal` from a particular lexical scope to allow
2644
+ /// its possible reuse in later scopes.
2645
+ fn free_temp_local(&mut self, mut local: TempLocal) {
2646
+ assert!(local.needs_free);
2647
+ self.free_locals
2648
+ .entry(local.ty)
2649
+ .or_insert(Vec::new())
2650
+ .push(local.idx);
2651
+ local.needs_free = false;
2652
+ }
2653
+
2654
+ fn instruction(&mut self, instr: Instruction) {
2655
+ instr.encode(&mut self.code);
2656
+ }
2657
+
2658
+ fn trap(&mut self, trap: Trap) {
2659
+ self.traps.push((self.code.len(), trap));
2660
+ self.instruction(Unreachable);
2661
+ }
2662
+
2663
+ /// Flushes out the current `code` instructions (and `traps` if there are
2664
+ /// any) into the destination function.
2665
+ ///
2666
+ /// This is a noop if no instructions have been encoded yet.
2667
+ fn flush_code(&mut self) {
2668
+ if self.code.is_empty() {
2669
+ return;
2670
+ }
2671
+ self.module.funcs[self.result].body.push(Body::Raw(
2672
+ mem::take(&mut self.code),
2673
+ mem::take(&mut self.traps),
2674
+ ));
2675
+ }
2676
+
2677
+ fn finish(mut self) {
2678
+ // Append the final `end` instruction which all functions require, and
2679
+ // then empty out the temporary buffer in `Compiler`.
2680
+ self.instruction(End);
2681
+ self.flush_code();
2682
+
2683
+ // Flag the function as "done" which helps with an assert later on in
2684
+ // emission that everything was eventually finished.
2685
+ self.module.funcs[self.result].filled_in = true;
2686
+ }
2687
+
2688
+ /// Fetches the value contained with the local specified by `stack` and
2689
+ /// converts it to `dst_ty`.
2690
+ ///
2691
+ /// This is only intended for use in primitive operations where `stack` is
2692
+ /// guaranteed to have only one local. The type of the local on the stack is
2693
+ /// then converted to `dst_ty` appropriately. Note that the types may be
2694
+ /// different due to the "flattening" of variant types.
2695
+ fn stack_get(&mut self, stack: &Stack<'_>, dst_ty: ValType) {
2696
+ assert_eq!(stack.locals.len(), 1);
2697
+ let (idx, src_ty) = stack.locals[0];
2698
+ self.instruction(LocalGet(idx));
2699
+ match (src_ty, dst_ty) {
2700
+ (ValType::I32, ValType::I32)
2701
+ | (ValType::I64, ValType::I64)
2702
+ | (ValType::F32, ValType::F32)
2703
+ | (ValType::F64, ValType::F64) => {}
2704
+
2705
+ (ValType::I32, ValType::F32) => self.instruction(F32ReinterpretI32),
2706
+ (ValType::I64, ValType::I32) => {
2707
+ self.assert_i64_upper_bits_not_set(idx);
2708
+ self.instruction(I32WrapI64);
2709
+ }
2710
+ (ValType::I64, ValType::F64) => self.instruction(F64ReinterpretI64),
2711
+ (ValType::I64, ValType::F32) => {
2712
+ self.assert_i64_upper_bits_not_set(idx);
2713
+ self.instruction(I32WrapI64);
2714
+ self.instruction(F32ReinterpretI32);
2715
+ }
2716
+
2717
+ // should not be possible given the `join` function for variants
2718
+ (ValType::I32, ValType::I64)
2719
+ | (ValType::I32, ValType::F64)
2720
+ | (ValType::F32, ValType::I32)
2721
+ | (ValType::F32, ValType::I64)
2722
+ | (ValType::F32, ValType::F64)
2723
+ | (ValType::F64, ValType::I32)
2724
+ | (ValType::F64, ValType::I64)
2725
+ | (ValType::F64, ValType::F32)
2726
+
2727
+ // not used in the component model
2728
+ | (ValType::Ref(_), _)
2729
+ | (_, ValType::Ref(_))
2730
+ | (ValType::V128, _)
2731
+ | (_, ValType::V128) => {
2732
+ panic!("cannot get {dst_ty:?} from {src_ty:?} local");
2733
+ }
2734
+ }
2735
+ }
2736
+
2737
+ fn assert_i64_upper_bits_not_set(&mut self, local: u32) {
2738
+ if !self.module.debug {
2739
+ return;
2740
+ }
2741
+ self.instruction(LocalGet(local));
2742
+ self.instruction(I64Const(32));
2743
+ self.instruction(I64ShrU);
2744
+ self.instruction(I32WrapI64);
2745
+ self.instruction(If(BlockType::Empty));
2746
+ self.trap(Trap::AssertFailed("upper bits are unexpectedly set"));
2747
+ self.instruction(End);
2748
+ }
2749
+
2750
+ /// Converts the top value on the WebAssembly stack which has type
2751
+ /// `src_ty` to `dst_tys[0]`.
2752
+ ///
2753
+ /// This is only intended for conversion of primitives where the `dst_tys`
2754
+ /// list is known to be of length 1.
2755
+ fn stack_set(&mut self, dst_tys: &[ValType], src_ty: ValType) {
2756
+ assert_eq!(dst_tys.len(), 1);
2757
+ let dst_ty = dst_tys[0];
2758
+ match (src_ty, dst_ty) {
2759
+ (ValType::I32, ValType::I32)
2760
+ | (ValType::I64, ValType::I64)
2761
+ | (ValType::F32, ValType::F32)
2762
+ | (ValType::F64, ValType::F64) => {}
2763
+
2764
+ (ValType::F32, ValType::I32) => self.instruction(I32ReinterpretF32),
2765
+ (ValType::I32, ValType::I64) => self.instruction(I64ExtendI32U),
2766
+ (ValType::F64, ValType::I64) => self.instruction(I64ReinterpretF64),
2767
+ (ValType::F32, ValType::I64) => {
2768
+ self.instruction(I32ReinterpretF32);
2769
+ self.instruction(I64ExtendI32U);
2770
+ }
2771
+
2772
+ // should not be possible given the `join` function for variants
2773
+ (ValType::I64, ValType::I32)
2774
+ | (ValType::F64, ValType::I32)
2775
+ | (ValType::I32, ValType::F32)
2776
+ | (ValType::I64, ValType::F32)
2777
+ | (ValType::F64, ValType::F32)
2778
+ | (ValType::I32, ValType::F64)
2779
+ | (ValType::I64, ValType::F64)
2780
+ | (ValType::F32, ValType::F64)
2781
+
2782
+ // not used in the component model
2783
+ | (ValType::Ref(_), _)
2784
+ | (_, ValType::Ref(_))
2785
+ | (ValType::V128, _)
2786
+ | (_, ValType::V128) => {
2787
+ panic!("cannot get {dst_ty:?} from {src_ty:?} local");
2788
+ }
2789
+ }
2790
+ }
2791
+
2792
+ fn i32_load8u(&mut self, mem: &Memory) {
2793
+ self.instruction(LocalGet(mem.addr.idx));
2794
+ self.instruction(I32Load8U(mem.memarg(0)));
2795
+ }
2796
+
2797
+ fn i32_load8s(&mut self, mem: &Memory) {
2798
+ self.instruction(LocalGet(mem.addr.idx));
2799
+ self.instruction(I32Load8S(mem.memarg(0)));
2800
+ }
2801
+
2802
+ fn i32_load16u(&mut self, mem: &Memory) {
2803
+ self.instruction(LocalGet(mem.addr.idx));
2804
+ self.instruction(I32Load16U(mem.memarg(1)));
2805
+ }
2806
+
2807
+ fn i32_load16s(&mut self, mem: &Memory) {
2808
+ self.instruction(LocalGet(mem.addr.idx));
2809
+ self.instruction(I32Load16S(mem.memarg(1)));
2810
+ }
2811
+
2812
+ fn i32_load(&mut self, mem: &Memory) {
2813
+ self.instruction(LocalGet(mem.addr.idx));
2814
+ self.instruction(I32Load(mem.memarg(2)));
2815
+ }
2816
+
2817
+ fn i64_load(&mut self, mem: &Memory) {
2818
+ self.instruction(LocalGet(mem.addr.idx));
2819
+ self.instruction(I64Load(mem.memarg(3)));
2820
+ }
2821
+
2822
+ fn ptr_load(&mut self, mem: &Memory) {
2823
+ if mem.opts.memory64 {
2824
+ self.i64_load(mem);
2825
+ } else {
2826
+ self.i32_load(mem);
2827
+ }
2828
+ }
2829
+
2830
+ fn ptr_add(&mut self, opts: &Options) {
2831
+ if opts.memory64 {
2832
+ self.instruction(I64Add);
2833
+ } else {
2834
+ self.instruction(I32Add);
2835
+ }
2836
+ }
2837
+
2838
+ fn ptr_sub(&mut self, opts: &Options) {
2839
+ if opts.memory64 {
2840
+ self.instruction(I64Sub);
2841
+ } else {
2842
+ self.instruction(I32Sub);
2843
+ }
2844
+ }
2845
+
2846
+ fn ptr_mul(&mut self, opts: &Options) {
2847
+ if opts.memory64 {
2848
+ self.instruction(I64Mul);
2849
+ } else {
2850
+ self.instruction(I32Mul);
2851
+ }
2852
+ }
2853
+
2854
+ fn ptr_ge_u(&mut self, opts: &Options) {
2855
+ if opts.memory64 {
2856
+ self.instruction(I64GeU);
2857
+ } else {
2858
+ self.instruction(I32GeU);
2859
+ }
2860
+ }
2861
+
2862
+ fn ptr_lt_u(&mut self, opts: &Options) {
2863
+ if opts.memory64 {
2864
+ self.instruction(I64LtU);
2865
+ } else {
2866
+ self.instruction(I32LtU);
2867
+ }
2868
+ }
2869
+
2870
+ fn ptr_shl(&mut self, opts: &Options) {
2871
+ if opts.memory64 {
2872
+ self.instruction(I64Shl);
2873
+ } else {
2874
+ self.instruction(I32Shl);
2875
+ }
2876
+ }
2877
+
2878
+ fn ptr_eqz(&mut self, opts: &Options) {
2879
+ if opts.memory64 {
2880
+ self.instruction(I64Eqz);
2881
+ } else {
2882
+ self.instruction(I32Eqz);
2883
+ }
2884
+ }
2885
+
2886
+ fn ptr_uconst(&mut self, opts: &Options, val: u32) {
2887
+ if opts.memory64 {
2888
+ self.instruction(I64Const(val.into()));
2889
+ } else {
2890
+ self.instruction(I32Const(val as i32));
2891
+ }
2892
+ }
2893
+
2894
+ fn ptr_iconst(&mut self, opts: &Options, val: i32) {
2895
+ if opts.memory64 {
2896
+ self.instruction(I64Const(val.into()));
2897
+ } else {
2898
+ self.instruction(I32Const(val));
2899
+ }
2900
+ }
2901
+
2902
+ fn ptr_eq(&mut self, opts: &Options) {
2903
+ if opts.memory64 {
2904
+ self.instruction(I64Eq);
2905
+ } else {
2906
+ self.instruction(I32Eq);
2907
+ }
2908
+ }
2909
+
2910
+ fn ptr_ne(&mut self, opts: &Options) {
2911
+ if opts.memory64 {
2912
+ self.instruction(I64Ne);
2913
+ } else {
2914
+ self.instruction(I32Ne);
2915
+ }
2916
+ }
2917
+
2918
+ fn ptr_and(&mut self, opts: &Options) {
2919
+ if opts.memory64 {
2920
+ self.instruction(I64And);
2921
+ } else {
2922
+ self.instruction(I32And);
2923
+ }
2924
+ }
2925
+
2926
+ fn ptr_or(&mut self, opts: &Options) {
2927
+ if opts.memory64 {
2928
+ self.instruction(I64Or);
2929
+ } else {
2930
+ self.instruction(I32Or);
2931
+ }
2932
+ }
2933
+
2934
+ fn ptr_xor(&mut self, opts: &Options) {
2935
+ if opts.memory64 {
2936
+ self.instruction(I64Xor);
2937
+ } else {
2938
+ self.instruction(I32Xor);
2939
+ }
2940
+ }
2941
+
2942
+ fn ptr_if(&mut self, opts: &Options, ty: BlockType) {
2943
+ if opts.memory64 {
2944
+ self.instruction(I64Const(0));
2945
+ self.instruction(I64Ne);
2946
+ }
2947
+ self.instruction(If(ty));
2948
+ }
2949
+
2950
+ fn ptr_br_if(&mut self, opts: &Options, depth: u32) {
2951
+ if opts.memory64 {
2952
+ self.instruction(I64Const(0));
2953
+ self.instruction(I64Ne);
2954
+ }
2955
+ self.instruction(BrIf(depth));
2956
+ }
2957
+
2958
+ fn f32_load(&mut self, mem: &Memory) {
2959
+ self.instruction(LocalGet(mem.addr.idx));
2960
+ self.instruction(F32Load(mem.memarg(2)));
2961
+ }
2962
+
2963
+ fn f64_load(&mut self, mem: &Memory) {
2964
+ self.instruction(LocalGet(mem.addr.idx));
2965
+ self.instruction(F64Load(mem.memarg(3)));
2966
+ }
2967
+
2968
+ fn push_dst_addr(&mut self, dst: &Destination) {
2969
+ if let Destination::Memory(mem) = dst {
2970
+ self.instruction(LocalGet(mem.addr.idx));
2971
+ }
2972
+ }
2973
+
2974
+ fn i32_store8(&mut self, mem: &Memory) {
2975
+ self.instruction(I32Store8(mem.memarg(0)));
2976
+ }
2977
+
2978
+ fn i32_store16(&mut self, mem: &Memory) {
2979
+ self.instruction(I32Store16(mem.memarg(1)));
2980
+ }
2981
+
2982
+ fn i32_store(&mut self, mem: &Memory) {
2983
+ self.instruction(I32Store(mem.memarg(2)));
2984
+ }
2985
+
2986
+ fn i64_store(&mut self, mem: &Memory) {
2987
+ self.instruction(I64Store(mem.memarg(3)));
2988
+ }
2989
+
2990
+ fn ptr_store(&mut self, mem: &Memory) {
2991
+ if mem.opts.memory64 {
2992
+ self.i64_store(mem);
2993
+ } else {
2994
+ self.i32_store(mem);
2995
+ }
2996
+ }
2997
+
2998
+ fn f32_store(&mut self, mem: &Memory) {
2999
+ self.instruction(F32Store(mem.memarg(2)));
3000
+ }
3001
+
3002
+ fn f64_store(&mut self, mem: &Memory) {
3003
+ self.instruction(F64Store(mem.memarg(3)));
3004
+ }
3005
+ }
3006
+
3007
+ impl<'a> Source<'a> {
3008
+ /// Given this `Source` returns an iterator over the `Source` for each of
3009
+ /// the component `fields` specified.
3010
+ ///
3011
+ /// This will automatically slice stack-based locals to the appropriate
3012
+ /// width for each component type and additionally calculate the appropriate
3013
+ /// offset for each memory-based type.
3014
+ fn record_field_srcs<'b>(
3015
+ &'b self,
3016
+ types: &'b ComponentTypesBuilder,
3017
+ fields: impl IntoIterator<Item = InterfaceType> + 'b,
3018
+ ) -> impl Iterator<Item = Source<'a>> + 'b
3019
+ where
3020
+ 'a: 'b,
3021
+ {
3022
+ let mut offset = 0;
3023
+ fields.into_iter().map(move |ty| match self {
3024
+ Source::Memory(mem) => {
3025
+ let mem = next_field_offset(&mut offset, types, &ty, mem);
3026
+ Source::Memory(mem)
3027
+ }
3028
+ Source::Stack(stack) => {
3029
+ let cnt = types.flat_types(&ty).unwrap().len() as u32;
3030
+ offset += cnt;
3031
+ Source::Stack(stack.slice((offset - cnt) as usize..offset as usize))
3032
+ }
3033
+ })
3034
+ }
3035
+
3036
+ /// Returns the corresponding discriminant source and payload source f
3037
+ fn payload_src(
3038
+ &self,
3039
+ types: &ComponentTypesBuilder,
3040
+ info: &VariantInfo,
3041
+ case: Option<&InterfaceType>,
3042
+ ) -> Source<'a> {
3043
+ match self {
3044
+ Source::Stack(s) => {
3045
+ let flat_len = match case {
3046
+ Some(case) => types.flat_types(case).unwrap().len(),
3047
+ None => 0,
3048
+ };
3049
+ Source::Stack(s.slice(1..s.locals.len()).slice(0..flat_len))
3050
+ }
3051
+ Source::Memory(mem) => {
3052
+ let mem = if mem.opts.memory64 {
3053
+ mem.bump(info.payload_offset64)
3054
+ } else {
3055
+ mem.bump(info.payload_offset32)
3056
+ };
3057
+ Source::Memory(mem)
3058
+ }
3059
+ }
3060
+ }
3061
+
3062
+ fn opts(&self) -> &'a Options {
3063
+ match self {
3064
+ Source::Stack(s) => s.opts,
3065
+ Source::Memory(mem) => mem.opts,
3066
+ }
3067
+ }
3068
+ }
3069
+
3070
+ impl<'a> Destination<'a> {
3071
+ /// Same as `Source::record_field_srcs` but for destinations.
3072
+ fn record_field_dsts<'b>(
3073
+ &'b self,
3074
+ types: &'b ComponentTypesBuilder,
3075
+ fields: impl IntoIterator<Item = InterfaceType> + 'b,
3076
+ ) -> impl Iterator<Item = Destination> + 'b
3077
+ where
3078
+ 'a: 'b,
3079
+ {
3080
+ let mut offset = 0;
3081
+ fields.into_iter().map(move |ty| match self {
3082
+ Destination::Memory(mem) => {
3083
+ let mem = next_field_offset(&mut offset, types, &ty, mem);
3084
+ Destination::Memory(mem)
3085
+ }
3086
+ Destination::Stack(s, opts) => {
3087
+ let cnt = types.flat_types(&ty).unwrap().len() as u32;
3088
+ offset += cnt;
3089
+ Destination::Stack(&s[(offset - cnt) as usize..offset as usize], opts)
3090
+ }
3091
+ })
3092
+ }
3093
+
3094
+ /// Returns the corresponding discriminant source and payload source f
3095
+ fn payload_dst(
3096
+ &self,
3097
+ types: &ComponentTypesBuilder,
3098
+ info: &VariantInfo,
3099
+ case: Option<&InterfaceType>,
3100
+ ) -> Destination {
3101
+ match self {
3102
+ Destination::Stack(s, opts) => {
3103
+ let flat_len = match case {
3104
+ Some(case) => types.flat_types(case).unwrap().len(),
3105
+ None => 0,
3106
+ };
3107
+ Destination::Stack(&s[1..][..flat_len], opts)
3108
+ }
3109
+ Destination::Memory(mem) => {
3110
+ let mem = if mem.opts.memory64 {
3111
+ mem.bump(info.payload_offset64)
3112
+ } else {
3113
+ mem.bump(info.payload_offset32)
3114
+ };
3115
+ Destination::Memory(mem)
3116
+ }
3117
+ }
3118
+ }
3119
+
3120
+ fn opts(&self) -> &'a Options {
3121
+ match self {
3122
+ Destination::Stack(_, opts) => opts,
3123
+ Destination::Memory(mem) => mem.opts,
3124
+ }
3125
+ }
3126
+ }
3127
+
3128
+ fn next_field_offset<'a>(
3129
+ offset: &mut u32,
3130
+ types: &ComponentTypesBuilder,
3131
+ field: &InterfaceType,
3132
+ mem: &Memory<'a>,
3133
+ ) -> Memory<'a> {
3134
+ let abi = types.canonical_abi(field);
3135
+ let offset = if mem.opts.memory64 {
3136
+ abi.next_field64(offset)
3137
+ } else {
3138
+ abi.next_field32(offset)
3139
+ };
3140
+ mem.bump(offset)
3141
+ }
3142
+
3143
+ impl<'a> Memory<'a> {
3144
+ fn memarg(&self, align: u32) -> MemArg {
3145
+ MemArg {
3146
+ offset: u64::from(self.offset),
3147
+ align,
3148
+ memory_index: self.opts.memory.unwrap().as_u32(),
3149
+ }
3150
+ }
3151
+
3152
+ fn bump(&self, offset: u32) -> Memory<'a> {
3153
+ Memory {
3154
+ opts: self.opts,
3155
+ addr: TempLocal::new(self.addr.idx, self.addr.ty),
3156
+ offset: self.offset + offset,
3157
+ }
3158
+ }
3159
+ }
3160
+
3161
+ impl<'a> Stack<'a> {
3162
+ fn slice(&self, range: Range<usize>) -> Stack<'a> {
3163
+ Stack {
3164
+ locals: &self.locals[range],
3165
+ opts: self.opts,
3166
+ }
3167
+ }
3168
+ }
3169
+
3170
+ struct VariantCase<'a> {
3171
+ src_i: u32,
3172
+ src_ty: Option<&'a InterfaceType>,
3173
+ dst_i: u32,
3174
+ dst_ty: Option<&'a InterfaceType>,
3175
+ }
3176
+
3177
+ fn variant_info<'a, I>(types: &ComponentTypesBuilder, cases: I) -> VariantInfo
3178
+ where
3179
+ I: IntoIterator<Item = Option<&'a InterfaceType>>,
3180
+ I::IntoIter: ExactSizeIterator,
3181
+ {
3182
+ VariantInfo::new(
3183
+ cases
3184
+ .into_iter()
3185
+ .map(|ty| ty.map(|ty| types.canonical_abi(ty))),
3186
+ )
3187
+ .0
3188
+ }
3189
+
3190
+ enum MallocSize {
3191
+ Const(u32),
3192
+ Local(u32),
3193
+ }
3194
+
3195
+ struct WasmString<'a> {
3196
+ ptr: TempLocal,
3197
+ len: TempLocal,
3198
+ opts: &'a Options,
3199
+ }
3200
+
3201
+ struct TempLocal {
3202
+ idx: u32,
3203
+ ty: ValType,
3204
+ needs_free: bool,
3205
+ }
3206
+
3207
+ impl TempLocal {
3208
+ fn new(idx: u32, ty: ValType) -> TempLocal {
3209
+ TempLocal {
3210
+ idx,
3211
+ ty,
3212
+ needs_free: false,
3213
+ }
3214
+ }
3215
+ }
3216
+
3217
+ impl std::ops::Drop for TempLocal {
3218
+ fn drop(&mut self) {
3219
+ if self.needs_free {
3220
+ panic!("temporary local not free'd");
3221
+ }
3222
+ }
3223
+ }
3224
+
3225
+ impl From<FlatType> for ValType {
3226
+ fn from(ty: FlatType) -> ValType {
3227
+ match ty {
3228
+ FlatType::I32 => ValType::I32,
3229
+ FlatType::I64 => ValType::I64,
3230
+ FlatType::F32 => ValType::F32,
3231
+ FlatType::F64 => ValType::F64,
3232
+ }
3233
+ }
3234
+ }