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
@@ -1,3233 +0,0 @@
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::{FuncIndex, GlobalIndex};
32
- use std::collections::HashMap;
33
- use std::mem;
34
- use std::ops::Range;
35
- use wasm_encoder::{BlockType, Encode, Instruction, Instruction::*, MemArg, ValType};
36
- use wasmtime_component_util::{DiscriminantSize, FlagsSize};
37
-
38
- const MAX_STRING_BYTE_LENGTH: u32 = 1 << 31;
39
- const UTF16_TAG: u32 = 1 << 31;
40
-
41
- /// This value is arbitrarily chosen and should be fine to change at any time,
42
- /// it just seemed like a halfway reasonable starting point.
43
- const INITIAL_FUEL: usize = 1_000;
44
-
45
- struct Compiler<'a, 'b> {
46
- types: &'a ComponentTypesBuilder,
47
- module: &'b mut Module<'a>,
48
- result: FunctionId,
49
-
50
- /// The encoded WebAssembly function body so far, not including locals.
51
- code: Vec<u8>,
52
-
53
- /// Total number of locals generated so far.
54
- nlocals: u32,
55
-
56
- /// Locals partitioned by type which are not currently in use.
57
- free_locals: HashMap<ValType, Vec<u32>>,
58
-
59
- /// Metadata about all `unreachable` trap instructions in this function and
60
- /// what the trap represents. The offset within `self.code` is recorded as
61
- /// well.
62
- traps: Vec<(usize, Trap)>,
63
-
64
- /// A heuristic which is intended to limit the size of a generated function
65
- /// to a certain maximum to avoid generating arbitrarily large functions.
66
- ///
67
- /// This fuel counter is decremented each time `translate` is called and
68
- /// when fuel is entirely consumed further translations, if necessary, will
69
- /// be done through calls to other functions in the module. This is intended
70
- /// to be a heuristic to split up the main function into theoretically
71
- /// reusable portions.
72
- fuel: usize,
73
-
74
- /// Indicates whether an "enter call" should be emitted in the generated
75
- /// function with a call to `Resource{Enter,Exit}Call` at the beginning and
76
- /// end of the function for tracking of information related to borrowed
77
- /// resources.
78
- emit_resource_call: bool,
79
- }
80
-
81
- pub(super) fn compile(module: &mut Module<'_>, adapter: &AdapterData) {
82
- let lower_sig = module.types.signature(&adapter.lower, Context::Lower);
83
- let lift_sig = module.types.signature(&adapter.lift, Context::Lift);
84
- let ty = module
85
- .core_types
86
- .function(&lower_sig.params, &lower_sig.results);
87
- let result = module
88
- .funcs
89
- .push(Function::new(Some(adapter.name.clone()), ty));
90
-
91
- // If this type signature contains any borrowed resources then invocations
92
- // of enter/exit call for resource-related metadata tracking must be used.
93
- // It shouldn't matter whether the lower/lift signature is used here as both
94
- // should return the same answer.
95
- let emit_resource_call = module.types.contains_borrow_resource(&adapter.lower);
96
- assert_eq!(
97
- emit_resource_call,
98
- module.types.contains_borrow_resource(&adapter.lift)
99
- );
100
-
101
- Compiler {
102
- types: module.types,
103
- module,
104
- code: Vec::new(),
105
- nlocals: lower_sig.params.len() as u32,
106
- free_locals: HashMap::new(),
107
- traps: Vec::new(),
108
- result,
109
- fuel: INITIAL_FUEL,
110
- emit_resource_call,
111
- }
112
- .compile_adapter(adapter, &lower_sig, &lift_sig)
113
- }
114
-
115
- /// Compiles a helper function as specified by the `Helper` configuration.
116
- ///
117
- /// This function is invoked when the translation process runs out of fuel for
118
- /// some prior function which enqueues a helper to get translated later. This
119
- /// translation function will perform one type translation as specified by
120
- /// `Helper` which can either be in the stack or memory for each side.
121
- pub(super) fn compile_helper(module: &mut Module<'_>, result: FunctionId, helper: Helper) {
122
- let mut nlocals = 0;
123
- let src_flat;
124
- let src = match helper.src.loc {
125
- // If the source is on the stack then it's specified in the parameters
126
- // to the function, so this creates the flattened representation and
127
- // then lists those as the locals with appropriate types for the source
128
- // values.
129
- HelperLocation::Stack => {
130
- src_flat = module
131
- .types
132
- .flatten_types(&helper.src.opts, usize::MAX, [helper.src.ty])
133
- .unwrap()
134
- .iter()
135
- .enumerate()
136
- .map(|(i, ty)| (i as u32, *ty))
137
- .collect::<Vec<_>>();
138
- nlocals += src_flat.len() as u32;
139
- Source::Stack(Stack {
140
- locals: &src_flat,
141
- opts: &helper.src.opts,
142
- })
143
- }
144
- // If the source is in memory then that's just propagated here as the
145
- // first local is the pointer to the source.
146
- HelperLocation::Memory => {
147
- nlocals += 1;
148
- Source::Memory(Memory {
149
- opts: &helper.src.opts,
150
- addr: TempLocal::new(0, helper.src.opts.ptr()),
151
- offset: 0,
152
- })
153
- }
154
- };
155
- let dst_flat;
156
- let dst = match helper.dst.loc {
157
- // This is the same as the stack-based source although `Destination` is
158
- // configured slightly differently.
159
- HelperLocation::Stack => {
160
- dst_flat = module
161
- .types
162
- .flatten_types(&helper.dst.opts, usize::MAX, [helper.dst.ty])
163
- .unwrap();
164
- Destination::Stack(&dst_flat, &helper.dst.opts)
165
- }
166
- // This is the same as a memroy-based source but note that the address
167
- // of the destination is passed as the final parameter to the function.
168
- HelperLocation::Memory => {
169
- nlocals += 1;
170
- Destination::Memory(Memory {
171
- opts: &helper.dst.opts,
172
- addr: TempLocal::new(nlocals - 1, helper.dst.opts.ptr()),
173
- offset: 0,
174
- })
175
- }
176
- };
177
- let mut compiler = Compiler {
178
- types: module.types,
179
- module,
180
- code: Vec::new(),
181
- nlocals,
182
- free_locals: HashMap::new(),
183
- traps: Vec::new(),
184
- result,
185
- fuel: INITIAL_FUEL,
186
- // This is a helper function and only the top-level function is
187
- // responsible for emitting these intrinsic calls.
188
- emit_resource_call: false,
189
- };
190
- compiler.translate(&helper.src.ty, &src, &helper.dst.ty, &dst);
191
- compiler.finish();
192
- }
193
-
194
- /// Possible ways that a interface value is represented in the core wasm
195
- /// canonical ABI.
196
- enum Source<'a> {
197
- /// This value is stored on the "stack" in wasm locals.
198
- ///
199
- /// This could mean that it's inline from the parameters to the function or
200
- /// that after a function call the results were stored in locals and the
201
- /// locals are the inline results.
202
- Stack(Stack<'a>),
203
-
204
- /// This value is stored in linear memory described by the `Memory`
205
- /// structure.
206
- Memory(Memory<'a>),
207
- }
208
-
209
- /// Same as `Source` but for where values are translated into.
210
- enum Destination<'a> {
211
- /// This value is destined for the WebAssembly stack which means that
212
- /// results are simply pushed as we go along.
213
- ///
214
- /// The types listed are the types that are expected to be on the stack at
215
- /// the end of translation.
216
- Stack(&'a [ValType], &'a Options),
217
-
218
- /// This value is to be placed in linear memory described by `Memory`.
219
- Memory(Memory<'a>),
220
- }
221
-
222
- struct Stack<'a> {
223
- /// The locals that comprise a particular value.
224
- ///
225
- /// The length of this list represents the flattened list of types that make
226
- /// up the component value. Each list has the index of the local being
227
- /// accessed as well as the type of the local itself.
228
- locals: &'a [(u32, ValType)],
229
- /// The lifting/lowering options for where this stack of values comes from
230
- opts: &'a Options,
231
- }
232
-
233
- /// Representation of where a value is going to be stored in linear memory.
234
- struct Memory<'a> {
235
- /// The lifting/lowering options with memory configuration
236
- opts: &'a Options,
237
- /// The index of the local that contains the base address of where the
238
- /// storage is happening.
239
- addr: TempLocal,
240
- /// A "static" offset that will be baked into wasm instructions for where
241
- /// memory loads/stores happen.
242
- offset: u32,
243
- }
244
-
245
- impl Compiler<'_, '_> {
246
- fn compile_adapter(
247
- mut self,
248
- adapter: &AdapterData,
249
- lower_sig: &Signature,
250
- lift_sig: &Signature,
251
- ) {
252
- // Check the instance flags required for this trampoline.
253
- //
254
- // This inserts the initial check required by `canon_lower` that the
255
- // caller instance can be left and additionally checks the
256
- // flags on the callee if necessary whether it can be entered.
257
- self.trap_if_not_flag(adapter.lower.flags, FLAG_MAY_LEAVE, Trap::CannotLeave);
258
- if adapter.called_as_export {
259
- self.trap_if_not_flag(adapter.lift.flags, FLAG_MAY_ENTER, Trap::CannotEnter);
260
- self.set_flag(adapter.lift.flags, FLAG_MAY_ENTER, false);
261
- } else if self.module.debug {
262
- self.assert_not_flag(
263
- adapter.lift.flags,
264
- FLAG_MAY_ENTER,
265
- "may_enter should be unset",
266
- );
267
- }
268
-
269
- if self.emit_resource_call {
270
- let enter = self.module.import_resource_enter_call();
271
- self.instruction(Call(enter.as_u32()));
272
- }
273
-
274
- // Perform the translation of arguments. Note that `FLAG_MAY_LEAVE` is
275
- // cleared around this invocation for the callee as per the
276
- // `canon_lift` definition in the spec. Additionally note that the
277
- // precise ordering of traps here is not required since internal state
278
- // is not visible to either instance and a trap will "lock down" both
279
- // instances to no longer be visible. This means that we're free to
280
- // reorder lifts/lowers and flags and such as is necessary and
281
- // convenient here.
282
- //
283
- // TODO: if translation doesn't actually call any functions in either
284
- // instance then there's no need to set/clear the flag here and that can
285
- // be optimized away.
286
- self.set_flag(adapter.lift.flags, FLAG_MAY_LEAVE, false);
287
- let param_locals = lower_sig
288
- .params
289
- .iter()
290
- .enumerate()
291
- .map(|(i, ty)| (i as u32, *ty))
292
- .collect::<Vec<_>>();
293
- self.translate_params(adapter, &param_locals);
294
- self.set_flag(adapter.lift.flags, FLAG_MAY_LEAVE, true);
295
-
296
- // With all the arguments on the stack the actual target function is
297
- // now invoked. The core wasm results of the function are then placed
298
- // into locals for result translation afterwards.
299
- self.instruction(Call(adapter.callee.as_u32()));
300
- let mut result_locals = Vec::with_capacity(lift_sig.results.len());
301
- let mut temps = Vec::new();
302
- for ty in lift_sig.results.iter().rev() {
303
- let local = self.local_set_new_tmp(*ty);
304
- result_locals.push((local.idx, *ty));
305
- temps.push(local);
306
- }
307
- result_locals.reverse();
308
-
309
- // Like above during the translation of results the caller cannot be
310
- // left (as we might invoke things like `realloc`). Again the precise
311
- // order of everything doesn't matter since intermediate states cannot
312
- // be witnessed, hence the setting of flags here to encapsulate both
313
- // liftings and lowerings.
314
- //
315
- // TODO: like above the management of the `MAY_LEAVE` flag can probably
316
- // be elided here for "simple" results.
317
- self.set_flag(adapter.lower.flags, FLAG_MAY_LEAVE, false);
318
- self.translate_results(adapter, &param_locals, &result_locals);
319
- self.set_flag(adapter.lower.flags, FLAG_MAY_LEAVE, true);
320
-
321
- // And finally post-return state is handled here once all results/etc
322
- // are all translated.
323
- if let Some(func) = adapter.lift.post_return {
324
- for (result, _) in result_locals.iter() {
325
- self.instruction(LocalGet(*result));
326
- }
327
- self.instruction(Call(func.as_u32()));
328
- }
329
- if adapter.called_as_export {
330
- self.set_flag(adapter.lift.flags, FLAG_MAY_ENTER, true);
331
- }
332
-
333
- for tmp in temps {
334
- self.free_temp_local(tmp);
335
- }
336
-
337
- if self.emit_resource_call {
338
- let exit = self.module.import_resource_exit_call();
339
- self.instruction(Call(exit.as_u32()));
340
- }
341
-
342
- self.finish()
343
- }
344
-
345
- fn translate_params(&mut self, adapter: &AdapterData, param_locals: &[(u32, ValType)]) {
346
- let src_tys = self.types[adapter.lower.ty].params;
347
- let src_tys = self.types[src_tys]
348
- .types
349
- .iter()
350
- .copied()
351
- .collect::<Vec<_>>();
352
- let dst_tys = self.types[adapter.lift.ty].params;
353
- let dst_tys = self.types[dst_tys]
354
- .types
355
- .iter()
356
- .copied()
357
- .collect::<Vec<_>>();
358
- let lift_opts = &adapter.lift.options;
359
- let lower_opts = &adapter.lower.options;
360
-
361
- // TODO: handle subtyping
362
- assert_eq!(src_tys.len(), dst_tys.len());
363
-
364
- let src_flat =
365
- self.types
366
- .flatten_types(lower_opts, MAX_FLAT_PARAMS, src_tys.iter().copied());
367
- let dst_flat =
368
- self.types
369
- .flatten_types(lift_opts, MAX_FLAT_PARAMS, dst_tys.iter().copied());
370
-
371
- let src = if let Some(flat) = &src_flat {
372
- Source::Stack(Stack {
373
- locals: &param_locals[..flat.len()],
374
- opts: lower_opts,
375
- })
376
- } else {
377
- // If there are too many parameters then that means the parameters
378
- // are actually a tuple stored in linear memory addressed by the
379
- // first parameter local.
380
- let (addr, ty) = param_locals[0];
381
- assert_eq!(ty, lower_opts.ptr());
382
- let align = src_tys
383
- .iter()
384
- .map(|t| self.types.align(lower_opts, t))
385
- .max()
386
- .unwrap_or(1);
387
- Source::Memory(self.memory_operand(lower_opts, TempLocal::new(addr, ty), align))
388
- };
389
-
390
- let dst = if let Some(flat) = &dst_flat {
391
- Destination::Stack(flat, lift_opts)
392
- } else {
393
- // If there are too many parameters then space is allocated in the
394
- // destination module for the parameters via its `realloc` function.
395
- let abi = CanonicalAbiInfo::record(dst_tys.iter().map(|t| self.types.canonical_abi(t)));
396
- let (size, align) = if lift_opts.memory64 {
397
- (abi.size64, abi.align64)
398
- } else {
399
- (abi.size32, abi.align32)
400
- };
401
- let size = MallocSize::Const(size);
402
- Destination::Memory(self.malloc(lift_opts, size, align))
403
- };
404
-
405
- let srcs = src
406
- .record_field_srcs(self.types, src_tys.iter().copied())
407
- .zip(src_tys.iter());
408
- let dsts = dst
409
- .record_field_dsts(self.types, dst_tys.iter().copied())
410
- .zip(dst_tys.iter());
411
- for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
412
- self.translate(&src_ty, &src, &dst_ty, &dst);
413
- }
414
-
415
- // If the destination was linear memory instead of the stack then the
416
- // actual parameter that we're passing is the address of the values
417
- // stored, so ensure that's happening in the wasm body here.
418
- if let Destination::Memory(mem) = dst {
419
- self.instruction(LocalGet(mem.addr.idx));
420
- self.free_temp_local(mem.addr);
421
- }
422
- }
423
-
424
- fn translate_results(
425
- &mut self,
426
- adapter: &AdapterData,
427
- param_locals: &[(u32, ValType)],
428
- result_locals: &[(u32, ValType)],
429
- ) {
430
- let src_tys = self.types[adapter.lift.ty].results;
431
- let src_tys = self.types[src_tys]
432
- .types
433
- .iter()
434
- .map(|ty| *ty)
435
- .collect::<Vec<_>>();
436
- let dst_tys = self.types[adapter.lower.ty].results;
437
- let dst_tys = self.types[dst_tys]
438
- .types
439
- .iter()
440
- .map(|ty| *ty)
441
- .collect::<Vec<_>>();
442
- let lift_opts = &adapter.lift.options;
443
- let lower_opts = &adapter.lower.options;
444
-
445
- let src_flat =
446
- self.types
447
- .flatten_types(lift_opts, MAX_FLAT_RESULTS, src_tys.iter().copied());
448
- let dst_flat =
449
- self.types
450
- .flatten_types(lower_opts, MAX_FLAT_RESULTS, dst_tys.iter().copied());
451
-
452
- let src = if src_flat.is_some() {
453
- Source::Stack(Stack {
454
- locals: result_locals,
455
- opts: lift_opts,
456
- })
457
- } else {
458
- // The original results to read from in this case come from the
459
- // return value of the function itself. The imported function will
460
- // return a linear memory address at which the values can be read
461
- // from.
462
- let align = src_tys
463
- .iter()
464
- .map(|t| self.types.align(lift_opts, t))
465
- .max()
466
- .unwrap_or(1);
467
- assert_eq!(result_locals.len(), 1);
468
- let (addr, ty) = result_locals[0];
469
- assert_eq!(ty, lift_opts.ptr());
470
- Source::Memory(self.memory_operand(lift_opts, TempLocal::new(addr, ty), align))
471
- };
472
-
473
- let dst = if let Some(flat) = &dst_flat {
474
- Destination::Stack(flat, lower_opts)
475
- } else {
476
- // This is slightly different than `translate_params` where the
477
- // return pointer was provided by the caller of this function
478
- // meaning the last parameter local is a pointer into linear memory.
479
- let align = dst_tys
480
- .iter()
481
- .map(|t| self.types.align(lower_opts, t))
482
- .max()
483
- .unwrap_or(1);
484
- let (addr, ty) = *param_locals.last().expect("no retptr");
485
- assert_eq!(ty, lower_opts.ptr());
486
- Destination::Memory(self.memory_operand(lower_opts, TempLocal::new(addr, ty), align))
487
- };
488
-
489
- let srcs = src
490
- .record_field_srcs(self.types, src_tys.iter().copied())
491
- .zip(src_tys.iter());
492
- let dsts = dst
493
- .record_field_dsts(self.types, dst_tys.iter().copied())
494
- .zip(dst_tys.iter());
495
- for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
496
- self.translate(&src_ty, &src, &dst_ty, &dst);
497
- }
498
- }
499
-
500
- fn translate(
501
- &mut self,
502
- src_ty: &InterfaceType,
503
- src: &Source<'_>,
504
- dst_ty: &InterfaceType,
505
- dst: &Destination,
506
- ) {
507
- if let Source::Memory(mem) = src {
508
- self.assert_aligned(src_ty, mem);
509
- }
510
- if let Destination::Memory(mem) = dst {
511
- self.assert_aligned(dst_ty, mem);
512
- }
513
-
514
- // Calculate a cost heuristic for what the translation of this specific
515
- // layer of the type is going to incur. The purpose of this cost is that
516
- // we'll deduct it from `self.fuel` and if no fuel is remaining then
517
- // translation is outlined into a separate function rather than being
518
- // translated into this function.
519
- //
520
- // The general goal is to avoid creating an exponentially sized function
521
- // for a linearly sized input (the type section). By outlining helper
522
- // functions there will ideally be a constant set of helper functions
523
- // per type (to accomodate in-memory or on-stack transfers as well as
524
- // src/dst options) which means that each function is at most a certain
525
- // size and we have a linear number of functions which should guarantee
526
- // an overall linear size of the output.
527
- //
528
- // To implement this the current heuristic is that each layer of
529
- // translating a type has a cost associated with it and this cost is
530
- // accounted for in `self.fuel`. Some conversions are considered free as
531
- // they generate basically as much code as the `call` to the translation
532
- // function while other are considered proportionally expensive to the
533
- // size of the type. The hope is that some upper layers are of a type's
534
- // translation are all inlined into one function but bottom layers end
535
- // up getting outlined to separate functions. Theoretically, again this
536
- // is built on hopes and dreams, the outlining can be shared amongst
537
- // tightly-intertwined type hierarchies which will reduce the size of
538
- // the output module due to the helpers being used.
539
- //
540
- // This heuristic of how to split functions has changed a few times in
541
- // the past and this isn't necessarily guaranteed to be the final
542
- // iteration.
543
- let cost = match src_ty {
544
- // These types are all quite simple to load/store and equate to
545
- // basically the same cost of the `call` instruction to call an
546
- // out-of-line translation function, so give them 0 cost.
547
- InterfaceType::Bool
548
- | InterfaceType::U8
549
- | InterfaceType::S8
550
- | InterfaceType::U16
551
- | InterfaceType::S16
552
- | InterfaceType::U32
553
- | InterfaceType::S32
554
- | InterfaceType::U64
555
- | InterfaceType::S64
556
- | InterfaceType::Float32
557
- | InterfaceType::Float64 => 0,
558
-
559
- // This has a small amount of validation associated with it, so
560
- // give it a cost of 1.
561
- InterfaceType::Char => 1,
562
-
563
- // This has a fair bit of code behind it depending on the
564
- // strings/encodings in play, so arbitrarily assign it this cost.
565
- InterfaceType::String => 40,
566
-
567
- // Iteration of a loop is along the lines of the cost of a string
568
- // so give it the same cost
569
- InterfaceType::List(_) => 40,
570
-
571
- InterfaceType::Flags(i) => {
572
- let count = self.module.types[*i].names.len();
573
- match FlagsSize::from_count(count) {
574
- FlagsSize::Size0 => 0,
575
- FlagsSize::Size1 | FlagsSize::Size2 => 1,
576
- FlagsSize::Size4Plus(n) => n.into(),
577
- }
578
- }
579
-
580
- InterfaceType::Record(i) => self.types[*i].fields.len(),
581
- InterfaceType::Tuple(i) => self.types[*i].types.len(),
582
- InterfaceType::Variant(i) => self.types[*i].cases.len(),
583
- InterfaceType::Enum(i) => self.types[*i].names.len(),
584
-
585
- // 2 cases to consider for each of these variants.
586
- InterfaceType::Option(_) | InterfaceType::Result(_) => 2,
587
-
588
- // TODO(#6696) - something nonzero, is 1 right?
589
- InterfaceType::Own(_) | InterfaceType::Borrow(_) => 1,
590
- };
591
-
592
- match self.fuel.checked_sub(cost) {
593
- // This function has enough fuel to perform the layer of translation
594
- // necessary for this type, so the fuel is updated in-place and
595
- // translation continues. Note that the recursion here is bounded by
596
- // the static recursion limit for all interface types as imposed
597
- // during the translation phase.
598
- Some(n) => {
599
- self.fuel = n;
600
- match src_ty {
601
- InterfaceType::Bool => self.translate_bool(src, dst_ty, dst),
602
- InterfaceType::U8 => self.translate_u8(src, dst_ty, dst),
603
- InterfaceType::S8 => self.translate_s8(src, dst_ty, dst),
604
- InterfaceType::U16 => self.translate_u16(src, dst_ty, dst),
605
- InterfaceType::S16 => self.translate_s16(src, dst_ty, dst),
606
- InterfaceType::U32 => self.translate_u32(src, dst_ty, dst),
607
- InterfaceType::S32 => self.translate_s32(src, dst_ty, dst),
608
- InterfaceType::U64 => self.translate_u64(src, dst_ty, dst),
609
- InterfaceType::S64 => self.translate_s64(src, dst_ty, dst),
610
- InterfaceType::Float32 => self.translate_f32(src, dst_ty, dst),
611
- InterfaceType::Float64 => self.translate_f64(src, dst_ty, dst),
612
- InterfaceType::Char => self.translate_char(src, dst_ty, dst),
613
- InterfaceType::String => self.translate_string(src, dst_ty, dst),
614
- InterfaceType::List(t) => self.translate_list(*t, src, dst_ty, dst),
615
- InterfaceType::Record(t) => self.translate_record(*t, src, dst_ty, dst),
616
- InterfaceType::Flags(f) => self.translate_flags(*f, src, dst_ty, dst),
617
- InterfaceType::Tuple(t) => self.translate_tuple(*t, src, dst_ty, dst),
618
- InterfaceType::Variant(v) => self.translate_variant(*v, src, dst_ty, dst),
619
- InterfaceType::Enum(t) => self.translate_enum(*t, src, dst_ty, dst),
620
- InterfaceType::Option(t) => self.translate_option(*t, src, dst_ty, dst),
621
- InterfaceType::Result(t) => self.translate_result(*t, src, dst_ty, dst),
622
- InterfaceType::Own(t) => self.translate_own(*t, src, dst_ty, dst),
623
- InterfaceType::Borrow(t) => self.translate_borrow(*t, src, dst_ty, dst),
624
- }
625
- }
626
-
627
- // This function does not have enough fuel left to perform this
628
- // layer of translation so the translation is deferred to a helper
629
- // function. The actual translation here is then done by marshalling
630
- // the src/dst into the function we're calling and then processing
631
- // the results.
632
- None => {
633
- let src_loc = match src {
634
- // If the source is on the stack then `stack_get` is used to
635
- // convert everything to the appropriate flat representation
636
- // for the source type.
637
- Source::Stack(stack) => {
638
- for (i, ty) in stack
639
- .opts
640
- .flat_types(src_ty, self.types)
641
- .unwrap()
642
- .iter()
643
- .enumerate()
644
- {
645
- let stack = stack.slice(i..i + 1);
646
- self.stack_get(&stack, (*ty).into());
647
- }
648
- HelperLocation::Stack
649
- }
650
- // If the source is in memory then the pointer is passed
651
- // through, but note that the offset must be factored in
652
- // here since the translation function will start from
653
- // offset 0.
654
- Source::Memory(mem) => {
655
- self.push_mem_addr(mem);
656
- HelperLocation::Memory
657
- }
658
- };
659
- let dst_loc = match dst {
660
- Destination::Stack(..) => HelperLocation::Stack,
661
- Destination::Memory(mem) => {
662
- self.push_mem_addr(mem);
663
- HelperLocation::Memory
664
- }
665
- };
666
- // Generate a `FunctionId` corresponding to the `Helper`
667
- // configuration that is necessary here. This will ideally be a
668
- // "cache hit" and use a preexisting helper which represents
669
- // outlining what would otherwise be duplicate code within a
670
- // function to one function.
671
- let helper = self.module.translate_helper(Helper {
672
- src: HelperType {
673
- ty: *src_ty,
674
- opts: *src.opts(),
675
- loc: src_loc,
676
- },
677
- dst: HelperType {
678
- ty: *dst_ty,
679
- opts: *dst.opts(),
680
- loc: dst_loc,
681
- },
682
- });
683
- // Emit a `call` instruction which will get "relocated" to a
684
- // function index once translation has completely finished.
685
- self.flush_code();
686
- self.module.funcs[self.result].body.push(Body::Call(helper));
687
-
688
- // If the destination of the translation was on the stack then
689
- // the types on the stack need to be optionally converted to
690
- // different types (e.g. if the result here is part of a variant
691
- // somewhere else).
692
- //
693
- // This translation happens inline here by popping the results
694
- // into new locals and then using those locals to do a
695
- // `stack_set`.
696
- if let Destination::Stack(tys, opts) = dst {
697
- let flat = self
698
- .types
699
- .flatten_types(opts, usize::MAX, [*dst_ty])
700
- .unwrap();
701
- assert_eq!(flat.len(), tys.len());
702
- let locals = flat
703
- .iter()
704
- .rev()
705
- .map(|ty| self.local_set_new_tmp(*ty))
706
- .collect::<Vec<_>>();
707
- for (ty, local) in tys.iter().zip(locals.into_iter().rev()) {
708
- self.instruction(LocalGet(local.idx));
709
- self.stack_set(std::slice::from_ref(ty), local.ty);
710
- self.free_temp_local(local);
711
- }
712
- }
713
- }
714
- }
715
- }
716
-
717
- fn push_mem_addr(&mut self, mem: &Memory<'_>) {
718
- self.instruction(LocalGet(mem.addr.idx));
719
- if mem.offset != 0 {
720
- self.ptr_uconst(mem.opts, mem.offset);
721
- self.ptr_add(mem.opts);
722
- }
723
- }
724
-
725
- fn translate_bool(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
726
- // TODO: subtyping
727
- assert!(matches!(dst_ty, InterfaceType::Bool));
728
- self.push_dst_addr(dst);
729
-
730
- // Booleans are canonicalized to 0 or 1 as they pass through the
731
- // component boundary, so use a `select` instruction to do so.
732
- self.instruction(I32Const(1));
733
- self.instruction(I32Const(0));
734
- match src {
735
- Source::Memory(mem) => self.i32_load8u(mem),
736
- Source::Stack(stack) => self.stack_get(stack, ValType::I32),
737
- }
738
- self.instruction(Select);
739
-
740
- match dst {
741
- Destination::Memory(mem) => self.i32_store8(mem),
742
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
743
- }
744
- }
745
-
746
- fn translate_u8(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
747
- // TODO: subtyping
748
- assert!(matches!(dst_ty, InterfaceType::U8));
749
- self.convert_u8_mask(src, dst, 0xff);
750
- }
751
-
752
- fn convert_u8_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u8) {
753
- self.push_dst_addr(dst);
754
- let mut needs_mask = true;
755
- match src {
756
- Source::Memory(mem) => {
757
- self.i32_load8u(mem);
758
- needs_mask = mask != 0xff;
759
- }
760
- Source::Stack(stack) => {
761
- self.stack_get(stack, ValType::I32);
762
- }
763
- }
764
- if needs_mask {
765
- self.instruction(I32Const(i32::from(mask)));
766
- self.instruction(I32And);
767
- }
768
- match dst {
769
- Destination::Memory(mem) => self.i32_store8(mem),
770
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
771
- }
772
- }
773
-
774
- fn translate_s8(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
775
- // TODO: subtyping
776
- assert!(matches!(dst_ty, InterfaceType::S8));
777
- self.push_dst_addr(dst);
778
- match src {
779
- Source::Memory(mem) => self.i32_load8s(mem),
780
- Source::Stack(stack) => {
781
- self.stack_get(stack, ValType::I32);
782
- self.instruction(I32Extend8S);
783
- }
784
- }
785
- match dst {
786
- Destination::Memory(mem) => self.i32_store8(mem),
787
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
788
- }
789
- }
790
-
791
- fn translate_u16(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
792
- // TODO: subtyping
793
- assert!(matches!(dst_ty, InterfaceType::U16));
794
- self.convert_u16_mask(src, dst, 0xffff);
795
- }
796
-
797
- fn convert_u16_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u16) {
798
- self.push_dst_addr(dst);
799
- let mut needs_mask = true;
800
- match src {
801
- Source::Memory(mem) => {
802
- self.i32_load16u(mem);
803
- needs_mask = mask != 0xffff;
804
- }
805
- Source::Stack(stack) => {
806
- self.stack_get(stack, ValType::I32);
807
- }
808
- }
809
- if needs_mask {
810
- self.instruction(I32Const(i32::from(mask)));
811
- self.instruction(I32And);
812
- }
813
- match dst {
814
- Destination::Memory(mem) => self.i32_store16(mem),
815
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
816
- }
817
- }
818
-
819
- fn translate_s16(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
820
- // TODO: subtyping
821
- assert!(matches!(dst_ty, InterfaceType::S16));
822
- self.push_dst_addr(dst);
823
- match src {
824
- Source::Memory(mem) => self.i32_load16s(mem),
825
- Source::Stack(stack) => {
826
- self.stack_get(stack, ValType::I32);
827
- self.instruction(I32Extend16S);
828
- }
829
- }
830
- match dst {
831
- Destination::Memory(mem) => self.i32_store16(mem),
832
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
833
- }
834
- }
835
-
836
- fn translate_u32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
837
- // TODO: subtyping
838
- assert!(matches!(dst_ty, InterfaceType::U32));
839
- self.convert_u32_mask(src, dst, 0xffffffff)
840
- }
841
-
842
- fn convert_u32_mask(&mut self, src: &Source<'_>, dst: &Destination<'_>, mask: u32) {
843
- self.push_dst_addr(dst);
844
- match src {
845
- Source::Memory(mem) => self.i32_load(mem),
846
- Source::Stack(stack) => self.stack_get(stack, ValType::I32),
847
- }
848
- if mask != 0xffffffff {
849
- self.instruction(I32Const(mask as i32));
850
- self.instruction(I32And);
851
- }
852
- match dst {
853
- Destination::Memory(mem) => self.i32_store(mem),
854
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
855
- }
856
- }
857
-
858
- fn translate_s32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
859
- // TODO: subtyping
860
- assert!(matches!(dst_ty, InterfaceType::S32));
861
- self.push_dst_addr(dst);
862
- match src {
863
- Source::Memory(mem) => self.i32_load(mem),
864
- Source::Stack(stack) => self.stack_get(stack, ValType::I32),
865
- }
866
- match dst {
867
- Destination::Memory(mem) => self.i32_store(mem),
868
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
869
- }
870
- }
871
-
872
- fn translate_u64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
873
- // TODO: subtyping
874
- assert!(matches!(dst_ty, InterfaceType::U64));
875
- self.push_dst_addr(dst);
876
- match src {
877
- Source::Memory(mem) => self.i64_load(mem),
878
- Source::Stack(stack) => self.stack_get(stack, ValType::I64),
879
- }
880
- match dst {
881
- Destination::Memory(mem) => self.i64_store(mem),
882
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I64),
883
- }
884
- }
885
-
886
- fn translate_s64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
887
- // TODO: subtyping
888
- assert!(matches!(dst_ty, InterfaceType::S64));
889
- self.push_dst_addr(dst);
890
- match src {
891
- Source::Memory(mem) => self.i64_load(mem),
892
- Source::Stack(stack) => self.stack_get(stack, ValType::I64),
893
- }
894
- match dst {
895
- Destination::Memory(mem) => self.i64_store(mem),
896
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I64),
897
- }
898
- }
899
-
900
- fn translate_f32(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
901
- // TODO: subtyping
902
- assert!(matches!(dst_ty, InterfaceType::Float32));
903
- self.push_dst_addr(dst);
904
- match src {
905
- Source::Memory(mem) => self.f32_load(mem),
906
- Source::Stack(stack) => self.stack_get(stack, ValType::F32),
907
- }
908
- match dst {
909
- Destination::Memory(mem) => self.f32_store(mem),
910
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::F32),
911
- }
912
- }
913
-
914
- fn translate_f64(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
915
- // TODO: subtyping
916
- assert!(matches!(dst_ty, InterfaceType::Float64));
917
- self.push_dst_addr(dst);
918
- match src {
919
- Source::Memory(mem) => self.f64_load(mem),
920
- Source::Stack(stack) => self.stack_get(stack, ValType::F64),
921
- }
922
- match dst {
923
- Destination::Memory(mem) => self.f64_store(mem),
924
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::F64),
925
- }
926
- }
927
-
928
- fn translate_char(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
929
- assert!(matches!(dst_ty, InterfaceType::Char));
930
- match src {
931
- Source::Memory(mem) => self.i32_load(mem),
932
- Source::Stack(stack) => self.stack_get(stack, ValType::I32),
933
- }
934
- let local = self.local_set_new_tmp(ValType::I32);
935
-
936
- // This sequence is copied from the output of LLVM for:
937
- //
938
- // pub extern "C" fn foo(x: u32) -> char {
939
- // char::try_from(x)
940
- // .unwrap_or_else(|_| std::arch::wasm32::unreachable())
941
- // }
942
- //
943
- // Apparently this does what's required by the canonical ABI:
944
- //
945
- // def i32_to_char(opts, i):
946
- // trap_if(i >= 0x110000)
947
- // trap_if(0xD800 <= i <= 0xDFFF)
948
- // return chr(i)
949
- //
950
- // ... but I don't know how it works other than "well I trust LLVM"
951
- self.instruction(Block(BlockType::Empty));
952
- self.instruction(Block(BlockType::Empty));
953
- self.instruction(LocalGet(local.idx));
954
- self.instruction(I32Const(0xd800));
955
- self.instruction(I32Xor);
956
- self.instruction(I32Const(-0x110000));
957
- self.instruction(I32Add);
958
- self.instruction(I32Const(-0x10f800));
959
- self.instruction(I32LtU);
960
- self.instruction(BrIf(0));
961
- self.instruction(LocalGet(local.idx));
962
- self.instruction(I32Const(0x110000));
963
- self.instruction(I32Ne);
964
- self.instruction(BrIf(1));
965
- self.instruction(End);
966
- self.trap(Trap::InvalidChar);
967
- self.instruction(End);
968
-
969
- self.push_dst_addr(dst);
970
- self.instruction(LocalGet(local.idx));
971
- match dst {
972
- Destination::Memory(mem) => {
973
- self.i32_store(mem);
974
- }
975
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
976
- }
977
-
978
- self.free_temp_local(local);
979
- }
980
-
981
- fn translate_string(&mut self, src: &Source<'_>, dst_ty: &InterfaceType, dst: &Destination) {
982
- assert!(matches!(dst_ty, InterfaceType::String));
983
- let src_opts = src.opts();
984
- let dst_opts = dst.opts();
985
-
986
- // Load the pointer/length of this string into temporary locals. These
987
- // will be referenced a good deal so this just makes it easier to deal
988
- // with them consistently below rather than trying to reload from memory
989
- // for example.
990
- match src {
991
- Source::Stack(s) => {
992
- assert_eq!(s.locals.len(), 2);
993
- self.stack_get(&s.slice(0..1), src_opts.ptr());
994
- self.stack_get(&s.slice(1..2), src_opts.ptr());
995
- }
996
- Source::Memory(mem) => {
997
- self.ptr_load(mem);
998
- self.ptr_load(&mem.bump(src_opts.ptr_size().into()));
999
- }
1000
- }
1001
- let src_len = self.local_set_new_tmp(src_opts.ptr());
1002
- let src_ptr = self.local_set_new_tmp(src_opts.ptr());
1003
- let src_str = WasmString {
1004
- ptr: src_ptr,
1005
- len: src_len,
1006
- opts: src_opts,
1007
- };
1008
-
1009
- let dst_str = match src_opts.string_encoding {
1010
- StringEncoding::Utf8 => match dst_opts.string_encoding {
1011
- StringEncoding::Utf8 => self.string_copy(&src_str, FE::Utf8, dst_opts, FE::Utf8),
1012
- StringEncoding::Utf16 => self.string_utf8_to_utf16(&src_str, dst_opts),
1013
- StringEncoding::CompactUtf16 => {
1014
- self.string_to_compact(&src_str, FE::Utf8, dst_opts)
1015
- }
1016
- },
1017
-
1018
- StringEncoding::Utf16 => {
1019
- self.verify_aligned(src_opts, src_str.ptr.idx, 2);
1020
- match dst_opts.string_encoding {
1021
- StringEncoding::Utf8 => {
1022
- self.string_deflate_to_utf8(&src_str, FE::Utf16, dst_opts)
1023
- }
1024
- StringEncoding::Utf16 => {
1025
- self.string_copy(&src_str, FE::Utf16, dst_opts, FE::Utf16)
1026
- }
1027
- StringEncoding::CompactUtf16 => {
1028
- self.string_to_compact(&src_str, FE::Utf16, dst_opts)
1029
- }
1030
- }
1031
- }
1032
-
1033
- StringEncoding::CompactUtf16 => {
1034
- self.verify_aligned(src_opts, src_str.ptr.idx, 2);
1035
-
1036
- // Test the tag big to see if this is a utf16 or a latin1 string
1037
- // at runtime...
1038
- self.instruction(LocalGet(src_str.len.idx));
1039
- self.ptr_uconst(src_opts, UTF16_TAG);
1040
- self.ptr_and(src_opts);
1041
- self.ptr_if(src_opts, BlockType::Empty);
1042
-
1043
- // In the utf16 block unset the upper bit from the length local
1044
- // so further calculations have the right value. Afterwards the
1045
- // string transcode proceeds assuming utf16.
1046
- self.instruction(LocalGet(src_str.len.idx));
1047
- self.ptr_uconst(src_opts, UTF16_TAG);
1048
- self.ptr_xor(src_opts);
1049
- self.instruction(LocalSet(src_str.len.idx));
1050
- let s1 = match dst_opts.string_encoding {
1051
- StringEncoding::Utf8 => {
1052
- self.string_deflate_to_utf8(&src_str, FE::Utf16, dst_opts)
1053
- }
1054
- StringEncoding::Utf16 => {
1055
- self.string_copy(&src_str, FE::Utf16, dst_opts, FE::Utf16)
1056
- }
1057
- StringEncoding::CompactUtf16 => {
1058
- self.string_compact_utf16_to_compact(&src_str, dst_opts)
1059
- }
1060
- };
1061
-
1062
- self.instruction(Else);
1063
-
1064
- // In the latin1 block the `src_len` local is already the number
1065
- // of code units, so the string transcoding is all that needs to
1066
- // happen.
1067
- let s2 = match dst_opts.string_encoding {
1068
- StringEncoding::Utf16 => {
1069
- self.string_copy(&src_str, FE::Latin1, dst_opts, FE::Utf16)
1070
- }
1071
- StringEncoding::Utf8 => {
1072
- self.string_deflate_to_utf8(&src_str, FE::Latin1, dst_opts)
1073
- }
1074
- StringEncoding::CompactUtf16 => {
1075
- self.string_copy(&src_str, FE::Latin1, dst_opts, FE::Latin1)
1076
- }
1077
- };
1078
- // Set our `s2` generated locals to the `s2` generated locals
1079
- // as the resulting pointer of this transcode.
1080
- self.instruction(LocalGet(s2.ptr.idx));
1081
- self.instruction(LocalSet(s1.ptr.idx));
1082
- self.instruction(LocalGet(s2.len.idx));
1083
- self.instruction(LocalSet(s1.len.idx));
1084
- self.instruction(End);
1085
- self.free_temp_local(s2.ptr);
1086
- self.free_temp_local(s2.len);
1087
- s1
1088
- }
1089
- };
1090
-
1091
- // Store the ptr/length in the desired destination
1092
- match dst {
1093
- Destination::Stack(s, _) => {
1094
- self.instruction(LocalGet(dst_str.ptr.idx));
1095
- self.stack_set(&s[..1], dst_opts.ptr());
1096
- self.instruction(LocalGet(dst_str.len.idx));
1097
- self.stack_set(&s[1..], dst_opts.ptr());
1098
- }
1099
- Destination::Memory(mem) => {
1100
- self.instruction(LocalGet(mem.addr.idx));
1101
- self.instruction(LocalGet(dst_str.ptr.idx));
1102
- self.ptr_store(mem);
1103
- self.instruction(LocalGet(mem.addr.idx));
1104
- self.instruction(LocalGet(dst_str.len.idx));
1105
- self.ptr_store(&mem.bump(dst_opts.ptr_size().into()));
1106
- }
1107
- }
1108
-
1109
- self.free_temp_local(src_str.ptr);
1110
- self.free_temp_local(src_str.len);
1111
- self.free_temp_local(dst_str.ptr);
1112
- self.free_temp_local(dst_str.len);
1113
- }
1114
-
1115
- // Corresponding function for `store_string_copy` in the spec.
1116
- //
1117
- // This performs a transcoding of the string with a one-pass copy from
1118
- // the `src` encoding to the `dst` encoding. This is only possible for
1119
- // fixed encodings where the first allocation is guaranteed to be an
1120
- // appropriate fit so it's not suitable for all encodings.
1121
- //
1122
- // Imported host transcoding functions here take the src/dst pointers as
1123
- // well as the number of code units in the source (which always matches
1124
- // the number of code units in the destination). There is no return
1125
- // value from the transcode function since the encoding should always
1126
- // work on the first pass.
1127
- fn string_copy<'a>(
1128
- &mut self,
1129
- src: &WasmString<'_>,
1130
- src_enc: FE,
1131
- dst_opts: &'a Options,
1132
- dst_enc: FE,
1133
- ) -> WasmString<'a> {
1134
- assert!(dst_enc.width() >= src_enc.width());
1135
- self.validate_string_length(src, dst_enc);
1136
-
1137
- // Calculate the source byte length given the size of each code
1138
- // unit. Note that this shouldn't overflow given
1139
- // `validate_string_length` above.
1140
- let mut src_byte_len_tmp = None;
1141
- let src_byte_len = if src_enc.width() == 1 {
1142
- src.len.idx
1143
- } else {
1144
- assert_eq!(src_enc.width(), 2);
1145
- self.instruction(LocalGet(src.len.idx));
1146
- self.ptr_uconst(src.opts, 1);
1147
- self.ptr_shl(src.opts);
1148
- let tmp = self.local_set_new_tmp(src.opts.ptr());
1149
- let ret = tmp.idx;
1150
- src_byte_len_tmp = Some(tmp);
1151
- ret
1152
- };
1153
-
1154
- // Convert the source code units length to the destination byte
1155
- // length type.
1156
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1157
- let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1158
- if dst_enc.width() > 1 {
1159
- assert_eq!(dst_enc.width(), 2);
1160
- self.ptr_uconst(dst_opts, 1);
1161
- self.ptr_shl(dst_opts);
1162
- }
1163
- let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1164
-
1165
- // Allocate space in the destination using the calculated byte
1166
- // length.
1167
- let dst = {
1168
- let dst_mem = self.malloc(
1169
- dst_opts,
1170
- MallocSize::Local(dst_byte_len.idx),
1171
- dst_enc.width().into(),
1172
- );
1173
- WasmString {
1174
- ptr: dst_mem.addr,
1175
- len: dst_len,
1176
- opts: dst_opts,
1177
- }
1178
- };
1179
-
1180
- // Validate that `src_len + src_ptr` and
1181
- // `dst_mem.addr_local + dst_byte_len` are both in-bounds. This
1182
- // is done by loading the last byte of the string and if that
1183
- // doesn't trap then it's known valid.
1184
- self.validate_string_inbounds(src, src_byte_len);
1185
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1186
-
1187
- // If the validations pass then the host `transcode` intrinsic
1188
- // is invoked. This will either raise a trap or otherwise succeed
1189
- // in which case we're done.
1190
- let op = if src_enc == dst_enc {
1191
- Transcode::Copy(src_enc)
1192
- } else {
1193
- assert_eq!(src_enc, FE::Latin1);
1194
- assert_eq!(dst_enc, FE::Utf16);
1195
- Transcode::Latin1ToUtf16
1196
- };
1197
- let transcode = self.transcoder(src, &dst, op);
1198
- self.instruction(LocalGet(src.ptr.idx));
1199
- self.instruction(LocalGet(src.len.idx));
1200
- self.instruction(LocalGet(dst.ptr.idx));
1201
- self.instruction(Call(transcode.as_u32()));
1202
-
1203
- self.free_temp_local(dst_byte_len);
1204
- if let Some(tmp) = src_byte_len_tmp {
1205
- self.free_temp_local(tmp);
1206
- }
1207
-
1208
- dst
1209
- }
1210
- // Corresponding function for `store_string_to_utf8` in the spec.
1211
- //
1212
- // This translation works by possibly performing a number of
1213
- // reallocations. First a buffer of size input-code-units is used to try
1214
- // to get the transcoding correct on the first try. If that fails the
1215
- // maximum worst-case size is used and then that is resized down if it's
1216
- // too large.
1217
- //
1218
- // The host transcoding function imported here will receive src ptr/len
1219
- // and dst ptr/len and return how many code units were consumed on both
1220
- // sides. The amount of code units consumed in the source dictates which
1221
- // branches are taken in this conversion.
1222
- fn string_deflate_to_utf8<'a>(
1223
- &mut self,
1224
- src: &WasmString<'_>,
1225
- src_enc: FE,
1226
- dst_opts: &'a Options,
1227
- ) -> WasmString<'a> {
1228
- self.validate_string_length(src, src_enc);
1229
-
1230
- // Optimistically assume that the code unit length of the source is
1231
- // all that's needed in the destination. Perform that allocaiton
1232
- // here and proceed to transcoding below.
1233
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1234
- let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1235
- let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1236
-
1237
- let dst = {
1238
- let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 1);
1239
- WasmString {
1240
- ptr: dst_mem.addr,
1241
- len: dst_len,
1242
- opts: dst_opts,
1243
- }
1244
- };
1245
-
1246
- // Ensure buffers are all in-bounds
1247
- let mut src_byte_len_tmp = None;
1248
- let src_byte_len = match src_enc {
1249
- FE::Latin1 => src.len.idx,
1250
- FE::Utf16 => {
1251
- self.instruction(LocalGet(src.len.idx));
1252
- self.ptr_uconst(src.opts, 1);
1253
- self.ptr_shl(src.opts);
1254
- let tmp = self.local_set_new_tmp(src.opts.ptr());
1255
- let ret = tmp.idx;
1256
- src_byte_len_tmp = Some(tmp);
1257
- ret
1258
- }
1259
- FE::Utf8 => unreachable!(),
1260
- };
1261
- self.validate_string_inbounds(src, src_byte_len);
1262
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1263
-
1264
- // Perform the initial transcode
1265
- let op = match src_enc {
1266
- FE::Latin1 => Transcode::Latin1ToUtf8,
1267
- FE::Utf16 => Transcode::Utf16ToUtf8,
1268
- FE::Utf8 => unreachable!(),
1269
- };
1270
- let transcode = self.transcoder(src, &dst, op);
1271
- self.instruction(LocalGet(src.ptr.idx));
1272
- self.instruction(LocalGet(src.len.idx));
1273
- self.instruction(LocalGet(dst.ptr.idx));
1274
- self.instruction(LocalGet(dst_byte_len.idx));
1275
- self.instruction(Call(transcode.as_u32()));
1276
- self.instruction(LocalSet(dst.len.idx));
1277
- let src_len_tmp = self.local_set_new_tmp(src.opts.ptr());
1278
-
1279
- // Test if the source was entirely transcoded by comparing
1280
- // `src_len_tmp`, the number of code units transcoded from the
1281
- // source, with `src_len`, the original number of code units.
1282
- self.instruction(LocalGet(src_len_tmp.idx));
1283
- self.instruction(LocalGet(src.len.idx));
1284
- self.ptr_ne(src.opts);
1285
- self.instruction(If(BlockType::Empty));
1286
-
1287
- // Here a worst-case reallocation is performed to grow `dst_mem`.
1288
- // In-line a check is also performed that the worst-case byte size
1289
- // fits within the maximum size of strings.
1290
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1291
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1292
- self.ptr_uconst(dst.opts, 1); // align
1293
- let factor = match src_enc {
1294
- FE::Latin1 => 2,
1295
- FE::Utf16 => 3,
1296
- _ => unreachable!(),
1297
- };
1298
- self.validate_string_length_u8(src, factor);
1299
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1300
- self.ptr_uconst(dst_opts, factor.into());
1301
- self.ptr_mul(dst_opts);
1302
- self.instruction(LocalTee(dst_byte_len.idx));
1303
- self.instruction(Call(dst_opts.realloc.unwrap().as_u32()));
1304
- self.instruction(LocalSet(dst.ptr.idx));
1305
-
1306
- // Verify that the destination is still in-bounds
1307
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1308
-
1309
- // Perform another round of transcoding that should be guaranteed
1310
- // to succeed. Note that all the parameters here are offset by the
1311
- // results of the first transcoding to only perform the remaining
1312
- // transcode on the final units.
1313
- self.instruction(LocalGet(src.ptr.idx));
1314
- self.instruction(LocalGet(src_len_tmp.idx));
1315
- if let FE::Utf16 = src_enc {
1316
- self.ptr_uconst(src.opts, 1);
1317
- self.ptr_shl(src.opts);
1318
- }
1319
- self.ptr_add(src.opts);
1320
- self.instruction(LocalGet(src.len.idx));
1321
- self.instruction(LocalGet(src_len_tmp.idx));
1322
- self.ptr_sub(src.opts);
1323
- self.instruction(LocalGet(dst.ptr.idx));
1324
- self.instruction(LocalGet(dst.len.idx));
1325
- self.ptr_add(dst.opts);
1326
- self.instruction(LocalGet(dst_byte_len.idx));
1327
- self.instruction(LocalGet(dst.len.idx));
1328
- self.ptr_sub(dst.opts);
1329
- self.instruction(Call(transcode.as_u32()));
1330
-
1331
- // Add the second result, the amount of destination units encoded,
1332
- // to `dst_len` so it's an accurate reflection of the final size of
1333
- // the destination buffer.
1334
- self.instruction(LocalGet(dst.len.idx));
1335
- self.ptr_add(dst.opts);
1336
- self.instruction(LocalSet(dst.len.idx));
1337
-
1338
- // In debug mode verify the first result consumed the entire string,
1339
- // otherwise simply discard it.
1340
- if self.module.debug {
1341
- self.instruction(LocalGet(src.len.idx));
1342
- self.instruction(LocalGet(src_len_tmp.idx));
1343
- self.ptr_sub(src.opts);
1344
- self.ptr_ne(src.opts);
1345
- self.instruction(If(BlockType::Empty));
1346
- self.trap(Trap::AssertFailed("should have finished encoding"));
1347
- self.instruction(End);
1348
- } else {
1349
- self.instruction(Drop);
1350
- }
1351
-
1352
- // Perform a downsizing if the worst-case size was too large
1353
- self.instruction(LocalGet(dst.len.idx));
1354
- self.instruction(LocalGet(dst_byte_len.idx));
1355
- self.ptr_ne(dst.opts);
1356
- self.instruction(If(BlockType::Empty));
1357
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1358
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1359
- self.ptr_uconst(dst.opts, 1); // align
1360
- self.instruction(LocalGet(dst.len.idx)); // new_size
1361
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1362
- self.instruction(LocalSet(dst.ptr.idx));
1363
- self.instruction(End);
1364
-
1365
- // If the first transcode was enough then assert that the returned
1366
- // amount of destination items written equals the byte size.
1367
- if self.module.debug {
1368
- self.instruction(Else);
1369
-
1370
- self.instruction(LocalGet(dst.len.idx));
1371
- self.instruction(LocalGet(dst_byte_len.idx));
1372
- self.ptr_ne(dst_opts);
1373
- self.instruction(If(BlockType::Empty));
1374
- self.trap(Trap::AssertFailed("should have finished encoding"));
1375
- self.instruction(End);
1376
- }
1377
-
1378
- self.instruction(End); // end of "first transcode not enough"
1379
-
1380
- self.free_temp_local(src_len_tmp);
1381
- self.free_temp_local(dst_byte_len);
1382
- if let Some(tmp) = src_byte_len_tmp {
1383
- self.free_temp_local(tmp);
1384
- }
1385
-
1386
- dst
1387
- }
1388
-
1389
- // Corresponds to the `store_utf8_to_utf16` function in the spec.
1390
- //
1391
- // When converting utf-8 to utf-16 a pessimistic allocation is
1392
- // done which is twice the byte length of the utf-8 string.
1393
- // The host then transcodes and returns how many code units were
1394
- // actually used during the transcoding and if it's beneath the
1395
- // pessimistic maximum then the buffer is reallocated down to
1396
- // a smaller amount.
1397
- //
1398
- // The host-imported transcoding function takes the src/dst pointer as
1399
- // well as the code unit size of both the source and destination. The
1400
- // destination should always be big enough to hold the result of the
1401
- // transcode and so the result of the host function is how many code
1402
- // units were written to the destination.
1403
- fn string_utf8_to_utf16<'a>(
1404
- &mut self,
1405
- src: &WasmString<'_>,
1406
- dst_opts: &'a Options,
1407
- ) -> WasmString<'a> {
1408
- self.validate_string_length(src, FE::Utf16);
1409
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1410
- let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1411
- self.ptr_uconst(dst_opts, 1);
1412
- self.ptr_shl(dst_opts);
1413
- let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1414
- let dst = {
1415
- let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1416
- WasmString {
1417
- ptr: dst_mem.addr,
1418
- len: dst_len,
1419
- opts: dst_opts,
1420
- }
1421
- };
1422
-
1423
- self.validate_string_inbounds(src, src.len.idx);
1424
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1425
-
1426
- let transcode = self.transcoder(src, &dst, Transcode::Utf8ToUtf16);
1427
- self.instruction(LocalGet(src.ptr.idx));
1428
- self.instruction(LocalGet(src.len.idx));
1429
- self.instruction(LocalGet(dst.ptr.idx));
1430
- self.instruction(Call(transcode.as_u32()));
1431
- self.instruction(LocalSet(dst.len.idx));
1432
-
1433
- // If the number of code units returned by transcode is not
1434
- // equal to the original number of code units then
1435
- // the buffer must be shrunk.
1436
- //
1437
- // Note that the byte length of the final allocation we
1438
- // want is twice the code unit length returned by the
1439
- // transcoding function.
1440
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1441
- self.instruction(LocalGet(dst.len.idx));
1442
- self.ptr_ne(dst_opts);
1443
- self.instruction(If(BlockType::Empty));
1444
- self.instruction(LocalGet(dst.ptr.idx));
1445
- self.instruction(LocalGet(dst_byte_len.idx));
1446
- self.ptr_uconst(dst.opts, 2);
1447
- self.instruction(LocalGet(dst.len.idx));
1448
- self.ptr_uconst(dst.opts, 1);
1449
- self.ptr_shl(dst.opts);
1450
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1451
- self.instruction(LocalSet(dst.ptr.idx));
1452
- self.instruction(End); // end of shrink-to-fit
1453
-
1454
- self.free_temp_local(dst_byte_len);
1455
-
1456
- dst
1457
- }
1458
-
1459
- // Corresponds to `store_probably_utf16_to_latin1_or_utf16` in the spec.
1460
- //
1461
- // This will try to transcode the input utf16 string to utf16 in the
1462
- // destination. If utf16 isn't needed though and latin1 could be used
1463
- // then that's used instead and a reallocation to downsize occurs
1464
- // afterwards.
1465
- //
1466
- // The host transcode function here will take the src/dst pointers as
1467
- // well as src length. The destination byte length is twice the src code
1468
- // unit length. The return value is the tagged length of the returned
1469
- // string. If the upper bit is set then utf16 was used and the
1470
- // conversion is done. If the upper bit is not set then latin1 was used
1471
- // and a downsizing needs to happen.
1472
- fn string_compact_utf16_to_compact<'a>(
1473
- &mut self,
1474
- src: &WasmString<'_>,
1475
- dst_opts: &'a Options,
1476
- ) -> WasmString<'a> {
1477
- self.validate_string_length(src, FE::Utf16);
1478
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1479
- let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1480
- self.ptr_uconst(dst_opts, 1);
1481
- self.ptr_shl(dst_opts);
1482
- let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1483
- let dst = {
1484
- let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1485
- WasmString {
1486
- ptr: dst_mem.addr,
1487
- len: dst_len,
1488
- opts: dst_opts,
1489
- }
1490
- };
1491
-
1492
- self.convert_src_len_to_dst(dst_byte_len.idx, dst.opts.ptr(), src.opts.ptr());
1493
- let src_byte_len = self.local_set_new_tmp(src.opts.ptr());
1494
-
1495
- self.validate_string_inbounds(src, src_byte_len.idx);
1496
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1497
-
1498
- let transcode = self.transcoder(src, &dst, Transcode::Utf16ToCompactProbablyUtf16);
1499
- self.instruction(LocalGet(src.ptr.idx));
1500
- self.instruction(LocalGet(src.len.idx));
1501
- self.instruction(LocalGet(dst.ptr.idx));
1502
- self.instruction(Call(transcode.as_u32()));
1503
- self.instruction(LocalSet(dst.len.idx));
1504
-
1505
- // Assert that the untagged code unit length is the same as the
1506
- // source code unit length.
1507
- if self.module.debug {
1508
- self.instruction(LocalGet(dst.len.idx));
1509
- self.ptr_uconst(dst.opts, !UTF16_TAG);
1510
- self.ptr_and(dst.opts);
1511
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1512
- self.ptr_ne(dst.opts);
1513
- self.instruction(If(BlockType::Empty));
1514
- self.trap(Trap::AssertFailed("expected equal code units"));
1515
- self.instruction(End);
1516
- }
1517
-
1518
- // If the UTF16_TAG is set then utf16 was used and the destination
1519
- // should be appropriately sized. Bail out of the "is this string
1520
- // empty" block and fall through otherwise to resizing.
1521
- self.instruction(LocalGet(dst.len.idx));
1522
- self.ptr_uconst(dst.opts, UTF16_TAG);
1523
- self.ptr_and(dst.opts);
1524
- self.ptr_br_if(dst.opts, 0);
1525
-
1526
- // Here `realloc` is used to downsize the string
1527
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1528
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1529
- self.ptr_uconst(dst.opts, 2); // align
1530
- self.instruction(LocalGet(dst.len.idx)); // new_size
1531
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1532
- self.instruction(LocalSet(dst.ptr.idx));
1533
-
1534
- self.free_temp_local(dst_byte_len);
1535
- self.free_temp_local(src_byte_len);
1536
-
1537
- dst
1538
- }
1539
-
1540
- // Corresponds to `store_string_to_latin1_or_utf16` in the spec.
1541
- //
1542
- // This will attempt a first pass of transcoding to latin1 and on
1543
- // failure a larger buffer is allocated for utf16 and then utf16 is
1544
- // encoded in-place into the buffer. After either latin1 or utf16 the
1545
- // buffer is then resized to fit the final string allocation.
1546
- fn string_to_compact<'a>(
1547
- &mut self,
1548
- src: &WasmString<'_>,
1549
- src_enc: FE,
1550
- dst_opts: &'a Options,
1551
- ) -> WasmString<'a> {
1552
- self.validate_string_length(src, src_enc);
1553
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst_opts.ptr());
1554
- let dst_len = self.local_tee_new_tmp(dst_opts.ptr());
1555
- let dst_byte_len = self.local_set_new_tmp(dst_opts.ptr());
1556
- let dst = {
1557
- let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), 2);
1558
- WasmString {
1559
- ptr: dst_mem.addr,
1560
- len: dst_len,
1561
- opts: dst_opts,
1562
- }
1563
- };
1564
-
1565
- self.validate_string_inbounds(src, src.len.idx);
1566
- self.validate_string_inbounds(&dst, dst_byte_len.idx);
1567
-
1568
- // Perform the initial latin1 transcode. This returns the number of
1569
- // source code units consumed and the number of destination code
1570
- // units (bytes) written.
1571
- let (latin1, utf16) = match src_enc {
1572
- FE::Utf8 => (Transcode::Utf8ToLatin1, Transcode::Utf8ToCompactUtf16),
1573
- FE::Utf16 => (Transcode::Utf16ToLatin1, Transcode::Utf16ToCompactUtf16),
1574
- FE::Latin1 => unreachable!(),
1575
- };
1576
- let transcode_latin1 = self.transcoder(src, &dst, latin1);
1577
- let transcode_utf16 = self.transcoder(src, &dst, utf16);
1578
- self.instruction(LocalGet(src.ptr.idx));
1579
- self.instruction(LocalGet(src.len.idx));
1580
- self.instruction(LocalGet(dst.ptr.idx));
1581
- self.instruction(Call(transcode_latin1.as_u32()));
1582
- self.instruction(LocalSet(dst.len.idx));
1583
- let src_len_tmp = self.local_set_new_tmp(src.opts.ptr());
1584
-
1585
- // If the source was entirely consumed then the transcode completed
1586
- // and all that's necessary is to optionally shrink the buffer.
1587
- self.instruction(LocalGet(src_len_tmp.idx));
1588
- self.instruction(LocalGet(src.len.idx));
1589
- self.ptr_eq(src.opts);
1590
- self.instruction(If(BlockType::Empty)); // if latin1-or-utf16 block
1591
-
1592
- // Test if the original byte length of the allocation is the same as
1593
- // the number of written bytes, and if not then shrink the buffer
1594
- // with a call to `realloc`.
1595
- self.instruction(LocalGet(dst_byte_len.idx));
1596
- self.instruction(LocalGet(dst.len.idx));
1597
- self.ptr_ne(dst.opts);
1598
- self.instruction(If(BlockType::Empty));
1599
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1600
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1601
- self.ptr_uconst(dst.opts, 2); // align
1602
- self.instruction(LocalGet(dst.len.idx)); // new_size
1603
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1604
- self.instruction(LocalSet(dst.ptr.idx));
1605
- self.instruction(End);
1606
-
1607
- // In this block the latin1 encoding failed. The host transcode
1608
- // returned how many units were consumed from the source and how
1609
- // many bytes were written to the destination. Here the buffer is
1610
- // inflated and sized and the second utf16 intrinsic is invoked to
1611
- // perform the final inflation.
1612
- self.instruction(Else); // else latin1-or-utf16 block
1613
-
1614
- // For utf8 validate that the inflated size is still within bounds.
1615
- if src_enc.width() == 1 {
1616
- self.validate_string_length_u8(src, 2);
1617
- }
1618
-
1619
- // Reallocate the buffer with twice the source code units in byte
1620
- // size.
1621
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1622
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1623
- self.ptr_uconst(dst.opts, 2); // align
1624
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1625
- self.ptr_uconst(dst.opts, 1);
1626
- self.ptr_shl(dst.opts);
1627
- self.instruction(LocalTee(dst_byte_len.idx));
1628
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1629
- self.instruction(LocalSet(dst.ptr.idx));
1630
-
1631
- // Call the host utf16 transcoding function. This will inflate the
1632
- // prior latin1 bytes and then encode the rest of the source string
1633
- // as utf16 into the remaining space in the destination buffer.
1634
- self.instruction(LocalGet(src.ptr.idx));
1635
- self.instruction(LocalGet(src_len_tmp.idx));
1636
- if let FE::Utf16 = src_enc {
1637
- self.ptr_uconst(src.opts, 1);
1638
- self.ptr_shl(src.opts);
1639
- }
1640
- self.ptr_add(src.opts);
1641
- self.instruction(LocalGet(src.len.idx));
1642
- self.instruction(LocalGet(src_len_tmp.idx));
1643
- self.ptr_sub(src.opts);
1644
- self.instruction(LocalGet(dst.ptr.idx));
1645
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1646
- self.instruction(LocalGet(dst.len.idx));
1647
- self.instruction(Call(transcode_utf16.as_u32()));
1648
- self.instruction(LocalSet(dst.len.idx));
1649
-
1650
- // If the returned number of code units written to the destination
1651
- // is not equal to the size of the allocation then the allocation is
1652
- // resized down to the appropriate size.
1653
- //
1654
- // Note that the byte size desired is `2*dst_len` and the current
1655
- // byte buffer size is `2*src_len` so the `2` factor isn't checked
1656
- // here, just the lengths.
1657
- self.instruction(LocalGet(dst.len.idx));
1658
- self.convert_src_len_to_dst(src.len.idx, src.opts.ptr(), dst.opts.ptr());
1659
- self.ptr_ne(dst.opts);
1660
- self.instruction(If(BlockType::Empty));
1661
- self.instruction(LocalGet(dst.ptr.idx)); // old_ptr
1662
- self.instruction(LocalGet(dst_byte_len.idx)); // old_size
1663
- self.ptr_uconst(dst.opts, 2); // align
1664
- self.instruction(LocalGet(dst.len.idx));
1665
- self.ptr_uconst(dst.opts, 1);
1666
- self.ptr_shl(dst.opts);
1667
- self.instruction(Call(dst.opts.realloc.unwrap().as_u32()));
1668
- self.instruction(LocalSet(dst.ptr.idx));
1669
- self.instruction(End);
1670
-
1671
- // Tag the returned pointer as utf16
1672
- self.instruction(LocalGet(dst.len.idx));
1673
- self.ptr_uconst(dst.opts, UTF16_TAG);
1674
- self.ptr_or(dst.opts);
1675
- self.instruction(LocalSet(dst.len.idx));
1676
-
1677
- self.instruction(End); // end latin1-or-utf16 block
1678
-
1679
- self.free_temp_local(src_len_tmp);
1680
- self.free_temp_local(dst_byte_len);
1681
-
1682
- dst
1683
- }
1684
-
1685
- fn validate_string_length(&mut self, src: &WasmString<'_>, dst: FE) {
1686
- self.validate_string_length_u8(src, dst.width())
1687
- }
1688
-
1689
- fn validate_string_length_u8(&mut self, s: &WasmString<'_>, dst: u8) {
1690
- // Check to see if the source byte length is out of bounds in
1691
- // which case a trap is generated.
1692
- self.instruction(LocalGet(s.len.idx));
1693
- let max = MAX_STRING_BYTE_LENGTH / u32::from(dst);
1694
- self.ptr_uconst(s.opts, max);
1695
- self.ptr_ge_u(s.opts);
1696
- self.instruction(If(BlockType::Empty));
1697
- self.trap(Trap::StringLengthTooBig);
1698
- self.instruction(End);
1699
- }
1700
-
1701
- fn transcoder(
1702
- &mut self,
1703
- src: &WasmString<'_>,
1704
- dst: &WasmString<'_>,
1705
- op: Transcode,
1706
- ) -> FuncIndex {
1707
- self.module.import_transcoder(Transcoder {
1708
- from_memory: src.opts.memory.unwrap(),
1709
- from_memory64: src.opts.memory64,
1710
- to_memory: dst.opts.memory.unwrap(),
1711
- to_memory64: dst.opts.memory64,
1712
- op,
1713
- })
1714
- }
1715
-
1716
- fn validate_string_inbounds(&mut self, s: &WasmString<'_>, byte_len: u32) {
1717
- self.validate_memory_inbounds(s.opts, s.ptr.idx, byte_len, Trap::StringLengthOverflow)
1718
- }
1719
-
1720
- fn validate_memory_inbounds(
1721
- &mut self,
1722
- opts: &Options,
1723
- ptr_local: u32,
1724
- byte_len_local: u32,
1725
- trap: Trap,
1726
- ) {
1727
- let extend_to_64 = |me: &mut Self| {
1728
- if !opts.memory64 {
1729
- me.instruction(I64ExtendI32U);
1730
- }
1731
- };
1732
-
1733
- self.instruction(Block(BlockType::Empty));
1734
- self.instruction(Block(BlockType::Empty));
1735
-
1736
- // Calculate the full byte size of memory with `memory.size`. Note that
1737
- // arithmetic here is done always in 64-bits to accomodate 4G memories.
1738
- // Additionally it's assumed that 64-bit memories never fill up
1739
- // entirely.
1740
- self.instruction(MemorySize(opts.memory.unwrap().as_u32()));
1741
- extend_to_64(self);
1742
- self.instruction(I64Const(16));
1743
- self.instruction(I64Shl);
1744
-
1745
- // Calculate the end address of the string. This is done by adding the
1746
- // base pointer to the byte length. For 32-bit memories there's no need
1747
- // to check for overflow since everything is extended to 64-bit, but for
1748
- // 64-bit memories overflow is checked.
1749
- self.instruction(LocalGet(ptr_local));
1750
- extend_to_64(self);
1751
- self.instruction(LocalGet(byte_len_local));
1752
- extend_to_64(self);
1753
- self.instruction(I64Add);
1754
- if opts.memory64 {
1755
- let tmp = self.local_tee_new_tmp(ValType::I64);
1756
- self.instruction(LocalGet(ptr_local));
1757
- self.ptr_lt_u(opts);
1758
- self.instruction(BrIf(0));
1759
- self.instruction(LocalGet(tmp.idx));
1760
- self.free_temp_local(tmp);
1761
- }
1762
-
1763
- // If the byte size of memory is greater than the final address of the
1764
- // string then the string is invalid. Note that if it's precisely equal
1765
- // then that's ok.
1766
- self.instruction(I64GeU);
1767
- self.instruction(BrIf(1));
1768
-
1769
- self.instruction(End);
1770
- self.trap(trap);
1771
- self.instruction(End);
1772
- }
1773
-
1774
- fn translate_list(
1775
- &mut self,
1776
- src_ty: TypeListIndex,
1777
- src: &Source<'_>,
1778
- dst_ty: &InterfaceType,
1779
- dst: &Destination,
1780
- ) {
1781
- let src_element_ty = &self.types[src_ty].element;
1782
- let dst_element_ty = match dst_ty {
1783
- InterfaceType::List(r) => &self.types[*r].element,
1784
- _ => panic!("expected a list"),
1785
- };
1786
- let src_opts = src.opts();
1787
- let dst_opts = dst.opts();
1788
- let (src_size, src_align) = self.types.size_align(src_opts, src_element_ty);
1789
- let (dst_size, dst_align) = self.types.size_align(dst_opts, dst_element_ty);
1790
-
1791
- // Load the pointer/length of this list into temporary locals. These
1792
- // will be referenced a good deal so this just makes it easier to deal
1793
- // with them consistently below rather than trying to reload from memory
1794
- // for example.
1795
- match src {
1796
- Source::Stack(s) => {
1797
- assert_eq!(s.locals.len(), 2);
1798
- self.stack_get(&s.slice(0..1), src_opts.ptr());
1799
- self.stack_get(&s.slice(1..2), src_opts.ptr());
1800
- }
1801
- Source::Memory(mem) => {
1802
- self.ptr_load(mem);
1803
- self.ptr_load(&mem.bump(src_opts.ptr_size().into()));
1804
- }
1805
- }
1806
- let src_len = self.local_set_new_tmp(src_opts.ptr());
1807
- let src_ptr = self.local_set_new_tmp(src_opts.ptr());
1808
-
1809
- // Create a `Memory` operand which will internally assert that the
1810
- // `src_ptr` value is properly aligned.
1811
- let src_mem = self.memory_operand(src_opts, src_ptr, src_align);
1812
-
1813
- // Calculate the source/destination byte lengths into unique locals.
1814
- let src_byte_len = self.calculate_list_byte_len(src_opts, src_len.idx, src_size);
1815
- let dst_byte_len = if src_size == dst_size {
1816
- self.convert_src_len_to_dst(src_byte_len.idx, src_opts.ptr(), dst_opts.ptr());
1817
- self.local_set_new_tmp(dst_opts.ptr())
1818
- } else if src_opts.ptr() == dst_opts.ptr() {
1819
- self.calculate_list_byte_len(dst_opts, src_len.idx, dst_size)
1820
- } else {
1821
- self.convert_src_len_to_dst(src_byte_len.idx, src_opts.ptr(), dst_opts.ptr());
1822
- let tmp = self.local_set_new_tmp(dst_opts.ptr());
1823
- let ret = self.calculate_list_byte_len(dst_opts, tmp.idx, dst_size);
1824
- self.free_temp_local(tmp);
1825
- ret
1826
- };
1827
-
1828
- // Here `realloc` is invoked (in a `malloc`-like fashion) to allocate
1829
- // space for the list in the destination memory. This will also
1830
- // internally insert checks that the returned pointer is aligned
1831
- // correctly for the destination.
1832
- let dst_mem = self.malloc(dst_opts, MallocSize::Local(dst_byte_len.idx), dst_align);
1833
-
1834
- // With all the pointers and byte lengths verity that both the source
1835
- // and the destination buffers are in-bounds.
1836
- self.validate_memory_inbounds(
1837
- src_opts,
1838
- src_mem.addr.idx,
1839
- src_byte_len.idx,
1840
- Trap::ListByteLengthOverflow,
1841
- );
1842
- self.validate_memory_inbounds(
1843
- dst_opts,
1844
- dst_mem.addr.idx,
1845
- dst_byte_len.idx,
1846
- Trap::ListByteLengthOverflow,
1847
- );
1848
-
1849
- self.free_temp_local(src_byte_len);
1850
- self.free_temp_local(dst_byte_len);
1851
-
1852
- // This is the main body of the loop to actually translate list types.
1853
- // Note that if both element sizes are 0 then this won't actually do
1854
- // anything so the loop is removed entirely.
1855
- if src_size > 0 || dst_size > 0 {
1856
- // This block encompasses the entire loop and is use to exit before even
1857
- // entering the loop if the list size is zero.
1858
- self.instruction(Block(BlockType::Empty));
1859
-
1860
- // Set the `remaining` local and only continue if it's > 0
1861
- self.instruction(LocalGet(src_len.idx));
1862
- let remaining = self.local_tee_new_tmp(src_opts.ptr());
1863
- self.ptr_eqz(src_opts);
1864
- self.instruction(BrIf(0));
1865
-
1866
- // Initialize the two destination pointers to their initial values
1867
- self.instruction(LocalGet(src_mem.addr.idx));
1868
- let cur_src_ptr = self.local_set_new_tmp(src_opts.ptr());
1869
- self.instruction(LocalGet(dst_mem.addr.idx));
1870
- let cur_dst_ptr = self.local_set_new_tmp(dst_opts.ptr());
1871
-
1872
- self.instruction(Loop(BlockType::Empty));
1873
-
1874
- // Translate the next element in the list
1875
- let element_src = Source::Memory(Memory {
1876
- opts: src_opts,
1877
- offset: 0,
1878
- addr: TempLocal::new(cur_src_ptr.idx, cur_src_ptr.ty),
1879
- });
1880
- let element_dst = Destination::Memory(Memory {
1881
- opts: dst_opts,
1882
- offset: 0,
1883
- addr: TempLocal::new(cur_dst_ptr.idx, cur_dst_ptr.ty),
1884
- });
1885
- self.translate(src_element_ty, &element_src, dst_element_ty, &element_dst);
1886
-
1887
- // Update the two loop pointers
1888
- if src_size > 0 {
1889
- self.instruction(LocalGet(cur_src_ptr.idx));
1890
- self.ptr_uconst(src_opts, src_size);
1891
- self.ptr_add(src_opts);
1892
- self.instruction(LocalSet(cur_src_ptr.idx));
1893
- }
1894
- if dst_size > 0 {
1895
- self.instruction(LocalGet(cur_dst_ptr.idx));
1896
- self.ptr_uconst(dst_opts, dst_size);
1897
- self.ptr_add(dst_opts);
1898
- self.instruction(LocalSet(cur_dst_ptr.idx));
1899
- }
1900
-
1901
- // Update the remaining count, falling through to break out if it's zero
1902
- // now.
1903
- self.instruction(LocalGet(remaining.idx));
1904
- self.ptr_iconst(src_opts, -1);
1905
- self.ptr_add(src_opts);
1906
- self.instruction(LocalTee(remaining.idx));
1907
- self.ptr_br_if(src_opts, 0);
1908
- self.instruction(End); // end of loop
1909
- self.instruction(End); // end of block
1910
-
1911
- self.free_temp_local(cur_dst_ptr);
1912
- self.free_temp_local(cur_src_ptr);
1913
- self.free_temp_local(remaining);
1914
- }
1915
-
1916
- // Store the ptr/length in the desired destination
1917
- match dst {
1918
- Destination::Stack(s, _) => {
1919
- self.instruction(LocalGet(dst_mem.addr.idx));
1920
- self.stack_set(&s[..1], dst_opts.ptr());
1921
- self.convert_src_len_to_dst(src_len.idx, src_opts.ptr(), dst_opts.ptr());
1922
- self.stack_set(&s[1..], dst_opts.ptr());
1923
- }
1924
- Destination::Memory(mem) => {
1925
- self.instruction(LocalGet(mem.addr.idx));
1926
- self.instruction(LocalGet(dst_mem.addr.idx));
1927
- self.ptr_store(mem);
1928
- self.instruction(LocalGet(mem.addr.idx));
1929
- self.convert_src_len_to_dst(src_len.idx, src_opts.ptr(), dst_opts.ptr());
1930
- self.ptr_store(&mem.bump(dst_opts.ptr_size().into()));
1931
- }
1932
- }
1933
-
1934
- self.free_temp_local(src_len);
1935
- self.free_temp_local(src_mem.addr);
1936
- self.free_temp_local(dst_mem.addr);
1937
- }
1938
-
1939
- fn calculate_list_byte_len(
1940
- &mut self,
1941
- opts: &Options,
1942
- len_local: u32,
1943
- elt_size: u32,
1944
- ) -> TempLocal {
1945
- // Zero-size types are easy to handle here because the byte size of the
1946
- // destination is always zero.
1947
- if elt_size == 0 {
1948
- self.ptr_uconst(opts, 0);
1949
- return self.local_set_new_tmp(opts.ptr());
1950
- }
1951
-
1952
- // For one-byte elements in the destination the check here can be a bit
1953
- // more optimal than the general case below. In these situations if the
1954
- // source pointer type is 32-bit then we're guaranteed to not overflow,
1955
- // so the source length is simply casted to the destination's type.
1956
- //
1957
- // If the source is 64-bit then all that needs to be checked is to
1958
- // ensure that it does not have the upper 32-bits set.
1959
- if elt_size == 1 {
1960
- if let ValType::I64 = opts.ptr() {
1961
- self.instruction(LocalGet(len_local));
1962
- self.instruction(I64Const(32));
1963
- self.instruction(I64ShrU);
1964
- self.instruction(I32WrapI64);
1965
- self.instruction(If(BlockType::Empty));
1966
- self.trap(Trap::ListByteLengthOverflow);
1967
- self.instruction(End);
1968
- }
1969
- self.instruction(LocalGet(len_local));
1970
- return self.local_set_new_tmp(opts.ptr());
1971
- }
1972
-
1973
- // The main check implemented by this function is to verify that
1974
- // `src_len_local` does not exceed the 32-bit range. Byte sizes for
1975
- // lists must always fit in 32-bits to get transferred to 32-bit
1976
- // memories.
1977
- self.instruction(Block(BlockType::Empty));
1978
- self.instruction(Block(BlockType::Empty));
1979
- self.instruction(LocalGet(len_local));
1980
- match opts.ptr() {
1981
- // The source's list length is guaranteed to be less than 32-bits
1982
- // so simply extend it up to a 64-bit type for the multiplication
1983
- // below.
1984
- ValType::I32 => self.instruction(I64ExtendI32U),
1985
-
1986
- // If the source is a 64-bit memory then if the item length doesn't
1987
- // fit in 32-bits the byte length definitely won't, so generate a
1988
- // branch to our overflow trap here if any of the upper 32-bits are set.
1989
- ValType::I64 => {
1990
- self.instruction(I64Const(32));
1991
- self.instruction(I64ShrU);
1992
- self.instruction(I32WrapI64);
1993
- self.instruction(BrIf(0));
1994
- self.instruction(LocalGet(len_local));
1995
- }
1996
-
1997
- _ => unreachable!(),
1998
- }
1999
-
2000
- // Next perform a 64-bit multiplication with the element byte size that
2001
- // is itself guaranteed to fit in 32-bits. The result is then checked
2002
- // to see if we overflowed the 32-bit space. The two input operands to
2003
- // the multiplication are guaranteed to be 32-bits at most which means
2004
- // that this multiplication shouldn't overflow.
2005
- //
2006
- // The result of the multiplication is saved into a local as well to
2007
- // get the result afterwards.
2008
- self.instruction(I64Const(elt_size.into()));
2009
- self.instruction(I64Mul);
2010
- let tmp = self.local_tee_new_tmp(ValType::I64);
2011
- // Branch to success if the upper 32-bits are zero, otherwise
2012
- // fall-through to the trap.
2013
- self.instruction(I64Const(32));
2014
- self.instruction(I64ShrU);
2015
- self.instruction(I64Eqz);
2016
- self.instruction(BrIf(1));
2017
- self.instruction(End);
2018
- self.trap(Trap::ListByteLengthOverflow);
2019
- self.instruction(End);
2020
-
2021
- // If a fresh local was used to store the result of the multiplication
2022
- // then convert it down to 32-bits which should be guaranteed to not
2023
- // lose information at this point.
2024
- if opts.ptr() == ValType::I64 {
2025
- tmp
2026
- } else {
2027
- self.instruction(LocalGet(tmp.idx));
2028
- self.instruction(I32WrapI64);
2029
- self.free_temp_local(tmp);
2030
- self.local_set_new_tmp(ValType::I32)
2031
- }
2032
- }
2033
-
2034
- fn convert_src_len_to_dst(
2035
- &mut self,
2036
- src_len_local: u32,
2037
- src_ptr_ty: ValType,
2038
- dst_ptr_ty: ValType,
2039
- ) {
2040
- self.instruction(LocalGet(src_len_local));
2041
- match (src_ptr_ty, dst_ptr_ty) {
2042
- (ValType::I32, ValType::I64) => self.instruction(I64ExtendI32U),
2043
- (ValType::I64, ValType::I32) => self.instruction(I32WrapI64),
2044
- (src, dst) => assert_eq!(src, dst),
2045
- }
2046
- }
2047
-
2048
- fn translate_record(
2049
- &mut self,
2050
- src_ty: TypeRecordIndex,
2051
- src: &Source<'_>,
2052
- dst_ty: &InterfaceType,
2053
- dst: &Destination,
2054
- ) {
2055
- let src_ty = &self.types[src_ty];
2056
- let dst_ty = match dst_ty {
2057
- InterfaceType::Record(r) => &self.types[*r],
2058
- _ => panic!("expected a record"),
2059
- };
2060
-
2061
- // TODO: subtyping
2062
- assert_eq!(src_ty.fields.len(), dst_ty.fields.len());
2063
-
2064
- // First a map is made of the source fields to where they're coming
2065
- // from (e.g. which offset or which locals). This map is keyed by the
2066
- // fields' names
2067
- let mut src_fields = HashMap::new();
2068
- for (i, src) in src
2069
- .record_field_srcs(self.types, src_ty.fields.iter().map(|f| f.ty))
2070
- .enumerate()
2071
- {
2072
- let field = &src_ty.fields[i];
2073
- src_fields.insert(&field.name, (src, &field.ty));
2074
- }
2075
-
2076
- // .. and next translation is performed in the order of the destination
2077
- // fields in case the destination is the stack to ensure that the stack
2078
- // has the fields all in the right order.
2079
- //
2080
- // Note that the lookup in `src_fields` is an infallible lookup which
2081
- // will panic if the field isn't found.
2082
- //
2083
- // TODO: should that lookup be fallible with subtyping?
2084
- for (i, dst) in dst
2085
- .record_field_dsts(self.types, dst_ty.fields.iter().map(|f| f.ty))
2086
- .enumerate()
2087
- {
2088
- let field = &dst_ty.fields[i];
2089
- let (src, src_ty) = &src_fields[&field.name];
2090
- self.translate(src_ty, src, &field.ty, &dst);
2091
- }
2092
- }
2093
-
2094
- fn translate_flags(
2095
- &mut self,
2096
- src_ty: TypeFlagsIndex,
2097
- src: &Source<'_>,
2098
- dst_ty: &InterfaceType,
2099
- dst: &Destination,
2100
- ) {
2101
- let src_ty = &self.types[src_ty];
2102
- let dst_ty = match dst_ty {
2103
- InterfaceType::Flags(r) => &self.types[*r],
2104
- _ => panic!("expected a record"),
2105
- };
2106
-
2107
- // TODO: subtyping
2108
- //
2109
- // Notably this implementation does not support reordering flags from
2110
- // the source to the destination nor having more flags in the
2111
- // destination. Currently this is a copy from source to destination
2112
- // in-bulk. Otherwise reordering indices would have to have some sort of
2113
- // fancy bit twiddling tricks or something like that.
2114
- assert_eq!(src_ty.names, dst_ty.names);
2115
- let cnt = src_ty.names.len();
2116
- match FlagsSize::from_count(cnt) {
2117
- FlagsSize::Size0 => {}
2118
- FlagsSize::Size1 => {
2119
- let mask = if cnt == 8 { 0xff } else { (1 << cnt) - 1 };
2120
- self.convert_u8_mask(src, dst, mask);
2121
- }
2122
- FlagsSize::Size2 => {
2123
- let mask = if cnt == 16 { 0xffff } else { (1 << cnt) - 1 };
2124
- self.convert_u16_mask(src, dst, mask);
2125
- }
2126
- FlagsSize::Size4Plus(n) => {
2127
- let srcs = src.record_field_srcs(self.types, (0..n).map(|_| InterfaceType::U32));
2128
- let dsts = dst.record_field_dsts(self.types, (0..n).map(|_| InterfaceType::U32));
2129
- let n = usize::from(n);
2130
- for (i, (src, dst)) in srcs.zip(dsts).enumerate() {
2131
- let mask = if i == n - 1 && (cnt % 32 != 0) {
2132
- (1 << (cnt % 32)) - 1
2133
- } else {
2134
- 0xffffffff
2135
- };
2136
- self.convert_u32_mask(&src, &dst, mask);
2137
- }
2138
- }
2139
- }
2140
- }
2141
-
2142
- fn translate_tuple(
2143
- &mut self,
2144
- src_ty: TypeTupleIndex,
2145
- src: &Source<'_>,
2146
- dst_ty: &InterfaceType,
2147
- dst: &Destination,
2148
- ) {
2149
- let src_ty = &self.types[src_ty];
2150
- let dst_ty = match dst_ty {
2151
- InterfaceType::Tuple(t) => &self.types[*t],
2152
- _ => panic!("expected a tuple"),
2153
- };
2154
-
2155
- // TODO: subtyping
2156
- assert_eq!(src_ty.types.len(), dst_ty.types.len());
2157
-
2158
- let srcs = src
2159
- .record_field_srcs(self.types, src_ty.types.iter().copied())
2160
- .zip(src_ty.types.iter());
2161
- let dsts = dst
2162
- .record_field_dsts(self.types, dst_ty.types.iter().copied())
2163
- .zip(dst_ty.types.iter());
2164
- for ((src, src_ty), (dst, dst_ty)) in srcs.zip(dsts) {
2165
- self.translate(src_ty, &src, dst_ty, &dst);
2166
- }
2167
- }
2168
-
2169
- fn translate_variant(
2170
- &mut self,
2171
- src_ty: TypeVariantIndex,
2172
- src: &Source<'_>,
2173
- dst_ty: &InterfaceType,
2174
- dst: &Destination,
2175
- ) {
2176
- let src_ty = &self.types[src_ty];
2177
- let dst_ty = match dst_ty {
2178
- InterfaceType::Variant(t) => &self.types[*t],
2179
- _ => panic!("expected a variant"),
2180
- };
2181
-
2182
- let src_info = variant_info(self.types, src_ty.cases.iter().map(|(_, c)| c.as_ref()));
2183
- let dst_info = variant_info(self.types, dst_ty.cases.iter().map(|(_, c)| c.as_ref()));
2184
-
2185
- let iter = src_ty
2186
- .cases
2187
- .iter()
2188
- .enumerate()
2189
- .map(|(src_i, (src_case, src_case_ty))| {
2190
- let dst_i = dst_ty
2191
- .cases
2192
- .iter()
2193
- .position(|(c, _)| c == src_case)
2194
- .unwrap();
2195
- let dst_case_ty = &dst_ty.cases[dst_i];
2196
- let src_i = u32::try_from(src_i).unwrap();
2197
- let dst_i = u32::try_from(dst_i).unwrap();
2198
- VariantCase {
2199
- src_i,
2200
- src_ty: src_case_ty.as_ref(),
2201
- dst_i,
2202
- dst_ty: dst_case_ty.as_ref(),
2203
- }
2204
- });
2205
- self.convert_variant(src, &src_info, dst, &dst_info, iter);
2206
- }
2207
-
2208
- fn translate_enum(
2209
- &mut self,
2210
- src_ty: TypeEnumIndex,
2211
- src: &Source<'_>,
2212
- dst_ty: &InterfaceType,
2213
- dst: &Destination,
2214
- ) {
2215
- let src_ty = &self.types[src_ty];
2216
- let dst_ty = match dst_ty {
2217
- InterfaceType::Enum(t) => &self.types[*t],
2218
- _ => panic!("expected an option"),
2219
- };
2220
- let src_info = variant_info(self.types, src_ty.names.iter().map(|_| None));
2221
- let dst_info = variant_info(self.types, dst_ty.names.iter().map(|_| None));
2222
-
2223
- self.convert_variant(
2224
- src,
2225
- &src_info,
2226
- dst,
2227
- &dst_info,
2228
- src_ty.names.iter().enumerate().map(|(src_i, src_name)| {
2229
- let dst_i = dst_ty.names.iter().position(|n| n == src_name).unwrap();
2230
- let src_i = u32::try_from(src_i).unwrap();
2231
- let dst_i = u32::try_from(dst_i).unwrap();
2232
- VariantCase {
2233
- src_i,
2234
- dst_i,
2235
- src_ty: None,
2236
- dst_ty: None,
2237
- }
2238
- }),
2239
- );
2240
- }
2241
-
2242
- fn translate_option(
2243
- &mut self,
2244
- src_ty: TypeOptionIndex,
2245
- src: &Source<'_>,
2246
- dst_ty: &InterfaceType,
2247
- dst: &Destination,
2248
- ) {
2249
- let src_ty = &self.types[src_ty].ty;
2250
- let dst_ty = match dst_ty {
2251
- InterfaceType::Option(t) => &self.types[*t].ty,
2252
- _ => panic!("expected an option"),
2253
- };
2254
- let src_ty = Some(src_ty);
2255
- let dst_ty = Some(dst_ty);
2256
-
2257
- let src_info = variant_info(self.types, [None, src_ty]);
2258
- let dst_info = variant_info(self.types, [None, dst_ty]);
2259
-
2260
- self.convert_variant(
2261
- src,
2262
- &src_info,
2263
- dst,
2264
- &dst_info,
2265
- [
2266
- VariantCase {
2267
- src_i: 0,
2268
- dst_i: 0,
2269
- src_ty: None,
2270
- dst_ty: None,
2271
- },
2272
- VariantCase {
2273
- src_i: 1,
2274
- dst_i: 1,
2275
- src_ty,
2276
- dst_ty,
2277
- },
2278
- ]
2279
- .into_iter(),
2280
- );
2281
- }
2282
-
2283
- fn translate_result(
2284
- &mut self,
2285
- src_ty: TypeResultIndex,
2286
- src: &Source<'_>,
2287
- dst_ty: &InterfaceType,
2288
- dst: &Destination,
2289
- ) {
2290
- let src_ty = &self.types[src_ty];
2291
- let dst_ty = match dst_ty {
2292
- InterfaceType::Result(t) => &self.types[*t],
2293
- _ => panic!("expected a result"),
2294
- };
2295
-
2296
- let src_info = variant_info(self.types, [src_ty.ok.as_ref(), src_ty.err.as_ref()]);
2297
- let dst_info = variant_info(self.types, [dst_ty.ok.as_ref(), dst_ty.err.as_ref()]);
2298
-
2299
- self.convert_variant(
2300
- src,
2301
- &src_info,
2302
- dst,
2303
- &dst_info,
2304
- [
2305
- VariantCase {
2306
- src_i: 0,
2307
- dst_i: 0,
2308
- src_ty: src_ty.ok.as_ref(),
2309
- dst_ty: dst_ty.ok.as_ref(),
2310
- },
2311
- VariantCase {
2312
- src_i: 1,
2313
- dst_i: 1,
2314
- src_ty: src_ty.err.as_ref(),
2315
- dst_ty: dst_ty.err.as_ref(),
2316
- },
2317
- ]
2318
- .into_iter(),
2319
- );
2320
- }
2321
-
2322
- fn convert_variant<'a>(
2323
- &mut self,
2324
- src: &Source<'_>,
2325
- src_info: &VariantInfo,
2326
- dst: &Destination,
2327
- dst_info: &VariantInfo,
2328
- src_cases: impl ExactSizeIterator<Item = VariantCase<'a>>,
2329
- ) {
2330
- // The outermost block is special since it has the result type of the
2331
- // translation here. That will depend on the `dst`.
2332
- let outer_block_ty = match dst {
2333
- Destination::Stack(dst_flat, _) => match dst_flat.len() {
2334
- 0 => BlockType::Empty,
2335
- 1 => BlockType::Result(dst_flat[0]),
2336
- _ => {
2337
- let ty = self.module.core_types.function(&[], &dst_flat);
2338
- BlockType::FunctionType(ty)
2339
- }
2340
- },
2341
- Destination::Memory(_) => BlockType::Empty,
2342
- };
2343
- self.instruction(Block(outer_block_ty));
2344
-
2345
- // After the outermost block generate a new block for each of the
2346
- // remaining cases.
2347
- let src_cases_len = src_cases.len();
2348
- for _ in 0..src_cases_len - 1 {
2349
- self.instruction(Block(BlockType::Empty));
2350
- }
2351
-
2352
- // Generate a block for an invalid variant discriminant
2353
- self.instruction(Block(BlockType::Empty));
2354
-
2355
- // And generate one final block that we'll be jumping out of with the
2356
- // `br_table`
2357
- self.instruction(Block(BlockType::Empty));
2358
-
2359
- // Load the discriminant
2360
- match src {
2361
- Source::Stack(s) => self.stack_get(&s.slice(0..1), ValType::I32),
2362
- Source::Memory(mem) => match src_info.size {
2363
- DiscriminantSize::Size1 => self.i32_load8u(mem),
2364
- DiscriminantSize::Size2 => self.i32_load16u(mem),
2365
- DiscriminantSize::Size4 => self.i32_load(mem),
2366
- },
2367
- }
2368
-
2369
- // Generate the `br_table` for the discriminant. Each case has an
2370
- // offset of 1 to skip the trapping block.
2371
- let mut targets = Vec::new();
2372
- for i in 0..src_cases_len {
2373
- targets.push((i + 1) as u32);
2374
- }
2375
- self.instruction(BrTable(targets[..].into(), 0));
2376
- self.instruction(End); // end the `br_table` block
2377
-
2378
- self.trap(Trap::InvalidDiscriminant);
2379
- self.instruction(End); // end the "invalid discriminant" block
2380
-
2381
- // Translate each case individually within its own block. Note that the
2382
- // iteration order here places the first case in the innermost block
2383
- // and the last case in the outermost block. This matches the order
2384
- // of the jump targets in the `br_table` instruction.
2385
- let src_cases_len = u32::try_from(src_cases_len).unwrap();
2386
- for case in src_cases {
2387
- let VariantCase {
2388
- src_i,
2389
- src_ty,
2390
- dst_i,
2391
- dst_ty,
2392
- } = case;
2393
-
2394
- // Translate the discriminant here, noting that `dst_i` may be
2395
- // different than `src_i`.
2396
- self.push_dst_addr(dst);
2397
- self.instruction(I32Const(dst_i as i32));
2398
- match dst {
2399
- Destination::Stack(stack, _) => self.stack_set(&stack[..1], ValType::I32),
2400
- Destination::Memory(mem) => match dst_info.size {
2401
- DiscriminantSize::Size1 => self.i32_store8(mem),
2402
- DiscriminantSize::Size2 => self.i32_store16(mem),
2403
- DiscriminantSize::Size4 => self.i32_store(mem),
2404
- },
2405
- }
2406
-
2407
- let src_payload = src.payload_src(self.types, src_info, src_ty);
2408
- let dst_payload = dst.payload_dst(self.types, dst_info, dst_ty);
2409
-
2410
- // Translate the payload of this case using the various types from
2411
- // the dst/src.
2412
- match (src_ty, dst_ty) {
2413
- (Some(src_ty), Some(dst_ty)) => {
2414
- self.translate(src_ty, &src_payload, dst_ty, &dst_payload);
2415
- }
2416
- (None, None) => {}
2417
- _ => unimplemented!(),
2418
- }
2419
-
2420
- // If the results of this translation were placed on the stack then
2421
- // the stack values may need to be padded with more zeros due to
2422
- // this particular case being possibly smaller than the entire
2423
- // variant. That's handled here by pushing remaining zeros after
2424
- // accounting for the discriminant pushed as well as the results of
2425
- // this individual payload.
2426
- if let Destination::Stack(payload_results, _) = dst_payload {
2427
- if let Destination::Stack(dst_results, _) = dst {
2428
- let remaining = &dst_results[1..][payload_results.len()..];
2429
- for ty in remaining {
2430
- match ty {
2431
- ValType::I32 => self.instruction(I32Const(0)),
2432
- ValType::I64 => self.instruction(I64Const(0)),
2433
- ValType::F32 => self.instruction(F32Const(0.0)),
2434
- ValType::F64 => self.instruction(F64Const(0.0)),
2435
- _ => unreachable!(),
2436
- }
2437
- }
2438
- }
2439
- }
2440
-
2441
- // Branch to the outermost block. Note that this isn't needed for
2442
- // the outermost case since it simply falls through.
2443
- if src_i != src_cases_len - 1 {
2444
- self.instruction(Br(src_cases_len - src_i - 1));
2445
- }
2446
- self.instruction(End); // end this case's block
2447
- }
2448
- }
2449
-
2450
- fn translate_own(
2451
- &mut self,
2452
- src_ty: TypeResourceTableIndex,
2453
- src: &Source<'_>,
2454
- dst_ty: &InterfaceType,
2455
- dst: &Destination,
2456
- ) {
2457
- let dst_ty = match dst_ty {
2458
- InterfaceType::Own(t) => *t,
2459
- _ => panic!("expected an `Own`"),
2460
- };
2461
- let transfer = self.module.import_resource_transfer_own();
2462
- self.translate_resource(src_ty, src, dst_ty, dst, transfer);
2463
- }
2464
-
2465
- fn translate_borrow(
2466
- &mut self,
2467
- src_ty: TypeResourceTableIndex,
2468
- src: &Source<'_>,
2469
- dst_ty: &InterfaceType,
2470
- dst: &Destination,
2471
- ) {
2472
- let dst_ty = match dst_ty {
2473
- InterfaceType::Borrow(t) => *t,
2474
- _ => panic!("expected an `Borrow`"),
2475
- };
2476
-
2477
- let transfer = self.module.import_resource_transfer_borrow();
2478
- self.translate_resource(src_ty, src, dst_ty, dst, transfer);
2479
- }
2480
-
2481
- /// Translates the index `src`, which resides in the table `src_ty`, into
2482
- /// and index within `dst_ty` and is stored at `dst`.
2483
- ///
2484
- /// Actual translation of the index happens in a wasmtime libcall, which a
2485
- /// cranelift-generated trampoline to satisfy this import will call. The
2486
- /// `transfer` function is an imported function which takes the src, src_ty,
2487
- /// and dst_ty, and returns the dst index.
2488
- fn translate_resource(
2489
- &mut self,
2490
- src_ty: TypeResourceTableIndex,
2491
- src: &Source<'_>,
2492
- dst_ty: TypeResourceTableIndex,
2493
- dst: &Destination,
2494
- transfer: FuncIndex,
2495
- ) {
2496
- self.push_dst_addr(dst);
2497
- match src {
2498
- Source::Memory(mem) => self.i32_load(mem),
2499
- Source::Stack(stack) => self.stack_get(stack, ValType::I32),
2500
- }
2501
- self.instruction(I32Const(src_ty.as_u32() as i32));
2502
- self.instruction(I32Const(dst_ty.as_u32() as i32));
2503
- self.instruction(Call(transfer.as_u32()));
2504
- match dst {
2505
- Destination::Memory(mem) => self.i32_store(mem),
2506
- Destination::Stack(stack, _) => self.stack_set(stack, ValType::I32),
2507
- }
2508
- }
2509
-
2510
- fn trap_if_not_flag(&mut self, flags_global: GlobalIndex, flag_to_test: i32, trap: Trap) {
2511
- self.instruction(GlobalGet(flags_global.as_u32()));
2512
- self.instruction(I32Const(flag_to_test));
2513
- self.instruction(I32And);
2514
- self.instruction(I32Eqz);
2515
- self.instruction(If(BlockType::Empty));
2516
- self.trap(trap);
2517
- self.instruction(End);
2518
- }
2519
-
2520
- fn assert_not_flag(&mut self, flags_global: GlobalIndex, flag_to_test: i32, msg: &'static str) {
2521
- self.instruction(GlobalGet(flags_global.as_u32()));
2522
- self.instruction(I32Const(flag_to_test));
2523
- self.instruction(I32And);
2524
- self.instruction(If(BlockType::Empty));
2525
- self.trap(Trap::AssertFailed(msg));
2526
- self.instruction(End);
2527
- }
2528
-
2529
- fn set_flag(&mut self, flags_global: GlobalIndex, flag_to_set: i32, value: bool) {
2530
- self.instruction(GlobalGet(flags_global.as_u32()));
2531
- if value {
2532
- self.instruction(I32Const(flag_to_set));
2533
- self.instruction(I32Or);
2534
- } else {
2535
- self.instruction(I32Const(!flag_to_set));
2536
- self.instruction(I32And);
2537
- }
2538
- self.instruction(GlobalSet(flags_global.as_u32()));
2539
- }
2540
-
2541
- fn verify_aligned(&mut self, opts: &Options, addr_local: u32, align: u32) {
2542
- // If the alignment is 1 then everything is trivially aligned and the
2543
- // check can be omitted.
2544
- if align == 1 {
2545
- return;
2546
- }
2547
- self.instruction(LocalGet(addr_local));
2548
- assert!(align.is_power_of_two());
2549
- self.ptr_uconst(opts, align - 1);
2550
- self.ptr_and(opts);
2551
- self.ptr_if(opts, BlockType::Empty);
2552
- self.trap(Trap::UnalignedPointer);
2553
- self.instruction(End);
2554
- }
2555
-
2556
- fn assert_aligned(&mut self, ty: &InterfaceType, mem: &Memory) {
2557
- if !self.module.debug {
2558
- return;
2559
- }
2560
- let align = self.types.align(mem.opts, ty);
2561
- if align == 1 {
2562
- return;
2563
- }
2564
- assert!(align.is_power_of_two());
2565
- self.instruction(LocalGet(mem.addr.idx));
2566
- self.ptr_uconst(mem.opts, mem.offset);
2567
- self.ptr_add(mem.opts);
2568
- self.ptr_uconst(mem.opts, align - 1);
2569
- self.ptr_and(mem.opts);
2570
- self.ptr_if(mem.opts, BlockType::Empty);
2571
- self.trap(Trap::AssertFailed("pointer not aligned"));
2572
- self.instruction(End);
2573
- }
2574
-
2575
- fn malloc<'a>(&mut self, opts: &'a Options, size: MallocSize, align: u32) -> Memory<'a> {
2576
- let realloc = opts.realloc.unwrap();
2577
- self.ptr_uconst(opts, 0);
2578
- self.ptr_uconst(opts, 0);
2579
- self.ptr_uconst(opts, align);
2580
- match size {
2581
- MallocSize::Const(size) => self.ptr_uconst(opts, size),
2582
- MallocSize::Local(idx) => self.instruction(LocalGet(idx)),
2583
- }
2584
- self.instruction(Call(realloc.as_u32()));
2585
- let addr = self.local_set_new_tmp(opts.ptr());
2586
- self.memory_operand(opts, addr, align)
2587
- }
2588
-
2589
- fn memory_operand<'a>(&mut self, opts: &'a Options, addr: TempLocal, align: u32) -> Memory<'a> {
2590
- let ret = Memory {
2591
- addr,
2592
- offset: 0,
2593
- opts,
2594
- };
2595
- self.verify_aligned(opts, ret.addr.idx, align);
2596
- ret
2597
- }
2598
-
2599
- /// Generates a new local in this function of the `ty` specified,
2600
- /// initializing it with the top value on the current wasm stack.
2601
- ///
2602
- /// The returned `TempLocal` must be freed after it is finished with
2603
- /// `free_temp_local`.
2604
- fn local_tee_new_tmp(&mut self, ty: ValType) -> TempLocal {
2605
- self.gen_temp_local(ty, LocalTee)
2606
- }
2607
-
2608
- /// Same as `local_tee_new_tmp` but initializes the local with `LocalSet`
2609
- /// instead of `LocalTee`.
2610
- fn local_set_new_tmp(&mut self, ty: ValType) -> TempLocal {
2611
- self.gen_temp_local(ty, LocalSet)
2612
- }
2613
-
2614
- fn gen_temp_local(&mut self, ty: ValType, insn: fn(u32) -> Instruction<'static>) -> TempLocal {
2615
- // First check to see if any locals are available in this function which
2616
- // were previously generated but are no longer in use.
2617
- if let Some(idx) = self.free_locals.get_mut(&ty).and_then(|v| v.pop()) {
2618
- self.instruction(insn(idx));
2619
- return TempLocal {
2620
- ty,
2621
- idx,
2622
- needs_free: true,
2623
- };
2624
- }
2625
-
2626
- // Failing that generate a fresh new local.
2627
- let locals = &mut self.module.funcs[self.result].locals;
2628
- match locals.last_mut() {
2629
- Some((cnt, prev_ty)) if ty == *prev_ty => *cnt += 1,
2630
- _ => locals.push((1, ty)),
2631
- }
2632
- self.nlocals += 1;
2633
- let idx = self.nlocals - 1;
2634
- self.instruction(insn(idx));
2635
- TempLocal {
2636
- ty,
2637
- idx,
2638
- needs_free: true,
2639
- }
2640
- }
2641
-
2642
- /// Used to release a `TempLocal` from a particular lexical scope to allow
2643
- /// its possible reuse in later scopes.
2644
- fn free_temp_local(&mut self, mut local: TempLocal) {
2645
- assert!(local.needs_free);
2646
- self.free_locals
2647
- .entry(local.ty)
2648
- .or_insert(Vec::new())
2649
- .push(local.idx);
2650
- local.needs_free = false;
2651
- }
2652
-
2653
- fn instruction(&mut self, instr: Instruction) {
2654
- instr.encode(&mut self.code);
2655
- }
2656
-
2657
- fn trap(&mut self, trap: Trap) {
2658
- self.traps.push((self.code.len(), trap));
2659
- self.instruction(Unreachable);
2660
- }
2661
-
2662
- /// Flushes out the current `code` instructions (and `traps` if there are
2663
- /// any) into the destination function.
2664
- ///
2665
- /// This is a noop if no instructions have been encoded yet.
2666
- fn flush_code(&mut self) {
2667
- if self.code.is_empty() {
2668
- return;
2669
- }
2670
- self.module.funcs[self.result].body.push(Body::Raw(
2671
- mem::take(&mut self.code),
2672
- mem::take(&mut self.traps),
2673
- ));
2674
- }
2675
-
2676
- fn finish(mut self) {
2677
- // Append the final `end` instruction which all functions require, and
2678
- // then empty out the temporary buffer in `Compiler`.
2679
- self.instruction(End);
2680
- self.flush_code();
2681
-
2682
- // Flag the function as "done" which helps with an assert later on in
2683
- // emission that everything was eventually finished.
2684
- self.module.funcs[self.result].filled_in = true;
2685
- }
2686
-
2687
- /// Fetches the value contained with the local specified by `stack` and
2688
- /// converts it to `dst_ty`.
2689
- ///
2690
- /// This is only intended for use in primitive operations where `stack` is
2691
- /// guaranteed to have only one local. The type of the local on the stack is
2692
- /// then converted to `dst_ty` appropriately. Note that the types may be
2693
- /// different due to the "flattening" of variant types.
2694
- fn stack_get(&mut self, stack: &Stack<'_>, dst_ty: ValType) {
2695
- assert_eq!(stack.locals.len(), 1);
2696
- let (idx, src_ty) = stack.locals[0];
2697
- self.instruction(LocalGet(idx));
2698
- match (src_ty, dst_ty) {
2699
- (ValType::I32, ValType::I32)
2700
- | (ValType::I64, ValType::I64)
2701
- | (ValType::F32, ValType::F32)
2702
- | (ValType::F64, ValType::F64) => {}
2703
-
2704
- (ValType::I32, ValType::F32) => self.instruction(F32ReinterpretI32),
2705
- (ValType::I64, ValType::I32) => {
2706
- self.assert_i64_upper_bits_not_set(idx);
2707
- self.instruction(I32WrapI64);
2708
- }
2709
- (ValType::I64, ValType::F64) => self.instruction(F64ReinterpretI64),
2710
- (ValType::I64, ValType::F32) => {
2711
- self.assert_i64_upper_bits_not_set(idx);
2712
- self.instruction(I32WrapI64);
2713
- self.instruction(F32ReinterpretI32);
2714
- }
2715
-
2716
- // should not be possible given the `join` function for variants
2717
- (ValType::I32, ValType::I64)
2718
- | (ValType::I32, ValType::F64)
2719
- | (ValType::F32, ValType::I32)
2720
- | (ValType::F32, ValType::I64)
2721
- | (ValType::F32, ValType::F64)
2722
- | (ValType::F64, ValType::I32)
2723
- | (ValType::F64, ValType::I64)
2724
- | (ValType::F64, ValType::F32)
2725
-
2726
- // not used in the component model
2727
- | (ValType::Ref(_), _)
2728
- | (_, ValType::Ref(_))
2729
- | (ValType::V128, _)
2730
- | (_, ValType::V128) => {
2731
- panic!("cannot get {dst_ty:?} from {src_ty:?} local");
2732
- }
2733
- }
2734
- }
2735
-
2736
- fn assert_i64_upper_bits_not_set(&mut self, local: u32) {
2737
- if !self.module.debug {
2738
- return;
2739
- }
2740
- self.instruction(LocalGet(local));
2741
- self.instruction(I64Const(32));
2742
- self.instruction(I64ShrU);
2743
- self.instruction(I32WrapI64);
2744
- self.instruction(If(BlockType::Empty));
2745
- self.trap(Trap::AssertFailed("upper bits are unexpectedly set"));
2746
- self.instruction(End);
2747
- }
2748
-
2749
- /// Converts the top value on the WebAssembly stack which has type
2750
- /// `src_ty` to `dst_tys[0]`.
2751
- ///
2752
- /// This is only intended for conversion of primitives where the `dst_tys`
2753
- /// list is known to be of length 1.
2754
- fn stack_set(&mut self, dst_tys: &[ValType], src_ty: ValType) {
2755
- assert_eq!(dst_tys.len(), 1);
2756
- let dst_ty = dst_tys[0];
2757
- match (src_ty, dst_ty) {
2758
- (ValType::I32, ValType::I32)
2759
- | (ValType::I64, ValType::I64)
2760
- | (ValType::F32, ValType::F32)
2761
- | (ValType::F64, ValType::F64) => {}
2762
-
2763
- (ValType::F32, ValType::I32) => self.instruction(I32ReinterpretF32),
2764
- (ValType::I32, ValType::I64) => self.instruction(I64ExtendI32U),
2765
- (ValType::F64, ValType::I64) => self.instruction(I64ReinterpretF64),
2766
- (ValType::F32, ValType::I64) => {
2767
- self.instruction(I32ReinterpretF32);
2768
- self.instruction(I64ExtendI32U);
2769
- }
2770
-
2771
- // should not be possible given the `join` function for variants
2772
- (ValType::I64, ValType::I32)
2773
- | (ValType::F64, ValType::I32)
2774
- | (ValType::I32, ValType::F32)
2775
- | (ValType::I64, ValType::F32)
2776
- | (ValType::F64, ValType::F32)
2777
- | (ValType::I32, ValType::F64)
2778
- | (ValType::I64, ValType::F64)
2779
- | (ValType::F32, ValType::F64)
2780
-
2781
- // not used in the component model
2782
- | (ValType::Ref(_), _)
2783
- | (_, ValType::Ref(_))
2784
- | (ValType::V128, _)
2785
- | (_, ValType::V128) => {
2786
- panic!("cannot get {dst_ty:?} from {src_ty:?} local");
2787
- }
2788
- }
2789
- }
2790
-
2791
- fn i32_load8u(&mut self, mem: &Memory) {
2792
- self.instruction(LocalGet(mem.addr.idx));
2793
- self.instruction(I32Load8U(mem.memarg(0)));
2794
- }
2795
-
2796
- fn i32_load8s(&mut self, mem: &Memory) {
2797
- self.instruction(LocalGet(mem.addr.idx));
2798
- self.instruction(I32Load8S(mem.memarg(0)));
2799
- }
2800
-
2801
- fn i32_load16u(&mut self, mem: &Memory) {
2802
- self.instruction(LocalGet(mem.addr.idx));
2803
- self.instruction(I32Load16U(mem.memarg(1)));
2804
- }
2805
-
2806
- fn i32_load16s(&mut self, mem: &Memory) {
2807
- self.instruction(LocalGet(mem.addr.idx));
2808
- self.instruction(I32Load16S(mem.memarg(1)));
2809
- }
2810
-
2811
- fn i32_load(&mut self, mem: &Memory) {
2812
- self.instruction(LocalGet(mem.addr.idx));
2813
- self.instruction(I32Load(mem.memarg(2)));
2814
- }
2815
-
2816
- fn i64_load(&mut self, mem: &Memory) {
2817
- self.instruction(LocalGet(mem.addr.idx));
2818
- self.instruction(I64Load(mem.memarg(3)));
2819
- }
2820
-
2821
- fn ptr_load(&mut self, mem: &Memory) {
2822
- if mem.opts.memory64 {
2823
- self.i64_load(mem);
2824
- } else {
2825
- self.i32_load(mem);
2826
- }
2827
- }
2828
-
2829
- fn ptr_add(&mut self, opts: &Options) {
2830
- if opts.memory64 {
2831
- self.instruction(I64Add);
2832
- } else {
2833
- self.instruction(I32Add);
2834
- }
2835
- }
2836
-
2837
- fn ptr_sub(&mut self, opts: &Options) {
2838
- if opts.memory64 {
2839
- self.instruction(I64Sub);
2840
- } else {
2841
- self.instruction(I32Sub);
2842
- }
2843
- }
2844
-
2845
- fn ptr_mul(&mut self, opts: &Options) {
2846
- if opts.memory64 {
2847
- self.instruction(I64Mul);
2848
- } else {
2849
- self.instruction(I32Mul);
2850
- }
2851
- }
2852
-
2853
- fn ptr_ge_u(&mut self, opts: &Options) {
2854
- if opts.memory64 {
2855
- self.instruction(I64GeU);
2856
- } else {
2857
- self.instruction(I32GeU);
2858
- }
2859
- }
2860
-
2861
- fn ptr_lt_u(&mut self, opts: &Options) {
2862
- if opts.memory64 {
2863
- self.instruction(I64LtU);
2864
- } else {
2865
- self.instruction(I32LtU);
2866
- }
2867
- }
2868
-
2869
- fn ptr_shl(&mut self, opts: &Options) {
2870
- if opts.memory64 {
2871
- self.instruction(I64Shl);
2872
- } else {
2873
- self.instruction(I32Shl);
2874
- }
2875
- }
2876
-
2877
- fn ptr_eqz(&mut self, opts: &Options) {
2878
- if opts.memory64 {
2879
- self.instruction(I64Eqz);
2880
- } else {
2881
- self.instruction(I32Eqz);
2882
- }
2883
- }
2884
-
2885
- fn ptr_uconst(&mut self, opts: &Options, val: u32) {
2886
- if opts.memory64 {
2887
- self.instruction(I64Const(val.into()));
2888
- } else {
2889
- self.instruction(I32Const(val as i32));
2890
- }
2891
- }
2892
-
2893
- fn ptr_iconst(&mut self, opts: &Options, val: i32) {
2894
- if opts.memory64 {
2895
- self.instruction(I64Const(val.into()));
2896
- } else {
2897
- self.instruction(I32Const(val));
2898
- }
2899
- }
2900
-
2901
- fn ptr_eq(&mut self, opts: &Options) {
2902
- if opts.memory64 {
2903
- self.instruction(I64Eq);
2904
- } else {
2905
- self.instruction(I32Eq);
2906
- }
2907
- }
2908
-
2909
- fn ptr_ne(&mut self, opts: &Options) {
2910
- if opts.memory64 {
2911
- self.instruction(I64Ne);
2912
- } else {
2913
- self.instruction(I32Ne);
2914
- }
2915
- }
2916
-
2917
- fn ptr_and(&mut self, opts: &Options) {
2918
- if opts.memory64 {
2919
- self.instruction(I64And);
2920
- } else {
2921
- self.instruction(I32And);
2922
- }
2923
- }
2924
-
2925
- fn ptr_or(&mut self, opts: &Options) {
2926
- if opts.memory64 {
2927
- self.instruction(I64Or);
2928
- } else {
2929
- self.instruction(I32Or);
2930
- }
2931
- }
2932
-
2933
- fn ptr_xor(&mut self, opts: &Options) {
2934
- if opts.memory64 {
2935
- self.instruction(I64Xor);
2936
- } else {
2937
- self.instruction(I32Xor);
2938
- }
2939
- }
2940
-
2941
- fn ptr_if(&mut self, opts: &Options, ty: BlockType) {
2942
- if opts.memory64 {
2943
- self.instruction(I64Const(0));
2944
- self.instruction(I64Ne);
2945
- }
2946
- self.instruction(If(ty));
2947
- }
2948
-
2949
- fn ptr_br_if(&mut self, opts: &Options, depth: u32) {
2950
- if opts.memory64 {
2951
- self.instruction(I64Const(0));
2952
- self.instruction(I64Ne);
2953
- }
2954
- self.instruction(BrIf(depth));
2955
- }
2956
-
2957
- fn f32_load(&mut self, mem: &Memory) {
2958
- self.instruction(LocalGet(mem.addr.idx));
2959
- self.instruction(F32Load(mem.memarg(2)));
2960
- }
2961
-
2962
- fn f64_load(&mut self, mem: &Memory) {
2963
- self.instruction(LocalGet(mem.addr.idx));
2964
- self.instruction(F64Load(mem.memarg(3)));
2965
- }
2966
-
2967
- fn push_dst_addr(&mut self, dst: &Destination) {
2968
- if let Destination::Memory(mem) = dst {
2969
- self.instruction(LocalGet(mem.addr.idx));
2970
- }
2971
- }
2972
-
2973
- fn i32_store8(&mut self, mem: &Memory) {
2974
- self.instruction(I32Store8(mem.memarg(0)));
2975
- }
2976
-
2977
- fn i32_store16(&mut self, mem: &Memory) {
2978
- self.instruction(I32Store16(mem.memarg(1)));
2979
- }
2980
-
2981
- fn i32_store(&mut self, mem: &Memory) {
2982
- self.instruction(I32Store(mem.memarg(2)));
2983
- }
2984
-
2985
- fn i64_store(&mut self, mem: &Memory) {
2986
- self.instruction(I64Store(mem.memarg(3)));
2987
- }
2988
-
2989
- fn ptr_store(&mut self, mem: &Memory) {
2990
- if mem.opts.memory64 {
2991
- self.i64_store(mem);
2992
- } else {
2993
- self.i32_store(mem);
2994
- }
2995
- }
2996
-
2997
- fn f32_store(&mut self, mem: &Memory) {
2998
- self.instruction(F32Store(mem.memarg(2)));
2999
- }
3000
-
3001
- fn f64_store(&mut self, mem: &Memory) {
3002
- self.instruction(F64Store(mem.memarg(3)));
3003
- }
3004
- }
3005
-
3006
- impl<'a> Source<'a> {
3007
- /// Given this `Source` returns an iterator over the `Source` for each of
3008
- /// the component `fields` specified.
3009
- ///
3010
- /// This will automatically slice stack-based locals to the appropriate
3011
- /// width for each component type and additionally calculate the appropriate
3012
- /// offset for each memory-based type.
3013
- fn record_field_srcs<'b>(
3014
- &'b self,
3015
- types: &'b ComponentTypesBuilder,
3016
- fields: impl IntoIterator<Item = InterfaceType> + 'b,
3017
- ) -> impl Iterator<Item = Source<'a>> + 'b
3018
- where
3019
- 'a: 'b,
3020
- {
3021
- let mut offset = 0;
3022
- fields.into_iter().map(move |ty| match self {
3023
- Source::Memory(mem) => {
3024
- let mem = next_field_offset(&mut offset, types, &ty, mem);
3025
- Source::Memory(mem)
3026
- }
3027
- Source::Stack(stack) => {
3028
- let cnt = types.flat_types(&ty).unwrap().len() as u32;
3029
- offset += cnt;
3030
- Source::Stack(stack.slice((offset - cnt) as usize..offset as usize))
3031
- }
3032
- })
3033
- }
3034
-
3035
- /// Returns the corresponding discriminant source and payload source f
3036
- fn payload_src(
3037
- &self,
3038
- types: &ComponentTypesBuilder,
3039
- info: &VariantInfo,
3040
- case: Option<&InterfaceType>,
3041
- ) -> Source<'a> {
3042
- match self {
3043
- Source::Stack(s) => {
3044
- let flat_len = match case {
3045
- Some(case) => types.flat_types(case).unwrap().len(),
3046
- None => 0,
3047
- };
3048
- Source::Stack(s.slice(1..s.locals.len()).slice(0..flat_len))
3049
- }
3050
- Source::Memory(mem) => {
3051
- let mem = if mem.opts.memory64 {
3052
- mem.bump(info.payload_offset64)
3053
- } else {
3054
- mem.bump(info.payload_offset32)
3055
- };
3056
- Source::Memory(mem)
3057
- }
3058
- }
3059
- }
3060
-
3061
- fn opts(&self) -> &'a Options {
3062
- match self {
3063
- Source::Stack(s) => s.opts,
3064
- Source::Memory(mem) => mem.opts,
3065
- }
3066
- }
3067
- }
3068
-
3069
- impl<'a> Destination<'a> {
3070
- /// Same as `Source::record_field_srcs` but for destinations.
3071
- fn record_field_dsts<'b>(
3072
- &'b self,
3073
- types: &'b ComponentTypesBuilder,
3074
- fields: impl IntoIterator<Item = InterfaceType> + 'b,
3075
- ) -> impl Iterator<Item = Destination> + 'b
3076
- where
3077
- 'a: 'b,
3078
- {
3079
- let mut offset = 0;
3080
- fields.into_iter().map(move |ty| match self {
3081
- Destination::Memory(mem) => {
3082
- let mem = next_field_offset(&mut offset, types, &ty, mem);
3083
- Destination::Memory(mem)
3084
- }
3085
- Destination::Stack(s, opts) => {
3086
- let cnt = types.flat_types(&ty).unwrap().len() as u32;
3087
- offset += cnt;
3088
- Destination::Stack(&s[(offset - cnt) as usize..offset as usize], opts)
3089
- }
3090
- })
3091
- }
3092
-
3093
- /// Returns the corresponding discriminant source and payload source f
3094
- fn payload_dst(
3095
- &self,
3096
- types: &ComponentTypesBuilder,
3097
- info: &VariantInfo,
3098
- case: Option<&InterfaceType>,
3099
- ) -> Destination {
3100
- match self {
3101
- Destination::Stack(s, opts) => {
3102
- let flat_len = match case {
3103
- Some(case) => types.flat_types(case).unwrap().len(),
3104
- None => 0,
3105
- };
3106
- Destination::Stack(&s[1..][..flat_len], opts)
3107
- }
3108
- Destination::Memory(mem) => {
3109
- let mem = if mem.opts.memory64 {
3110
- mem.bump(info.payload_offset64)
3111
- } else {
3112
- mem.bump(info.payload_offset32)
3113
- };
3114
- Destination::Memory(mem)
3115
- }
3116
- }
3117
- }
3118
-
3119
- fn opts(&self) -> &'a Options {
3120
- match self {
3121
- Destination::Stack(_, opts) => opts,
3122
- Destination::Memory(mem) => mem.opts,
3123
- }
3124
- }
3125
- }
3126
-
3127
- fn next_field_offset<'a>(
3128
- offset: &mut u32,
3129
- types: &ComponentTypesBuilder,
3130
- field: &InterfaceType,
3131
- mem: &Memory<'a>,
3132
- ) -> Memory<'a> {
3133
- let abi = types.canonical_abi(field);
3134
- let offset = if mem.opts.memory64 {
3135
- abi.next_field64(offset)
3136
- } else {
3137
- abi.next_field32(offset)
3138
- };
3139
- mem.bump(offset)
3140
- }
3141
-
3142
- impl<'a> Memory<'a> {
3143
- fn memarg(&self, align: u32) -> MemArg {
3144
- MemArg {
3145
- offset: u64::from(self.offset),
3146
- align,
3147
- memory_index: self.opts.memory.unwrap().as_u32(),
3148
- }
3149
- }
3150
-
3151
- fn bump(&self, offset: u32) -> Memory<'a> {
3152
- Memory {
3153
- opts: self.opts,
3154
- addr: TempLocal::new(self.addr.idx, self.addr.ty),
3155
- offset: self.offset + offset,
3156
- }
3157
- }
3158
- }
3159
-
3160
- impl<'a> Stack<'a> {
3161
- fn slice(&self, range: Range<usize>) -> Stack<'a> {
3162
- Stack {
3163
- locals: &self.locals[range],
3164
- opts: self.opts,
3165
- }
3166
- }
3167
- }
3168
-
3169
- struct VariantCase<'a> {
3170
- src_i: u32,
3171
- src_ty: Option<&'a InterfaceType>,
3172
- dst_i: u32,
3173
- dst_ty: Option<&'a InterfaceType>,
3174
- }
3175
-
3176
- fn variant_info<'a, I>(types: &ComponentTypesBuilder, cases: I) -> VariantInfo
3177
- where
3178
- I: IntoIterator<Item = Option<&'a InterfaceType>>,
3179
- I::IntoIter: ExactSizeIterator,
3180
- {
3181
- VariantInfo::new(
3182
- cases
3183
- .into_iter()
3184
- .map(|ty| ty.map(|ty| types.canonical_abi(ty))),
3185
- )
3186
- .0
3187
- }
3188
-
3189
- enum MallocSize {
3190
- Const(u32),
3191
- Local(u32),
3192
- }
3193
-
3194
- struct WasmString<'a> {
3195
- ptr: TempLocal,
3196
- len: TempLocal,
3197
- opts: &'a Options,
3198
- }
3199
-
3200
- struct TempLocal {
3201
- idx: u32,
3202
- ty: ValType,
3203
- needs_free: bool,
3204
- }
3205
-
3206
- impl TempLocal {
3207
- fn new(idx: u32, ty: ValType) -> TempLocal {
3208
- TempLocal {
3209
- idx,
3210
- ty,
3211
- needs_free: false,
3212
- }
3213
- }
3214
- }
3215
-
3216
- impl std::ops::Drop for TempLocal {
3217
- fn drop(&mut self) {
3218
- if self.needs_free {
3219
- panic!("temporary local not free'd");
3220
- }
3221
- }
3222
- }
3223
-
3224
- impl From<FlatType> for ValType {
3225
- fn from(ty: FlatType) -> ValType {
3226
- match ty {
3227
- FlatType::I32 => ValType::I32,
3228
- FlatType::I64 => ValType::I64,
3229
- FlatType::F32 => ValType::F32,
3230
- FlatType::F64 => ValType::F64,
3231
- }
3232
- }
3233
- }