wasmtime 36.0.0 → 36.0.1

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 (2302) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +88 -86
  3. data/Cargo.toml +1 -1
  4. data/ext/Cargo.toml +3 -3
  5. data/ext/cargo-vendor/addr2line-0.24.2/.cargo-checksum.json +1 -1
  6. data/ext/cargo-vendor/addr2line-0.25.0/.cargo-checksum.json +1 -1
  7. data/ext/cargo-vendor/adler2-2.0.0/.cargo-checksum.json +1 -1
  8. data/ext/cargo-vendor/aho-corasick-1.1.3/.cargo-checksum.json +1 -1
  9. data/ext/cargo-vendor/allocator-api2-0.2.21/.cargo-checksum.json +1 -1
  10. data/ext/cargo-vendor/ambient-authority-0.0.2/.cargo-checksum.json +1 -1
  11. data/ext/cargo-vendor/android_system_properties-0.1.5/.cargo-checksum.json +1 -1
  12. data/ext/cargo-vendor/anyhow-1.0.98/.cargo-checksum.json +1 -1
  13. data/ext/cargo-vendor/arbitrary-1.4.1/.cargo-checksum.json +1 -1
  14. data/ext/cargo-vendor/async-timer-1.0.0-beta.15/.cargo-checksum.json +1 -1
  15. data/ext/cargo-vendor/async-trait-0.1.88/.cargo-checksum.json +1 -1
  16. data/ext/cargo-vendor/backtrace-0.3.75/.cargo-checksum.json +1 -1
  17. data/ext/cargo-vendor/base64-0.22.1/.cargo-checksum.json +1 -1
  18. data/ext/cargo-vendor/bindgen-0.69.5/.cargo-checksum.json +1 -1
  19. data/ext/cargo-vendor/bitflags-2.9.1/.cargo-checksum.json +1 -1
  20. data/ext/cargo-vendor/block-buffer-0.10.4/.cargo-checksum.json +1 -1
  21. data/ext/cargo-vendor/bumpalo-3.17.0/.cargo-checksum.json +1 -1
  22. data/ext/cargo-vendor/byteorder-1.5.0/.cargo-checksum.json +1 -1
  23. data/ext/cargo-vendor/bytes-1.10.1/.cargo-checksum.json +1 -1
  24. data/ext/cargo-vendor/cap-fs-ext-3.4.6/.cargo-checksum.json +1 -0
  25. data/ext/cargo-vendor/cap-fs-ext-3.4.6/.cargo_vcs_info.json +6 -0
  26. data/ext/cargo-vendor/cap-fs-ext-3.4.6/Cargo.lock +794 -0
  27. data/ext/cargo-vendor/cap-fs-ext-3.4.6/Cargo.toml +104 -0
  28. data/ext/cargo-vendor/cap-fs-ext-3.4.6/Cargo.toml.orig +41 -0
  29. data/ext/cargo-vendor/cap-net-ext-3.4.6/.cargo-checksum.json +1 -0
  30. data/ext/cargo-vendor/cap-net-ext-3.4.6/.cargo_vcs_info.json +6 -0
  31. data/ext/cargo-vendor/cap-net-ext-3.4.6/Cargo.lock +249 -0
  32. data/ext/cargo-vendor/cap-net-ext-3.4.6/Cargo.toml +48 -0
  33. data/ext/cargo-vendor/cap-net-ext-3.4.6/Cargo.toml.orig +19 -0
  34. data/ext/cargo-vendor/cap-primitives-3.4.6/.cargo-checksum.json +1 -0
  35. data/ext/cargo-vendor/cap-primitives-3.4.6/.cargo_vcs_info.json +6 -0
  36. data/ext/cargo-vendor/cap-primitives-3.4.6/Cargo.lock +275 -0
  37. data/ext/cargo-vendor/cap-primitives-3.4.6/Cargo.toml +96 -0
  38. data/ext/cargo-vendor/cap-primitives-3.4.6/Cargo.toml.orig +47 -0
  39. data/ext/cargo-vendor/cap-primitives-3.4.6/src/fs/manually/open.rs +562 -0
  40. data/ext/cargo-vendor/cap-primitives-3.4.6/src/fs/via_parent/open_parent.rs +126 -0
  41. data/ext/cargo-vendor/cap-primitives-3.4.6/src/rustix/linux/fs/stat_impl.rs +56 -0
  42. data/ext/cargo-vendor/cap-rand-3.4.6/.cargo-checksum.json +1 -0
  43. data/ext/cargo-vendor/cap-rand-3.4.6/.cargo_vcs_info.json +6 -0
  44. data/ext/cargo-vendor/cap-rand-3.4.6/Cargo.lock +140 -0
  45. data/ext/cargo-vendor/cap-rand-3.4.6/Cargo.toml +48 -0
  46. data/ext/cargo-vendor/cap-rand-3.4.6/Cargo.toml.orig +21 -0
  47. data/ext/cargo-vendor/cap-std-3.4.6/.cargo-checksum.json +1 -0
  48. data/ext/cargo-vendor/cap-std-3.4.6/.cargo_vcs_info.json +6 -0
  49. data/ext/cargo-vendor/cap-std-3.4.6/Cargo.lock +248 -0
  50. data/ext/cargo-vendor/cap-std-3.4.6/Cargo.toml +77 -0
  51. data/ext/cargo-vendor/cap-std-3.4.6/Cargo.toml.orig +32 -0
  52. data/ext/cargo-vendor/cap-std-3.4.6/src/net/tcp_listener.rs +248 -0
  53. data/ext/cargo-vendor/cap-std-3.4.6/src/os/unix/net/unix_listener.rs +156 -0
  54. data/ext/cargo-vendor/cap-time-ext-3.4.6/.cargo-checksum.json +1 -0
  55. data/ext/cargo-vendor/cap-time-ext-3.4.6/.cargo_vcs_info.json +6 -0
  56. data/ext/cargo-vendor/cap-time-ext-3.4.6/Cargo.lock +474 -0
  57. data/ext/cargo-vendor/cap-time-ext-3.4.6/Cargo.toml +58 -0
  58. data/ext/cargo-vendor/cap-time-ext-3.4.6/Cargo.toml.orig +26 -0
  59. data/ext/cargo-vendor/cc-1.2.25/.cargo-checksum.json +1 -1
  60. data/ext/cargo-vendor/cexpr-0.6.0/.cargo-checksum.json +1 -1
  61. data/ext/cargo-vendor/cfg-if-1.0.0/.cargo-checksum.json +1 -1
  62. data/ext/cargo-vendor/clang-sys-1.8.1/.cargo-checksum.json +1 -1
  63. data/ext/cargo-vendor/cobs-0.2.3/.cargo-checksum.json +1 -1
  64. data/ext/cargo-vendor/core-foundation-sys-0.8.7/.cargo-checksum.json +1 -1
  65. data/ext/cargo-vendor/cpp_demangle-0.4.4/.cargo-checksum.json +1 -1
  66. data/ext/cargo-vendor/cpufeatures-0.2.17/.cargo-checksum.json +1 -1
  67. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.19/.cargo-checksum.json +1 -0
  68. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.19/.cargo_vcs_info.json +6 -0
  69. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.19/Cargo.lock +133 -0
  70. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.19/Cargo.toml +97 -0
  71. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.19/Cargo.toml.orig +25 -0
  72. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.19/.cargo-checksum.json +1 -0
  73. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.19/.cargo_vcs_info.json +6 -0
  74. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.19/Cargo.lock +16 -0
  75. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.19/Cargo.toml +72 -0
  76. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.19/Cargo.toml.orig +13 -0
  77. data/ext/cargo-vendor/cranelift-bforest-0.123.19/.cargo-checksum.json +1 -0
  78. data/ext/cargo-vendor/cranelift-bforest-0.123.19/.cargo_vcs_info.json +6 -0
  79. data/ext/cargo-vendor/cranelift-bforest-0.123.19/Cargo.lock +25 -0
  80. data/ext/cargo-vendor/cranelift-bforest-0.123.19/Cargo.toml +78 -0
  81. data/ext/cargo-vendor/cranelift-bforest-0.123.19/Cargo.toml.orig +19 -0
  82. data/ext/cargo-vendor/cranelift-bitset-0.123.19/.cargo-checksum.json +1 -0
  83. data/ext/cargo-vendor/cranelift-bitset-0.123.19/.cargo_vcs_info.json +6 -0
  84. data/ext/cargo-vendor/cranelift-bitset-0.123.19/Cargo.lock +73 -0
  85. data/ext/cargo-vendor/cranelift-bitset-0.123.19/Cargo.toml +93 -0
  86. data/ext/cargo-vendor/cranelift-bitset-0.123.19/Cargo.toml.orig +22 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.123.19/.cargo-checksum.json +1 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.123.19/.cargo_vcs_info.json +6 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.123.19/Cargo.lock +1279 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.123.19/Cargo.toml +251 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.123.19/Cargo.toml.orig +130 -0
  92. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/ir/dfg.rs +1853 -0
  93. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/aarch64/inst/emit.rs +3638 -0
  94. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/aarch64/inst/mod.rs +3059 -0
  95. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/aarch64/inst.isle +5141 -0
  96. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/aarch64/lower/isle.rs +855 -0
  97. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/x64/inst.isle +4085 -0
  98. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/isa/x64/lower.isle +5059 -0
  99. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/lib.rs +123 -0
  100. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/opts/icmp.isle +299 -0
  101. data/ext/cargo-vendor/cranelift-codegen-0.123.19/src/timing.rs +336 -0
  102. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.19/.cargo-checksum.json +1 -0
  103. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.19/.cargo_vcs_info.json +6 -0
  104. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.19/Cargo.lock +110 -0
  105. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.19/Cargo.toml +89 -0
  106. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.19/Cargo.toml.orig +26 -0
  107. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.19/.cargo-checksum.json +1 -0
  108. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.19/.cargo_vcs_info.json +6 -0
  109. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.19/Cargo.lock +7 -0
  110. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.19/Cargo.toml +34 -0
  111. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.19/Cargo.toml.orig +14 -0
  112. data/ext/cargo-vendor/cranelift-control-0.123.19/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/cranelift-control-0.123.19/.cargo_vcs_info.json +6 -0
  114. data/ext/cargo-vendor/cranelift-control-0.123.19/Cargo.lock +16 -0
  115. data/ext/cargo-vendor/cranelift-control-0.123.19/Cargo.toml +45 -0
  116. data/ext/cargo-vendor/cranelift-control-0.123.19/Cargo.toml.orig +25 -0
  117. data/ext/cargo-vendor/cranelift-entity-0.123.19/.cargo-checksum.json +1 -0
  118. data/ext/cargo-vendor/cranelift-entity-0.123.19/.cargo_vcs_info.json +6 -0
  119. data/ext/cargo-vendor/cranelift-entity-0.123.19/Cargo.lock +77 -0
  120. data/ext/cargo-vendor/cranelift-entity-0.123.19/Cargo.toml +94 -0
  121. data/ext/cargo-vendor/cranelift-entity-0.123.19/Cargo.toml.orig +24 -0
  122. data/ext/cargo-vendor/cranelift-frontend-0.123.19/.cargo-checksum.json +1 -0
  123. data/ext/cargo-vendor/cranelift-frontend-0.123.19/.cargo_vcs_info.json +6 -0
  124. data/ext/cargo-vendor/cranelift-frontend-0.123.19/Cargo.lock +531 -0
  125. data/ext/cargo-vendor/cranelift-frontend-0.123.19/Cargo.toml +116 -0
  126. data/ext/cargo-vendor/cranelift-frontend-0.123.19/Cargo.toml.orig +32 -0
  127. data/ext/cargo-vendor/cranelift-isle-0.123.19/.cargo-checksum.json +1 -0
  128. data/ext/cargo-vendor/cranelift-isle-0.123.19/.cargo_vcs_info.json +6 -0
  129. data/ext/cargo-vendor/cranelift-isle-0.123.19/Cargo.lock +249 -0
  130. data/ext/cargo-vendor/cranelift-isle-0.123.19/Cargo.toml +88 -0
  131. data/ext/cargo-vendor/cranelift-isle-0.123.19/Cargo.toml.orig +26 -0
  132. data/ext/cargo-vendor/cranelift-native-0.123.19/.cargo-checksum.json +1 -0
  133. data/ext/cargo-vendor/cranelift-native-0.123.19/.cargo_vcs_info.json +6 -0
  134. data/ext/cargo-vendor/cranelift-native-0.123.19/Cargo.lock +305 -0
  135. data/ext/cargo-vendor/cranelift-native-0.123.19/Cargo.toml +54 -0
  136. data/ext/cargo-vendor/cranelift-native-0.123.19/Cargo.toml.orig +24 -0
  137. data/ext/cargo-vendor/cranelift-srcgen-0.123.19/.cargo-checksum.json +1 -0
  138. data/ext/cargo-vendor/cranelift-srcgen-0.123.19/.cargo_vcs_info.json +6 -0
  139. data/ext/cargo-vendor/cranelift-srcgen-0.123.19/Cargo.lock +7 -0
  140. data/ext/cargo-vendor/cranelift-srcgen-0.123.19/Cargo.toml +69 -0
  141. data/ext/cargo-vendor/cranelift-srcgen-0.123.19/Cargo.toml.orig +14 -0
  142. data/ext/cargo-vendor/crc32fast-1.4.2/.cargo-checksum.json +1 -1
  143. data/ext/cargo-vendor/crossbeam-deque-0.8.6/.cargo-checksum.json +1 -1
  144. data/ext/cargo-vendor/crossbeam-epoch-0.9.18/.cargo-checksum.json +1 -1
  145. data/ext/cargo-vendor/crossbeam-utils-0.8.21/.cargo-checksum.json +1 -1
  146. data/ext/cargo-vendor/crypto-common-0.1.6/.cargo-checksum.json +1 -1
  147. data/ext/cargo-vendor/debugid-0.8.0/.cargo-checksum.json +1 -1
  148. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.1/.cargo-checksum.json +1 -1
  149. data/ext/cargo-vendor/digest-0.10.7/.cargo-checksum.json +1 -1
  150. data/ext/cargo-vendor/directories-next-2.0.0/.cargo-checksum.json +1 -1
  151. data/ext/cargo-vendor/dirs-sys-next-0.1.2/.cargo-checksum.json +1 -1
  152. data/ext/cargo-vendor/displaydoc-0.2.5/.cargo-checksum.json +1 -1
  153. data/ext/cargo-vendor/either-1.15.0/.cargo-checksum.json +1 -1
  154. data/ext/cargo-vendor/embedded-io-0.4.0/.cargo-checksum.json +1 -1
  155. data/ext/cargo-vendor/embedded-io-0.6.1/.cargo-checksum.json +1 -1
  156. data/ext/cargo-vendor/encoding_rs-0.8.35/.cargo-checksum.json +1 -1
  157. data/ext/cargo-vendor/equivalent-1.0.2/.cargo-checksum.json +1 -1
  158. data/ext/cargo-vendor/errno-0.3.12/.cargo-checksum.json +1 -1
  159. data/ext/cargo-vendor/error-code-3.3.2/.cargo-checksum.json +1 -1
  160. data/ext/cargo-vendor/fallible-iterator-0.3.0/.cargo-checksum.json +1 -1
  161. data/ext/cargo-vendor/fd-lock-4.0.4/.cargo-checksum.json +1 -1
  162. data/ext/cargo-vendor/foldhash-0.1.5/.cargo-checksum.json +1 -1
  163. data/ext/cargo-vendor/form_urlencoded-1.2.1/.cargo-checksum.json +1 -1
  164. data/ext/cargo-vendor/fs-set-times-0.20.3/.cargo-checksum.json +1 -1
  165. data/ext/cargo-vendor/futures-0.3.31/.cargo-checksum.json +1 -1
  166. data/ext/cargo-vendor/futures-channel-0.3.31/.cargo-checksum.json +1 -1
  167. data/ext/cargo-vendor/futures-core-0.3.31/.cargo-checksum.json +1 -1
  168. data/ext/cargo-vendor/futures-io-0.3.31/.cargo-checksum.json +1 -1
  169. data/ext/cargo-vendor/futures-sink-0.3.31/.cargo-checksum.json +1 -1
  170. data/ext/cargo-vendor/futures-task-0.3.31/.cargo-checksum.json +1 -1
  171. data/ext/cargo-vendor/futures-util-0.3.31/.cargo-checksum.json +1 -1
  172. data/ext/cargo-vendor/fxhash-0.2.1/.cargo-checksum.json +1 -1
  173. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/.cargo-checksum.json +1 -1
  174. data/ext/cargo-vendor/generic-array-0.14.7/.cargo-checksum.json +1 -1
  175. data/ext/cargo-vendor/getrandom-0.2.16/.cargo-checksum.json +1 -1
  176. data/ext/cargo-vendor/getrandom-0.3.3/.cargo-checksum.json +1 -1
  177. data/ext/cargo-vendor/gimli-0.31.1/.cargo-checksum.json +1 -1
  178. data/ext/cargo-vendor/gimli-0.32.2/.cargo-checksum.json +1 -1
  179. data/ext/cargo-vendor/glob-0.3.2/.cargo-checksum.json +1 -1
  180. data/ext/cargo-vendor/hashbrown-0.15.3/.cargo-checksum.json +1 -1
  181. data/ext/cargo-vendor/heck-0.5.0/.cargo-checksum.json +1 -1
  182. data/ext/cargo-vendor/iana-time-zone-0.1.63/.cargo-checksum.json +1 -1
  183. data/ext/cargo-vendor/iana-time-zone-haiku-0.1.2/.cargo-checksum.json +1 -1
  184. data/ext/cargo-vendor/icu_collections-2.0.0/.cargo-checksum.json +1 -1
  185. data/ext/cargo-vendor/icu_locale_core-2.0.0/.cargo-checksum.json +1 -1
  186. data/ext/cargo-vendor/icu_normalizer-2.0.0/.cargo-checksum.json +1 -1
  187. data/ext/cargo-vendor/icu_normalizer_data-2.0.0/.cargo-checksum.json +1 -1
  188. data/ext/cargo-vendor/icu_properties-2.0.1/.cargo-checksum.json +1 -1
  189. data/ext/cargo-vendor/icu_properties_data-2.0.1/.cargo-checksum.json +1 -1
  190. data/ext/cargo-vendor/icu_provider-2.0.0/.cargo-checksum.json +1 -1
  191. data/ext/cargo-vendor/id-arena-2.2.1/.cargo-checksum.json +1 -1
  192. data/ext/cargo-vendor/idna-1.0.3/.cargo-checksum.json +1 -1
  193. data/ext/cargo-vendor/idna_adapter-1.2.1/.cargo-checksum.json +1 -1
  194. data/ext/cargo-vendor/indexmap-2.9.0/.cargo-checksum.json +1 -1
  195. data/ext/cargo-vendor/io-extras-0.18.4/.cargo-checksum.json +1 -1
  196. data/ext/cargo-vendor/io-lifetimes-2.0.4/.cargo-checksum.json +1 -1
  197. data/ext/cargo-vendor/io-uring-0.7.9/.cargo-checksum.json +1 -1
  198. data/ext/cargo-vendor/ipnet-2.11.0/.cargo-checksum.json +1 -1
  199. data/ext/cargo-vendor/itertools-0.12.1/.cargo-checksum.json +1 -1
  200. data/ext/cargo-vendor/itertools-0.14.0/.cargo-checksum.json +1 -1
  201. data/ext/cargo-vendor/itoa-1.0.15/.cargo-checksum.json +1 -1
  202. data/ext/cargo-vendor/ittapi-0.4.0/.cargo-checksum.json +1 -1
  203. data/ext/cargo-vendor/ittapi-sys-0.4.0/.cargo-checksum.json +1 -1
  204. data/ext/cargo-vendor/jobserver-0.1.33/.cargo-checksum.json +1 -1
  205. data/ext/cargo-vendor/js-sys-0.3.77/.cargo-checksum.json +1 -1
  206. data/ext/cargo-vendor/lazy_static-1.5.0/.cargo-checksum.json +1 -1
  207. data/ext/cargo-vendor/lazycell-1.3.0/.cargo-checksum.json +1 -1
  208. data/ext/cargo-vendor/leb128-0.2.5/.cargo-checksum.json +1 -1
  209. data/ext/cargo-vendor/leb128fmt-0.1.0/.cargo-checksum.json +1 -1
  210. data/ext/cargo-vendor/libc-0.2.172/.cargo-checksum.json +1 -1
  211. data/ext/cargo-vendor/libloading-0.8.8/.cargo-checksum.json +1 -1
  212. data/ext/cargo-vendor/libm-0.2.15/.cargo-checksum.json +1 -1
  213. data/ext/cargo-vendor/libredox-0.1.3/.cargo-checksum.json +1 -1
  214. data/ext/cargo-vendor/linux-raw-sys-0.4.15/.cargo-checksum.json +1 -1
  215. data/ext/cargo-vendor/linux-raw-sys-0.9.4/.cargo-checksum.json +1 -1
  216. data/ext/cargo-vendor/litemap-0.8.0/.cargo-checksum.json +1 -1
  217. data/ext/cargo-vendor/log-0.4.27/.cargo-checksum.json +1 -1
  218. data/ext/cargo-vendor/mach2-0.4.2/.cargo-checksum.json +1 -1
  219. data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +1 -1
  220. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +1 -1
  221. data/ext/cargo-vendor/maybe-owned-0.3.4/.cargo-checksum.json +1 -1
  222. data/ext/cargo-vendor/memchr-2.7.4/.cargo-checksum.json +1 -1
  223. data/ext/cargo-vendor/memfd-0.6.4/.cargo-checksum.json +1 -1
  224. data/ext/cargo-vendor/minimal-lexical-0.2.1/.cargo-checksum.json +1 -1
  225. data/ext/cargo-vendor/miniz_oxide-0.8.8/.cargo-checksum.json +1 -1
  226. data/ext/cargo-vendor/mio-1.0.4/.cargo-checksum.json +1 -1
  227. data/ext/cargo-vendor/nom-7.1.3/.cargo-checksum.json +1 -1
  228. data/ext/cargo-vendor/object-0.36.7/.cargo-checksum.json +1 -1
  229. data/ext/cargo-vendor/object-0.37.3/.cargo-checksum.json +1 -1
  230. data/ext/cargo-vendor/once_cell-1.21.3/.cargo-checksum.json +1 -1
  231. data/ext/cargo-vendor/percent-encoding-2.3.1/.cargo-checksum.json +1 -1
  232. data/ext/cargo-vendor/pin-project-lite-0.2.16/.cargo-checksum.json +1 -1
  233. data/ext/cargo-vendor/pin-utils-0.1.0/.cargo-checksum.json +1 -1
  234. data/ext/cargo-vendor/pkg-config-0.3.32/.cargo-checksum.json +1 -1
  235. data/ext/cargo-vendor/postcard-1.1.1/.cargo-checksum.json +1 -1
  236. data/ext/cargo-vendor/potential_utf-0.1.2/.cargo-checksum.json +1 -1
  237. data/ext/cargo-vendor/ppv-lite86-0.2.21/.cargo-checksum.json +1 -1
  238. data/ext/cargo-vendor/proc-macro2-1.0.95/.cargo-checksum.json +1 -1
  239. data/ext/cargo-vendor/pulley-interpreter-36.0.19/.cargo-checksum.json +1 -0
  240. data/ext/cargo-vendor/pulley-interpreter-36.0.19/.cargo_vcs_info.json +6 -0
  241. data/ext/cargo-vendor/pulley-interpreter-36.0.19/Cargo.lock +426 -0
  242. data/ext/cargo-vendor/pulley-interpreter-36.0.19/Cargo.toml +143 -0
  243. data/ext/cargo-vendor/pulley-interpreter-36.0.19/src/lib.rs +1419 -0
  244. data/ext/cargo-vendor/pulley-macros-36.0.19/.cargo-checksum.json +1 -0
  245. data/ext/cargo-vendor/pulley-macros-36.0.19/.cargo_vcs_info.json +6 -0
  246. data/ext/cargo-vendor/pulley-macros-36.0.19/Cargo.lock +47 -0
  247. data/ext/cargo-vendor/pulley-macros-36.0.19/Cargo.toml +42 -0
  248. data/ext/cargo-vendor/quote-1.0.40/.cargo-checksum.json +1 -1
  249. data/ext/cargo-vendor/r-efi-5.2.0/.cargo-checksum.json +1 -1
  250. data/ext/cargo-vendor/rand-0.8.5/.cargo-checksum.json +1 -1
  251. data/ext/cargo-vendor/rand_chacha-0.3.1/.cargo-checksum.json +1 -1
  252. data/ext/cargo-vendor/rand_core-0.6.4/.cargo-checksum.json +1 -1
  253. data/ext/cargo-vendor/rand_pcg-0.3.1/.cargo-checksum.json +1 -1
  254. data/ext/cargo-vendor/rayon-1.10.0/.cargo-checksum.json +1 -1
  255. data/ext/cargo-vendor/rayon-core-1.12.1/.cargo-checksum.json +1 -1
  256. data/ext/cargo-vendor/rb-sys-0.9.117/.cargo-checksum.json +1 -1
  257. data/ext/cargo-vendor/rb-sys-build-0.9.117/.cargo-checksum.json +1 -1
  258. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +1 -1
  259. data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo-checksum.json +1 -1
  260. data/ext/cargo-vendor/redox_users-0.4.6/.cargo-checksum.json +1 -1
  261. data/ext/cargo-vendor/regalloc2-0.12.2/.cargo-checksum.json +1 -1
  262. data/ext/cargo-vendor/regex-1.11.1/.cargo-checksum.json +1 -1
  263. data/ext/cargo-vendor/regex-automata-0.4.9/.cargo-checksum.json +1 -1
  264. data/ext/cargo-vendor/regex-syntax-0.8.5/.cargo-checksum.json +1 -1
  265. data/ext/cargo-vendor/rustc-demangle-0.1.24/.cargo-checksum.json +1 -1
  266. data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo-checksum.json +1 -1
  267. data/ext/cargo-vendor/rustc-hash-2.1.1/.cargo-checksum.json +1 -1
  268. data/ext/cargo-vendor/rustix-0.38.44/.cargo-checksum.json +1 -1
  269. data/ext/cargo-vendor/rustix-1.0.7/.cargo-checksum.json +1 -1
  270. data/ext/cargo-vendor/rustix-linux-procfs-0.1.1/.cargo-checksum.json +1 -1
  271. data/ext/cargo-vendor/rustversion-1.0.21/.cargo-checksum.json +1 -1
  272. data/ext/cargo-vendor/ryu-1.0.20/.cargo-checksum.json +1 -1
  273. data/ext/cargo-vendor/semver-1.0.26/.cargo-checksum.json +1 -1
  274. data/ext/cargo-vendor/seq-macro-0.3.6/.cargo-checksum.json +1 -1
  275. data/ext/cargo-vendor/serde-1.0.219/.cargo-checksum.json +1 -1
  276. data/ext/cargo-vendor/serde_derive-1.0.219/.cargo-checksum.json +1 -1
  277. data/ext/cargo-vendor/serde_json-1.0.140/.cargo-checksum.json +1 -1
  278. data/ext/cargo-vendor/serde_spanned-0.6.8/.cargo-checksum.json +1 -1
  279. data/ext/cargo-vendor/sha2-0.10.9/.cargo-checksum.json +1 -1
  280. data/ext/cargo-vendor/shell-words-1.1.0/.cargo-checksum.json +1 -1
  281. data/ext/cargo-vendor/shlex-1.3.0/.cargo-checksum.json +1 -1
  282. data/ext/cargo-vendor/slab-0.4.10/.cargo-checksum.json +1 -1
  283. data/ext/cargo-vendor/smallvec-1.15.0/.cargo-checksum.json +1 -1
  284. data/ext/cargo-vendor/socket2-0.6.0/.cargo-checksum.json +1 -1
  285. data/ext/cargo-vendor/stable_deref_trait-1.2.0/.cargo-checksum.json +1 -1
  286. data/ext/cargo-vendor/static_assertions-1.1.0/.cargo-checksum.json +1 -1
  287. data/ext/cargo-vendor/syn-2.0.101/.cargo-checksum.json +1 -1
  288. data/ext/cargo-vendor/synstructure-0.13.2/.cargo-checksum.json +1 -1
  289. data/ext/cargo-vendor/system-interface-0.27.3/.cargo-checksum.json +1 -1
  290. data/ext/cargo-vendor/target-lexicon-0.13.2/.cargo-checksum.json +1 -1
  291. data/ext/cargo-vendor/termcolor-1.4.1/.cargo-checksum.json +1 -1
  292. data/ext/cargo-vendor/thiserror-1.0.69/.cargo-checksum.json +1 -1
  293. data/ext/cargo-vendor/thiserror-2.0.12/.cargo-checksum.json +1 -1
  294. data/ext/cargo-vendor/thiserror-impl-1.0.69/.cargo-checksum.json +1 -1
  295. data/ext/cargo-vendor/thiserror-impl-2.0.12/.cargo-checksum.json +1 -1
  296. data/ext/cargo-vendor/tinystr-0.8.1/.cargo-checksum.json +1 -1
  297. data/ext/cargo-vendor/tokio-1.47.1/.cargo-checksum.json +1 -1
  298. data/ext/cargo-vendor/toml-0.8.22/.cargo-checksum.json +1 -1
  299. data/ext/cargo-vendor/toml_datetime-0.6.9/.cargo-checksum.json +1 -1
  300. data/ext/cargo-vendor/toml_edit-0.22.26/.cargo-checksum.json +1 -1
  301. data/ext/cargo-vendor/toml_write-0.1.1/.cargo-checksum.json +1 -1
  302. data/ext/cargo-vendor/tracing-0.1.41/.cargo-checksum.json +1 -1
  303. data/ext/cargo-vendor/tracing-attributes-0.1.28/.cargo-checksum.json +1 -1
  304. data/ext/cargo-vendor/tracing-core-0.1.33/.cargo-checksum.json +1 -1
  305. data/ext/cargo-vendor/typenum-1.18.0/.cargo-checksum.json +1 -1
  306. data/ext/cargo-vendor/unicode-ident-1.0.18/.cargo-checksum.json +1 -1
  307. data/ext/cargo-vendor/unicode-width-0.2.0/.cargo-checksum.json +1 -1
  308. data/ext/cargo-vendor/unicode-xid-0.2.6/.cargo-checksum.json +1 -1
  309. data/ext/cargo-vendor/url-2.5.4/.cargo-checksum.json +1 -1
  310. data/ext/cargo-vendor/utf8_iter-1.0.4/.cargo-checksum.json +1 -1
  311. data/ext/cargo-vendor/uuid-1.17.0/.cargo-checksum.json +1 -1
  312. data/ext/cargo-vendor/version_check-0.9.5/.cargo-checksum.json +1 -1
  313. data/ext/cargo-vendor/wasi-0.11.0+wasi-snapshot-preview1/.cargo-checksum.json +1 -1
  314. data/ext/cargo-vendor/wasi-0.14.2+wasi-0.2.4/.cargo-checksum.json +1 -1
  315. data/ext/cargo-vendor/wasm-bindgen-0.2.100/.cargo-checksum.json +1 -1
  316. data/ext/cargo-vendor/wasm-bindgen-backend-0.2.100/.cargo-checksum.json +1 -1
  317. data/ext/cargo-vendor/wasm-bindgen-macro-0.2.100/.cargo-checksum.json +1 -1
  318. data/ext/cargo-vendor/wasm-bindgen-macro-support-0.2.100/.cargo-checksum.json +1 -1
  319. data/ext/cargo-vendor/wasm-bindgen-shared-0.2.100/.cargo-checksum.json +1 -1
  320. data/ext/cargo-vendor/wasm-encoder-0.236.0/.cargo-checksum.json +1 -1
  321. data/ext/cargo-vendor/wasmparser-0.236.0/.cargo-checksum.json +1 -1
  322. data/ext/cargo-vendor/wasmprinter-0.236.0/.cargo-checksum.json +1 -1
  323. data/ext/cargo-vendor/wasmtime-36.0.19/.cargo-checksum.json +1 -0
  324. data/ext/cargo-vendor/wasmtime-36.0.19/.cargo_vcs_info.json +6 -0
  325. data/ext/cargo-vendor/wasmtime-36.0.19/Cargo.lock +2171 -0
  326. data/ext/cargo-vendor/wasmtime-36.0.19/Cargo.toml +542 -0
  327. data/ext/cargo-vendor/wasmtime-36.0.19/Cargo.toml.orig +408 -0
  328. data/ext/cargo-vendor/wasmtime-36.0.19/src/lib.rs +436 -0
  329. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/concurrent.rs +4658 -0
  330. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/func/options.rs +660 -0
  331. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/func/typed.rs +2881 -0
  332. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/func.rs +937 -0
  333. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/instance.rs +1051 -0
  334. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/linker.rs +909 -0
  335. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/resource_table.rs +407 -0
  336. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/resources.rs +1182 -0
  337. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/store.rs +308 -0
  338. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/component/values.rs +1171 -0
  339. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/coredump.rs +350 -0
  340. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/externals/global.rs +429 -0
  341. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/externals/table.rs +572 -0
  342. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/externals/tag.rs +117 -0
  343. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/func.rs +2688 -0
  344. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/gc/enabled/arrayref.rs +1071 -0
  345. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/gc/enabled/exnref.rs +793 -0
  346. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/gc/enabled/structref.rs +866 -0
  347. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/instance.rs +1033 -0
  348. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/linker.rs +1575 -0
  349. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/memory.rs +1116 -0
  350. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/module/registry.rs +410 -0
  351. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/store.rs +2563 -0
  352. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/trampoline/table.rs +45 -0
  353. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/trampoline/tag.rs +50 -0
  354. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/component/resources.rs +580 -0
  355. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/component.rs +1011 -0
  356. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/cow.rs +1109 -0
  357. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +1076 -0
  358. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/memory.rs +749 -0
  359. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm/table.rs +1244 -0
  360. data/ext/cargo-vendor/wasmtime-36.0.19/src/runtime/vm.rs +539 -0
  361. data/ext/cargo-vendor/wasmtime-36.0.19/tests/pooling_alloc_near_oom.rs +119 -0
  362. data/ext/cargo-vendor/wasmtime-environ-36.0.19/.cargo-checksum.json +1 -0
  363. data/ext/cargo-vendor/wasmtime-environ-36.0.19/.cargo_vcs_info.json +6 -0
  364. data/ext/cargo-vendor/wasmtime-environ-36.0.19/Cargo.lock +650 -0
  365. data/ext/cargo-vendor/wasmtime-environ-36.0.19/Cargo.toml +233 -0
  366. data/ext/cargo-vendor/wasmtime-environ-36.0.19/src/fact/trampoline.rs +4025 -0
  367. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.19/.cargo-checksum.json +1 -0
  368. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.19/.cargo_vcs_info.json +6 -0
  369. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.19/Cargo.lock +16 -0
  370. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.19/Cargo.toml +35 -0
  371. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.19/.cargo-checksum.json +1 -0
  372. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.19/.cargo_vcs_info.json +6 -0
  373. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.19/Cargo.lock +840 -0
  374. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.19/Cargo.toml +127 -0
  375. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/.cargo-checksum.json +1 -0
  376. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/.cargo_vcs_info.json +6 -0
  377. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/Cargo.lock +285 -0
  378. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/Cargo.toml +145 -0
  379. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/tests/expanded/resources-export_concurrent.rs +798 -0
  380. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/tests/expanded/resources-import_concurrent.rs +1170 -0
  381. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.19/tests/expanded/unstable-features_concurrent.rs +479 -0
  382. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.19/.cargo-checksum.json +1 -0
  383. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.19/.cargo_vcs_info.json +6 -0
  384. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.19/Cargo.lock +7 -0
  385. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.19/Cargo.toml +38 -0
  386. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/.cargo-checksum.json +1 -0
  387. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/.cargo_vcs_info.json +6 -0
  388. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/Cargo.lock +697 -0
  389. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/Cargo.toml +181 -0
  390. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/src/lib.rs +482 -0
  391. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.19/src/translate/code_translator.rs +4152 -0
  392. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.19/.cargo-checksum.json +1 -0
  393. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.19/.cargo_vcs_info.json +6 -0
  394. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.19/Cargo.lock +353 -0
  395. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.19/Cargo.toml +110 -0
  396. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.19/.cargo-checksum.json +1 -0
  397. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.19/.cargo_vcs_info.json +6 -0
  398. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.19/Cargo.lock +203 -0
  399. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.19/Cargo.toml +109 -0
  400. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.19/.cargo-checksum.json +1 -0
  401. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.19/.cargo_vcs_info.json +6 -0
  402. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.19/Cargo.lock +104 -0
  403. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.19/Cargo.toml +90 -0
  404. data/ext/cargo-vendor/wasmtime-internal-math-36.0.19/.cargo-checksum.json +1 -0
  405. data/ext/cargo-vendor/wasmtime-internal-math-36.0.19/.cargo_vcs_info.json +6 -0
  406. data/ext/cargo-vendor/wasmtime-internal-math-36.0.19/Cargo.lock +16 -0
  407. data/ext/cargo-vendor/wasmtime-internal-math-36.0.19/Cargo.toml +77 -0
  408. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.19/.cargo-checksum.json +1 -0
  409. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.19/.cargo_vcs_info.json +6 -0
  410. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.19/Cargo.lock +7 -0
  411. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.19/Cargo.toml +69 -0
  412. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.19/.cargo-checksum.json +1 -0
  413. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.19/.cargo_vcs_info.json +6 -0
  414. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.19/Cargo.lock +328 -0
  415. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.19/Cargo.toml +105 -0
  416. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.19/.cargo-checksum.json +1 -0
  417. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.19/.cargo_vcs_info.json +6 -0
  418. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.19/Cargo.lock +47 -0
  419. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.19/Cargo.toml +43 -0
  420. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.19/.cargo-checksum.json +1 -0
  421. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.19/.cargo_vcs_info.json +6 -0
  422. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.19/Cargo.lock +634 -0
  423. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.19/Cargo.toml +127 -0
  424. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.19/.cargo-checksum.json +1 -0
  425. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.19/.cargo_vcs_info.json +6 -0
  426. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.19/Cargo.lock +193 -0
  427. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.19/Cargo.toml +89 -0
  428. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.19/src/lib.rs +3467 -0
  429. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/.cargo-checksum.json +1 -0
  430. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/.cargo_vcs_info.json +6 -0
  431. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/Cargo.lock +2512 -0
  432. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/Cargo.toml +269 -0
  433. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/Cargo.toml.orig +86 -0
  434. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/cli/file.rs +150 -0
  435. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/cli/stdout.rs +99 -0
  436. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/ctx.rs +570 -0
  437. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/create_dir.rs +14 -0
  438. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/dir_entry.rs +67 -0
  439. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/dir_options.rs +34 -0
  440. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/errors.rs +14 -0
  441. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/file_type.rs +124 -0
  442. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/follow_symlinks.rs +16 -0
  443. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/hard_link.rs +19 -0
  444. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/manually/canonical_path.rs +55 -0
  445. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/manually/cow_component.rs +44 -0
  446. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/manually/mod.rs +13 -0
  447. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/manually/open.rs +510 -0
  448. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/manually/read_link_one.rs +36 -0
  449. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/maybe_owned_file.rs +75 -0
  450. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/metadata.rs +241 -0
  451. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/mod.rs +86 -0
  452. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/open.rs +14 -0
  453. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/open_dir.rs +49 -0
  454. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/open_options.rs +327 -0
  455. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/open_unchecked_error.rs +37 -0
  456. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/read_dir.rs +38 -0
  457. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/read_link.rs +36 -0
  458. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/remove_dir.rs +14 -0
  459. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/remove_file.rs +14 -0
  460. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rename.rs +19 -0
  461. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/check.rs +40 -0
  462. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/mod.rs +13 -0
  463. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/open_impl.rs +29 -0
  464. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/remove_dir_impl.rs +16 -0
  465. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/remove_file_impl.rs +12 -0
  466. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/set_times_impl.rs +46 -0
  467. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/fs/stat_impl.rs +22 -0
  468. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/freebsd/mod.rs +1 -0
  469. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/create_dir_unchecked.rs +19 -0
  470. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/cvt.rs +19 -0
  471. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/dir_entry_inner.rs +41 -0
  472. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/dir_options_ext.rs +14 -0
  473. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/dir_utils.rs +198 -0
  474. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/errors.rs +21 -0
  475. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/file_type_ext.rs +114 -0
  476. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/hard_link_unchecked.rs +24 -0
  477. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/is_same_file.rs +33 -0
  478. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/metadata_ext.rs +181 -0
  479. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/mod.rs +87 -0
  480. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/oflags.rs +101 -0
  481. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/open_options_ext.rs +20 -0
  482. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/open_unchecked.rs +57 -0
  483. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/read_dir_inner.rs +87 -0
  484. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/read_link_unchecked.rs +19 -0
  485. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/remove_dir_unchecked.rs +9 -0
  486. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/remove_file_unchecked.rs +9 -0
  487. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/rename_unchecked.rs +14 -0
  488. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/set_times_impl.rs +52 -0
  489. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/stat_unchecked.rs +79 -0
  490. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/symlink_unchecked.rs +13 -0
  491. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/fs/times.rs +57 -0
  492. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/file_metadata.rs +27 -0
  493. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/mod.rs +21 -0
  494. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/open_impl.rs +126 -0
  495. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/procfs.rs +43 -0
  496. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/set_times_impl.rs +44 -0
  497. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/fs/stat_impl.rs +58 -0
  498. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/linux/mod.rs +6 -0
  499. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/rustix/mod.rs +9 -0
  500. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/set_times.rs +33 -0
  501. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/stat.rs +13 -0
  502. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/symlink.rs +64 -0
  503. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/cap_basics.rs +244 -0
  504. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/file_type_ext.rs +39 -0
  505. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/fs.rs +1239 -0
  506. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/fs_additional.rs +1360 -0
  507. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/helpers/mod.rs +152 -0
  508. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/metadata_ext.rs +90 -0
  509. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/mod.rs +19 -0
  510. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/paths_containing_nul.rs +77 -0
  511. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/readdir.rs +79 -0
  512. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/rename.rs +238 -0
  513. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/rename_directory.rs +33 -0
  514. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/reopendir.rs +72 -0
  515. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/set_times.rs +156 -0
  516. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/symlinks.rs +568 -0
  517. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/sys_common/io.rs +6 -0
  518. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/sys_common/mod.rs +96 -0
  519. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/sys_common/symlink_junction.rs +144 -0
  520. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/windows_open.rs +208 -0
  521. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/tests/windows_symlinks.rs +84 -0
  522. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/create_dir.rs +21 -0
  523. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/hard_link.rs +26 -0
  524. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/mod.rs +31 -0
  525. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/open_parent.rs +126 -0
  526. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/read_link.rs +21 -0
  527. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/remove_dir.rs +14 -0
  528. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/remove_file.rs +14 -0
  529. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/rename.rs +68 -0
  530. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/set_times_nofollow.rs +19 -0
  531. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/via_parent/symlink.rs +48 -0
  532. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/create_dir_unchecked.rs +18 -0
  533. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/create_file_at_w.rs +280 -0
  534. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/dir_entry_inner.rs +31 -0
  535. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/dir_options_ext.rs +8 -0
  536. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/dir_utils.rs +190 -0
  537. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/errors.rs +22 -0
  538. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/file_type_ext.rs +92 -0
  539. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/get_path.rs +31 -0
  540. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/hard_link_unchecked.rs +16 -0
  541. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/metadata_ext.rs +65 -0
  542. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/mod.rs +66 -0
  543. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/oflags.rs +48 -0
  544. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/open_impl.rs +66 -0
  545. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/open_options_ext.rs +111 -0
  546. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/open_unchecked.rs +215 -0
  547. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/read_dir_inner.rs +41 -0
  548. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/read_link_impl.rs +20 -0
  549. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/read_link_unchecked.rs +14 -0
  550. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/remove_dir_unchecked.rs +10 -0
  551. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/remove_file_unchecked.rs +10 -0
  552. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/rename_unchecked.rs +16 -0
  553. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/set_times_impl.rs +52 -0
  554. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/stat_unchecked.rs +36 -0
  555. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/fs/symlink_unchecked.rs +25 -0
  556. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem/primitives/windows/mod.rs +4 -0
  557. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/filesystem.rs +34 -0
  558. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/lib.rs +64 -0
  559. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/filesystem.rs +576 -0
  560. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/host/filesystem.rs +1348 -0
  561. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/host/random.rs +43 -0
  562. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/host/udp.rs +713 -0
  563. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/pipe.rs +890 -0
  564. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/p2/tcp.rs +970 -0
  565. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/preview0.rs +987 -0
  566. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/preview1.rs +2701 -0
  567. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/src/random.rs +109 -0
  568. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/tests/all/p2/async_.rs +514 -0
  569. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/tests/all/p2/mod.rs +126 -0
  570. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/tests/all/p2/preview1.rs +337 -0
  571. data/ext/cargo-vendor/wasmtime-wasi-36.0.19/tests/all/p2/sync.rs +426 -0
  572. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/.cargo-checksum.json +1 -0
  573. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/.cargo_vcs_info.json +6 -0
  574. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/Cargo.lock +1208 -0
  575. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/Cargo.toml +104 -0
  576. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/src/impls.rs +292 -0
  577. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.19/src/streams.rs +294 -0
  578. data/ext/cargo-vendor/wast-236.0.0/.cargo-checksum.json +1 -1
  579. data/ext/cargo-vendor/wast-35.0.2/.cargo-checksum.json +1 -1
  580. data/ext/cargo-vendor/wat-1.236.0/.cargo-checksum.json +1 -1
  581. data/ext/cargo-vendor/web-time-1.1.0/.cargo-checksum.json +1 -1
  582. data/ext/cargo-vendor/wiggle-36.0.19/.cargo-checksum.json +1 -0
  583. data/ext/cargo-vendor/wiggle-36.0.19/.cargo_vcs_info.json +6 -0
  584. data/ext/cargo-vendor/wiggle-36.0.19/Cargo.lock +1168 -0
  585. data/ext/cargo-vendor/wiggle-36.0.19/Cargo.toml +138 -0
  586. data/ext/cargo-vendor/wiggle-generate-36.0.19/.cargo-checksum.json +1 -0
  587. data/ext/cargo-vendor/wiggle-generate-36.0.19/.cargo_vcs_info.json +6 -0
  588. data/ext/cargo-vendor/wiggle-generate-36.0.19/Cargo.lock +115 -0
  589. data/ext/cargo-vendor/wiggle-generate-36.0.19/Cargo.toml +101 -0
  590. data/ext/cargo-vendor/wiggle-generate-36.0.19/src/module_trait.rs +96 -0
  591. data/ext/cargo-vendor/wiggle-generate-36.0.19/src/wasmtime.rs +176 -0
  592. data/ext/cargo-vendor/wiggle-macro-36.0.19/.cargo-checksum.json +1 -0
  593. data/ext/cargo-vendor/wiggle-macro-36.0.19/.cargo_vcs_info.json +6 -0
  594. data/ext/cargo-vendor/wiggle-macro-36.0.19/Cargo.lock +127 -0
  595. data/ext/cargo-vendor/wiggle-macro-36.0.19/Cargo.toml +97 -0
  596. data/ext/cargo-vendor/winapi-0.3.9/.cargo-checksum.json +1 -1
  597. data/ext/cargo-vendor/winapi-i686-pc-windows-gnu-0.4.0/.cargo-checksum.json +1 -1
  598. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +1 -1
  599. data/ext/cargo-vendor/winapi-x86_64-pc-windows-gnu-0.4.0/.cargo-checksum.json +1 -1
  600. data/ext/cargo-vendor/winch-codegen-36.0.19/.cargo-checksum.json +1 -0
  601. data/ext/cargo-vendor/winch-codegen-36.0.19/.cargo_vcs_info.json +6 -0
  602. data/ext/cargo-vendor/winch-codegen-36.0.19/Cargo.lock +606 -0
  603. data/ext/cargo-vendor/winch-codegen-36.0.19/Cargo.toml +132 -0
  604. data/ext/cargo-vendor/winch-codegen-36.0.19/src/codegen/bounds.rs +249 -0
  605. data/ext/cargo-vendor/winch-codegen-36.0.19/src/codegen/env.rs +429 -0
  606. data/ext/cargo-vendor/winch-codegen-36.0.19/src/codegen/error.rs +207 -0
  607. data/ext/cargo-vendor/winch-codegen-36.0.19/src/codegen/mod.rs +1645 -0
  608. data/ext/cargo-vendor/winch-codegen-36.0.19/src/isa/aarch64/asm.rs +1328 -0
  609. data/ext/cargo-vendor/winch-codegen-36.0.19/src/isa/aarch64/masm.rs +1617 -0
  610. data/ext/cargo-vendor/winch-codegen-36.0.19/src/isa/x64/masm.rs +3603 -0
  611. data/ext/cargo-vendor/winch-codegen-36.0.19/src/masm.rs +2339 -0
  612. data/ext/cargo-vendor/winch-codegen-36.0.19/src/visitor.rs +4653 -0
  613. data/ext/cargo-vendor/windows-core-0.61.2/.cargo-checksum.json +1 -1
  614. data/ext/cargo-vendor/windows-implement-0.60.0/.cargo-checksum.json +1 -1
  615. data/ext/cargo-vendor/windows-interface-0.59.1/.cargo-checksum.json +1 -1
  616. data/ext/cargo-vendor/windows-link-0.1.3/.cargo-checksum.json +1 -1
  617. data/ext/cargo-vendor/windows-result-0.3.4/.cargo-checksum.json +1 -1
  618. data/ext/cargo-vendor/windows-strings-0.4.2/.cargo-checksum.json +1 -1
  619. data/ext/cargo-vendor/windows-sys-0.59.0/.cargo-checksum.json +1 -1
  620. data/ext/cargo-vendor/windows-sys-0.60.2/.cargo-checksum.json +1 -1
  621. data/ext/cargo-vendor/windows-targets-0.52.6/.cargo-checksum.json +1 -1
  622. data/ext/cargo-vendor/windows-targets-0.53.3/.cargo-checksum.json +1 -1
  623. data/ext/cargo-vendor/windows_aarch64_gnullvm-0.52.6/.cargo-checksum.json +1 -1
  624. data/ext/cargo-vendor/windows_aarch64_gnullvm-0.53.0/.cargo-checksum.json +1 -1
  625. data/ext/cargo-vendor/windows_aarch64_msvc-0.52.6/.cargo-checksum.json +1 -1
  626. data/ext/cargo-vendor/windows_aarch64_msvc-0.53.0/.cargo-checksum.json +1 -1
  627. data/ext/cargo-vendor/windows_i686_gnu-0.52.6/.cargo-checksum.json +1 -1
  628. data/ext/cargo-vendor/windows_i686_gnu-0.53.0/.cargo-checksum.json +1 -1
  629. data/ext/cargo-vendor/windows_i686_gnullvm-0.52.6/.cargo-checksum.json +1 -1
  630. data/ext/cargo-vendor/windows_i686_gnullvm-0.53.0/.cargo-checksum.json +1 -1
  631. data/ext/cargo-vendor/windows_i686_msvc-0.52.6/.cargo-checksum.json +1 -1
  632. data/ext/cargo-vendor/windows_i686_msvc-0.53.0/.cargo-checksum.json +1 -1
  633. data/ext/cargo-vendor/windows_x86_64_gnu-0.52.6/.cargo-checksum.json +1 -1
  634. data/ext/cargo-vendor/windows_x86_64_gnu-0.53.0/.cargo-checksum.json +1 -1
  635. data/ext/cargo-vendor/windows_x86_64_gnullvm-0.52.6/.cargo-checksum.json +1 -1
  636. data/ext/cargo-vendor/windows_x86_64_gnullvm-0.53.0/.cargo-checksum.json +1 -1
  637. data/ext/cargo-vendor/windows_x86_64_msvc-0.52.6/.cargo-checksum.json +1 -1
  638. data/ext/cargo-vendor/windows_x86_64_msvc-0.53.0/.cargo-checksum.json +1 -1
  639. data/ext/cargo-vendor/winnow-0.7.10/.cargo-checksum.json +1 -1
  640. data/ext/cargo-vendor/winx-0.36.4/.cargo-checksum.json +1 -1
  641. data/ext/cargo-vendor/wit-bindgen-rt-0.39.0/.cargo-checksum.json +1 -1
  642. data/ext/cargo-vendor/wit-parser-0.236.0/.cargo-checksum.json +1 -1
  643. data/ext/cargo-vendor/witx-0.9.1/.cargo-checksum.json +1 -1
  644. data/ext/cargo-vendor/writeable-0.6.1/.cargo-checksum.json +1 -1
  645. data/ext/cargo-vendor/yoke-0.8.0/.cargo-checksum.json +1 -1
  646. data/ext/cargo-vendor/yoke-derive-0.8.0/.cargo-checksum.json +1 -1
  647. data/ext/cargo-vendor/zerocopy-0.8.25/.cargo-checksum.json +1 -1
  648. data/ext/cargo-vendor/zerocopy-derive-0.8.25/.cargo-checksum.json +1 -1
  649. data/ext/cargo-vendor/zerofrom-0.1.6/.cargo-checksum.json +1 -1
  650. data/ext/cargo-vendor/zerofrom-derive-0.1.6/.cargo-checksum.json +1 -1
  651. data/ext/cargo-vendor/zerotrie-0.2.2/.cargo-checksum.json +1 -1
  652. data/ext/cargo-vendor/zerovec-0.11.2/.cargo-checksum.json +1 -1
  653. data/ext/cargo-vendor/zerovec-derive-0.11.1/.cargo-checksum.json +1 -1
  654. data/ext/cargo-vendor/zstd-0.13.3/.cargo-checksum.json +1 -1
  655. data/ext/cargo-vendor/zstd-safe-7.2.4/.cargo-checksum.json +1 -1
  656. data/ext/cargo-vendor/zstd-sys-2.0.15+zstd.1.5.7/.cargo-checksum.json +1 -1
  657. data/ext/src/ruby_api/component/convert.rs +1 -1
  658. data/ext/src/ruby_api/convert.rs +35 -27
  659. data/ext/src/ruby_api/engine.rs +1 -1
  660. data/ext/src/ruby_api/externref.rs +93 -0
  661. data/ext/src/ruby_api/func.rs +35 -20
  662. data/ext/src/ruby_api/global.rs +13 -26
  663. data/ext/src/ruby_api/instance.rs +1 -4
  664. data/ext/src/ruby_api/mod.rs +1 -0
  665. data/ext/src/ruby_api/params.rs +12 -6
  666. data/ext/src/ruby_api/store.rs +20 -7
  667. data/ext/src/ruby_api/table.rs +45 -44
  668. data/lib/wasmtime/version.rb +1 -1
  669. metadata +1748 -1634
  670. data/ext/cargo-vendor/cap-fs-ext-3.4.4/.cargo-checksum.json +0 -1
  671. data/ext/cargo-vendor/cap-fs-ext-3.4.4/.cargo_vcs_info.json +0 -6
  672. data/ext/cargo-vendor/cap-fs-ext-3.4.4/Cargo.lock +0 -802
  673. data/ext/cargo-vendor/cap-fs-ext-3.4.4/Cargo.toml +0 -104
  674. data/ext/cargo-vendor/cap-fs-ext-3.4.4/Cargo.toml.orig +0 -41
  675. data/ext/cargo-vendor/cap-net-ext-3.4.4/.cargo-checksum.json +0 -1
  676. data/ext/cargo-vendor/cap-net-ext-3.4.4/.cargo_vcs_info.json +0 -6
  677. data/ext/cargo-vendor/cap-net-ext-3.4.4/Cargo.lock +0 -234
  678. data/ext/cargo-vendor/cap-net-ext-3.4.4/Cargo.toml +0 -48
  679. data/ext/cargo-vendor/cap-net-ext-3.4.4/Cargo.toml.orig +0 -19
  680. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo-checksum.json +0 -1
  681. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo_vcs_info.json +0 -6
  682. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.lock +0 -260
  683. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml +0 -96
  684. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml.orig +0 -47
  685. data/ext/cargo-vendor/cap-primitives-3.4.4/src/fs/manually/open.rs +0 -573
  686. data/ext/cargo-vendor/cap-primitives-3.4.4/src/fs/via_parent/open_parent.rs +0 -126
  687. data/ext/cargo-vendor/cap-primitives-3.4.4/src/rustix/linux/fs/stat_impl.rs +0 -55
  688. data/ext/cargo-vendor/cap-rand-3.4.4/.cargo-checksum.json +0 -1
  689. data/ext/cargo-vendor/cap-rand-3.4.4/.cargo_vcs_info.json +0 -6
  690. data/ext/cargo-vendor/cap-rand-3.4.4/Cargo.lock +0 -140
  691. data/ext/cargo-vendor/cap-rand-3.4.4/Cargo.toml +0 -48
  692. data/ext/cargo-vendor/cap-rand-3.4.4/Cargo.toml.orig +0 -21
  693. data/ext/cargo-vendor/cap-std-3.4.4/.cargo-checksum.json +0 -1
  694. data/ext/cargo-vendor/cap-std-3.4.4/.cargo_vcs_info.json +0 -6
  695. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.lock +0 -233
  696. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml +0 -77
  697. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml.orig +0 -32
  698. data/ext/cargo-vendor/cap-std-3.4.4/src/net/tcp_listener.rs +0 -248
  699. data/ext/cargo-vendor/cap-std-3.4.4/src/os/unix/net/unix_listener.rs +0 -156
  700. data/ext/cargo-vendor/cap-time-ext-3.4.4/.cargo-checksum.json +0 -1
  701. data/ext/cargo-vendor/cap-time-ext-3.4.4/.cargo_vcs_info.json +0 -6
  702. data/ext/cargo-vendor/cap-time-ext-3.4.4/Cargo.lock +0 -471
  703. data/ext/cargo-vendor/cap-time-ext-3.4.4/Cargo.toml +0 -58
  704. data/ext/cargo-vendor/cap-time-ext-3.4.4/Cargo.toml.orig +0 -26
  705. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.2/.cargo-checksum.json +0 -1
  706. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.2/.cargo_vcs_info.json +0 -6
  707. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.2/Cargo.lock +0 -133
  708. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.2/Cargo.toml +0 -97
  709. data/ext/cargo-vendor/cranelift-assembler-x64-0.123.2/Cargo.toml.orig +0 -25
  710. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.2/.cargo-checksum.json +0 -1
  711. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.2/.cargo_vcs_info.json +0 -6
  712. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.2/Cargo.lock +0 -16
  713. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.2/Cargo.toml +0 -72
  714. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.123.2/Cargo.toml.orig +0 -13
  715. data/ext/cargo-vendor/cranelift-bforest-0.123.2/.cargo-checksum.json +0 -1
  716. data/ext/cargo-vendor/cranelift-bforest-0.123.2/.cargo_vcs_info.json +0 -6
  717. data/ext/cargo-vendor/cranelift-bforest-0.123.2/Cargo.lock +0 -25
  718. data/ext/cargo-vendor/cranelift-bforest-0.123.2/Cargo.toml +0 -78
  719. data/ext/cargo-vendor/cranelift-bforest-0.123.2/Cargo.toml.orig +0 -19
  720. data/ext/cargo-vendor/cranelift-bitset-0.123.2/.cargo-checksum.json +0 -1
  721. data/ext/cargo-vendor/cranelift-bitset-0.123.2/.cargo_vcs_info.json +0 -6
  722. data/ext/cargo-vendor/cranelift-bitset-0.123.2/Cargo.lock +0 -73
  723. data/ext/cargo-vendor/cranelift-bitset-0.123.2/Cargo.toml +0 -93
  724. data/ext/cargo-vendor/cranelift-bitset-0.123.2/Cargo.toml.orig +0 -22
  725. data/ext/cargo-vendor/cranelift-codegen-0.123.0/.cargo-checksum.json +0 -1
  726. data/ext/cargo-vendor/cranelift-codegen-0.123.0/.cargo_vcs_info.json +0 -6
  727. data/ext/cargo-vendor/cranelift-codegen-0.123.0/Cargo.lock +0 -1279
  728. data/ext/cargo-vendor/cranelift-codegen-0.123.0/Cargo.toml +0 -251
  729. data/ext/cargo-vendor/cranelift-codegen-0.123.0/Cargo.toml.orig +0 -130
  730. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/ir/dfg.rs +0 -1884
  731. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/aarch64/inst/emit.rs +0 -3634
  732. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/aarch64/inst/mod.rs +0 -3071
  733. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/aarch64/inst.isle +0 -5137
  734. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/aarch64/lower/isle.rs +0 -855
  735. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/x64/inst.isle +0 -4074
  736. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/isa/x64/lower.isle +0 -5055
  737. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/lib.rs +0 -123
  738. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/opts/icmp.isle +0 -292
  739. data/ext/cargo-vendor/cranelift-codegen-0.123.0/src/timing.rs +0 -305
  740. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.0/.cargo-checksum.json +0 -1
  741. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.0/.cargo_vcs_info.json +0 -6
  742. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.0/Cargo.lock +0 -110
  743. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.0/Cargo.toml +0 -89
  744. data/ext/cargo-vendor/cranelift-codegen-meta-0.123.0/Cargo.toml.orig +0 -26
  745. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.2/.cargo-checksum.json +0 -1
  746. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.2/.cargo_vcs_info.json +0 -6
  747. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.2/Cargo.lock +0 -7
  748. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.2/Cargo.toml +0 -34
  749. data/ext/cargo-vendor/cranelift-codegen-shared-0.123.2/Cargo.toml.orig +0 -14
  750. data/ext/cargo-vendor/cranelift-control-0.123.2/.cargo-checksum.json +0 -1
  751. data/ext/cargo-vendor/cranelift-control-0.123.2/.cargo_vcs_info.json +0 -6
  752. data/ext/cargo-vendor/cranelift-control-0.123.2/Cargo.lock +0 -16
  753. data/ext/cargo-vendor/cranelift-control-0.123.2/Cargo.toml +0 -45
  754. data/ext/cargo-vendor/cranelift-control-0.123.2/Cargo.toml.orig +0 -25
  755. data/ext/cargo-vendor/cranelift-entity-0.123.2/.cargo-checksum.json +0 -1
  756. data/ext/cargo-vendor/cranelift-entity-0.123.2/.cargo_vcs_info.json +0 -6
  757. data/ext/cargo-vendor/cranelift-entity-0.123.2/Cargo.lock +0 -77
  758. data/ext/cargo-vendor/cranelift-entity-0.123.2/Cargo.toml +0 -94
  759. data/ext/cargo-vendor/cranelift-entity-0.123.2/Cargo.toml.orig +0 -24
  760. data/ext/cargo-vendor/cranelift-frontend-0.123.0/.cargo-checksum.json +0 -1
  761. data/ext/cargo-vendor/cranelift-frontend-0.123.0/.cargo_vcs_info.json +0 -6
  762. data/ext/cargo-vendor/cranelift-frontend-0.123.0/Cargo.lock +0 -531
  763. data/ext/cargo-vendor/cranelift-frontend-0.123.0/Cargo.toml +0 -116
  764. data/ext/cargo-vendor/cranelift-frontend-0.123.0/Cargo.toml.orig +0 -32
  765. data/ext/cargo-vendor/cranelift-isle-0.123.0/.cargo-checksum.json +0 -1
  766. data/ext/cargo-vendor/cranelift-isle-0.123.0/.cargo_vcs_info.json +0 -6
  767. data/ext/cargo-vendor/cranelift-isle-0.123.0/Cargo.lock +0 -249
  768. data/ext/cargo-vendor/cranelift-isle-0.123.0/Cargo.toml +0 -88
  769. data/ext/cargo-vendor/cranelift-isle-0.123.0/Cargo.toml.orig +0 -26
  770. data/ext/cargo-vendor/cranelift-native-0.123.0/.cargo-checksum.json +0 -1
  771. data/ext/cargo-vendor/cranelift-native-0.123.0/.cargo_vcs_info.json +0 -6
  772. data/ext/cargo-vendor/cranelift-native-0.123.0/Cargo.lock +0 -305
  773. data/ext/cargo-vendor/cranelift-native-0.123.0/Cargo.toml +0 -54
  774. data/ext/cargo-vendor/cranelift-native-0.123.0/Cargo.toml.orig +0 -24
  775. data/ext/cargo-vendor/cranelift-srcgen-0.123.2/.cargo-checksum.json +0 -1
  776. data/ext/cargo-vendor/cranelift-srcgen-0.123.2/.cargo_vcs_info.json +0 -6
  777. data/ext/cargo-vendor/cranelift-srcgen-0.123.2/Cargo.lock +0 -7
  778. data/ext/cargo-vendor/cranelift-srcgen-0.123.2/Cargo.toml +0 -69
  779. data/ext/cargo-vendor/cranelift-srcgen-0.123.2/Cargo.toml.orig +0 -14
  780. data/ext/cargo-vendor/ittapi-sys-0.4.0/c-library/.gitignore +0 -2
  781. data/ext/cargo-vendor/ittapi-sys-0.4.0/c-library/src/ittnotify_refcol/.gitignore +0 -2
  782. data/ext/cargo-vendor/pulley-interpreter-36.0.0/.cargo-checksum.json +0 -1
  783. data/ext/cargo-vendor/pulley-interpreter-36.0.0/.cargo_vcs_info.json +0 -6
  784. data/ext/cargo-vendor/pulley-interpreter-36.0.0/Cargo.lock +0 -426
  785. data/ext/cargo-vendor/pulley-interpreter-36.0.0/Cargo.toml +0 -143
  786. data/ext/cargo-vendor/pulley-interpreter-36.0.0/src/lib.rs +0 -1419
  787. data/ext/cargo-vendor/pulley-macros-36.0.0/.cargo-checksum.json +0 -1
  788. data/ext/cargo-vendor/pulley-macros-36.0.0/.cargo_vcs_info.json +0 -6
  789. data/ext/cargo-vendor/pulley-macros-36.0.0/Cargo.lock +0 -47
  790. data/ext/cargo-vendor/pulley-macros-36.0.0/Cargo.toml +0 -42
  791. data/ext/cargo-vendor/regex-1.11.1/record/old-bench-log/.gitignore +0 -1
  792. data/ext/cargo-vendor/unicode-ident-1.0.18/tests/fst/.gitignore +0 -1
  793. data/ext/cargo-vendor/wasmparser-0.236.0/benches/.gitignore +0 -1
  794. data/ext/cargo-vendor/wasmtime-36.0.0/.cargo-checksum.json +0 -1
  795. data/ext/cargo-vendor/wasmtime-36.0.0/.cargo_vcs_info.json +0 -6
  796. data/ext/cargo-vendor/wasmtime-36.0.0/Cargo.lock +0 -2171
  797. data/ext/cargo-vendor/wasmtime-36.0.0/Cargo.toml +0 -537
  798. data/ext/cargo-vendor/wasmtime-36.0.0/Cargo.toml.orig +0 -404
  799. data/ext/cargo-vendor/wasmtime-36.0.0/src/lib.rs +0 -436
  800. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/concurrent.rs +0 -4657
  801. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/func/options.rs +0 -619
  802. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/func/typed.rs +0 -2881
  803. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/func.rs +0 -936
  804. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/instance.rs +0 -1035
  805. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/linker.rs +0 -902
  806. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/resource_table.rs +0 -353
  807. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/resources.rs +0 -1180
  808. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/store.rs +0 -143
  809. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/component/values.rs +0 -1146
  810. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/coredump.rs +0 -344
  811. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/externals/global.rs +0 -426
  812. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/externals/table.rs +0 -564
  813. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/externals/tag.rs +0 -112
  814. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/func.rs +0 -2684
  815. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/gc/enabled/arrayref.rs +0 -1066
  816. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/gc/enabled/exnref.rs +0 -788
  817. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/gc/enabled/structref.rs +0 -861
  818. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/instance.rs +0 -959
  819. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/linker.rs +0 -1539
  820. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/memory.rs +0 -1113
  821. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/module/registry.rs +0 -358
  822. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/store.rs +0 -2543
  823. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/trampoline/table.rs +0 -43
  824. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/trampoline/tag.rs +0 -41
  825. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/component/resources.rs +0 -512
  826. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/component.rs +0 -1011
  827. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/cow.rs +0 -1167
  828. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -1020
  829. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/memory.rs +0 -772
  830. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm/table.rs +0 -1232
  831. data/ext/cargo-vendor/wasmtime-36.0.0/src/runtime/vm.rs +0 -518
  832. data/ext/cargo-vendor/wasmtime-environ-36.0.0/.cargo-checksum.json +0 -1
  833. data/ext/cargo-vendor/wasmtime-environ-36.0.0/.cargo_vcs_info.json +0 -6
  834. data/ext/cargo-vendor/wasmtime-environ-36.0.0/Cargo.lock +0 -650
  835. data/ext/cargo-vendor/wasmtime-environ-36.0.0/Cargo.toml +0 -233
  836. data/ext/cargo-vendor/wasmtime-environ-36.0.0/src/fact/trampoline.rs +0 -3996
  837. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.0/.cargo-checksum.json +0 -1
  838. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.0/.cargo_vcs_info.json +0 -6
  839. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.0/Cargo.lock +0 -16
  840. data/ext/cargo-vendor/wasmtime-internal-asm-macros-36.0.0/Cargo.toml +0 -35
  841. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.0/.cargo-checksum.json +0 -1
  842. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.0/.cargo_vcs_info.json +0 -6
  843. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.0/Cargo.lock +0 -840
  844. data/ext/cargo-vendor/wasmtime-internal-cache-36.0.0/Cargo.toml +0 -127
  845. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/.cargo-checksum.json +0 -1
  846. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/.cargo_vcs_info.json +0 -6
  847. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/Cargo.lock +0 -285
  848. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/Cargo.toml +0 -145
  849. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/tests/expanded/resources-export_concurrent.rs +0 -798
  850. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/tests/expanded/resources-import_concurrent.rs +0 -1170
  851. data/ext/cargo-vendor/wasmtime-internal-component-macro-36.0.0/tests/expanded/unstable-features_concurrent.rs +0 -479
  852. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.0/.cargo-checksum.json +0 -1
  853. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.0/.cargo_vcs_info.json +0 -6
  854. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.0/Cargo.lock +0 -7
  855. data/ext/cargo-vendor/wasmtime-internal-component-util-36.0.0/Cargo.toml +0 -38
  856. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/.cargo-checksum.json +0 -1
  857. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/.cargo_vcs_info.json +0 -6
  858. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/Cargo.lock +0 -697
  859. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/Cargo.toml +0 -181
  860. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/src/lib.rs +0 -468
  861. data/ext/cargo-vendor/wasmtime-internal-cranelift-36.0.0/src/translate/code_translator.rs +0 -4140
  862. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.0/.cargo-checksum.json +0 -1
  863. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.0/.cargo_vcs_info.json +0 -6
  864. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.0/Cargo.lock +0 -353
  865. data/ext/cargo-vendor/wasmtime-internal-fiber-36.0.0/Cargo.toml +0 -110
  866. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.0/.cargo-checksum.json +0 -1
  867. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.0/.cargo_vcs_info.json +0 -6
  868. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.0/Cargo.lock +0 -203
  869. data/ext/cargo-vendor/wasmtime-internal-jit-debug-36.0.0/Cargo.toml +0 -109
  870. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.0/.cargo-checksum.json +0 -1
  871. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.0/.cargo_vcs_info.json +0 -6
  872. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.0/Cargo.lock +0 -104
  873. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-36.0.0/Cargo.toml +0 -90
  874. data/ext/cargo-vendor/wasmtime-internal-math-36.0.0/.cargo-checksum.json +0 -1
  875. data/ext/cargo-vendor/wasmtime-internal-math-36.0.0/.cargo_vcs_info.json +0 -6
  876. data/ext/cargo-vendor/wasmtime-internal-math-36.0.0/Cargo.lock +0 -16
  877. data/ext/cargo-vendor/wasmtime-internal-math-36.0.0/Cargo.toml +0 -77
  878. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.0/.cargo-checksum.json +0 -1
  879. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.0/.cargo_vcs_info.json +0 -6
  880. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.0/Cargo.lock +0 -7
  881. data/ext/cargo-vendor/wasmtime-internal-slab-36.0.0/Cargo.toml +0 -69
  882. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.0/.cargo-checksum.json +0 -1
  883. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.0/.cargo_vcs_info.json +0 -6
  884. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.0/Cargo.lock +0 -328
  885. data/ext/cargo-vendor/wasmtime-internal-unwinder-36.0.0/Cargo.toml +0 -105
  886. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.0/.cargo-checksum.json +0 -1
  887. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.0/.cargo_vcs_info.json +0 -6
  888. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.0/Cargo.lock +0 -47
  889. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-36.0.0/Cargo.toml +0 -43
  890. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.0/.cargo-checksum.json +0 -1
  891. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.0/.cargo_vcs_info.json +0 -6
  892. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.0/Cargo.lock +0 -634
  893. data/ext/cargo-vendor/wasmtime-internal-winch-36.0.0/Cargo.toml +0 -127
  894. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.0/.cargo-checksum.json +0 -1
  895. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.0/.cargo_vcs_info.json +0 -6
  896. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.0/Cargo.lock +0 -193
  897. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.0/Cargo.toml +0 -89
  898. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-36.0.0/src/lib.rs +0 -3467
  899. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/.cargo-checksum.json +0 -1
  900. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/.cargo_vcs_info.json +0 -6
  901. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/Cargo.lock +0 -2510
  902. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/Cargo.toml +0 -252
  903. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/Cargo.toml.orig +0 -71
  904. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/cli/file.rs +0 -150
  905. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/cli/stdout.rs +0 -99
  906. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/ctx.rs +0 -536
  907. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/filesystem.rs +0 -32
  908. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/lib.rs +0 -46
  909. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/filesystem.rs +0 -573
  910. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/host/filesystem.rs +0 -1057
  911. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/host/random.rs +0 -36
  912. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/host/udp.rs +0 -711
  913. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/pipe.rs +0 -885
  914. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/p2/tcp.rs +0 -970
  915. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/preview0.rs +0 -983
  916. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/preview1.rs +0 -2617
  917. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/src/random.rs +0 -102
  918. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/tests/all/p2/async_.rs +0 -401
  919. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/tests/all/p2/mod.rs +0 -88
  920. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/tests/all/p2/preview1.rs +0 -251
  921. data/ext/cargo-vendor/wasmtime-wasi-36.0.0/tests/all/p2/sync.rs +0 -335
  922. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/.cargo-checksum.json +0 -1
  923. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/.cargo_vcs_info.json +0 -6
  924. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/Cargo.lock +0 -1208
  925. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/Cargo.toml +0 -104
  926. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/src/impls.rs +0 -290
  927. data/ext/cargo-vendor/wasmtime-wasi-io-36.0.0/src/streams.rs +0 -312
  928. data/ext/cargo-vendor/wast-236.0.0/tests/.gitattributes +0 -1
  929. data/ext/cargo-vendor/wast-236.0.0/tests/.gitignore +0 -1
  930. data/ext/cargo-vendor/wiggle-36.0.0/.cargo-checksum.json +0 -1
  931. data/ext/cargo-vendor/wiggle-36.0.0/.cargo_vcs_info.json +0 -6
  932. data/ext/cargo-vendor/wiggle-36.0.0/Cargo.lock +0 -1168
  933. data/ext/cargo-vendor/wiggle-36.0.0/Cargo.toml +0 -138
  934. data/ext/cargo-vendor/wiggle-generate-36.0.0/.cargo-checksum.json +0 -1
  935. data/ext/cargo-vendor/wiggle-generate-36.0.0/.cargo_vcs_info.json +0 -6
  936. data/ext/cargo-vendor/wiggle-generate-36.0.0/Cargo.lock +0 -115
  937. data/ext/cargo-vendor/wiggle-generate-36.0.0/Cargo.toml +0 -101
  938. data/ext/cargo-vendor/wiggle-generate-36.0.0/src/module_trait.rs +0 -89
  939. data/ext/cargo-vendor/wiggle-generate-36.0.0/src/wasmtime.rs +0 -173
  940. data/ext/cargo-vendor/wiggle-macro-36.0.0/.cargo-checksum.json +0 -1
  941. data/ext/cargo-vendor/wiggle-macro-36.0.0/.cargo_vcs_info.json +0 -6
  942. data/ext/cargo-vendor/wiggle-macro-36.0.0/Cargo.lock +0 -127
  943. data/ext/cargo-vendor/wiggle-macro-36.0.0/Cargo.toml +0 -97
  944. data/ext/cargo-vendor/winch-codegen-36.0.0/.cargo-checksum.json +0 -1
  945. data/ext/cargo-vendor/winch-codegen-36.0.0/.cargo_vcs_info.json +0 -6
  946. data/ext/cargo-vendor/winch-codegen-36.0.0/Cargo.lock +0 -606
  947. data/ext/cargo-vendor/winch-codegen-36.0.0/Cargo.toml +0 -132
  948. data/ext/cargo-vendor/winch-codegen-36.0.0/src/codegen/bounds.rs +0 -233
  949. data/ext/cargo-vendor/winch-codegen-36.0.0/src/codegen/env.rs +0 -417
  950. data/ext/cargo-vendor/winch-codegen-36.0.0/src/codegen/error.rs +0 -197
  951. data/ext/cargo-vendor/winch-codegen-36.0.0/src/codegen/mod.rs +0 -1631
  952. data/ext/cargo-vendor/winch-codegen-36.0.0/src/isa/aarch64/asm.rs +0 -1301
  953. data/ext/cargo-vendor/winch-codegen-36.0.0/src/isa/aarch64/masm.rs +0 -1602
  954. data/ext/cargo-vendor/winch-codegen-36.0.0/src/isa/x64/masm.rs +0 -3578
  955. data/ext/cargo-vendor/winch-codegen-36.0.0/src/masm.rs +0 -2326
  956. data/ext/cargo-vendor/winch-codegen-36.0.0/src/visitor.rs +0 -4640
  957. data/ext/cargo-vendor/wit-parser-0.236.0/tests/.gitignore +0 -2
  958. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/COPYRIGHT +0 -0
  959. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/LICENSE-APACHE +0 -0
  960. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  961. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/LICENSE-MIT +0 -0
  962. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/README.md +0 -0
  963. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/build.rs +0 -0
  964. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/dir_entry_ext.rs +0 -0
  965. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/dir_ext.rs +0 -0
  966. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/file_type_ext.rs +0 -0
  967. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/is_file_read_write.rs +0 -0
  968. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/lib.rs +0 -0
  969. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/metadata_ext.rs +0 -0
  970. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/open_options_follow_ext.rs +0 -0
  971. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/open_options_maybe_dir_ext.rs +0 -0
  972. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/open_options_sync_ext.rs +0 -0
  973. /data/ext/cargo-vendor/{cap-fs-ext-3.4.4 → cap-fs-ext-3.4.6}/src/reopen.rs +0 -0
  974. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/COPYRIGHT +0 -0
  975. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/LICENSE-APACHE +0 -0
  976. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  977. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/LICENSE-MIT +0 -0
  978. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/README.md +0 -0
  979. /data/ext/cargo-vendor/{cap-net-ext-3.4.4 → cap-net-ext-3.4.6}/src/lib.rs +0 -0
  980. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/COPYRIGHT +0 -0
  981. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/LICENSE-APACHE +0 -0
  982. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  983. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/LICENSE-MIT +0 -0
  984. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/README.md +0 -0
  985. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/build.rs +0 -0
  986. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/access.rs +0 -0
  987. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/assert_same_file.rs +0 -0
  988. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/canonicalize.rs +0 -0
  989. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/copy.rs +0 -0
  990. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/create_dir.rs +0 -0
  991. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/dir_builder.rs +0 -0
  992. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/dir_entry.rs +0 -0
  993. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/dir_options.rs +0 -0
  994. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/errors.rs +0 -0
  995. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/file.rs +0 -0
  996. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/file_path_by_searching.rs +0 -0
  997. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/file_type.rs +0 -0
  998. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/follow_symlinks.rs +0 -0
  999. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/hard_link.rs +0 -0
  1000. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/is_file_read_write.rs +0 -0
  1001. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/canonical_path.rs +0 -0
  1002. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/canonicalize.rs +0 -0
  1003. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/cow_component.rs +0 -0
  1004. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/mod.rs +0 -0
  1005. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/open_entry.rs +0 -0
  1006. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/manually/read_link_one.rs +0 -0
  1007. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/maybe_owned_file.rs +0 -0
  1008. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/metadata.rs +0 -0
  1009. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/mod.rs +0 -0
  1010. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/open.rs +0 -0
  1011. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/open_ambient.rs +0 -0
  1012. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/open_dir.rs +0 -0
  1013. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/open_options.rs +0 -0
  1014. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/open_unchecked_error.rs +0 -0
  1015. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/permissions.rs +0 -0
  1016. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/read_dir.rs +0 -0
  1017. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/read_link.rs +0 -0
  1018. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/remove_dir.rs +0 -0
  1019. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/remove_dir_all.rs +0 -0
  1020. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/remove_file.rs +0 -0
  1021. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/remove_open_dir.rs +0 -0
  1022. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/rename.rs +0 -0
  1023. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/reopen.rs +0 -0
  1024. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/set_permissions.rs +0 -0
  1025. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/set_times.rs +0 -0
  1026. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/stat.rs +0 -0
  1027. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/symlink.rs +0 -0
  1028. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/system_time_spec.rs +0 -0
  1029. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/access.rs +0 -0
  1030. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/create_dir.rs +0 -0
  1031. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/hard_link.rs +0 -0
  1032. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/mod.rs +0 -0
  1033. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/read_link.rs +0 -0
  1034. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/remove_dir.rs +0 -0
  1035. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/remove_file.rs +0 -0
  1036. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/rename.rs +0 -0
  1037. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/set_permissions.rs +0 -0
  1038. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/set_symlink_permissions.rs +0 -0
  1039. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/set_times_nofollow.rs +0 -0
  1040. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/fs/via_parent/symlink.rs +0 -0
  1041. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/lib.rs +0 -0
  1042. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/net/mod.rs +0 -0
  1043. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/net/pool.rs +0 -0
  1044. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/darwin/fs/file_path.rs +0 -0
  1045. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/darwin/fs/mod.rs +0 -0
  1046. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/darwin/mod.rs +0 -0
  1047. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/check.rs +0 -0
  1048. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/mod.rs +0 -0
  1049. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/open_entry_impl.rs +0 -0
  1050. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/open_impl.rs +0 -0
  1051. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/remove_dir_impl.rs +0 -0
  1052. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/remove_file_impl.rs +0 -0
  1053. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/set_permissions_impl.rs +0 -0
  1054. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/set_times_impl.rs +0 -0
  1055. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/fs/stat_impl.rs +0 -0
  1056. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/freebsd/mod.rs +0 -0
  1057. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/access_unchecked.rs +0 -0
  1058. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/copy_impl.rs +0 -0
  1059. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/create_dir_unchecked.rs +0 -0
  1060. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/cvt.rs +0 -0
  1061. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/dir_entry_inner.rs +0 -0
  1062. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/dir_options_ext.rs +0 -0
  1063. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/dir_utils.rs +0 -0
  1064. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/errors.rs +0 -0
  1065. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/file_path.rs +0 -0
  1066. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/file_type_ext.rs +0 -0
  1067. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/hard_link_unchecked.rs +0 -0
  1068. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/is_file_read_write_impl.rs +0 -0
  1069. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/is_root_dir.rs +0 -0
  1070. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/is_same_file.rs +0 -0
  1071. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/metadata_ext.rs +0 -0
  1072. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/mod.rs +0 -0
  1073. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/oflags.rs +0 -0
  1074. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/open_options_ext.rs +0 -0
  1075. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/open_unchecked.rs +0 -0
  1076. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/permissions_ext.rs +0 -0
  1077. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/read_dir_inner.rs +0 -0
  1078. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/read_link_unchecked.rs +0 -0
  1079. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/remove_dir_all_impl.rs +0 -0
  1080. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/remove_dir_unchecked.rs +0 -0
  1081. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/remove_file_unchecked.rs +0 -0
  1082. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/remove_open_dir_by_searching.rs +0 -0
  1083. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/rename_unchecked.rs +0 -0
  1084. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/reopen_impl.rs +0 -0
  1085. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/set_permissions_impl.rs +0 -0
  1086. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/set_symlink_permissions_unchecked.rs +0 -0
  1087. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/set_times_impl.rs +0 -0
  1088. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/stat_unchecked.rs +0 -0
  1089. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/symlink_unchecked.rs +0 -0
  1090. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/fs/times.rs +0 -0
  1091. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/canonicalize_impl.rs +0 -0
  1092. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/file_metadata.rs +0 -0
  1093. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/file_path.rs +0 -0
  1094. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/mod.rs +0 -0
  1095. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/open_entry_impl.rs +0 -0
  1096. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/open_impl.rs +0 -0
  1097. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/procfs.rs +0 -0
  1098. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/set_permissions_impl.rs +0 -0
  1099. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/fs/set_times_impl.rs +0 -0
  1100. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/linux/mod.rs +0 -0
  1101. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/rustix/mod.rs +0 -0
  1102. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/time/instant.rs +0 -0
  1103. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/time/mod.rs +0 -0
  1104. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/time/monotonic_clock.rs +0 -0
  1105. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/time/system_clock.rs +0 -0
  1106. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/time/system_time.rs +0 -0
  1107. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/access_unchecked.rs +0 -0
  1108. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/copy.rs +0 -0
  1109. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/create_dir_unchecked.rs +0 -0
  1110. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/create_file_at_w.rs +0 -0
  1111. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/dir_entry_inner.rs +0 -0
  1112. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/dir_options_ext.rs +0 -0
  1113. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/dir_utils.rs +0 -0
  1114. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/errors.rs +0 -0
  1115. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/file_type_ext.rs +0 -0
  1116. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/get_path.rs +0 -0
  1117. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/hard_link_unchecked.rs +0 -0
  1118. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/is_file_read_write_impl.rs +0 -0
  1119. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/is_same_file.rs +0 -0
  1120. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/metadata_ext.rs +0 -0
  1121. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/mod.rs +0 -0
  1122. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/oflags.rs +0 -0
  1123. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/open_impl.rs +0 -0
  1124. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/open_options_ext.rs +0 -0
  1125. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/open_unchecked.rs +0 -0
  1126. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/read_dir_inner.rs +0 -0
  1127. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/read_link_impl.rs +0 -0
  1128. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/read_link_unchecked.rs +0 -0
  1129. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/remove_dir_all_impl.rs +0 -0
  1130. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/remove_dir_unchecked.rs +0 -0
  1131. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/remove_file_unchecked.rs +0 -0
  1132. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/remove_open_dir_impl.rs +0 -0
  1133. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/rename_unchecked.rs +0 -0
  1134. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/reopen_impl.rs +0 -0
  1135. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/set_permissions_unchecked.rs +0 -0
  1136. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/set_symlink_permissions_unchecked.rs +0 -0
  1137. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/set_times_impl.rs +0 -0
  1138. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/stat_unchecked.rs +0 -0
  1139. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/fs/symlink_unchecked.rs +0 -0
  1140. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.6}/src/windows/mod.rs +0 -0
  1141. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/COPYRIGHT +0 -0
  1142. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/LICENSE-APACHE +0 -0
  1143. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  1144. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/LICENSE-MIT +0 -0
  1145. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/README.md +0 -0
  1146. /data/ext/cargo-vendor/{cap-rand-3.4.4 → cap-rand-3.4.6}/src/lib.rs +0 -0
  1147. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/COPYRIGHT +0 -0
  1148. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/LICENSE-APACHE +0 -0
  1149. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  1150. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/LICENSE-MIT +0 -0
  1151. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/README.md +0 -0
  1152. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/build.rs +0 -0
  1153. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs/dir.rs +0 -0
  1154. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs/dir_entry.rs +0 -0
  1155. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs/file.rs +0 -0
  1156. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs/mod.rs +0 -0
  1157. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs/read_dir.rs +0 -0
  1158. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs_utf8/dir.rs +0 -0
  1159. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs_utf8/dir_entry.rs +0 -0
  1160. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs_utf8/file.rs +0 -0
  1161. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs_utf8/mod.rs +0 -0
  1162. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/fs_utf8/read_dir.rs +0 -0
  1163. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/lib.rs +0 -0
  1164. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/net/incoming.rs +0 -0
  1165. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/net/mod.rs +0 -0
  1166. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/net/pool.rs +0 -0
  1167. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/net/tcp_stream.rs +0 -0
  1168. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/net/udp_socket.rs +0 -0
  1169. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/mod.rs +0 -0
  1170. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/unix/mod.rs +0 -0
  1171. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/unix/net/incoming.rs +0 -0
  1172. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/unix/net/mod.rs +0 -0
  1173. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/unix/net/unix_datagram.rs +0 -0
  1174. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/os/unix/net/unix_stream.rs +0 -0
  1175. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.6}/src/time/mod.rs +0 -0
  1176. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/COPYRIGHT +0 -0
  1177. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/LICENSE-APACHE +0 -0
  1178. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  1179. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/LICENSE-MIT +0 -0
  1180. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/README.md +0 -0
  1181. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/src/lib.rs +0 -0
  1182. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/src/monotonic_clock.rs +0 -0
  1183. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/src/system_clock.rs +0 -0
  1184. /data/ext/cargo-vendor/{cap-time-ext-3.4.4 → cap-time-ext-3.4.6}/src/timezone.rs +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/README.md +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/build.rs +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/api.rs +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/custom.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/evex.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/fixed.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/fuzz.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/gpr.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/imm.rs +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/inst.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/lib.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/main.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/mem.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/rex.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/vex.rs +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.123.2 → cranelift-assembler-x64-0.123.19}/src/xmm.rs +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/README.md +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/dsl/custom.rs +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/dsl/encoding.rs +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/dsl/features.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/dsl/format.rs +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/dsl.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/generate/features.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/generate/format.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/generate/inst.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/generate/operand.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/generate.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/abs.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/add.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/align.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/and.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/atomic.rs +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/avg.rs +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/bitmanip.rs +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/cmov.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/cmp.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/cvt.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/div.rs +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/fma.rs +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/jmp.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/lanes.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/max.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/min.rs +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/misc.rs +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/mov.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/mul.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/neg.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/nop.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/or.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/pack.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/pma.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/recip.rs +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/round.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/setcc.rs +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/shift.rs +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/sqrt.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/stack.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/sub.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/unpack.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions/xor.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/instructions.rs +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/lib.rs +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.123.2 → cranelift-assembler-x64-meta-0.123.19}/src/main.rs +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/LICENSE +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/README.md +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/lib.rs +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/map.rs +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/node.rs +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/path.rs +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/pool.rs +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-bforest-0.123.2 → cranelift-bforest-0.123.19}/src/set.rs +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-bitset-0.123.2 → cranelift-bitset-0.123.19}/src/compound.rs +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-bitset-0.123.2 → cranelift-bitset-0.123.19}/src/lib.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-bitset-0.123.2 → cranelift-bitset-0.123.19}/src/scalar.rs +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-bitset-0.123.2 → cranelift-bitset-0.123.19}/tests/bitset.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/LICENSE +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/README.md +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/build.rs +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/alias_analysis.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/binemit/mod.rs +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/cfg_printer.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/constant_hash.rs +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/context.rs +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ctxhash.rs +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/cursor.rs +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/data_value.rs +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/dbg.rs +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/dominator_tree/simple.rs +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/dominator_tree.rs +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/egraph/cost.rs +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/egraph/elaborate.rs +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/egraph.rs +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/flowgraph.rs +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/incremental_cache.rs +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/inline.rs +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/inst_predicates.rs +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/inst_specs.isle +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/atomic_rmw_op.rs +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/builder.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/condcodes.rs +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/constant.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/dynamic_type.rs +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/entities.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/exception_table.rs +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/extfunc.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/extname.rs +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/function.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/globalvalue.rs +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/immediates.rs +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/instructions.rs +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/jumptable.rs +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/known_symbol.rs +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/layout.rs +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/libcall.rs +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/memflags.rs +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/memtype.rs +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/mod.rs +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/pcc.rs +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/progpoint.rs +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/sourceloc.rs +0 -0
  1305. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/stackslot.rs +0 -0
  1306. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/trapcode.rs +0 -0
  1307. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/types.rs +0 -0
  1308. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ir/user_stack_maps.rs +0 -0
  1309. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/abi.rs +0 -0
  1310. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/args.rs +0 -0
  1311. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  1312. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/imms.rs +0 -0
  1313. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/regs.rs +0 -0
  1314. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1315. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst/unwind.rs +0 -0
  1316. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/inst_neon.isle +0 -0
  1317. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1318. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/lower.isle +0 -0
  1319. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/lower.rs +0 -0
  1320. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1321. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/mod.rs +0 -0
  1322. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/pcc.rs +0 -0
  1323. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/aarch64/settings.rs +0 -0
  1324. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/call_conv.rs +0 -0
  1325. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/mod.rs +0 -0
  1326. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley32.rs +0 -0
  1327. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley64.rs +0 -0
  1328. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/abi.rs +0 -0
  1329. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/inst/args.rs +0 -0
  1330. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/inst/emit.rs +0 -0
  1331. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/inst/mod.rs +0 -0
  1332. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/inst/regs.rs +0 -0
  1333. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/inst.isle +0 -0
  1334. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/lower/isle/generated_code.rs +0 -0
  1335. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/lower/isle.rs +0 -0
  1336. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/lower.isle +0 -0
  1337. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/lower.rs +0 -0
  1338. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/mod.rs +0 -0
  1339. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/pulley_shared/settings.rs +0 -0
  1340. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/abi.rs +0 -0
  1341. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/args.rs +0 -0
  1342. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/emit.rs +0 -0
  1343. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  1344. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/encode.rs +0 -0
  1345. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/imms.rs +0 -0
  1346. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/mod.rs +0 -0
  1347. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/regs.rs +0 -0
  1348. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1349. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/unwind.rs +0 -0
  1350. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst/vector.rs +0 -0
  1351. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst.isle +0 -0
  1352. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/inst_vector.isle +0 -0
  1353. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1354. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/lower/isle.rs +0 -0
  1355. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/lower.isle +0 -0
  1356. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/lower.rs +0 -0
  1357. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/mod.rs +0 -0
  1358. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/riscv64/settings.rs +0 -0
  1359. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/abi.rs +0 -0
  1360. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/args.rs +0 -0
  1361. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/emit.rs +0 -0
  1362. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1363. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/imms.rs +0 -0
  1364. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/mod.rs +0 -0
  1365. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/regs.rs +0 -0
  1366. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1367. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst/unwind.rs +0 -0
  1368. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/inst.isle +0 -0
  1369. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1370. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/lower/isle.rs +0 -0
  1371. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/lower.isle +0 -0
  1372. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/lower.rs +0 -0
  1373. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/mod.rs +0 -0
  1374. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/s390x/settings.rs +0 -0
  1375. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/unwind/systemv.rs +0 -0
  1376. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/unwind/winarm64.rs +0 -0
  1377. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/unwind/winx64.rs +0 -0
  1378. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/unwind.rs +0 -0
  1379. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/winch.rs +0 -0
  1380. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/abi.rs +0 -0
  1381. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/args.rs +0 -0
  1382. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/emit.rs +0 -0
  1383. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/emit_state.rs +0 -0
  1384. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/emit_tests.rs +0 -0
  1385. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/external.rs +0 -0
  1386. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/mod.rs +0 -0
  1387. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/regs.rs +0 -0
  1388. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/stack_switch.rs +0 -0
  1389. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1390. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1391. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/inst/unwind.rs +0 -0
  1392. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1393. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/lower/isle.rs +0 -0
  1394. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/lower.rs +0 -0
  1395. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/mod.rs +0 -0
  1396. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/pcc.rs +0 -0
  1397. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isa/x64/settings.rs +0 -0
  1398. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/isle_prelude.rs +0 -0
  1399. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/legalizer/branch_to_trap.rs +0 -0
  1400. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/legalizer/globalvalue.rs +0 -0
  1401. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/legalizer/mod.rs +0 -0
  1402. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/loop_analysis.rs +0 -0
  1403. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/abi.rs +0 -0
  1404. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/blockorder.rs +0 -0
  1405. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/buffer.rs +0 -0
  1406. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/compile.rs +0 -0
  1407. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/helpers.rs +0 -0
  1408. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/inst_common.rs +0 -0
  1409. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/isle.rs +0 -0
  1410. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/lower.rs +0 -0
  1411. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/mod.rs +0 -0
  1412. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/pcc.rs +0 -0
  1413. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/reg.rs +0 -0
  1414. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/valueregs.rs +0 -0
  1415. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/machinst/vcode.rs +0 -0
  1416. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/nan_canonicalization.rs +0 -0
  1417. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/README.md +0 -0
  1418. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/arithmetic.isle +0 -0
  1419. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/bitops.isle +0 -0
  1420. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/cprop.isle +0 -0
  1421. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/div_const.rs +0 -0
  1422. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/extends.isle +0 -0
  1423. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/generated_code.rs +0 -0
  1424. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/remat.isle +0 -0
  1425. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/selects.isle +0 -0
  1426. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/shifts.isle +0 -0
  1427. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/skeleton.isle +0 -0
  1428. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/spaceship.isle +0 -0
  1429. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/spectre.isle +0 -0
  1430. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts/vector.isle +0 -0
  1431. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/opts.rs +0 -0
  1432. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/prelude.isle +0 -0
  1433. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/prelude_lower.isle +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/prelude_opt.isle +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/print_errors.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/ranges.rs +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/remove_constant_phis.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/result.rs +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/scoped_hash_map.rs +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/settings.rs +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/souper_harvest.rs +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/take_and_replace.rs +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/traversals.rs +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/unreachable_code.rs +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/value_label.rs +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/verifier/mod.rs +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-codegen-0.123.0 → cranelift-codegen-0.123.19}/src/write.rs +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/LICENSE +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/README.md +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/formats.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/instructions.rs +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/isa.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/mod.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/operands.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/settings.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/types.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/cdsl/typevar.rs +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/constant_hash.rs +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/gen_asm.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/gen_inst.rs +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/gen_isle.rs +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/gen_settings.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/gen_types.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/arm64.rs +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/mod.rs +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/pulley.rs +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/riscv64.rs +0 -0
  1468. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/s390x.rs +0 -0
  1469. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isa/x86.rs +0 -0
  1470. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/isle.rs +0 -0
  1471. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/lib.rs +0 -0
  1472. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/pulley.rs +0 -0
  1473. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/entities.rs +0 -0
  1474. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/formats.rs +0 -0
  1475. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/immediates.rs +0 -0
  1476. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/instructions.rs +0 -0
  1477. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/mod.rs +0 -0
  1478. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/settings.rs +0 -0
  1479. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/shared/types.rs +0 -0
  1480. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.123.0 → cranelift-codegen-meta-0.123.19}/src/unique_table.rs +0 -0
  1481. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.123.2 → cranelift-codegen-shared-0.123.19}/LICENSE +0 -0
  1482. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.123.2 → cranelift-codegen-shared-0.123.19}/README.md +0 -0
  1483. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.123.2 → cranelift-codegen-shared-0.123.19}/src/constant_hash.rs +0 -0
  1484. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.123.2 → cranelift-codegen-shared-0.123.19}/src/constants.rs +0 -0
  1485. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.123.2 → cranelift-codegen-shared-0.123.19}/src/lib.rs +0 -0
  1486. /data/ext/cargo-vendor/{cranelift-control-0.123.2 → cranelift-control-0.123.19}/LICENSE +0 -0
  1487. /data/ext/cargo-vendor/{cranelift-control-0.123.2 → cranelift-control-0.123.19}/README.md +0 -0
  1488. /data/ext/cargo-vendor/{cranelift-control-0.123.2 → cranelift-control-0.123.19}/src/chaos.rs +0 -0
  1489. /data/ext/cargo-vendor/{cranelift-control-0.123.2 → cranelift-control-0.123.19}/src/lib.rs +0 -0
  1490. /data/ext/cargo-vendor/{cranelift-control-0.123.2 → cranelift-control-0.123.19}/src/zero_sized.rs +0 -0
  1491. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/LICENSE +0 -0
  1492. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/README.md +0 -0
  1493. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/boxed_slice.rs +0 -0
  1494. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/iter.rs +0 -0
  1495. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/keys.rs +0 -0
  1496. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/lib.rs +0 -0
  1497. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/list.rs +0 -0
  1498. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/map.rs +0 -0
  1499. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/packed_option.rs +0 -0
  1500. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/primary.rs +0 -0
  1501. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/set.rs +0 -0
  1502. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/signed.rs +0 -0
  1503. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/sparse.rs +0 -0
  1504. /data/ext/cargo-vendor/{cranelift-entity-0.123.2 → cranelift-entity-0.123.19}/src/unsigned.rs +0 -0
  1505. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/LICENSE +0 -0
  1506. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/README.md +0 -0
  1507. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/frontend/safepoints.rs +0 -0
  1508. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/frontend.rs +0 -0
  1509. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/lib.rs +0 -0
  1510. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/ssa.rs +0 -0
  1511. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/switch.rs +0 -0
  1512. /data/ext/cargo-vendor/{cranelift-frontend-0.123.0 → cranelift-frontend-0.123.19}/src/variable.rs +0 -0
  1513. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/README.md +0 -0
  1514. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/build.rs +0 -0
  1515. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/bad_converters.isle +0 -0
  1516. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1517. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1518. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/error1.isle +0 -0
  1519. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/extra_parens.isle +0 -0
  1520. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/impure_expression.isle +0 -0
  1521. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/impure_rhs.isle +0 -0
  1522. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1523. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/fail/multi_prio.isle +0 -0
  1524. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/borrows.isle +0 -0
  1525. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/borrows_main.rs +0 -0
  1526. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/iflets.isle +0 -0
  1527. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/iflets_main.rs +0 -0
  1528. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/multi_constructor.isle +0 -0
  1529. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/multi_constructor_main.rs +0 -0
  1530. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/multi_extractor.isle +0 -0
  1531. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/multi_extractor_main.rs +0 -0
  1532. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/test.isle +0 -0
  1533. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/link/test_main.rs +0 -0
  1534. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/bound_var.isle +0 -0
  1535. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/construct_and_extract.isle +0 -0
  1536. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/conversions.isle +0 -0
  1537. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/conversions_extern.isle +0 -0
  1538. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/let.isle +0 -0
  1539. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/nodebug.isle +0 -0
  1540. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1541. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/test2.isle +0 -0
  1542. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/test3.isle +0 -0
  1543. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/test4.isle +0 -0
  1544. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/tutorial.isle +0 -0
  1545. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/pass/veri_spec.isle +0 -0
  1546. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/run/iconst.isle +0 -0
  1547. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/run/iconst_main.rs +0 -0
  1548. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/run/let_shadowing.isle +0 -0
  1549. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/isle_examples/run/let_shadowing_main.rs +0 -0
  1550. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/ast.rs +0 -0
  1551. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/codegen.rs +0 -0
  1552. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/compile.rs +0 -0
  1553. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/disjointsets.rs +0 -0
  1554. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/error.rs +0 -0
  1555. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/files.rs +0 -0
  1556. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/lexer.rs +0 -0
  1557. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/lib.rs +0 -0
  1558. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/log.rs +0 -0
  1559. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/overlap.rs +0 -0
  1560. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/parser.rs +0 -0
  1561. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/printer.rs +0 -0
  1562. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/sema.rs +0 -0
  1563. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/serialize.rs +0 -0
  1564. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/stablemapset.rs +0 -0
  1565. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/src/trie_again.rs +0 -0
  1566. /data/ext/cargo-vendor/{cranelift-isle-0.123.0 → cranelift-isle-0.123.19}/tests/run_tests.rs +0 -0
  1567. /data/ext/cargo-vendor/{cranelift-native-0.123.0 → cranelift-native-0.123.19}/LICENSE +0 -0
  1568. /data/ext/cargo-vendor/{cranelift-native-0.123.0 → cranelift-native-0.123.19}/README.md +0 -0
  1569. /data/ext/cargo-vendor/{cranelift-native-0.123.0 → cranelift-native-0.123.19}/src/lib.rs +0 -0
  1570. /data/ext/cargo-vendor/{cranelift-native-0.123.0 → cranelift-native-0.123.19}/src/riscv.rs +0 -0
  1571. /data/ext/cargo-vendor/{cranelift-srcgen-0.123.2 → cranelift-srcgen-0.123.19}/src/error.rs +0 -0
  1572. /data/ext/cargo-vendor/{cranelift-srcgen-0.123.2 → cranelift-srcgen-0.123.19}/src/lib.rs +0 -0
  1573. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/CONTRIBUTING.md +0 -0
  1574. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/Cargo.toml.orig +0 -0
  1575. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/README.md +0 -0
  1576. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/examples/profiler-html.rs +0 -0
  1577. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/decode.rs +0 -0
  1578. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/disas.rs +0 -0
  1579. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/encode.rs +0 -0
  1580. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/imms.rs +0 -0
  1581. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/interp/debug.rs +0 -0
  1582. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/interp/match_loop.rs +0 -0
  1583. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/interp/tail_loop.rs +0 -0
  1584. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/interp.rs +0 -0
  1585. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/op.rs +0 -0
  1586. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/opcode.rs +0 -0
  1587. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/profile.rs +0 -0
  1588. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/profile_disabled.rs +0 -0
  1589. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/src/regs.rs +0 -0
  1590. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/tests/all/disas.rs +0 -0
  1591. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/tests/all/interp.rs +0 -0
  1592. /data/ext/cargo-vendor/{pulley-interpreter-36.0.0 → pulley-interpreter-36.0.19}/tests/all/main.rs +0 -0
  1593. /data/ext/cargo-vendor/{pulley-macros-36.0.0 → pulley-macros-36.0.19}/Cargo.toml.orig +0 -0
  1594. /data/ext/cargo-vendor/{pulley-macros-36.0.0 → pulley-macros-36.0.19}/src/interp_disable_if_cfg.rs +0 -0
  1595. /data/ext/cargo-vendor/{pulley-macros-36.0.0 → pulley-macros-36.0.19}/src/lib.rs +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/LICENSE +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/README.md +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/build.rs +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile/call_graph.rs +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile/code_builder.rs +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile/runtime.rs +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile/scc.rs +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile/stratify.rs +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/compile.rs +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/config.rs +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/engine/serialization.rs +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/engine.rs +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/profiling_agent/jitdump.rs +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/profiling_agent/perfmap.rs +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/profiling_agent/pulley.rs +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/profiling_agent/vtune.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/profiling_agent.rs +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/code.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/code_memory.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/_7_async.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/bindgen_examples/mod.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/component.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/abort.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/error_contexts.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/futures_and_streams/buffers.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/futures_and_streams.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/states.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/table.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent/tls.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/concurrent_disabled.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/func/host.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/has_data.rs +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/matching.rs +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/mod.rs +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/storage.rs +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/component/types.rs +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/debug.rs +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/externals.rs +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/fiber.rs +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/func/typed.rs +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/anyref.rs +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/arrayref.rs +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/eqref.rs +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/exnref.rs +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/externref.rs +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/i31.rs +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/rooting.rs +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled/structref.rs +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/disabled.rs +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled/anyref.rs +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled/eqref.rs +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled/externref.rs +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled/i31.rs +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled/rooting.rs +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/enabled.rs +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/noextern.rs +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc/none_ref.rs +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/gc.rs +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/instantiate.rs +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/limits.rs +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/module.rs +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/profiling.rs +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/resources.rs +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/stack.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/async_.rs +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/context.rs +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/data.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/func_refs.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/gc.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/store/token.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/trampoline/func.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/trampoline/global.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/trampoline/memory.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/trampoline.rs +0 -0
  1678. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/trap.rs +0 -0
  1679. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/type_registry.rs +0 -0
  1680. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/types/matching.rs +0 -0
  1681. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/types.rs +0 -0
  1682. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/uninhabited.rs +0 -0
  1683. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/unix.rs +0 -0
  1684. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/v128.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/values.rs +0 -0
  1686. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/async_yield.rs +0 -0
  1687. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/byte_count.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/component/libcalls.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/const_expr.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/cow_disabled.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/debug_builtins.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/export.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/disabled.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/arrayref.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/data.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/drc.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/exnref.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/null.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled/structref.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/enabled.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/func_ref.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/gc_ref.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/gc_runtime.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/host_data.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc/i31.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/gc.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/helpers.c +0 -0
  1710. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/imports.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -0
  1716. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
  1717. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
  1718. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator/pooling.rs +0 -0
  1719. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance/allocator.rs +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/instance.rs +0 -0
  1721. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/interpreter.rs +0 -0
  1722. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/interpreter_disabled.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/libcalls.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/memory/malloc.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/memory/mmap.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/memory/shared_memory.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/memory/shared_memory_disabled.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/memory/static_.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mmap.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mmap_vec.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/module_id.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mpk/disabled.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mpk/enabled.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mpk/mod.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mpk/pkru.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/mpk/sys.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/parking_spot.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/provenance.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/send_sync_unsafe_cell.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/stack_switching/stack/dummy.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +0 -0
  1743. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/stack_switching/stack/unix.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/stack_switching/stack.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/stack_switching.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/store_box.rs +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/capi.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/custom/vm.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/mod.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/machports.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/mmap.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/signals.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/traphandlers.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/unwind64.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/vectored_exceptions.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/traphandlers/signals.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/traphandlers.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/vm/vmcontext.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/wave/component.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/wave/core.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/wave.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime/windows.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/runtime.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/sync_nostd.rs +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/src/sync_std.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/tests/custom_signal_handler.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/tests/host_segfault.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-36.0.0 → wasmtime-36.0.19}/tests/unload-engine.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/Cargo.toml.orig +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/LICENSE +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/examples/factc.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/address_map.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/builtin.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/address_map.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/mod.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/module_artifacts.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/module_environ.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/module_types.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/stack_maps.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/compile/trap_encoding.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/artifacts.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/compiler.rs +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/dfg.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/info.rs +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/names.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/translate/adapt.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/translate/inline.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/translate.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/types.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/types_builder/resources.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/types_builder.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component/vmcomponent_offsets.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/component.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/demangling.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/error.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/ext.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/fact/core_types.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/fact/signature.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/fact/transcode.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/fact/traps.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/fact.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/gc/drc.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/gc/null.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/gc.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/hostcall.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/lib.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/module.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/module_artifacts.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/module_types.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/obj.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/prelude.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/ref_bits.rs +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/scopevec.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/stack_map.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/stack_switching.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/trap_encoding.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/tunables.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/types.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-environ-36.0.0 → wasmtime-environ-36.0.19}/src/vmoffsets.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-internal-asm-macros-36.0.0 → wasmtime-internal-asm-macros-36.0.19}/Cargo.toml.orig +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-internal-asm-macros-36.0.0 → wasmtime-internal-asm-macros-36.0.19}/src/lib.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/Cargo.toml.orig +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/LICENSE +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/build.rs +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/config/tests.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/config.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/lib.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/tests.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/worker/tests/system_time_stub.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/worker/tests.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/src/worker.rs +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-internal-cache-36.0.0 → wasmtime-internal-cache-36.0.19}/tests/cache_write_default_config.rs +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/Cargo.toml.orig +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/build.rs +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/src/bindgen.rs +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/src/component.rs +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/src/lib.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/char.wit +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/conventions.wit +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/dead-code.wit +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/direct-import.wit +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/empty.wit +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/flags.wit +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/floats.wit +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/function-new.wit +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/host-world.wit +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/integers.wit +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/lists.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/many-arguments.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/multiversion/root.wit +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/path1/world.wit +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/path2/world.wit +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/records.wit +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/rename.wit +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/resources-export.wit +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/resources-import.wit +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/share-types.wit +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/simple-functions.wit +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/simple-lists.wit +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/simple-wasi.wit +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/small-anonymous.wit +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/smoke-default.wit +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/smoke-export.wit +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/smoke.wit +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/strings.wit +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/unstable-features.wit +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/unversioned-foo.wit +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/use-paths.wit +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/variants.wit +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/wat.wit +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen/worlds-with-types.wit +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen.rs +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/codegen_no_std.rs +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/char.rs +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/char_async.rs +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/char_concurrent.rs +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/char_tracing_async.rs +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/conventions.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/conventions_async.rs +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/conventions_concurrent.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/conventions_tracing_async.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/dead-code.rs +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/dead-code_async.rs +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/dead-code_concurrent.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/dead-code_tracing_async.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/direct-import.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/direct-import_async.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/direct-import_concurrent.rs +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/direct-import_tracing_async.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/empty.rs +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/empty_async.rs +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/empty_concurrent.rs +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/empty_tracing_async.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/flags.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/flags_async.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/flags_concurrent.rs +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/flags_tracing_async.rs +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/floats.rs +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/floats_async.rs +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/floats_concurrent.rs +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/floats_tracing_async.rs +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/function-new.rs +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/function-new_async.rs +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/function-new_concurrent.rs +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/function-new_tracing_async.rs +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/host-world.rs +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/host-world_async.rs +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/host-world_concurrent.rs +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/host-world_tracing_async.rs +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/integers.rs +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/integers_async.rs +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/integers_concurrent.rs +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/integers_tracing_async.rs +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/lists.rs +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/lists_async.rs +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/lists_concurrent.rs +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/lists_tracing_async.rs +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/many-arguments.rs +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/many-arguments_async.rs +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/many-arguments_concurrent.rs +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/many-arguments_tracing_async.rs +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/multi-return.rs +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/multiversion.rs +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/multiversion_async.rs +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/multiversion_concurrent.rs +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/multiversion_tracing_async.rs +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path1.rs +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path1_async.rs +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path1_concurrent.rs +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path1_tracing_async.rs +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path2.rs +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path2_async.rs +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path2_concurrent.rs +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/path2_tracing_async.rs +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/records.rs +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/records_async.rs +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/records_concurrent.rs +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/records_tracing_async.rs +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/rename.rs +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/rename_async.rs +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/rename_concurrent.rs +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/rename_tracing_async.rs +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-export.rs +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-export_async.rs +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-export_tracing_async.rs +0 -0
  1968. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-import.rs +0 -0
  1969. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-import_async.rs +0 -0
  1970. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/resources-import_tracing_async.rs +0 -0
  1971. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/share-types.rs +0 -0
  1972. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/share-types_async.rs +0 -0
  1973. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/share-types_concurrent.rs +0 -0
  1974. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/share-types_tracing_async.rs +0 -0
  1975. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-functions.rs +0 -0
  1976. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-functions_async.rs +0 -0
  1977. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-functions_concurrent.rs +0 -0
  1978. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-functions_tracing_async.rs +0 -0
  1979. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-lists.rs +0 -0
  1980. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-lists_async.rs +0 -0
  1981. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-lists_concurrent.rs +0 -0
  1982. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-lists_tracing_async.rs +0 -0
  1983. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-wasi.rs +0 -0
  1984. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-wasi_async.rs +0 -0
  1985. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-wasi_concurrent.rs +0 -0
  1986. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/simple-wasi_tracing_async.rs +0 -0
  1987. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/small-anonymous.rs +0 -0
  1988. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/small-anonymous_async.rs +0 -0
  1989. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/small-anonymous_concurrent.rs +0 -0
  1990. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/small-anonymous_tracing_async.rs +0 -0
  1991. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-default.rs +0 -0
  1992. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-default_async.rs +0 -0
  1993. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-default_concurrent.rs +0 -0
  1994. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-default_tracing_async.rs +0 -0
  1995. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-export.rs +0 -0
  1996. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-export_async.rs +0 -0
  1997. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-export_concurrent.rs +0 -0
  1998. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke-export_tracing_async.rs +0 -0
  1999. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke.rs +0 -0
  2000. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke_async.rs +0 -0
  2001. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke_concurrent.rs +0 -0
  2002. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/smoke_tracing_async.rs +0 -0
  2003. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/strings.rs +0 -0
  2004. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/strings_async.rs +0 -0
  2005. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/strings_concurrent.rs +0 -0
  2006. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/strings_tracing_async.rs +0 -0
  2007. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unstable-features.rs +0 -0
  2008. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unstable-features_async.rs +0 -0
  2009. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unstable-features_tracing_async.rs +0 -0
  2010. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unversioned-foo.rs +0 -0
  2011. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unversioned-foo_async.rs +0 -0
  2012. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unversioned-foo_concurrent.rs +0 -0
  2013. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/unversioned-foo_tracing_async.rs +0 -0
  2014. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/use-paths.rs +0 -0
  2015. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/use-paths_async.rs +0 -0
  2016. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/use-paths_concurrent.rs +0 -0
  2017. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/use-paths_tracing_async.rs +0 -0
  2018. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/variants.rs +0 -0
  2019. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/variants_async.rs +0 -0
  2020. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/variants_concurrent.rs +0 -0
  2021. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/variants_tracing_async.rs +0 -0
  2022. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/wat.rs +0 -0
  2023. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/wat_async.rs +0 -0
  2024. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/wat_concurrent.rs +0 -0
  2025. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/wat_tracing_async.rs +0 -0
  2026. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/worlds-with-types.rs +0 -0
  2027. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/worlds-with-types_async.rs +0 -0
  2028. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/worlds-with-types_concurrent.rs +0 -0
  2029. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded/worlds-with-types_tracing_async.rs +0 -0
  2030. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-36.0.0 → wasmtime-internal-component-macro-36.0.19}/tests/expanded.rs +0 -0
  2031. /data/ext/cargo-vendor/{wasmtime-internal-component-util-36.0.0 → wasmtime-internal-component-util-36.0.19}/Cargo.toml.orig +0 -0
  2032. /data/ext/cargo-vendor/{wasmtime-internal-component-util-36.0.0 → wasmtime-internal-component-util-36.0.19}/src/lib.rs +0 -0
  2033. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/Cargo.toml.orig +0 -0
  2034. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/LICENSE +0 -0
  2035. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/SECURITY.md +0 -0
  2036. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/bounds_checks.rs +0 -0
  2037. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/builder.rs +0 -0
  2038. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/compiled_function.rs +0 -0
  2039. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/compiler/component.rs +0 -0
  2040. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/compiler.rs +0 -0
  2041. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/gc.rs +0 -0
  2042. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/address_transform.rs +0 -0
  2043. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/attr.rs +0 -0
  2044. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/debug_transform_logging.rs +0 -0
  2045. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/expression.rs +0 -0
  2046. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/line_program.rs +0 -0
  2047. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/mod.rs +0 -0
  2048. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/range_info_builder.rs +0 -0
  2049. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/refs.rs +0 -0
  2050. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/simulate.rs +0 -0
  2051. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/synthetic.rs +0 -0
  2052. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/unit.rs +0 -0
  2053. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/transform/utils.rs +0 -0
  2054. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug/write_debuginfo.rs +0 -0
  2055. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/debug.rs +0 -0
  2056. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ/gc/disabled.rs +0 -0
  2057. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ/gc/enabled/drc.rs +0 -0
  2058. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ/gc/enabled/null.rs +0 -0
  2059. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ/gc/enabled.rs +0 -0
  2060. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ/gc.rs +0 -0
  2061. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/func_environ.rs +0 -0
  2062. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/isa_builder.rs +0 -0
  2063. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/obj.rs +0 -0
  2064. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/environ/mod.rs +0 -0
  2065. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/environ/spec.rs +0 -0
  2066. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/func_translator.rs +0 -0
  2067. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/heap.rs +0 -0
  2068. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/mod.rs +0 -0
  2069. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/stack.rs +0 -0
  2070. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/table.rs +0 -0
  2071. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-36.0.0 → wasmtime-internal-cranelift-36.0.19}/src/translate/translation_utils.rs +0 -0
  2072. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/Cargo.toml.orig +0 -0
  2073. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/LICENSE +0 -0
  2074. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/build.rs +0 -0
  2075. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/lib.rs +0 -0
  2076. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/miri.rs +0 -0
  2077. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/nostd.rs +0 -0
  2078. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/aarch64.rs +0 -0
  2079. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/arm.rs +0 -0
  2080. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/riscv64.rs +0 -0
  2081. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/s390x.S +0 -0
  2082. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/x86.rs +0 -0
  2083. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch/x86_64.rs +0 -0
  2084. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/stackswitch.rs +0 -0
  2085. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/unix.rs +0 -0
  2086. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/windows.c +0 -0
  2087. /data/ext/cargo-vendor/{wasmtime-internal-fiber-36.0.0 → wasmtime-internal-fiber-36.0.19}/src/windows.rs +0 -0
  2088. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/Cargo.toml.orig +0 -0
  2089. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/README.md +0 -0
  2090. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/build.rs +0 -0
  2091. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/gdbjit.c +0 -0
  2092. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/src/gdb_jit_int.rs +0 -0
  2093. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/src/lib.rs +0 -0
  2094. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-36.0.0 → wasmtime-internal-jit-debug-36.0.19}/src/perf_jitdump.rs +0 -0
  2095. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-36.0.0 → wasmtime-internal-jit-icache-coherence-36.0.19}/Cargo.toml.orig +0 -0
  2096. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-36.0.0 → wasmtime-internal-jit-icache-coherence-36.0.19}/src/lib.rs +0 -0
  2097. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-36.0.0 → wasmtime-internal-jit-icache-coherence-36.0.19}/src/libc.rs +0 -0
  2098. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-36.0.0 → wasmtime-internal-jit-icache-coherence-36.0.19}/src/miri.rs +0 -0
  2099. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-36.0.0 → wasmtime-internal-jit-icache-coherence-36.0.19}/src/win.rs +0 -0
  2100. /data/ext/cargo-vendor/{wasmtime-internal-math-36.0.0 → wasmtime-internal-math-36.0.19}/Cargo.toml.orig +0 -0
  2101. /data/ext/cargo-vendor/{wasmtime-internal-math-36.0.0 → wasmtime-internal-math-36.0.19}/src/lib.rs +0 -0
  2102. /data/ext/cargo-vendor/{wasmtime-internal-slab-36.0.0 → wasmtime-internal-slab-36.0.19}/Cargo.toml.orig +0 -0
  2103. /data/ext/cargo-vendor/{wasmtime-internal-slab-36.0.0 → wasmtime-internal-slab-36.0.19}/src/lib.rs +0 -0
  2104. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/Cargo.toml.orig +0 -0
  2105. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/LICENSE +0 -0
  2106. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/README.md +0 -0
  2107. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/build.rs +0 -0
  2108. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/arch/aarch64.rs +0 -0
  2109. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/arch/mod.rs +0 -0
  2110. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/arch/riscv64.rs +0 -0
  2111. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/arch/s390x.rs +0 -0
  2112. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/arch/x86.rs +0 -0
  2113. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/exception_table.rs +0 -0
  2114. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/lib.rs +0 -0
  2115. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/stackwalk.rs +0 -0
  2116. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-36.0.0 → wasmtime-internal-unwinder-36.0.19}/src/throw.rs +0 -0
  2117. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-36.0.0 → wasmtime-internal-versioned-export-macros-36.0.19}/Cargo.toml.orig +0 -0
  2118. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-36.0.0 → wasmtime-internal-versioned-export-macros-36.0.19}/src/lib.rs +0 -0
  2119. /data/ext/cargo-vendor/{wasmtime-internal-winch-36.0.0 → wasmtime-internal-winch-36.0.19}/Cargo.toml.orig +0 -0
  2120. /data/ext/cargo-vendor/{wasmtime-internal-winch-36.0.0 → wasmtime-internal-winch-36.0.19}/LICENSE +0 -0
  2121. /data/ext/cargo-vendor/{wasmtime-internal-winch-36.0.0 → wasmtime-internal-winch-36.0.19}/src/builder.rs +0 -0
  2122. /data/ext/cargo-vendor/{wasmtime-internal-winch-36.0.0 → wasmtime-internal-winch-36.0.19}/src/compiler.rs +0 -0
  2123. /data/ext/cargo-vendor/{wasmtime-internal-winch-36.0.0 → wasmtime-internal-winch-36.0.19}/src/lib.rs +0 -0
  2124. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-36.0.0 → wasmtime-internal-wit-bindgen-36.0.19}/Cargo.toml.orig +0 -0
  2125. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-36.0.0 → wasmtime-internal-wit-bindgen-36.0.19}/src/config.rs +0 -0
  2126. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-36.0.0 → wasmtime-internal-wit-bindgen-36.0.19}/src/rust.rs +0 -0
  2127. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-36.0.0 → wasmtime-internal-wit-bindgen-36.0.19}/src/source.rs +0 -0
  2128. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-36.0.0 → wasmtime-internal-wit-bindgen-36.0.19}/src/types.rs +0 -0
  2129. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/LICENSE +0 -0
  2130. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/README.md +0 -0
  2131. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/cli/empty.rs +0 -0
  2132. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/cli/locked_async.rs +0 -0
  2133. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/cli/mem.rs +0 -0
  2134. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/cli/worker_thread_stdin.rs +0 -0
  2135. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/cli.rs +0 -0
  2136. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/clocks.rs +0 -0
  2137. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/error.rs +0 -0
  2138. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/bindings.rs +0 -0
  2139. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/clocks.rs +0 -0
  2140. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/env.rs +0 -0
  2141. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/exit.rs +0 -0
  2142. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/filesystem/sync.rs +0 -0
  2143. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/instance_network.rs +0 -0
  2144. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/io.rs +0 -0
  2145. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/mod.rs +0 -0
  2146. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/network.rs +0 -0
  2147. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/tcp.rs +0 -0
  2148. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/tcp_create_socket.rs +0 -0
  2149. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/host/udp_create_socket.rs +0 -0
  2150. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/ip_name_lookup.rs +0 -0
  2151. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/mod.rs +0 -0
  2152. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/network.rs +0 -0
  2153. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/poll.rs +0 -0
  2154. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/stdio.rs +0 -0
  2155. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/udp.rs +0 -0
  2156. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/command.wit +0 -0
  2157. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/environment.wit +0 -0
  2158. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/exit.wit +0 -0
  2159. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/imports.wit +0 -0
  2160. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/run.wit +0 -0
  2161. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/stdio.wit +0 -0
  2162. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/cli/terminal.wit +0 -0
  2163. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/clocks/monotonic-clock.wit +0 -0
  2164. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/clocks/timezone.wit +0 -0
  2165. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/clocks/wall-clock.wit +0 -0
  2166. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/clocks/world.wit +0 -0
  2167. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/filesystem/preopens.wit +0 -0
  2168. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/filesystem/types.wit +0 -0
  2169. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/filesystem/world.wit +0 -0
  2170. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/io/error.wit +0 -0
  2171. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/io/poll.wit +0 -0
  2172. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/io/streams.wit +0 -0
  2173. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/io/world.wit +0 -0
  2174. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/random/insecure-seed.wit +0 -0
  2175. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/random/insecure.wit +0 -0
  2176. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/random/random.wit +0 -0
  2177. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/random/world.wit +0 -0
  2178. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/instance-network.wit +0 -0
  2179. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/ip-name-lookup.wit +0 -0
  2180. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/network.wit +0 -0
  2181. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/tcp-create-socket.wit +0 -0
  2182. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/tcp.wit +0 -0
  2183. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/udp-create-socket.wit +0 -0
  2184. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/udp.wit +0 -0
  2185. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/deps/sockets/world.wit +0 -0
  2186. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/test.wit +0 -0
  2187. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/wit/world.wit +0 -0
  2188. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p2/write_stream.rs +0 -0
  2189. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/bindings.rs +0 -0
  2190. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/cli/host.rs +0 -0
  2191. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/cli/mod.rs +0 -0
  2192. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/clocks/host.rs +0 -0
  2193. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/clocks/mod.rs +0 -0
  2194. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/filesystem/mod.rs +0 -0
  2195. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/mod.rs +0 -0
  2196. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/random/host.rs +0 -0
  2197. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/random/mod.rs +0 -0
  2198. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/conv.rs +0 -0
  2199. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/host/ip_name_lookup.rs +0 -0
  2200. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/host/mod.rs +0 -0
  2201. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/host/types/mod.rs +0 -0
  2202. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/host/types/tcp.rs +0 -0
  2203. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/host/types/udp.rs +0 -0
  2204. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/mod.rs +0 -0
  2205. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/tcp.rs +0 -0
  2206. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/sockets/udp.rs +0 -0
  2207. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/command.wit +0 -0
  2208. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/environment.wit +0 -0
  2209. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/exit.wit +0 -0
  2210. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/imports.wit +0 -0
  2211. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/run.wit +0 -0
  2212. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/stdio.wit +0 -0
  2213. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/cli/terminal.wit +0 -0
  2214. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/clocks/monotonic-clock.wit +0 -0
  2215. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/clocks/timezone.wit +0 -0
  2216. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/clocks/wall-clock.wit +0 -0
  2217. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/clocks/world.wit +0 -0
  2218. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/filesystem/preopens.wit +0 -0
  2219. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/filesystem/types.wit +0 -0
  2220. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/filesystem/world.wit +0 -0
  2221. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/random/insecure-seed.wit +0 -0
  2222. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/random/insecure.wit +0 -0
  2223. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/random/random.wit +0 -0
  2224. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/random/world.wit +0 -0
  2225. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/sockets/ip-name-lookup.wit +0 -0
  2226. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/sockets/types.wit +0 -0
  2227. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/deps/sockets/world.wit +0 -0
  2228. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/p3/wit/package.wit +0 -0
  2229. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/runtime.rs +0 -0
  2230. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/sockets/mod.rs +0 -0
  2231. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/sockets/util.rs +0 -0
  2232. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/src/view.rs +0 -0
  2233. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/tests/all/main.rs +0 -0
  2234. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/tests/all/p2/api.rs +0 -0
  2235. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/tests/all/p3/mod.rs +0 -0
  2236. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/tests/process_stdin.rs +0 -0
  2237. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/witx/preview0/typenames.witx +0 -0
  2238. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/witx/preview0/wasi_unstable.witx +0 -0
  2239. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/witx/preview1/typenames.witx +0 -0
  2240. /data/ext/cargo-vendor/{wasmtime-wasi-36.0.0 → wasmtime-wasi-36.0.19}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  2241. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/Cargo.toml.orig +0 -0
  2242. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/src/bindings.rs +0 -0
  2243. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/src/lib.rs +0 -0
  2244. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/src/poll.rs +0 -0
  2245. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/wit/deps/io/error.wit +0 -0
  2246. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/wit/deps/io/poll.wit +0 -0
  2247. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/wit/deps/io/streams.wit +0 -0
  2248. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/wit/deps/io/world.wit +0 -0
  2249. /data/ext/cargo-vendor/{wasmtime-wasi-io-36.0.0 → wasmtime-wasi-io-36.0.19}/wit/world.wit +0 -0
  2250. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/Cargo.toml.orig +0 -0
  2251. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/LICENSE +0 -0
  2252. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/README.md +0 -0
  2253. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/src/error.rs +0 -0
  2254. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/src/guest_type.rs +0 -0
  2255. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/src/lib.rs +0 -0
  2256. /data/ext/cargo-vendor/{wiggle-36.0.0 → wiggle-36.0.19}/src/region.rs +0 -0
  2257. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/Cargo.toml.orig +0 -0
  2258. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/LICENSE +0 -0
  2259. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/README.md +0 -0
  2260. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/codegen_settings.rs +0 -0
  2261. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/config.rs +0 -0
  2262. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/funcs.rs +0 -0
  2263. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/lib.rs +0 -0
  2264. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/lifetimes.rs +0 -0
  2265. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/names.rs +0 -0
  2266. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/error.rs +0 -0
  2267. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/flags.rs +0 -0
  2268. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/handle.rs +0 -0
  2269. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/mod.rs +0 -0
  2270. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/record.rs +0 -0
  2271. /data/ext/cargo-vendor/{wiggle-generate-36.0.0 → wiggle-generate-36.0.19}/src/types/variant.rs +0 -0
  2272. /data/ext/cargo-vendor/{wiggle-macro-36.0.0 → wiggle-macro-36.0.19}/Cargo.toml.orig +0 -0
  2273. /data/ext/cargo-vendor/{wiggle-macro-36.0.0 → wiggle-macro-36.0.19}/LICENSE +0 -0
  2274. /data/ext/cargo-vendor/{wiggle-macro-36.0.0 → wiggle-macro-36.0.19}/build.rs +0 -0
  2275. /data/ext/cargo-vendor/{wiggle-macro-36.0.0 → wiggle-macro-36.0.19}/src/lib.rs +0 -0
  2276. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/Cargo.toml.orig +0 -0
  2277. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/LICENSE +0 -0
  2278. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/build.rs +0 -0
  2279. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/abi/local.rs +0 -0
  2280. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/abi/mod.rs +0 -0
  2281. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/codegen/builtin.rs +0 -0
  2282. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/codegen/call.rs +0 -0
  2283. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/codegen/context.rs +0 -0
  2284. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/codegen/control.rs +0 -0
  2285. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/codegen/phase.rs +0 -0
  2286. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/constant_pool.rs +0 -0
  2287. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/frame/mod.rs +0 -0
  2288. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/aarch64/abi.rs +0 -0
  2289. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/aarch64/address.rs +0 -0
  2290. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/aarch64/mod.rs +0 -0
  2291. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/aarch64/regs.rs +0 -0
  2292. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/mod.rs +0 -0
  2293. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/reg.rs +0 -0
  2294. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/x64/abi.rs +0 -0
  2295. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/x64/address.rs +0 -0
  2296. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/x64/asm.rs +0 -0
  2297. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/x64/mod.rs +0 -0
  2298. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/isa/x64/regs.rs +0 -0
  2299. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/lib.rs +0 -0
  2300. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/regalloc.rs +0 -0
  2301. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/regset.rs +0 -0
  2302. /data/ext/cargo-vendor/{winch-codegen-36.0.0 → winch-codegen-36.0.19}/src/stack.rs +0 -0
@@ -1,4140 +0,0 @@
1
- //! This module contains the bulk of the interesting code performing the translation between
2
- //! WebAssembly and Cranelift IR.
3
- //!
4
- //! The translation is done in one pass, opcode by opcode. Two main data structures are used during
5
- //! code translations: the value stack and the control stack. The value stack mimics the execution
6
- //! of the WebAssembly stack machine: each instruction result is pushed onto the stack and
7
- //! instruction arguments are popped off the stack. Similarly, when encountering a control flow
8
- //! block, it is pushed onto the control stack and popped off when encountering the corresponding
9
- //! `End`.
10
- //!
11
- //! Another data structure, the translation state, records information concerning unreachable code
12
- //! status and about if inserting a return at the end of the function is necessary.
13
- //!
14
- //! Some of the WebAssembly instructions need information about the environment for which they
15
- //! are being translated:
16
- //!
17
- //! - the loads and stores need the memory base address;
18
- //! - the `get_global` and `set_global` instructions depend on how the globals are implemented;
19
- //! - `memory.size` and `memory.grow` are runtime functions;
20
- //! - `call_indirect` has to translate the function index into the address of where this
21
- //! is;
22
- //!
23
- //! That is why `translate_function_body` takes an object having the `WasmRuntime` trait as
24
- //! argument.
25
- //!
26
- //! There is extra complexity associated with translation of 128-bit SIMD instructions.
27
- //! Wasm only considers there to be a single 128-bit vector type. But CLIF's type system
28
- //! distinguishes different lane configurations, so considers 8X16, 16X8, 32X4 and 64X2 to be
29
- //! different types. The result is that, in wasm, it's perfectly OK to take the output of (eg)
30
- //! an `add.16x8` and use that as an operand of a `sub.32x4`, without using any cast. But when
31
- //! translated into CLIF, that will cause a verifier error due to the apparent type mismatch.
32
- //!
33
- //! This file works around that problem by liberally inserting `bitcast` instructions in many
34
- //! places -- mostly, before the use of vector values, either as arguments to CLIF instructions
35
- //! or as block actual parameters. These are no-op casts which nevertheless have different
36
- //! input and output types, and are used (mostly) to "convert" 16X8, 32X4 and 64X2-typed vectors
37
- //! to the "canonical" type, 8X16. Hence the functions `optionally_bitcast_vector`,
38
- //! `bitcast_arguments`, `pop*_with_bitcast`, `canonicalise_then_jump`,
39
- //! `canonicalise_then_br{z,nz}`, `is_non_canonical_v128` and `canonicalise_v128_values`.
40
- //! Note that the `bitcast*` functions are occasionally used to convert to some type other than
41
- //! 8X16, but the `canonicalise*` functions always convert to type 8X16.
42
- //!
43
- //! Be careful when adding support for new vector instructions. And when adding new jumps, even
44
- //! if they are apparently don't have any connection to vectors. Never generate any kind of
45
- //! (inter-block) jump directly. Instead use `canonicalise_then_jump` and
46
- //! `canonicalise_then_br{z,nz}`.
47
- //!
48
- //! The use of bitcasts is ugly and inefficient, but currently unavoidable:
49
- //!
50
- //! * they make the logic in this file fragile: miss out a bitcast for any reason, and there is
51
- //! the risk of the system failing in the verifier. At least for debug builds.
52
- //!
53
- //! * in the new backends, they potentially interfere with pattern matching on CLIF -- the
54
- //! patterns need to take into account the presence of bitcast nodes.
55
- //!
56
- //! * in the new backends, they get translated into machine-level vector-register-copy
57
- //! instructions, none of which are actually necessary. We then depend on the register
58
- //! allocator to coalesce them all out.
59
- //!
60
- //! * they increase the total number of CLIF nodes that have to be processed, hence slowing down
61
- //! the compilation pipeline. Also, the extra coalescing work generates a slowdown.
62
- //!
63
- //! A better solution which would avoid all four problems would be to remove the 8X16, 16X8,
64
- //! 32X4 and 64X2 types from CLIF and instead have a single V128 type.
65
- //!
66
- //! For further background see also:
67
- //! <https://github.com/bytecodealliance/wasmtime/issues/1147>
68
- //! ("Too many raw_bitcasts in SIMD code")
69
- //! <https://github.com/bytecodealliance/cranelift/pull/1251>
70
- //! ("Add X128 type to represent WebAssembly's V128 type")
71
- //! <https://github.com/bytecodealliance/cranelift/pull/1236>
72
- //! ("Relax verification to allow I8X16 to act as a default vector type")
73
-
74
- use crate::Reachability;
75
- use crate::bounds_checks::{BoundsCheck, bounds_check_and_compute_addr};
76
- use crate::func_environ::{Extension, FuncEnvironment};
77
- use crate::translate::environ::StructFieldsVec;
78
- use crate::translate::stack::{ControlStackFrame, ElseData, FuncTranslationStacks};
79
- use crate::translate::translation_utils::{
80
- block_with_params, blocktype_params_results, f32_translation, f64_translation,
81
- };
82
- use cranelift_codegen::ir::condcodes::{FloatCC, IntCC};
83
- use cranelift_codegen::ir::immediates::Offset32;
84
- use cranelift_codegen::ir::{
85
- self, AtomicRmwOp, InstBuilder, JumpTableData, MemFlags, Value, ValueLabel,
86
- };
87
- use cranelift_codegen::ir::{BlockArg, types::*};
88
- use cranelift_codegen::packed_option::ReservedValue;
89
- use cranelift_frontend::{FunctionBuilder, Variable};
90
- use itertools::Itertools;
91
- use smallvec::SmallVec;
92
- use std::collections::{HashMap, hash_map};
93
- use std::vec::Vec;
94
- use wasmparser::{FuncValidator, MemArg, Operator, WasmModuleResources};
95
- use wasmtime_environ::{
96
- DataIndex, ElemIndex, FuncIndex, GlobalIndex, MemoryIndex, Signed, TableIndex, TypeConvert,
97
- TypeIndex, Unsigned, WasmRefType, WasmResult, WasmValType, wasm_unsupported,
98
- };
99
-
100
- /// Given a `Reachability<T>`, unwrap the inner `T` or, when unreachable, set
101
- /// `state.reachable = false` and return.
102
- ///
103
- /// Used in combination with calling `prepare_addr` and `prepare_atomic_addr`
104
- /// when we can statically determine that a Wasm access will unconditionally
105
- /// trap.
106
- macro_rules! unwrap_or_return_unreachable_state {
107
- ($state:ident, $value:expr) => {
108
- match $value {
109
- Reachability::Reachable(x) => x,
110
- Reachability::Unreachable => {
111
- $state.reachable = false;
112
- return Ok(());
113
- }
114
- }
115
- };
116
- }
117
-
118
- /// Translates wasm operators into Cranelift IR instructions.
119
- pub fn translate_operator(
120
- validator: &mut FuncValidator<impl WasmModuleResources>,
121
- op: &Operator,
122
- operand_types: Option<&[WasmValType]>,
123
- builder: &mut FunctionBuilder,
124
- stack: &mut FuncTranslationStacks,
125
- environ: &mut FuncEnvironment<'_>,
126
- ) -> WasmResult<()> {
127
- log::trace!("Translating Wasm opcode: {op:?}");
128
-
129
- if !stack.reachable {
130
- translate_unreachable_operator(validator, &op, builder, stack, environ)?;
131
- return Ok(());
132
- }
133
-
134
- // Given that we believe the current block is reachable, the FunctionBuilder ought to agree.
135
- debug_assert!(!builder.is_unreachable());
136
-
137
- let operand_types = operand_types.unwrap_or_else(|| {
138
- panic!("should always have operand types available for valid, reachable ops; op = {op:?}")
139
- });
140
-
141
- // This big match treats all Wasm code operators.
142
- match op {
143
- /********************************** Locals ****************************************
144
- * `get_local` and `set_local` are treated as non-SSA variables and will completely
145
- * disappear in the Cranelift Code
146
- ***********************************************************************************/
147
- Operator::LocalGet { local_index } => {
148
- let val = builder.use_var(Variable::from_u32(*local_index));
149
- stack.push1(val);
150
- let label = ValueLabel::from_u32(*local_index);
151
- builder.set_val_label(val, label);
152
- }
153
- Operator::LocalSet { local_index } => {
154
- let mut val = stack.pop1();
155
-
156
- // Ensure SIMD values are cast to their default Cranelift type, I8x16.
157
- let ty = builder.func.dfg.value_type(val);
158
- if ty.is_vector() {
159
- val = optionally_bitcast_vector(val, I8X16, builder);
160
- }
161
-
162
- builder.def_var(Variable::from_u32(*local_index), val);
163
- let label = ValueLabel::from_u32(*local_index);
164
- builder.set_val_label(val, label);
165
- }
166
- Operator::LocalTee { local_index } => {
167
- let mut val = stack.peek1();
168
-
169
- // Ensure SIMD values are cast to their default Cranelift type, I8x16.
170
- let ty = builder.func.dfg.value_type(val);
171
- if ty.is_vector() {
172
- val = optionally_bitcast_vector(val, I8X16, builder);
173
- }
174
-
175
- builder.def_var(Variable::from_u32(*local_index), val);
176
- let label = ValueLabel::from_u32(*local_index);
177
- builder.set_val_label(val, label);
178
- }
179
- /********************************** Globals ****************************************
180
- * `get_global` and `set_global` are handled by the environment.
181
- ***********************************************************************************/
182
- Operator::GlobalGet { global_index } => {
183
- let global_index = GlobalIndex::from_u32(*global_index);
184
- let val = environ.translate_global_get(builder, global_index)?;
185
- stack.push1(val);
186
- }
187
- Operator::GlobalSet { global_index } => {
188
- let global_index = GlobalIndex::from_u32(*global_index);
189
- let mut val = stack.pop1();
190
- // Ensure SIMD values are cast to their default Cranelift type, I8x16.
191
- if builder.func.dfg.value_type(val).is_vector() {
192
- val = optionally_bitcast_vector(val, I8X16, builder);
193
- }
194
- environ.translate_global_set(builder, global_index, val)?;
195
- }
196
- /********************************* Stack misc ***************************************
197
- * `drop`, `nop`, `unreachable` and `select`.
198
- ***********************************************************************************/
199
- Operator::Drop => {
200
- stack.pop1();
201
- }
202
- Operator::Select => {
203
- let (mut arg1, mut arg2, cond) = stack.pop3();
204
- if builder.func.dfg.value_type(arg1).is_vector() {
205
- arg1 = optionally_bitcast_vector(arg1, I8X16, builder);
206
- }
207
- if builder.func.dfg.value_type(arg2).is_vector() {
208
- arg2 = optionally_bitcast_vector(arg2, I8X16, builder);
209
- }
210
- stack.push1(builder.ins().select(cond, arg1, arg2));
211
- }
212
- Operator::TypedSelect { ty: _ } => {
213
- // We ignore the explicit type parameter as it is only needed for
214
- // validation, which we require to have been performed before
215
- // translation.
216
- let (mut arg1, mut arg2, cond) = stack.pop3();
217
- if builder.func.dfg.value_type(arg1).is_vector() {
218
- arg1 = optionally_bitcast_vector(arg1, I8X16, builder);
219
- }
220
- if builder.func.dfg.value_type(arg2).is_vector() {
221
- arg2 = optionally_bitcast_vector(arg2, I8X16, builder);
222
- }
223
- stack.push1(builder.ins().select(cond, arg1, arg2));
224
- }
225
- Operator::Nop => {
226
- // We do nothing
227
- }
228
- Operator::Unreachable => {
229
- environ.trap(builder, crate::TRAP_UNREACHABLE);
230
- stack.reachable = false;
231
- }
232
- /***************************** Control flow blocks **********************************
233
- * When starting a control flow block, we create a new `Block` that will hold the code
234
- * after the block, and we push a frame on the control stack. Depending on the type
235
- * of block, we create a new `Block` for the body of the block with an associated
236
- * jump instruction.
237
- *
238
- * The `End` instruction pops the last control frame from the control stack, seals
239
- * the destination block (since `br` instructions targeting it only appear inside the
240
- * block and have already been translated) and modify the value stack to use the
241
- * possible `Block`'s arguments values.
242
- ***********************************************************************************/
243
- Operator::Block { blockty } => {
244
- let (params, results) = blocktype_params_results(validator, *blockty)?;
245
- let next = block_with_params(builder, results.clone(), environ)?;
246
- stack.push_block(next, params.len(), results.len());
247
- }
248
- Operator::Loop { blockty } => {
249
- let (params, results) = blocktype_params_results(validator, *blockty)?;
250
- let loop_body = block_with_params(builder, params.clone(), environ)?;
251
- let next = block_with_params(builder, results.clone(), environ)?;
252
- canonicalise_then_jump(builder, loop_body, stack.peekn(params.len()));
253
- stack.push_loop(loop_body, next, params.len(), results.len());
254
-
255
- // Pop the initial `Block` actuals and replace them with the `Block`'s
256
- // params since control flow joins at the top of the loop.
257
- stack.popn(params.len());
258
- stack
259
- .stack
260
- .extend_from_slice(builder.block_params(loop_body));
261
-
262
- builder.switch_to_block(loop_body);
263
- environ.translate_loop_header(builder)?;
264
- }
265
- Operator::If { blockty } => {
266
- let val = stack.pop1();
267
-
268
- let next_block = builder.create_block();
269
- let (params, results) = blocktype_params_results(validator, *blockty)?;
270
- let (destination, else_data) = if params.clone().eq(results.clone()) {
271
- // It is possible there is no `else` block, so we will only
272
- // allocate a block for it if/when we find the `else`. For now,
273
- // we if the condition isn't true, then we jump directly to the
274
- // destination block following the whole `if...end`. If we do end
275
- // up discovering an `else`, then we will allocate a block for it
276
- // and go back and patch the jump.
277
- let destination = block_with_params(builder, results.clone(), environ)?;
278
- let branch_inst = canonicalise_brif(
279
- builder,
280
- val,
281
- next_block,
282
- &[],
283
- destination,
284
- stack.peekn(params.len()),
285
- );
286
- (
287
- destination,
288
- ElseData::NoElse {
289
- branch_inst,
290
- placeholder: destination,
291
- },
292
- )
293
- } else {
294
- // The `if` type signature is not valid without an `else` block,
295
- // so we eagerly allocate the `else` block here.
296
- let destination = block_with_params(builder, results.clone(), environ)?;
297
- let else_block = block_with_params(builder, params.clone(), environ)?;
298
- canonicalise_brif(
299
- builder,
300
- val,
301
- next_block,
302
- &[],
303
- else_block,
304
- stack.peekn(params.len()),
305
- );
306
- builder.seal_block(else_block);
307
- (destination, ElseData::WithElse { else_block })
308
- };
309
-
310
- builder.seal_block(next_block); // Only predecessor is the current block.
311
- builder.switch_to_block(next_block);
312
-
313
- // Here we append an argument to a Block targeted by an argumentless jump instruction
314
- // But in fact there are two cases:
315
- // - either the If does not have a Else clause, in that case ty = EmptyBlock
316
- // and we add nothing;
317
- // - either the If have an Else clause, in that case the destination of this jump
318
- // instruction will be changed later when we translate the Else operator.
319
- stack.push_if(
320
- destination,
321
- else_data,
322
- params.len(),
323
- results.len(),
324
- *blockty,
325
- );
326
- }
327
- Operator::Else => {
328
- let i = stack.control_stack.len() - 1;
329
- match stack.control_stack[i] {
330
- ControlStackFrame::If {
331
- ref else_data,
332
- head_is_reachable,
333
- ref mut consequent_ends_reachable,
334
- num_return_values,
335
- blocktype,
336
- destination,
337
- ..
338
- } => {
339
- // We finished the consequent, so record its final
340
- // reachability state.
341
- debug_assert!(consequent_ends_reachable.is_none());
342
- *consequent_ends_reachable = Some(stack.reachable);
343
-
344
- if head_is_reachable {
345
- // We have a branch from the head of the `if` to the `else`.
346
- stack.reachable = true;
347
-
348
- // Ensure we have a block for the `else` block (it may have
349
- // already been pre-allocated, see `ElseData` for details).
350
- let else_block = match *else_data {
351
- ElseData::NoElse {
352
- branch_inst,
353
- placeholder,
354
- } => {
355
- let (params, _results) =
356
- blocktype_params_results(validator, blocktype)?;
357
- debug_assert_eq!(params.len(), num_return_values);
358
- let else_block =
359
- block_with_params(builder, params.clone(), environ)?;
360
- canonicalise_then_jump(
361
- builder,
362
- destination,
363
- stack.peekn(params.len()),
364
- );
365
- stack.popn(params.len());
366
-
367
- builder.change_jump_destination(
368
- branch_inst,
369
- placeholder,
370
- else_block,
371
- );
372
- builder.seal_block(else_block);
373
- else_block
374
- }
375
- ElseData::WithElse { else_block } => {
376
- canonicalise_then_jump(
377
- builder,
378
- destination,
379
- stack.peekn(num_return_values),
380
- );
381
- stack.popn(num_return_values);
382
- else_block
383
- }
384
- };
385
-
386
- // You might be expecting that we push the parameters for this
387
- // `else` block here, something like this:
388
- //
389
- // state.pushn(&control_stack_frame.params);
390
- //
391
- // We don't do that because they are already on the top of the stack
392
- // for us: we pushed the parameters twice when we saw the initial
393
- // `if` so that we wouldn't have to save the parameters in the
394
- // `ControlStackFrame` as another `Vec` allocation.
395
-
396
- builder.switch_to_block(else_block);
397
-
398
- // We don't bother updating the control frame's `ElseData`
399
- // to `WithElse` because nothing else will read it.
400
- }
401
- }
402
- _ => unreachable!(),
403
- }
404
- }
405
- Operator::End => {
406
- let frame = stack.control_stack.pop().unwrap();
407
- let next_block = frame.following_code();
408
- let return_count = frame.num_return_values();
409
- let return_args = stack.peekn_mut(return_count);
410
-
411
- canonicalise_then_jump(builder, next_block, return_args);
412
- // You might expect that if we just finished an `if` block that
413
- // didn't have a corresponding `else` block, then we would clean
414
- // up our duplicate set of parameters that we pushed earlier
415
- // right here. However, we don't have to explicitly do that,
416
- // since we truncate the stack back to the original height
417
- // below.
418
-
419
- builder.switch_to_block(next_block);
420
- builder.seal_block(next_block);
421
-
422
- // If it is a loop we also have to seal the body loop block
423
- if let ControlStackFrame::Loop { header, .. } = frame {
424
- builder.seal_block(header)
425
- }
426
-
427
- frame.truncate_value_stack_to_original_size(&mut stack.stack);
428
- stack
429
- .stack
430
- .extend_from_slice(builder.block_params(next_block));
431
- }
432
- /**************************** Branch instructions *********************************
433
- * The branch instructions all have as arguments a target nesting level, which
434
- * corresponds to how many control stack frames do we have to pop to get the
435
- * destination `Block`.
436
- *
437
- * Once the destination `Block` is found, we sometimes have to declare a certain depth
438
- * of the stack unreachable, because some branch instructions are terminator.
439
- *
440
- * The `br_table` case is much more complicated because Cranelift's `br_table` instruction
441
- * does not support jump arguments like all the other branch instructions. That is why, in
442
- * the case where we would use jump arguments for every other branch instruction, we
443
- * need to split the critical edges leaving the `br_tables` by creating one `Block` per
444
- * table destination; the `br_table` will point to these newly created `Blocks` and these
445
- * `Block`s contain only a jump instruction pointing to the final destination, this time with
446
- * jump arguments.
447
- *
448
- * This system is also implemented in Cranelift's SSA construction algorithm, because
449
- * `use_var` located in a destination `Block` of a `br_table` might trigger the addition
450
- * of jump arguments in each predecessor branch instruction, one of which might be a
451
- * `br_table`.
452
- ***********************************************************************************/
453
- Operator::Br { relative_depth } => {
454
- let i = stack.control_stack.len() - 1 - (*relative_depth as usize);
455
- let (return_count, br_destination) = {
456
- let frame = &mut stack.control_stack[i];
457
- // We signal that all the code that follows until the next End is unreachable
458
- frame.set_branched_to_exit();
459
- let return_count = if frame.is_loop() {
460
- frame.num_param_values()
461
- } else {
462
- frame.num_return_values()
463
- };
464
- (return_count, frame.br_destination())
465
- };
466
- let destination_args = stack.peekn_mut(return_count);
467
- canonicalise_then_jump(builder, br_destination, destination_args);
468
- stack.popn(return_count);
469
- stack.reachable = false;
470
- }
471
- Operator::BrIf { relative_depth } => translate_br_if(*relative_depth, builder, stack),
472
- Operator::BrTable { targets } => {
473
- let default = targets.default();
474
- let mut min_depth = default;
475
- for depth in targets.targets() {
476
- let depth = depth?;
477
- if depth < min_depth {
478
- min_depth = depth;
479
- }
480
- }
481
- let jump_args_count = {
482
- let i = stack.control_stack.len() - 1 - (min_depth as usize);
483
- let min_depth_frame = &stack.control_stack[i];
484
- if min_depth_frame.is_loop() {
485
- min_depth_frame.num_param_values()
486
- } else {
487
- min_depth_frame.num_return_values()
488
- }
489
- };
490
- let val = stack.pop1();
491
- let mut data = Vec::with_capacity(targets.len() as usize);
492
- if jump_args_count == 0 {
493
- // No jump arguments
494
- for depth in targets.targets() {
495
- let depth = depth?;
496
- let block = {
497
- let i = stack.control_stack.len() - 1 - (depth as usize);
498
- let frame = &mut stack.control_stack[i];
499
- frame.set_branched_to_exit();
500
- frame.br_destination()
501
- };
502
- data.push(builder.func.dfg.block_call(block, &[]));
503
- }
504
- let block = {
505
- let i = stack.control_stack.len() - 1 - (default as usize);
506
- let frame = &mut stack.control_stack[i];
507
- frame.set_branched_to_exit();
508
- frame.br_destination()
509
- };
510
- let block = builder.func.dfg.block_call(block, &[]);
511
- let jt = builder.create_jump_table(JumpTableData::new(block, &data));
512
- builder.ins().br_table(val, jt);
513
- } else {
514
- // Here we have jump arguments, but Cranelift's br_table doesn't support them
515
- // We then proceed to split the edges going out of the br_table
516
- let return_count = jump_args_count;
517
- let mut dest_block_sequence = vec![];
518
- let mut dest_block_map = HashMap::new();
519
- for depth in targets.targets() {
520
- let depth = depth?;
521
- let branch_block = match dest_block_map.entry(depth as usize) {
522
- hash_map::Entry::Occupied(entry) => *entry.get(),
523
- hash_map::Entry::Vacant(entry) => {
524
- let block = builder.create_block();
525
- dest_block_sequence.push((depth as usize, block));
526
- *entry.insert(block)
527
- }
528
- };
529
- data.push(builder.func.dfg.block_call(branch_block, &[]));
530
- }
531
- let default_branch_block = match dest_block_map.entry(default as usize) {
532
- hash_map::Entry::Occupied(entry) => *entry.get(),
533
- hash_map::Entry::Vacant(entry) => {
534
- let block = builder.create_block();
535
- dest_block_sequence.push((default as usize, block));
536
- *entry.insert(block)
537
- }
538
- };
539
- let default_branch_block = builder.func.dfg.block_call(default_branch_block, &[]);
540
- let jt = builder.create_jump_table(JumpTableData::new(default_branch_block, &data));
541
- builder.ins().br_table(val, jt);
542
- for (depth, dest_block) in dest_block_sequence {
543
- builder.switch_to_block(dest_block);
544
- builder.seal_block(dest_block);
545
- let real_dest_block = {
546
- let i = stack.control_stack.len() - 1 - depth;
547
- let frame = &mut stack.control_stack[i];
548
- frame.set_branched_to_exit();
549
- frame.br_destination()
550
- };
551
- let destination_args = stack.peekn_mut(return_count);
552
- canonicalise_then_jump(builder, real_dest_block, destination_args);
553
- }
554
- stack.popn(return_count);
555
- }
556
- stack.reachable = false;
557
- }
558
- Operator::Return => {
559
- let return_count = {
560
- let frame = &mut stack.control_stack[0];
561
- frame.num_return_values()
562
- };
563
- {
564
- let return_args = stack.peekn_mut(return_count);
565
- environ.handle_before_return(&return_args, builder);
566
- bitcast_wasm_returns(return_args, builder);
567
- builder.ins().return_(return_args);
568
- }
569
- stack.popn(return_count);
570
- stack.reachable = false;
571
- }
572
- /********************************** Exception handing **********************************/
573
- Operator::Try { .. }
574
- | Operator::Catch { .. }
575
- | Operator::Throw { .. }
576
- | Operator::Rethrow { .. }
577
- | Operator::Delegate { .. }
578
- | Operator::CatchAll => {
579
- return Err(wasm_unsupported!(
580
- "proposed exception handling operator {:?}",
581
- op
582
- ));
583
- }
584
- /************************************ Calls ****************************************
585
- * The call instructions pop off their arguments from the stack and append their
586
- * return values to it. `call_indirect` needs environment support because there is an
587
- * argument referring to an index in the external functions table of the module.
588
- ************************************************************************************/
589
- Operator::Call { function_index } => {
590
- let function_index = FuncIndex::from_u32(*function_index);
591
- let fref = environ.get_or_create_func_ref(builder.func, function_index);
592
- let num_args = environ.num_params_for_func(function_index);
593
-
594
- // Bitcast any vector arguments to their default type, I8X16, before calling.
595
- let args = stack.peekn_mut(num_args);
596
- bitcast_wasm_params(
597
- environ,
598
- builder.func.dfg.ext_funcs[fref].signature,
599
- args,
600
- builder,
601
- );
602
-
603
- let call = environ.translate_call(builder, function_index, fref, args)?;
604
- let inst_results = builder.inst_results(call);
605
- debug_assert_eq!(
606
- inst_results.len(),
607
- builder.func.dfg.signatures[builder.func.dfg.ext_funcs[fref].signature]
608
- .returns
609
- .len(),
610
- "translate_call results should match the call signature"
611
- );
612
- stack.popn(num_args);
613
- stack.pushn(inst_results);
614
- }
615
- Operator::CallIndirect {
616
- type_index,
617
- table_index,
618
- } => {
619
- // `type_index` is the index of the function's signature and
620
- // `table_index` is the index of the table to search the function
621
- // in.
622
- let type_index = TypeIndex::from_u32(*type_index);
623
- let sigref = environ.get_or_create_sig_ref(builder.func, type_index);
624
- let num_args = environ.num_params_for_function_type(type_index);
625
- let callee = stack.pop1();
626
-
627
- // Bitcast any vector arguments to their default type, I8X16, before calling.
628
- let args = stack.peekn_mut(num_args);
629
- bitcast_wasm_params(environ, sigref, args, builder);
630
-
631
- let call = environ.translate_call_indirect(
632
- builder,
633
- validator.features(),
634
- TableIndex::from_u32(*table_index),
635
- type_index,
636
- sigref,
637
- callee,
638
- stack.peekn(num_args),
639
- )?;
640
- let call = match call {
641
- Some(call) => call,
642
- None => {
643
- stack.reachable = false;
644
- return Ok(());
645
- }
646
- };
647
- let inst_results = builder.inst_results(call);
648
- debug_assert_eq!(
649
- inst_results.len(),
650
- builder.func.dfg.signatures[sigref].returns.len(),
651
- "translate_call_indirect results should match the call signature"
652
- );
653
- stack.popn(num_args);
654
- stack.pushn(inst_results);
655
- }
656
- /******************************* Tail Calls ******************************************
657
- * The tail call instructions pop their arguments from the stack and
658
- * then permanently transfer control to their callee. The indirect
659
- * version requires environment support (while the direct version can
660
- * optionally be hooked but doesn't require it) it interacts with the
661
- * VM's runtime state via tables.
662
- ************************************************************************************/
663
- Operator::ReturnCall { function_index } => {
664
- let function_index = FuncIndex::from_u32(*function_index);
665
- let fref = environ.get_or_create_func_ref(builder.func, function_index);
666
- let num_args = environ.num_params_for_func(function_index);
667
-
668
- // Bitcast any vector arguments to their default type, I8X16, before calling.
669
- let args = stack.peekn_mut(num_args);
670
- bitcast_wasm_params(
671
- environ,
672
- builder.func.dfg.ext_funcs[fref].signature,
673
- args,
674
- builder,
675
- );
676
-
677
- environ.translate_return_call(builder, function_index, fref, args)?;
678
-
679
- stack.popn(num_args);
680
- stack.reachable = false;
681
- }
682
- Operator::ReturnCallIndirect {
683
- type_index,
684
- table_index,
685
- } => {
686
- // `type_index` is the index of the function's signature and
687
- // `table_index` is the index of the table to search the function
688
- // in.
689
- let type_index = TypeIndex::from_u32(*type_index);
690
- let sigref = environ.get_or_create_sig_ref(builder.func, type_index);
691
- let num_args = environ.num_params_for_function_type(type_index);
692
- let callee = stack.pop1();
693
-
694
- // Bitcast any vector arguments to their default type, I8X16, before calling.
695
- let args = stack.peekn_mut(num_args);
696
- bitcast_wasm_params(environ, sigref, args, builder);
697
-
698
- environ.translate_return_call_indirect(
699
- builder,
700
- validator.features(),
701
- TableIndex::from_u32(*table_index),
702
- type_index,
703
- sigref,
704
- callee,
705
- stack.peekn(num_args),
706
- )?;
707
-
708
- stack.popn(num_args);
709
- stack.reachable = false;
710
- }
711
- Operator::ReturnCallRef { type_index } => {
712
- // Get function signature
713
- // `index` is the index of the function's signature and `table_index` is the index of
714
- // the table to search the function in.
715
- let type_index = TypeIndex::from_u32(*type_index);
716
- let sigref = environ.get_or_create_sig_ref(builder.func, type_index);
717
- let num_args = environ.num_params_for_function_type(type_index);
718
- let callee = stack.pop1();
719
-
720
- // Bitcast any vector arguments to their default type, I8X16, before calling.
721
- let args = stack.peekn_mut(num_args);
722
- bitcast_wasm_params(environ, sigref, args, builder);
723
-
724
- environ.translate_return_call_ref(builder, sigref, callee, stack.peekn(num_args))?;
725
-
726
- stack.popn(num_args);
727
- stack.reachable = false;
728
- }
729
- /******************************* Memory management ***********************************
730
- * Memory management is handled by environment. It is usually translated into calls to
731
- * special functions.
732
- ************************************************************************************/
733
- Operator::MemoryGrow { mem } => {
734
- // The WebAssembly MVP only supports one linear memory, but we expect the reserved
735
- // argument to be a memory index.
736
- let mem = MemoryIndex::from_u32(*mem);
737
- let _heap = environ.get_or_create_heap(builder.func, mem);
738
- let val = stack.pop1();
739
- environ.before_memory_grow(builder, val, mem);
740
- stack.push1(environ.translate_memory_grow(builder, mem, val)?)
741
- }
742
- Operator::MemorySize { mem } => {
743
- let mem = MemoryIndex::from_u32(*mem);
744
- let _heap = environ.get_or_create_heap(builder.func, mem);
745
- stack.push1(environ.translate_memory_size(builder.cursor(), mem)?);
746
- }
747
- /******************************* Load instructions ***********************************
748
- * Wasm specifies an integer alignment flag but we drop it in Cranelift.
749
- * The memory base address is provided by the environment.
750
- ************************************************************************************/
751
- Operator::I32Load8U { memarg } => {
752
- unwrap_or_return_unreachable_state!(
753
- stack,
754
- translate_load(memarg, ir::Opcode::Uload8, I32, builder, stack, environ)?
755
- );
756
- }
757
- Operator::I32Load16U { memarg } => {
758
- unwrap_or_return_unreachable_state!(
759
- stack,
760
- translate_load(memarg, ir::Opcode::Uload16, I32, builder, stack, environ)?
761
- );
762
- }
763
- Operator::I32Load8S { memarg } => {
764
- unwrap_or_return_unreachable_state!(
765
- stack,
766
- translate_load(memarg, ir::Opcode::Sload8, I32, builder, stack, environ)?
767
- );
768
- }
769
- Operator::I32Load16S { memarg } => {
770
- unwrap_or_return_unreachable_state!(
771
- stack,
772
- translate_load(memarg, ir::Opcode::Sload16, I32, builder, stack, environ)?
773
- );
774
- }
775
- Operator::I64Load8U { memarg } => {
776
- unwrap_or_return_unreachable_state!(
777
- stack,
778
- translate_load(memarg, ir::Opcode::Uload8, I64, builder, stack, environ)?
779
- );
780
- }
781
- Operator::I64Load16U { memarg } => {
782
- unwrap_or_return_unreachable_state!(
783
- stack,
784
- translate_load(memarg, ir::Opcode::Uload16, I64, builder, stack, environ)?
785
- );
786
- }
787
- Operator::I64Load8S { memarg } => {
788
- unwrap_or_return_unreachable_state!(
789
- stack,
790
- translate_load(memarg, ir::Opcode::Sload8, I64, builder, stack, environ)?
791
- );
792
- }
793
- Operator::I64Load16S { memarg } => {
794
- unwrap_or_return_unreachable_state!(
795
- stack,
796
- translate_load(memarg, ir::Opcode::Sload16, I64, builder, stack, environ)?
797
- );
798
- }
799
- Operator::I64Load32S { memarg } => {
800
- unwrap_or_return_unreachable_state!(
801
- stack,
802
- translate_load(memarg, ir::Opcode::Sload32, I64, builder, stack, environ)?
803
- );
804
- }
805
- Operator::I64Load32U { memarg } => {
806
- unwrap_or_return_unreachable_state!(
807
- stack,
808
- translate_load(memarg, ir::Opcode::Uload32, I64, builder, stack, environ)?
809
- );
810
- }
811
- Operator::I32Load { memarg } => {
812
- unwrap_or_return_unreachable_state!(
813
- stack,
814
- translate_load(memarg, ir::Opcode::Load, I32, builder, stack, environ)?
815
- );
816
- }
817
- Operator::F32Load { memarg } => {
818
- unwrap_or_return_unreachable_state!(
819
- stack,
820
- translate_load(memarg, ir::Opcode::Load, F32, builder, stack, environ)?
821
- );
822
- }
823
- Operator::I64Load { memarg } => {
824
- unwrap_or_return_unreachable_state!(
825
- stack,
826
- translate_load(memarg, ir::Opcode::Load, I64, builder, stack, environ)?
827
- );
828
- }
829
- Operator::F64Load { memarg } => {
830
- unwrap_or_return_unreachable_state!(
831
- stack,
832
- translate_load(memarg, ir::Opcode::Load, F64, builder, stack, environ)?
833
- );
834
- }
835
- Operator::V128Load { memarg } => {
836
- unwrap_or_return_unreachable_state!(
837
- stack,
838
- translate_load(memarg, ir::Opcode::Load, I8X16, builder, stack, environ)?
839
- );
840
- }
841
- Operator::V128Load8x8S { memarg } => {
842
- //TODO(#6829): add before_load() and before_store() hooks for SIMD loads and stores.
843
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
844
- stack,
845
- prepare_addr(memarg, 8, builder, stack, environ)?
846
- );
847
- let loaded = builder.ins().sload8x8(flags, base, 0);
848
- stack.push1(loaded);
849
- }
850
- Operator::V128Load8x8U { memarg } => {
851
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
852
- stack,
853
- prepare_addr(memarg, 8, builder, stack, environ)?
854
- );
855
- let loaded = builder.ins().uload8x8(flags, base, 0);
856
- stack.push1(loaded);
857
- }
858
- Operator::V128Load16x4S { memarg } => {
859
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
860
- stack,
861
- prepare_addr(memarg, 8, builder, stack, environ)?
862
- );
863
- let loaded = builder.ins().sload16x4(flags, base, 0);
864
- stack.push1(loaded);
865
- }
866
- Operator::V128Load16x4U { memarg } => {
867
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
868
- stack,
869
- prepare_addr(memarg, 8, builder, stack, environ)?
870
- );
871
- let loaded = builder.ins().uload16x4(flags, base, 0);
872
- stack.push1(loaded);
873
- }
874
- Operator::V128Load32x2S { memarg } => {
875
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
876
- stack,
877
- prepare_addr(memarg, 8, builder, stack, environ)?
878
- );
879
- let loaded = builder.ins().sload32x2(flags, base, 0);
880
- stack.push1(loaded);
881
- }
882
- Operator::V128Load32x2U { memarg } => {
883
- let (flags, _, base) = unwrap_or_return_unreachable_state!(
884
- stack,
885
- prepare_addr(memarg, 8, builder, stack, environ)?
886
- );
887
- let loaded = builder.ins().uload32x2(flags, base, 0);
888
- stack.push1(loaded);
889
- }
890
- /****************************** Store instructions ***********************************
891
- * Wasm specifies an integer alignment flag but we drop it in Cranelift.
892
- * The memory base address is provided by the environment.
893
- ************************************************************************************/
894
- Operator::I32Store { memarg }
895
- | Operator::I64Store { memarg }
896
- | Operator::F32Store { memarg }
897
- | Operator::F64Store { memarg } => {
898
- translate_store(memarg, ir::Opcode::Store, builder, stack, environ)?;
899
- }
900
- Operator::I32Store8 { memarg } | Operator::I64Store8 { memarg } => {
901
- translate_store(memarg, ir::Opcode::Istore8, builder, stack, environ)?;
902
- }
903
- Operator::I32Store16 { memarg } | Operator::I64Store16 { memarg } => {
904
- translate_store(memarg, ir::Opcode::Istore16, builder, stack, environ)?;
905
- }
906
- Operator::I64Store32 { memarg } => {
907
- translate_store(memarg, ir::Opcode::Istore32, builder, stack, environ)?;
908
- }
909
- Operator::V128Store { memarg } => {
910
- translate_store(memarg, ir::Opcode::Store, builder, stack, environ)?;
911
- }
912
- /****************************** Nullary Operators ************************************/
913
- Operator::I32Const { value } => {
914
- stack.push1(builder.ins().iconst(I32, i64::from(value.unsigned())));
915
- }
916
- Operator::I64Const { value } => stack.push1(builder.ins().iconst(I64, *value)),
917
- Operator::F32Const { value } => {
918
- stack.push1(builder.ins().f32const(f32_translation(*value)));
919
- }
920
- Operator::F64Const { value } => {
921
- stack.push1(builder.ins().f64const(f64_translation(*value)));
922
- }
923
- /******************************* Unary Operators *************************************/
924
- Operator::I32Clz | Operator::I64Clz => {
925
- let arg = stack.pop1();
926
- stack.push1(builder.ins().clz(arg));
927
- }
928
- Operator::I32Ctz | Operator::I64Ctz => {
929
- let arg = stack.pop1();
930
- stack.push1(builder.ins().ctz(arg));
931
- }
932
- Operator::I32Popcnt | Operator::I64Popcnt => {
933
- let arg = stack.pop1();
934
- stack.push1(builder.ins().popcnt(arg));
935
- }
936
- Operator::I64ExtendI32S => {
937
- let val = stack.pop1();
938
- stack.push1(builder.ins().sextend(I64, val));
939
- }
940
- Operator::I64ExtendI32U => {
941
- let val = stack.pop1();
942
- stack.push1(builder.ins().uextend(I64, val));
943
- }
944
- Operator::I32WrapI64 => {
945
- let val = stack.pop1();
946
- stack.push1(builder.ins().ireduce(I32, val));
947
- }
948
- Operator::F32Sqrt | Operator::F64Sqrt => {
949
- let arg = stack.pop1();
950
- stack.push1(builder.ins().sqrt(arg));
951
- }
952
- Operator::F32Ceil => {
953
- let arg = stack.pop1();
954
- stack.push1(environ.ceil_f32(builder, arg));
955
- }
956
- Operator::F64Ceil => {
957
- let arg = stack.pop1();
958
- stack.push1(environ.ceil_f64(builder, arg));
959
- }
960
- Operator::F32Floor => {
961
- let arg = stack.pop1();
962
- stack.push1(environ.floor_f32(builder, arg));
963
- }
964
- Operator::F64Floor => {
965
- let arg = stack.pop1();
966
- stack.push1(environ.floor_f64(builder, arg));
967
- }
968
- Operator::F32Trunc => {
969
- let arg = stack.pop1();
970
- stack.push1(environ.trunc_f32(builder, arg));
971
- }
972
- Operator::F64Trunc => {
973
- let arg = stack.pop1();
974
- stack.push1(environ.trunc_f64(builder, arg));
975
- }
976
- Operator::F32Nearest => {
977
- let arg = stack.pop1();
978
- stack.push1(environ.nearest_f32(builder, arg));
979
- }
980
- Operator::F64Nearest => {
981
- let arg = stack.pop1();
982
- stack.push1(environ.nearest_f64(builder, arg));
983
- }
984
- Operator::F32Abs | Operator::F64Abs => {
985
- let val = stack.pop1();
986
- stack.push1(builder.ins().fabs(val));
987
- }
988
- Operator::F32Neg | Operator::F64Neg => {
989
- let arg = stack.pop1();
990
- stack.push1(builder.ins().fneg(arg));
991
- }
992
- Operator::F64ConvertI64U | Operator::F64ConvertI32U => {
993
- let val = stack.pop1();
994
- stack.push1(builder.ins().fcvt_from_uint(F64, val));
995
- }
996
- Operator::F64ConvertI64S | Operator::F64ConvertI32S => {
997
- let val = stack.pop1();
998
- stack.push1(builder.ins().fcvt_from_sint(F64, val));
999
- }
1000
- Operator::F32ConvertI64S | Operator::F32ConvertI32S => {
1001
- let val = stack.pop1();
1002
- stack.push1(builder.ins().fcvt_from_sint(F32, val));
1003
- }
1004
- Operator::F32ConvertI64U | Operator::F32ConvertI32U => {
1005
- let val = stack.pop1();
1006
- stack.push1(builder.ins().fcvt_from_uint(F32, val));
1007
- }
1008
- Operator::F64PromoteF32 => {
1009
- let val = stack.pop1();
1010
- stack.push1(builder.ins().fpromote(F64, val));
1011
- }
1012
- Operator::F32DemoteF64 => {
1013
- let val = stack.pop1();
1014
- stack.push1(builder.ins().fdemote(F32, val));
1015
- }
1016
- Operator::I64TruncF64S | Operator::I64TruncF32S => {
1017
- let val = stack.pop1();
1018
- stack.push1(environ.translate_fcvt_to_sint(builder, I64, val));
1019
- }
1020
- Operator::I32TruncF64S | Operator::I32TruncF32S => {
1021
- let val = stack.pop1();
1022
- stack.push1(environ.translate_fcvt_to_sint(builder, I32, val));
1023
- }
1024
- Operator::I64TruncF64U | Operator::I64TruncF32U => {
1025
- let val = stack.pop1();
1026
- stack.push1(environ.translate_fcvt_to_uint(builder, I64, val));
1027
- }
1028
- Operator::I32TruncF64U | Operator::I32TruncF32U => {
1029
- let val = stack.pop1();
1030
- stack.push1(environ.translate_fcvt_to_uint(builder, I32, val));
1031
- }
1032
- Operator::I64TruncSatF64S | Operator::I64TruncSatF32S => {
1033
- let val = stack.pop1();
1034
- stack.push1(builder.ins().fcvt_to_sint_sat(I64, val));
1035
- }
1036
- Operator::I32TruncSatF64S | Operator::I32TruncSatF32S => {
1037
- let val = stack.pop1();
1038
- stack.push1(builder.ins().fcvt_to_sint_sat(I32, val));
1039
- }
1040
- Operator::I64TruncSatF64U | Operator::I64TruncSatF32U => {
1041
- let val = stack.pop1();
1042
- stack.push1(builder.ins().fcvt_to_uint_sat(I64, val));
1043
- }
1044
- Operator::I32TruncSatF64U | Operator::I32TruncSatF32U => {
1045
- let val = stack.pop1();
1046
- stack.push1(builder.ins().fcvt_to_uint_sat(I32, val));
1047
- }
1048
- Operator::F32ReinterpretI32 => {
1049
- let val = stack.pop1();
1050
- stack.push1(builder.ins().bitcast(F32, MemFlags::new(), val));
1051
- }
1052
- Operator::F64ReinterpretI64 => {
1053
- let val = stack.pop1();
1054
- stack.push1(builder.ins().bitcast(F64, MemFlags::new(), val));
1055
- }
1056
- Operator::I32ReinterpretF32 => {
1057
- let val = stack.pop1();
1058
- stack.push1(builder.ins().bitcast(I32, MemFlags::new(), val));
1059
- }
1060
- Operator::I64ReinterpretF64 => {
1061
- let val = stack.pop1();
1062
- stack.push1(builder.ins().bitcast(I64, MemFlags::new(), val));
1063
- }
1064
- Operator::I32Extend8S => {
1065
- let val = stack.pop1();
1066
- stack.push1(builder.ins().ireduce(I8, val));
1067
- let val = stack.pop1();
1068
- stack.push1(builder.ins().sextend(I32, val));
1069
- }
1070
- Operator::I32Extend16S => {
1071
- let val = stack.pop1();
1072
- stack.push1(builder.ins().ireduce(I16, val));
1073
- let val = stack.pop1();
1074
- stack.push1(builder.ins().sextend(I32, val));
1075
- }
1076
- Operator::I64Extend8S => {
1077
- let val = stack.pop1();
1078
- stack.push1(builder.ins().ireduce(I8, val));
1079
- let val = stack.pop1();
1080
- stack.push1(builder.ins().sextend(I64, val));
1081
- }
1082
- Operator::I64Extend16S => {
1083
- let val = stack.pop1();
1084
- stack.push1(builder.ins().ireduce(I16, val));
1085
- let val = stack.pop1();
1086
- stack.push1(builder.ins().sextend(I64, val));
1087
- }
1088
- Operator::I64Extend32S => {
1089
- let val = stack.pop1();
1090
- stack.push1(builder.ins().ireduce(I32, val));
1091
- let val = stack.pop1();
1092
- stack.push1(builder.ins().sextend(I64, val));
1093
- }
1094
- /****************************** Binary Operators ************************************/
1095
- Operator::I32Add | Operator::I64Add => {
1096
- let (arg1, arg2) = stack.pop2();
1097
- stack.push1(builder.ins().iadd(arg1, arg2));
1098
- }
1099
- Operator::I32And | Operator::I64And => {
1100
- let (arg1, arg2) = stack.pop2();
1101
- stack.push1(builder.ins().band(arg1, arg2));
1102
- }
1103
- Operator::I32Or | Operator::I64Or => {
1104
- let (arg1, arg2) = stack.pop2();
1105
- stack.push1(builder.ins().bor(arg1, arg2));
1106
- }
1107
- Operator::I32Xor | Operator::I64Xor => {
1108
- let (arg1, arg2) = stack.pop2();
1109
- stack.push1(builder.ins().bxor(arg1, arg2));
1110
- }
1111
- Operator::I32Shl | Operator::I64Shl => {
1112
- let (arg1, arg2) = stack.pop2();
1113
- stack.push1(builder.ins().ishl(arg1, arg2));
1114
- }
1115
- Operator::I32ShrS | Operator::I64ShrS => {
1116
- let (arg1, arg2) = stack.pop2();
1117
- stack.push1(builder.ins().sshr(arg1, arg2));
1118
- }
1119
- Operator::I32ShrU | Operator::I64ShrU => {
1120
- let (arg1, arg2) = stack.pop2();
1121
- stack.push1(builder.ins().ushr(arg1, arg2));
1122
- }
1123
- Operator::I32Rotl | Operator::I64Rotl => {
1124
- let (arg1, arg2) = stack.pop2();
1125
- stack.push1(builder.ins().rotl(arg1, arg2));
1126
- }
1127
- Operator::I32Rotr | Operator::I64Rotr => {
1128
- let (arg1, arg2) = stack.pop2();
1129
- stack.push1(builder.ins().rotr(arg1, arg2));
1130
- }
1131
- Operator::F32Add | Operator::F64Add => {
1132
- let (arg1, arg2) = stack.pop2();
1133
- stack.push1(builder.ins().fadd(arg1, arg2));
1134
- }
1135
- Operator::I32Sub | Operator::I64Sub => {
1136
- let (arg1, arg2) = stack.pop2();
1137
- stack.push1(builder.ins().isub(arg1, arg2));
1138
- }
1139
- Operator::F32Sub | Operator::F64Sub => {
1140
- let (arg1, arg2) = stack.pop2();
1141
- stack.push1(builder.ins().fsub(arg1, arg2));
1142
- }
1143
- Operator::I32Mul | Operator::I64Mul => {
1144
- let (arg1, arg2) = stack.pop2();
1145
- stack.push1(builder.ins().imul(arg1, arg2));
1146
- }
1147
- Operator::F32Mul | Operator::F64Mul => {
1148
- let (arg1, arg2) = stack.pop2();
1149
- stack.push1(builder.ins().fmul(arg1, arg2));
1150
- }
1151
- Operator::F32Div | Operator::F64Div => {
1152
- let (arg1, arg2) = stack.pop2();
1153
- stack.push1(builder.ins().fdiv(arg1, arg2));
1154
- }
1155
- Operator::I32DivS | Operator::I64DivS => {
1156
- let (arg1, arg2) = stack.pop2();
1157
- stack.push1(environ.translate_sdiv(builder, arg1, arg2));
1158
- }
1159
- Operator::I32DivU | Operator::I64DivU => {
1160
- let (arg1, arg2) = stack.pop2();
1161
- stack.push1(environ.translate_udiv(builder, arg1, arg2));
1162
- }
1163
- Operator::I32RemS | Operator::I64RemS => {
1164
- let (arg1, arg2) = stack.pop2();
1165
- stack.push1(environ.translate_srem(builder, arg1, arg2));
1166
- }
1167
- Operator::I32RemU | Operator::I64RemU => {
1168
- let (arg1, arg2) = stack.pop2();
1169
- stack.push1(environ.translate_urem(builder, arg1, arg2));
1170
- }
1171
- Operator::F32Min | Operator::F64Min => {
1172
- let (arg1, arg2) = stack.pop2();
1173
- stack.push1(builder.ins().fmin(arg1, arg2));
1174
- }
1175
- Operator::F32Max | Operator::F64Max => {
1176
- let (arg1, arg2) = stack.pop2();
1177
- stack.push1(builder.ins().fmax(arg1, arg2));
1178
- }
1179
- Operator::F32Copysign | Operator::F64Copysign => {
1180
- let (arg1, arg2) = stack.pop2();
1181
- stack.push1(builder.ins().fcopysign(arg1, arg2));
1182
- }
1183
- /**************************** Comparison Operators **********************************/
1184
- Operator::I32LtS | Operator::I64LtS => {
1185
- translate_icmp(IntCC::SignedLessThan, builder, stack)
1186
- }
1187
- Operator::I32LtU | Operator::I64LtU => {
1188
- translate_icmp(IntCC::UnsignedLessThan, builder, stack)
1189
- }
1190
- Operator::I32LeS | Operator::I64LeS => {
1191
- translate_icmp(IntCC::SignedLessThanOrEqual, builder, stack)
1192
- }
1193
- Operator::I32LeU | Operator::I64LeU => {
1194
- translate_icmp(IntCC::UnsignedLessThanOrEqual, builder, stack)
1195
- }
1196
- Operator::I32GtS | Operator::I64GtS => {
1197
- translate_icmp(IntCC::SignedGreaterThan, builder, stack)
1198
- }
1199
- Operator::I32GtU | Operator::I64GtU => {
1200
- translate_icmp(IntCC::UnsignedGreaterThan, builder, stack)
1201
- }
1202
- Operator::I32GeS | Operator::I64GeS => {
1203
- translate_icmp(IntCC::SignedGreaterThanOrEqual, builder, stack)
1204
- }
1205
- Operator::I32GeU | Operator::I64GeU => {
1206
- translate_icmp(IntCC::UnsignedGreaterThanOrEqual, builder, stack)
1207
- }
1208
- Operator::I32Eqz | Operator::I64Eqz => {
1209
- let arg = stack.pop1();
1210
- let val = builder.ins().icmp_imm(IntCC::Equal, arg, 0);
1211
- stack.push1(builder.ins().uextend(I32, val));
1212
- }
1213
- Operator::I32Eq | Operator::I64Eq => translate_icmp(IntCC::Equal, builder, stack),
1214
- Operator::F32Eq | Operator::F64Eq => translate_fcmp(FloatCC::Equal, builder, stack),
1215
- Operator::I32Ne | Operator::I64Ne => translate_icmp(IntCC::NotEqual, builder, stack),
1216
- Operator::F32Ne | Operator::F64Ne => translate_fcmp(FloatCC::NotEqual, builder, stack),
1217
- Operator::F32Gt | Operator::F64Gt => translate_fcmp(FloatCC::GreaterThan, builder, stack),
1218
- Operator::F32Ge | Operator::F64Ge => {
1219
- translate_fcmp(FloatCC::GreaterThanOrEqual, builder, stack)
1220
- }
1221
- Operator::F32Lt | Operator::F64Lt => translate_fcmp(FloatCC::LessThan, builder, stack),
1222
- Operator::F32Le | Operator::F64Le => {
1223
- translate_fcmp(FloatCC::LessThanOrEqual, builder, stack)
1224
- }
1225
- Operator::RefNull { hty } => {
1226
- let hty = environ.convert_heap_type(*hty)?;
1227
- stack.push1(environ.translate_ref_null(builder.cursor(), hty)?)
1228
- }
1229
- Operator::RefIsNull => {
1230
- let value = stack.pop1();
1231
- let [WasmValType::Ref(ty)] = operand_types else {
1232
- unreachable!("validation")
1233
- };
1234
- stack.push1(environ.translate_ref_is_null(builder.cursor(), value, *ty)?);
1235
- }
1236
- Operator::RefFunc { function_index } => {
1237
- let index = FuncIndex::from_u32(*function_index);
1238
- stack.push1(environ.translate_ref_func(builder.cursor(), index)?);
1239
- }
1240
- Operator::MemoryAtomicWait32 { memarg } | Operator::MemoryAtomicWait64 { memarg } => {
1241
- // The WebAssembly MVP only supports one linear memory and
1242
- // wasmparser will ensure that the memory indices specified are
1243
- // zero.
1244
- let implied_ty = match op {
1245
- Operator::MemoryAtomicWait64 { .. } => I64,
1246
- Operator::MemoryAtomicWait32 { .. } => I32,
1247
- _ => unreachable!(),
1248
- };
1249
- let memory_index = MemoryIndex::from_u32(memarg.memory);
1250
- let heap = environ.get_or_create_heap(builder.func, memory_index);
1251
- let timeout = stack.pop1(); // 64 (fixed)
1252
- let expected = stack.pop1(); // 32 or 64 (per the `Ixx` in `IxxAtomicWait`)
1253
- assert!(builder.func.dfg.value_type(expected) == implied_ty);
1254
- let addr = stack.pop1();
1255
- let effective_addr = if memarg.offset == 0 {
1256
- addr
1257
- } else {
1258
- let index_type = environ.heaps()[heap].index_type();
1259
- let offset = builder.ins().iconst(index_type, memarg.offset as i64);
1260
- environ.uadd_overflow_trap(builder, addr, offset, ir::TrapCode::HEAP_OUT_OF_BOUNDS)
1261
- };
1262
- // `fn translate_atomic_wait` can inspect the type of `expected` to figure out what
1263
- // code it needs to generate, if it wants.
1264
- let res = environ.translate_atomic_wait(
1265
- builder,
1266
- memory_index,
1267
- heap,
1268
- effective_addr,
1269
- expected,
1270
- timeout,
1271
- )?;
1272
- stack.push1(res);
1273
- }
1274
- Operator::MemoryAtomicNotify { memarg } => {
1275
- let memory_index = MemoryIndex::from_u32(memarg.memory);
1276
- let heap = environ.get_or_create_heap(builder.func, memory_index);
1277
- let count = stack.pop1(); // 32 (fixed)
1278
- let addr = stack.pop1();
1279
- let effective_addr = if memarg.offset == 0 {
1280
- addr
1281
- } else {
1282
- let index_type = environ.heaps()[heap].index_type();
1283
- let offset = builder.ins().iconst(index_type, memarg.offset as i64);
1284
- environ.uadd_overflow_trap(builder, addr, offset, ir::TrapCode::HEAP_OUT_OF_BOUNDS)
1285
- };
1286
- let res = environ.translate_atomic_notify(
1287
- builder,
1288
- memory_index,
1289
- heap,
1290
- effective_addr,
1291
- count,
1292
- )?;
1293
- stack.push1(res);
1294
- }
1295
- Operator::I32AtomicLoad { memarg } => {
1296
- translate_atomic_load(I32, I32, memarg, builder, stack, environ)?
1297
- }
1298
- Operator::I64AtomicLoad { memarg } => {
1299
- translate_atomic_load(I64, I64, memarg, builder, stack, environ)?
1300
- }
1301
- Operator::I32AtomicLoad8U { memarg } => {
1302
- translate_atomic_load(I32, I8, memarg, builder, stack, environ)?
1303
- }
1304
- Operator::I32AtomicLoad16U { memarg } => {
1305
- translate_atomic_load(I32, I16, memarg, builder, stack, environ)?
1306
- }
1307
- Operator::I64AtomicLoad8U { memarg } => {
1308
- translate_atomic_load(I64, I8, memarg, builder, stack, environ)?
1309
- }
1310
- Operator::I64AtomicLoad16U { memarg } => {
1311
- translate_atomic_load(I64, I16, memarg, builder, stack, environ)?
1312
- }
1313
- Operator::I64AtomicLoad32U { memarg } => {
1314
- translate_atomic_load(I64, I32, memarg, builder, stack, environ)?
1315
- }
1316
-
1317
- Operator::I32AtomicStore { memarg } => {
1318
- translate_atomic_store(I32, memarg, builder, stack, environ)?
1319
- }
1320
- Operator::I64AtomicStore { memarg } => {
1321
- translate_atomic_store(I64, memarg, builder, stack, environ)?
1322
- }
1323
- Operator::I32AtomicStore8 { memarg } => {
1324
- translate_atomic_store(I8, memarg, builder, stack, environ)?
1325
- }
1326
- Operator::I32AtomicStore16 { memarg } => {
1327
- translate_atomic_store(I16, memarg, builder, stack, environ)?
1328
- }
1329
- Operator::I64AtomicStore8 { memarg } => {
1330
- translate_atomic_store(I8, memarg, builder, stack, environ)?
1331
- }
1332
- Operator::I64AtomicStore16 { memarg } => {
1333
- translate_atomic_store(I16, memarg, builder, stack, environ)?
1334
- }
1335
- Operator::I64AtomicStore32 { memarg } => {
1336
- translate_atomic_store(I32, memarg, builder, stack, environ)?
1337
- }
1338
-
1339
- Operator::I32AtomicRmwAdd { memarg } => {
1340
- translate_atomic_rmw(I32, I32, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1341
- }
1342
- Operator::I64AtomicRmwAdd { memarg } => {
1343
- translate_atomic_rmw(I64, I64, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1344
- }
1345
- Operator::I32AtomicRmw8AddU { memarg } => {
1346
- translate_atomic_rmw(I32, I8, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1347
- }
1348
- Operator::I32AtomicRmw16AddU { memarg } => {
1349
- translate_atomic_rmw(I32, I16, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1350
- }
1351
- Operator::I64AtomicRmw8AddU { memarg } => {
1352
- translate_atomic_rmw(I64, I8, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1353
- }
1354
- Operator::I64AtomicRmw16AddU { memarg } => {
1355
- translate_atomic_rmw(I64, I16, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1356
- }
1357
- Operator::I64AtomicRmw32AddU { memarg } => {
1358
- translate_atomic_rmw(I64, I32, AtomicRmwOp::Add, memarg, builder, stack, environ)?
1359
- }
1360
-
1361
- Operator::I32AtomicRmwSub { memarg } => {
1362
- translate_atomic_rmw(I32, I32, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1363
- }
1364
- Operator::I64AtomicRmwSub { memarg } => {
1365
- translate_atomic_rmw(I64, I64, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1366
- }
1367
- Operator::I32AtomicRmw8SubU { memarg } => {
1368
- translate_atomic_rmw(I32, I8, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1369
- }
1370
- Operator::I32AtomicRmw16SubU { memarg } => {
1371
- translate_atomic_rmw(I32, I16, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1372
- }
1373
- Operator::I64AtomicRmw8SubU { memarg } => {
1374
- translate_atomic_rmw(I64, I8, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1375
- }
1376
- Operator::I64AtomicRmw16SubU { memarg } => {
1377
- translate_atomic_rmw(I64, I16, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1378
- }
1379
- Operator::I64AtomicRmw32SubU { memarg } => {
1380
- translate_atomic_rmw(I64, I32, AtomicRmwOp::Sub, memarg, builder, stack, environ)?
1381
- }
1382
-
1383
- Operator::I32AtomicRmwAnd { memarg } => {
1384
- translate_atomic_rmw(I32, I32, AtomicRmwOp::And, memarg, builder, stack, environ)?
1385
- }
1386
- Operator::I64AtomicRmwAnd { memarg } => {
1387
- translate_atomic_rmw(I64, I64, AtomicRmwOp::And, memarg, builder, stack, environ)?
1388
- }
1389
- Operator::I32AtomicRmw8AndU { memarg } => {
1390
- translate_atomic_rmw(I32, I8, AtomicRmwOp::And, memarg, builder, stack, environ)?
1391
- }
1392
- Operator::I32AtomicRmw16AndU { memarg } => {
1393
- translate_atomic_rmw(I32, I16, AtomicRmwOp::And, memarg, builder, stack, environ)?
1394
- }
1395
- Operator::I64AtomicRmw8AndU { memarg } => {
1396
- translate_atomic_rmw(I64, I8, AtomicRmwOp::And, memarg, builder, stack, environ)?
1397
- }
1398
- Operator::I64AtomicRmw16AndU { memarg } => {
1399
- translate_atomic_rmw(I64, I16, AtomicRmwOp::And, memarg, builder, stack, environ)?
1400
- }
1401
- Operator::I64AtomicRmw32AndU { memarg } => {
1402
- translate_atomic_rmw(I64, I32, AtomicRmwOp::And, memarg, builder, stack, environ)?
1403
- }
1404
-
1405
- Operator::I32AtomicRmwOr { memarg } => {
1406
- translate_atomic_rmw(I32, I32, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1407
- }
1408
- Operator::I64AtomicRmwOr { memarg } => {
1409
- translate_atomic_rmw(I64, I64, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1410
- }
1411
- Operator::I32AtomicRmw8OrU { memarg } => {
1412
- translate_atomic_rmw(I32, I8, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1413
- }
1414
- Operator::I32AtomicRmw16OrU { memarg } => {
1415
- translate_atomic_rmw(I32, I16, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1416
- }
1417
- Operator::I64AtomicRmw8OrU { memarg } => {
1418
- translate_atomic_rmw(I64, I8, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1419
- }
1420
- Operator::I64AtomicRmw16OrU { memarg } => {
1421
- translate_atomic_rmw(I64, I16, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1422
- }
1423
- Operator::I64AtomicRmw32OrU { memarg } => {
1424
- translate_atomic_rmw(I64, I32, AtomicRmwOp::Or, memarg, builder, stack, environ)?
1425
- }
1426
-
1427
- Operator::I32AtomicRmwXor { memarg } => {
1428
- translate_atomic_rmw(I32, I32, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1429
- }
1430
- Operator::I64AtomicRmwXor { memarg } => {
1431
- translate_atomic_rmw(I64, I64, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1432
- }
1433
- Operator::I32AtomicRmw8XorU { memarg } => {
1434
- translate_atomic_rmw(I32, I8, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1435
- }
1436
- Operator::I32AtomicRmw16XorU { memarg } => {
1437
- translate_atomic_rmw(I32, I16, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1438
- }
1439
- Operator::I64AtomicRmw8XorU { memarg } => {
1440
- translate_atomic_rmw(I64, I8, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1441
- }
1442
- Operator::I64AtomicRmw16XorU { memarg } => {
1443
- translate_atomic_rmw(I64, I16, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1444
- }
1445
- Operator::I64AtomicRmw32XorU { memarg } => {
1446
- translate_atomic_rmw(I64, I32, AtomicRmwOp::Xor, memarg, builder, stack, environ)?
1447
- }
1448
-
1449
- Operator::I32AtomicRmwXchg { memarg } => {
1450
- translate_atomic_rmw(I32, I32, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1451
- }
1452
- Operator::I64AtomicRmwXchg { memarg } => {
1453
- translate_atomic_rmw(I64, I64, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1454
- }
1455
- Operator::I32AtomicRmw8XchgU { memarg } => {
1456
- translate_atomic_rmw(I32, I8, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1457
- }
1458
- Operator::I32AtomicRmw16XchgU { memarg } => {
1459
- translate_atomic_rmw(I32, I16, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1460
- }
1461
- Operator::I64AtomicRmw8XchgU { memarg } => {
1462
- translate_atomic_rmw(I64, I8, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1463
- }
1464
- Operator::I64AtomicRmw16XchgU { memarg } => {
1465
- translate_atomic_rmw(I64, I16, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1466
- }
1467
- Operator::I64AtomicRmw32XchgU { memarg } => {
1468
- translate_atomic_rmw(I64, I32, AtomicRmwOp::Xchg, memarg, builder, stack, environ)?
1469
- }
1470
-
1471
- Operator::I32AtomicRmwCmpxchg { memarg } => {
1472
- translate_atomic_cas(I32, I32, memarg, builder, stack, environ)?
1473
- }
1474
- Operator::I64AtomicRmwCmpxchg { memarg } => {
1475
- translate_atomic_cas(I64, I64, memarg, builder, stack, environ)?
1476
- }
1477
- Operator::I32AtomicRmw8CmpxchgU { memarg } => {
1478
- translate_atomic_cas(I32, I8, memarg, builder, stack, environ)?
1479
- }
1480
- Operator::I32AtomicRmw16CmpxchgU { memarg } => {
1481
- translate_atomic_cas(I32, I16, memarg, builder, stack, environ)?
1482
- }
1483
- Operator::I64AtomicRmw8CmpxchgU { memarg } => {
1484
- translate_atomic_cas(I64, I8, memarg, builder, stack, environ)?
1485
- }
1486
- Operator::I64AtomicRmw16CmpxchgU { memarg } => {
1487
- translate_atomic_cas(I64, I16, memarg, builder, stack, environ)?
1488
- }
1489
- Operator::I64AtomicRmw32CmpxchgU { memarg } => {
1490
- translate_atomic_cas(I64, I32, memarg, builder, stack, environ)?
1491
- }
1492
-
1493
- Operator::AtomicFence { .. } => {
1494
- builder.ins().fence();
1495
- }
1496
- Operator::MemoryCopy { src_mem, dst_mem } => {
1497
- let src_index = MemoryIndex::from_u32(*src_mem);
1498
- let _src_heap = environ.get_or_create_heap(builder.func, src_index);
1499
-
1500
- let dst_index = MemoryIndex::from_u32(*dst_mem);
1501
- let _dst_heap = environ.get_or_create_heap(builder.func, dst_index);
1502
-
1503
- let len = stack.pop1();
1504
- let src_pos = stack.pop1();
1505
- let dst_pos = stack.pop1();
1506
- environ.translate_memory_copy(builder, src_index, dst_index, dst_pos, src_pos, len)?;
1507
- }
1508
- Operator::MemoryFill { mem } => {
1509
- let mem = MemoryIndex::from_u32(*mem);
1510
- let _heap = environ.get_or_create_heap(builder.func, mem);
1511
- let len = stack.pop1();
1512
- let val = stack.pop1();
1513
- let dest = stack.pop1();
1514
- environ.translate_memory_fill(builder, mem, dest, val, len)?;
1515
- }
1516
- Operator::MemoryInit { data_index, mem } => {
1517
- let mem = MemoryIndex::from_u32(*mem);
1518
- let _heap = environ.get_or_create_heap(builder.func, mem);
1519
- let len = stack.pop1();
1520
- let src = stack.pop1();
1521
- let dest = stack.pop1();
1522
- environ.translate_memory_init(builder, mem, *data_index, dest, src, len)?;
1523
- }
1524
- Operator::DataDrop { data_index } => {
1525
- environ.translate_data_drop(builder.cursor(), *data_index)?;
1526
- }
1527
- Operator::TableSize { table: index } => {
1528
- stack.push1(
1529
- environ.translate_table_size(builder.cursor(), TableIndex::from_u32(*index))?,
1530
- );
1531
- }
1532
- Operator::TableGrow { table: index } => {
1533
- let table_index = TableIndex::from_u32(*index);
1534
- let delta = stack.pop1();
1535
- let init_value = stack.pop1();
1536
- stack.push1(environ.translate_table_grow(builder, table_index, delta, init_value)?);
1537
- }
1538
- Operator::TableGet { table: index } => {
1539
- let table_index = TableIndex::from_u32(*index);
1540
- let index = stack.pop1();
1541
- stack.push1(environ.translate_table_get(builder, table_index, index)?);
1542
- }
1543
- Operator::TableSet { table: index } => {
1544
- let table_index = TableIndex::from_u32(*index);
1545
- let value = stack.pop1();
1546
- let index = stack.pop1();
1547
- environ.translate_table_set(builder, table_index, value, index)?;
1548
- }
1549
- Operator::TableCopy {
1550
- dst_table: dst_table_index,
1551
- src_table: src_table_index,
1552
- } => {
1553
- let len = stack.pop1();
1554
- let src = stack.pop1();
1555
- let dest = stack.pop1();
1556
- environ.translate_table_copy(
1557
- builder,
1558
- TableIndex::from_u32(*dst_table_index),
1559
- TableIndex::from_u32(*src_table_index),
1560
- dest,
1561
- src,
1562
- len,
1563
- )?;
1564
- }
1565
- Operator::TableFill { table } => {
1566
- let table_index = TableIndex::from_u32(*table);
1567
- let len = stack.pop1();
1568
- let val = stack.pop1();
1569
- let dest = stack.pop1();
1570
- environ.translate_table_fill(builder, table_index, dest, val, len)?;
1571
- }
1572
- Operator::TableInit {
1573
- elem_index,
1574
- table: table_index,
1575
- } => {
1576
- let len = stack.pop1();
1577
- let src = stack.pop1();
1578
- let dest = stack.pop1();
1579
- environ.translate_table_init(
1580
- builder,
1581
- *elem_index,
1582
- TableIndex::from_u32(*table_index),
1583
- dest,
1584
- src,
1585
- len,
1586
- )?;
1587
- }
1588
- Operator::ElemDrop { elem_index } => {
1589
- environ.translate_elem_drop(builder.cursor(), *elem_index)?;
1590
- }
1591
- Operator::V128Const { value } => {
1592
- let data = value.bytes().to_vec().into();
1593
- let handle = builder.func.dfg.constants.insert(data);
1594
- let value = builder.ins().vconst(I8X16, handle);
1595
- // the v128.const is typed in CLIF as a I8x16 but bitcast to a different type
1596
- // before use
1597
- stack.push1(value)
1598
- }
1599
- Operator::I8x16Splat | Operator::I16x8Splat => {
1600
- let reduced = builder.ins().ireduce(type_of(op).lane_type(), stack.pop1());
1601
- let splatted = builder.ins().splat(type_of(op), reduced);
1602
- stack.push1(splatted)
1603
- }
1604
- Operator::I32x4Splat
1605
- | Operator::I64x2Splat
1606
- | Operator::F32x4Splat
1607
- | Operator::F64x2Splat => {
1608
- let splatted = builder.ins().splat(type_of(op), stack.pop1());
1609
- stack.push1(splatted)
1610
- }
1611
- Operator::V128Load8Splat { memarg }
1612
- | Operator::V128Load16Splat { memarg }
1613
- | Operator::V128Load32Splat { memarg }
1614
- | Operator::V128Load64Splat { memarg } => {
1615
- unwrap_or_return_unreachable_state!(
1616
- stack,
1617
- translate_load(
1618
- memarg,
1619
- ir::Opcode::Load,
1620
- type_of(op).lane_type(),
1621
- builder,
1622
- stack,
1623
- environ,
1624
- )?
1625
- );
1626
- let splatted = builder.ins().splat(type_of(op), stack.pop1());
1627
- stack.push1(splatted)
1628
- }
1629
- Operator::V128Load32Zero { memarg } | Operator::V128Load64Zero { memarg } => {
1630
- unwrap_or_return_unreachable_state!(
1631
- stack,
1632
- translate_load(
1633
- memarg,
1634
- ir::Opcode::Load,
1635
- type_of(op).lane_type(),
1636
- builder,
1637
- stack,
1638
- environ,
1639
- )?
1640
- );
1641
- let as_vector = builder.ins().scalar_to_vector(type_of(op), stack.pop1());
1642
- stack.push1(as_vector)
1643
- }
1644
- Operator::V128Load8Lane { memarg, lane }
1645
- | Operator::V128Load16Lane { memarg, lane }
1646
- | Operator::V128Load32Lane { memarg, lane }
1647
- | Operator::V128Load64Lane { memarg, lane } => {
1648
- let vector = pop1_with_bitcast(stack, type_of(op), builder);
1649
- unwrap_or_return_unreachable_state!(
1650
- stack,
1651
- translate_load(
1652
- memarg,
1653
- ir::Opcode::Load,
1654
- type_of(op).lane_type(),
1655
- builder,
1656
- stack,
1657
- environ,
1658
- )?
1659
- );
1660
- let replacement = stack.pop1();
1661
- stack.push1(builder.ins().insertlane(vector, replacement, *lane))
1662
- }
1663
- Operator::V128Store8Lane { memarg, lane }
1664
- | Operator::V128Store16Lane { memarg, lane }
1665
- | Operator::V128Store32Lane { memarg, lane }
1666
- | Operator::V128Store64Lane { memarg, lane } => {
1667
- let vector = pop1_with_bitcast(stack, type_of(op), builder);
1668
- stack.push1(builder.ins().extractlane(vector, *lane));
1669
- translate_store(memarg, ir::Opcode::Store, builder, stack, environ)?;
1670
- }
1671
- Operator::I8x16ExtractLaneS { lane } | Operator::I16x8ExtractLaneS { lane } => {
1672
- let vector = pop1_with_bitcast(stack, type_of(op), builder);
1673
- let extracted = builder.ins().extractlane(vector, *lane);
1674
- stack.push1(builder.ins().sextend(I32, extracted))
1675
- }
1676
- Operator::I8x16ExtractLaneU { lane } | Operator::I16x8ExtractLaneU { lane } => {
1677
- let vector = pop1_with_bitcast(stack, type_of(op), builder);
1678
- let extracted = builder.ins().extractlane(vector, *lane);
1679
- stack.push1(builder.ins().uextend(I32, extracted));
1680
- // On x86, PEXTRB zeroes the upper bits of the destination register of extractlane so
1681
- // uextend could be elided; for now, uextend is needed for Cranelift's type checks to
1682
- // work.
1683
- }
1684
- Operator::I32x4ExtractLane { lane }
1685
- | Operator::I64x2ExtractLane { lane }
1686
- | Operator::F32x4ExtractLane { lane }
1687
- | Operator::F64x2ExtractLane { lane } => {
1688
- let vector = pop1_with_bitcast(stack, type_of(op), builder);
1689
- stack.push1(builder.ins().extractlane(vector, *lane))
1690
- }
1691
- Operator::I8x16ReplaceLane { lane } | Operator::I16x8ReplaceLane { lane } => {
1692
- let (vector, replacement) = stack.pop2();
1693
- let ty = type_of(op);
1694
- let reduced = builder.ins().ireduce(ty.lane_type(), replacement);
1695
- let vector = optionally_bitcast_vector(vector, ty, builder);
1696
- stack.push1(builder.ins().insertlane(vector, reduced, *lane))
1697
- }
1698
- Operator::I32x4ReplaceLane { lane }
1699
- | Operator::I64x2ReplaceLane { lane }
1700
- | Operator::F32x4ReplaceLane { lane }
1701
- | Operator::F64x2ReplaceLane { lane } => {
1702
- let (vector, replacement) = stack.pop2();
1703
- let vector = optionally_bitcast_vector(vector, type_of(op), builder);
1704
- stack.push1(builder.ins().insertlane(vector, replacement, *lane))
1705
- }
1706
- Operator::I8x16Shuffle { lanes, .. } => {
1707
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
1708
- stack.push1(environ.i8x16_shuffle(builder, a, b, lanes));
1709
- // At this point the original types of a and b are lost; users of this value (i.e. this
1710
- // WASM-to-CLIF translator) may need to bitcast for type-correctness. This is due
1711
- // to WASM using the less specific v128 type for certain operations and more specific
1712
- // types (e.g. i8x16) for others.
1713
- }
1714
- Operator::I8x16Swizzle => {
1715
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
1716
- stack.push1(environ.swizzle(builder, a, b));
1717
- }
1718
- Operator::I8x16Add | Operator::I16x8Add | Operator::I32x4Add | Operator::I64x2Add => {
1719
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1720
- stack.push1(builder.ins().iadd(a, b))
1721
- }
1722
- Operator::I8x16AddSatS | Operator::I16x8AddSatS => {
1723
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1724
- stack.push1(builder.ins().sadd_sat(a, b))
1725
- }
1726
- Operator::I8x16AddSatU | Operator::I16x8AddSatU => {
1727
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1728
- stack.push1(builder.ins().uadd_sat(a, b))
1729
- }
1730
- Operator::I8x16Sub | Operator::I16x8Sub | Operator::I32x4Sub | Operator::I64x2Sub => {
1731
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1732
- stack.push1(builder.ins().isub(a, b))
1733
- }
1734
- Operator::I8x16SubSatS | Operator::I16x8SubSatS => {
1735
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1736
- stack.push1(builder.ins().ssub_sat(a, b))
1737
- }
1738
- Operator::I8x16SubSatU | Operator::I16x8SubSatU => {
1739
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1740
- stack.push1(builder.ins().usub_sat(a, b))
1741
- }
1742
- Operator::I8x16MinS | Operator::I16x8MinS | Operator::I32x4MinS => {
1743
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1744
- stack.push1(builder.ins().smin(a, b))
1745
- }
1746
- Operator::I8x16MinU | Operator::I16x8MinU | Operator::I32x4MinU => {
1747
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1748
- stack.push1(builder.ins().umin(a, b))
1749
- }
1750
- Operator::I8x16MaxS | Operator::I16x8MaxS | Operator::I32x4MaxS => {
1751
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1752
- stack.push1(builder.ins().smax(a, b))
1753
- }
1754
- Operator::I8x16MaxU | Operator::I16x8MaxU | Operator::I32x4MaxU => {
1755
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1756
- stack.push1(builder.ins().umax(a, b))
1757
- }
1758
- Operator::I8x16AvgrU | Operator::I16x8AvgrU => {
1759
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1760
- stack.push1(builder.ins().avg_round(a, b))
1761
- }
1762
- Operator::I8x16Neg | Operator::I16x8Neg | Operator::I32x4Neg | Operator::I64x2Neg => {
1763
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1764
- stack.push1(builder.ins().ineg(a))
1765
- }
1766
- Operator::I8x16Abs | Operator::I16x8Abs | Operator::I32x4Abs | Operator::I64x2Abs => {
1767
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1768
- stack.push1(builder.ins().iabs(a))
1769
- }
1770
- Operator::I16x8Mul | Operator::I32x4Mul | Operator::I64x2Mul => {
1771
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1772
- stack.push1(builder.ins().imul(a, b))
1773
- }
1774
- Operator::V128Or => {
1775
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1776
- stack.push1(builder.ins().bor(a, b))
1777
- }
1778
- Operator::V128Xor => {
1779
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1780
- stack.push1(builder.ins().bxor(a, b))
1781
- }
1782
- Operator::V128And => {
1783
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1784
- stack.push1(builder.ins().band(a, b))
1785
- }
1786
- Operator::V128AndNot => {
1787
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1788
- stack.push1(builder.ins().band_not(a, b))
1789
- }
1790
- Operator::V128Not => {
1791
- let a = stack.pop1();
1792
- stack.push1(builder.ins().bnot(a));
1793
- }
1794
- Operator::I8x16Shl | Operator::I16x8Shl | Operator::I32x4Shl | Operator::I64x2Shl => {
1795
- let (a, b) = stack.pop2();
1796
- let bitcast_a = optionally_bitcast_vector(a, type_of(op), builder);
1797
- // The spec expects to shift with `b mod lanewidth`; This is directly compatible
1798
- // with cranelift's instruction.
1799
- stack.push1(builder.ins().ishl(bitcast_a, b))
1800
- }
1801
- Operator::I8x16ShrU | Operator::I16x8ShrU | Operator::I32x4ShrU | Operator::I64x2ShrU => {
1802
- let (a, b) = stack.pop2();
1803
- let bitcast_a = optionally_bitcast_vector(a, type_of(op), builder);
1804
- // The spec expects to shift with `b mod lanewidth`; This is directly compatible
1805
- // with cranelift's instruction.
1806
- stack.push1(builder.ins().ushr(bitcast_a, b))
1807
- }
1808
- Operator::I8x16ShrS | Operator::I16x8ShrS | Operator::I32x4ShrS | Operator::I64x2ShrS => {
1809
- let (a, b) = stack.pop2();
1810
- let bitcast_a = optionally_bitcast_vector(a, type_of(op), builder);
1811
- // The spec expects to shift with `b mod lanewidth`; This is directly compatible
1812
- // with cranelift's instruction.
1813
- stack.push1(builder.ins().sshr(bitcast_a, b))
1814
- }
1815
- Operator::V128Bitselect => {
1816
- let (a, b, c) = pop3_with_bitcast(stack, I8X16, builder);
1817
- // The CLIF operand ordering is slightly different and the types of all three
1818
- // operands must match (hence the bitcast).
1819
- stack.push1(builder.ins().bitselect(c, a, b))
1820
- }
1821
- Operator::V128AnyTrue => {
1822
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1823
- let bool_result = builder.ins().vany_true(a);
1824
- stack.push1(builder.ins().uextend(I32, bool_result))
1825
- }
1826
- Operator::I8x16AllTrue
1827
- | Operator::I16x8AllTrue
1828
- | Operator::I32x4AllTrue
1829
- | Operator::I64x2AllTrue => {
1830
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1831
- let bool_result = builder.ins().vall_true(a);
1832
- stack.push1(builder.ins().uextend(I32, bool_result))
1833
- }
1834
- Operator::I8x16Bitmask
1835
- | Operator::I16x8Bitmask
1836
- | Operator::I32x4Bitmask
1837
- | Operator::I64x2Bitmask => {
1838
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1839
- stack.push1(builder.ins().vhigh_bits(I32, a));
1840
- }
1841
- Operator::I8x16Eq | Operator::I16x8Eq | Operator::I32x4Eq | Operator::I64x2Eq => {
1842
- translate_vector_icmp(IntCC::Equal, type_of(op), builder, stack)
1843
- }
1844
- Operator::I8x16Ne | Operator::I16x8Ne | Operator::I32x4Ne | Operator::I64x2Ne => {
1845
- translate_vector_icmp(IntCC::NotEqual, type_of(op), builder, stack)
1846
- }
1847
- Operator::I8x16GtS | Operator::I16x8GtS | Operator::I32x4GtS | Operator::I64x2GtS => {
1848
- translate_vector_icmp(IntCC::SignedGreaterThan, type_of(op), builder, stack)
1849
- }
1850
- Operator::I8x16LtS | Operator::I16x8LtS | Operator::I32x4LtS | Operator::I64x2LtS => {
1851
- translate_vector_icmp(IntCC::SignedLessThan, type_of(op), builder, stack)
1852
- }
1853
- Operator::I8x16GtU | Operator::I16x8GtU | Operator::I32x4GtU => {
1854
- translate_vector_icmp(IntCC::UnsignedGreaterThan, type_of(op), builder, stack)
1855
- }
1856
- Operator::I8x16LtU | Operator::I16x8LtU | Operator::I32x4LtU => {
1857
- translate_vector_icmp(IntCC::UnsignedLessThan, type_of(op), builder, stack)
1858
- }
1859
- Operator::I8x16GeS | Operator::I16x8GeS | Operator::I32x4GeS | Operator::I64x2GeS => {
1860
- translate_vector_icmp(IntCC::SignedGreaterThanOrEqual, type_of(op), builder, stack)
1861
- }
1862
- Operator::I8x16LeS | Operator::I16x8LeS | Operator::I32x4LeS | Operator::I64x2LeS => {
1863
- translate_vector_icmp(IntCC::SignedLessThanOrEqual, type_of(op), builder, stack)
1864
- }
1865
- Operator::I8x16GeU | Operator::I16x8GeU | Operator::I32x4GeU => translate_vector_icmp(
1866
- IntCC::UnsignedGreaterThanOrEqual,
1867
- type_of(op),
1868
- builder,
1869
- stack,
1870
- ),
1871
- Operator::I8x16LeU | Operator::I16x8LeU | Operator::I32x4LeU => {
1872
- translate_vector_icmp(IntCC::UnsignedLessThanOrEqual, type_of(op), builder, stack)
1873
- }
1874
- Operator::F32x4Eq | Operator::F64x2Eq => {
1875
- translate_vector_fcmp(FloatCC::Equal, type_of(op), builder, stack)
1876
- }
1877
- Operator::F32x4Ne | Operator::F64x2Ne => {
1878
- translate_vector_fcmp(FloatCC::NotEqual, type_of(op), builder, stack)
1879
- }
1880
- Operator::F32x4Lt | Operator::F64x2Lt => {
1881
- translate_vector_fcmp(FloatCC::LessThan, type_of(op), builder, stack)
1882
- }
1883
- Operator::F32x4Gt | Operator::F64x2Gt => {
1884
- translate_vector_fcmp(FloatCC::GreaterThan, type_of(op), builder, stack)
1885
- }
1886
- Operator::F32x4Le | Operator::F64x2Le => {
1887
- translate_vector_fcmp(FloatCC::LessThanOrEqual, type_of(op), builder, stack)
1888
- }
1889
- Operator::F32x4Ge | Operator::F64x2Ge => {
1890
- translate_vector_fcmp(FloatCC::GreaterThanOrEqual, type_of(op), builder, stack)
1891
- }
1892
- Operator::F32x4Add | Operator::F64x2Add => {
1893
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1894
- stack.push1(builder.ins().fadd(a, b))
1895
- }
1896
- Operator::F32x4Sub | Operator::F64x2Sub => {
1897
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1898
- stack.push1(builder.ins().fsub(a, b))
1899
- }
1900
- Operator::F32x4Mul | Operator::F64x2Mul => {
1901
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1902
- stack.push1(builder.ins().fmul(a, b))
1903
- }
1904
- Operator::F32x4Div | Operator::F64x2Div => {
1905
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1906
- stack.push1(builder.ins().fdiv(a, b))
1907
- }
1908
- Operator::F32x4Max | Operator::F64x2Max => {
1909
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1910
- stack.push1(builder.ins().fmax(a, b))
1911
- }
1912
- Operator::F32x4Min | Operator::F64x2Min => {
1913
- let (a, b) = pop2_with_bitcast(stack, type_of(op), builder);
1914
- stack.push1(builder.ins().fmin(a, b))
1915
- }
1916
- Operator::F32x4PMax | Operator::F64x2PMax => {
1917
- // Note the careful ordering here with respect to `fcmp` and
1918
- // `bitselect`. This matches the spec definition of:
1919
- //
1920
- // fpmax(z1, z2) =
1921
- // * If z1 is less than z2 then return z2.
1922
- // * Else return z1.
1923
- let ty = type_of(op);
1924
- let (a, b) = pop2_with_bitcast(stack, ty, builder);
1925
- let cmp = builder.ins().fcmp(FloatCC::LessThan, a, b);
1926
- let cmp = optionally_bitcast_vector(cmp, ty, builder);
1927
- stack.push1(builder.ins().bitselect(cmp, b, a))
1928
- }
1929
- Operator::F32x4PMin | Operator::F64x2PMin => {
1930
- // Note the careful ordering here which is similar to `pmax` above:
1931
- //
1932
- // fpmin(z1, z2) =
1933
- // * If z2 is less than z1 then return z2.
1934
- // * Else return z1.
1935
- let ty = type_of(op);
1936
- let (a, b) = pop2_with_bitcast(stack, ty, builder);
1937
- let cmp = builder.ins().fcmp(FloatCC::LessThan, b, a);
1938
- let cmp = optionally_bitcast_vector(cmp, ty, builder);
1939
- stack.push1(builder.ins().bitselect(cmp, b, a))
1940
- }
1941
- Operator::F32x4Sqrt | Operator::F64x2Sqrt => {
1942
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1943
- stack.push1(builder.ins().sqrt(a))
1944
- }
1945
- Operator::F32x4Neg | Operator::F64x2Neg => {
1946
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1947
- stack.push1(builder.ins().fneg(a))
1948
- }
1949
- Operator::F32x4Abs | Operator::F64x2Abs => {
1950
- let a = pop1_with_bitcast(stack, type_of(op), builder);
1951
- stack.push1(builder.ins().fabs(a))
1952
- }
1953
- Operator::F32x4ConvertI32x4S => {
1954
- let a = pop1_with_bitcast(stack, I32X4, builder);
1955
- stack.push1(builder.ins().fcvt_from_sint(F32X4, a))
1956
- }
1957
- Operator::F32x4ConvertI32x4U => {
1958
- let a = pop1_with_bitcast(stack, I32X4, builder);
1959
- stack.push1(builder.ins().fcvt_from_uint(F32X4, a))
1960
- }
1961
- Operator::F64x2ConvertLowI32x4S => {
1962
- let a = pop1_with_bitcast(stack, I32X4, builder);
1963
- let widened_a = builder.ins().swiden_low(a);
1964
- stack.push1(builder.ins().fcvt_from_sint(F64X2, widened_a));
1965
- }
1966
- Operator::F64x2ConvertLowI32x4U => {
1967
- let a = pop1_with_bitcast(stack, I32X4, builder);
1968
- let widened_a = builder.ins().uwiden_low(a);
1969
- stack.push1(builder.ins().fcvt_from_uint(F64X2, widened_a));
1970
- }
1971
- Operator::F64x2PromoteLowF32x4 => {
1972
- let a = pop1_with_bitcast(stack, F32X4, builder);
1973
- stack.push1(builder.ins().fvpromote_low(a));
1974
- }
1975
- Operator::F32x4DemoteF64x2Zero => {
1976
- let a = pop1_with_bitcast(stack, F64X2, builder);
1977
- stack.push1(builder.ins().fvdemote(a));
1978
- }
1979
- Operator::I32x4TruncSatF32x4S => {
1980
- let a = pop1_with_bitcast(stack, F32X4, builder);
1981
- stack.push1(builder.ins().fcvt_to_sint_sat(I32X4, a))
1982
- }
1983
- Operator::I32x4TruncSatF64x2SZero => {
1984
- let a = pop1_with_bitcast(stack, F64X2, builder);
1985
- let converted_a = builder.ins().fcvt_to_sint_sat(I64X2, a);
1986
- let handle = builder.func.dfg.constants.insert(vec![0u8; 16].into());
1987
- let zero = builder.ins().vconst(I64X2, handle);
1988
-
1989
- stack.push1(builder.ins().snarrow(converted_a, zero));
1990
- }
1991
-
1992
- // FIXME(#5913): the relaxed instructions here are translated the same
1993
- // as the saturating instructions, even when the code generator
1994
- // configuration allow for different semantics across hosts. On x86,
1995
- // however, it's theoretically possible to have a slightly more optimal
1996
- // lowering which accounts for NaN differently, although the lowering is
1997
- // still not trivial (e.g. one instruction). At this time the
1998
- // more-optimal-but-still-large lowering for x86 is not implemented so
1999
- // the relaxed instructions are listed here instead of down below with
2000
- // the other relaxed instructions. An x86-specific implementation (or
2001
- // perhaps for other backends too) should be added and the codegen for
2002
- // the relaxed instruction should conditionally be different.
2003
- Operator::I32x4RelaxedTruncF32x4U | Operator::I32x4TruncSatF32x4U => {
2004
- let a = pop1_with_bitcast(stack, F32X4, builder);
2005
- stack.push1(builder.ins().fcvt_to_uint_sat(I32X4, a))
2006
- }
2007
- Operator::I32x4RelaxedTruncF64x2UZero | Operator::I32x4TruncSatF64x2UZero => {
2008
- let a = pop1_with_bitcast(stack, F64X2, builder);
2009
- let zero_constant = builder.func.dfg.constants.insert(vec![0u8; 16].into());
2010
- let result = if environ.is_x86() && !environ.isa().has_round() {
2011
- // On x86 the vector lowering for `fcvt_to_uint_sat` requires
2012
- // SSE4.1 `round` instructions. If SSE4.1 isn't available it
2013
- // falls back to a libcall which we don't want in Wasmtime.
2014
- // Handle this by falling back to the scalar implementation
2015
- // which does not require SSE4.1 instructions.
2016
- let lane0 = builder.ins().extractlane(a, 0);
2017
- let lane1 = builder.ins().extractlane(a, 1);
2018
- let lane0_rounded = builder.ins().fcvt_to_uint_sat(I32, lane0);
2019
- let lane1_rounded = builder.ins().fcvt_to_uint_sat(I32, lane1);
2020
- let result = builder.ins().vconst(I32X4, zero_constant);
2021
- let result = builder.ins().insertlane(result, lane0_rounded, 0);
2022
- builder.ins().insertlane(result, lane1_rounded, 1)
2023
- } else {
2024
- let converted_a = builder.ins().fcvt_to_uint_sat(I64X2, a);
2025
- let zero = builder.ins().vconst(I64X2, zero_constant);
2026
- builder.ins().uunarrow(converted_a, zero)
2027
- };
2028
- stack.push1(result);
2029
- }
2030
-
2031
- Operator::I8x16NarrowI16x8S => {
2032
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2033
- stack.push1(builder.ins().snarrow(a, b))
2034
- }
2035
- Operator::I16x8NarrowI32x4S => {
2036
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2037
- stack.push1(builder.ins().snarrow(a, b))
2038
- }
2039
- Operator::I8x16NarrowI16x8U => {
2040
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2041
- stack.push1(builder.ins().unarrow(a, b))
2042
- }
2043
- Operator::I16x8NarrowI32x4U => {
2044
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2045
- stack.push1(builder.ins().unarrow(a, b))
2046
- }
2047
- Operator::I16x8ExtendLowI8x16S => {
2048
- let a = pop1_with_bitcast(stack, I8X16, builder);
2049
- stack.push1(builder.ins().swiden_low(a))
2050
- }
2051
- Operator::I16x8ExtendHighI8x16S => {
2052
- let a = pop1_with_bitcast(stack, I8X16, builder);
2053
- stack.push1(builder.ins().swiden_high(a))
2054
- }
2055
- Operator::I16x8ExtendLowI8x16U => {
2056
- let a = pop1_with_bitcast(stack, I8X16, builder);
2057
- stack.push1(builder.ins().uwiden_low(a))
2058
- }
2059
- Operator::I16x8ExtendHighI8x16U => {
2060
- let a = pop1_with_bitcast(stack, I8X16, builder);
2061
- stack.push1(builder.ins().uwiden_high(a))
2062
- }
2063
- Operator::I32x4ExtendLowI16x8S => {
2064
- let a = pop1_with_bitcast(stack, I16X8, builder);
2065
- stack.push1(builder.ins().swiden_low(a))
2066
- }
2067
- Operator::I32x4ExtendHighI16x8S => {
2068
- let a = pop1_with_bitcast(stack, I16X8, builder);
2069
- stack.push1(builder.ins().swiden_high(a))
2070
- }
2071
- Operator::I32x4ExtendLowI16x8U => {
2072
- let a = pop1_with_bitcast(stack, I16X8, builder);
2073
- stack.push1(builder.ins().uwiden_low(a))
2074
- }
2075
- Operator::I32x4ExtendHighI16x8U => {
2076
- let a = pop1_with_bitcast(stack, I16X8, builder);
2077
- stack.push1(builder.ins().uwiden_high(a))
2078
- }
2079
- Operator::I64x2ExtendLowI32x4S => {
2080
- let a = pop1_with_bitcast(stack, I32X4, builder);
2081
- stack.push1(builder.ins().swiden_low(a))
2082
- }
2083
- Operator::I64x2ExtendHighI32x4S => {
2084
- let a = pop1_with_bitcast(stack, I32X4, builder);
2085
- stack.push1(builder.ins().swiden_high(a))
2086
- }
2087
- Operator::I64x2ExtendLowI32x4U => {
2088
- let a = pop1_with_bitcast(stack, I32X4, builder);
2089
- stack.push1(builder.ins().uwiden_low(a))
2090
- }
2091
- Operator::I64x2ExtendHighI32x4U => {
2092
- let a = pop1_with_bitcast(stack, I32X4, builder);
2093
- stack.push1(builder.ins().uwiden_high(a))
2094
- }
2095
- Operator::I16x8ExtAddPairwiseI8x16S => {
2096
- let a = pop1_with_bitcast(stack, I8X16, builder);
2097
- let widen_low = builder.ins().swiden_low(a);
2098
- let widen_high = builder.ins().swiden_high(a);
2099
- stack.push1(builder.ins().iadd_pairwise(widen_low, widen_high));
2100
- }
2101
- Operator::I32x4ExtAddPairwiseI16x8S => {
2102
- let a = pop1_with_bitcast(stack, I16X8, builder);
2103
- let widen_low = builder.ins().swiden_low(a);
2104
- let widen_high = builder.ins().swiden_high(a);
2105
- stack.push1(builder.ins().iadd_pairwise(widen_low, widen_high));
2106
- }
2107
- Operator::I16x8ExtAddPairwiseI8x16U => {
2108
- let a = pop1_with_bitcast(stack, I8X16, builder);
2109
- let widen_low = builder.ins().uwiden_low(a);
2110
- let widen_high = builder.ins().uwiden_high(a);
2111
- stack.push1(builder.ins().iadd_pairwise(widen_low, widen_high));
2112
- }
2113
- Operator::I32x4ExtAddPairwiseI16x8U => {
2114
- let a = pop1_with_bitcast(stack, I16X8, builder);
2115
- let widen_low = builder.ins().uwiden_low(a);
2116
- let widen_high = builder.ins().uwiden_high(a);
2117
- stack.push1(builder.ins().iadd_pairwise(widen_low, widen_high));
2118
- }
2119
- Operator::F32x4Ceil => {
2120
- let arg = pop1_with_bitcast(stack, F32X4, builder);
2121
- stack.push1(environ.ceil_f32x4(builder, arg));
2122
- }
2123
- Operator::F64x2Ceil => {
2124
- let arg = pop1_with_bitcast(stack, F64X2, builder);
2125
- stack.push1(environ.ceil_f64x2(builder, arg));
2126
- }
2127
- Operator::F32x4Floor => {
2128
- let arg = pop1_with_bitcast(stack, F32X4, builder);
2129
- stack.push1(environ.floor_f32x4(builder, arg));
2130
- }
2131
- Operator::F64x2Floor => {
2132
- let arg = pop1_with_bitcast(stack, F64X2, builder);
2133
- stack.push1(environ.floor_f64x2(builder, arg));
2134
- }
2135
- Operator::F32x4Trunc => {
2136
- let arg = pop1_with_bitcast(stack, F32X4, builder);
2137
- stack.push1(environ.trunc_f32x4(builder, arg));
2138
- }
2139
- Operator::F64x2Trunc => {
2140
- let arg = pop1_with_bitcast(stack, F64X2, builder);
2141
- stack.push1(environ.trunc_f64x2(builder, arg));
2142
- }
2143
- Operator::F32x4Nearest => {
2144
- let arg = pop1_with_bitcast(stack, F32X4, builder);
2145
- stack.push1(environ.nearest_f32x4(builder, arg));
2146
- }
2147
- Operator::F64x2Nearest => {
2148
- let arg = pop1_with_bitcast(stack, F64X2, builder);
2149
- stack.push1(environ.nearest_f64x2(builder, arg));
2150
- }
2151
- Operator::I32x4DotI16x8S => {
2152
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2153
- let alow = builder.ins().swiden_low(a);
2154
- let blow = builder.ins().swiden_low(b);
2155
- let low = builder.ins().imul(alow, blow);
2156
- let ahigh = builder.ins().swiden_high(a);
2157
- let bhigh = builder.ins().swiden_high(b);
2158
- let high = builder.ins().imul(ahigh, bhigh);
2159
- stack.push1(builder.ins().iadd_pairwise(low, high));
2160
- }
2161
- Operator::I8x16Popcnt => {
2162
- let arg = pop1_with_bitcast(stack, type_of(op), builder);
2163
- stack.push1(builder.ins().popcnt(arg));
2164
- }
2165
- Operator::I16x8Q15MulrSatS => {
2166
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2167
- stack.push1(builder.ins().sqmul_round_sat(a, b))
2168
- }
2169
- Operator::I16x8ExtMulLowI8x16S => {
2170
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2171
- let a_low = builder.ins().swiden_low(a);
2172
- let b_low = builder.ins().swiden_low(b);
2173
- stack.push1(builder.ins().imul(a_low, b_low));
2174
- }
2175
- Operator::I16x8ExtMulHighI8x16S => {
2176
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2177
- let a_high = builder.ins().swiden_high(a);
2178
- let b_high = builder.ins().swiden_high(b);
2179
- stack.push1(builder.ins().imul(a_high, b_high));
2180
- }
2181
- Operator::I16x8ExtMulLowI8x16U => {
2182
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2183
- let a_low = builder.ins().uwiden_low(a);
2184
- let b_low = builder.ins().uwiden_low(b);
2185
- stack.push1(builder.ins().imul(a_low, b_low));
2186
- }
2187
- Operator::I16x8ExtMulHighI8x16U => {
2188
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2189
- let a_high = builder.ins().uwiden_high(a);
2190
- let b_high = builder.ins().uwiden_high(b);
2191
- stack.push1(builder.ins().imul(a_high, b_high));
2192
- }
2193
- Operator::I32x4ExtMulLowI16x8S => {
2194
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2195
- let a_low = builder.ins().swiden_low(a);
2196
- let b_low = builder.ins().swiden_low(b);
2197
- stack.push1(builder.ins().imul(a_low, b_low));
2198
- }
2199
- Operator::I32x4ExtMulHighI16x8S => {
2200
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2201
- let a_high = builder.ins().swiden_high(a);
2202
- let b_high = builder.ins().swiden_high(b);
2203
- stack.push1(builder.ins().imul(a_high, b_high));
2204
- }
2205
- Operator::I32x4ExtMulLowI16x8U => {
2206
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2207
- let a_low = builder.ins().uwiden_low(a);
2208
- let b_low = builder.ins().uwiden_low(b);
2209
- stack.push1(builder.ins().imul(a_low, b_low));
2210
- }
2211
- Operator::I32x4ExtMulHighI16x8U => {
2212
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2213
- let a_high = builder.ins().uwiden_high(a);
2214
- let b_high = builder.ins().uwiden_high(b);
2215
- stack.push1(builder.ins().imul(a_high, b_high));
2216
- }
2217
- Operator::I64x2ExtMulLowI32x4S => {
2218
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2219
- let a_low = builder.ins().swiden_low(a);
2220
- let b_low = builder.ins().swiden_low(b);
2221
- stack.push1(builder.ins().imul(a_low, b_low));
2222
- }
2223
- Operator::I64x2ExtMulHighI32x4S => {
2224
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2225
- let a_high = builder.ins().swiden_high(a);
2226
- let b_high = builder.ins().swiden_high(b);
2227
- stack.push1(builder.ins().imul(a_high, b_high));
2228
- }
2229
- Operator::I64x2ExtMulLowI32x4U => {
2230
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2231
- let a_low = builder.ins().uwiden_low(a);
2232
- let b_low = builder.ins().uwiden_low(b);
2233
- stack.push1(builder.ins().imul(a_low, b_low));
2234
- }
2235
- Operator::I64x2ExtMulHighI32x4U => {
2236
- let (a, b) = pop2_with_bitcast(stack, I32X4, builder);
2237
- let a_high = builder.ins().uwiden_high(a);
2238
- let b_high = builder.ins().uwiden_high(b);
2239
- stack.push1(builder.ins().imul(a_high, b_high));
2240
- }
2241
- Operator::MemoryDiscard { .. } => {
2242
- return Err(wasm_unsupported!(
2243
- "proposed memory-control operator {:?}",
2244
- op
2245
- ));
2246
- }
2247
-
2248
- Operator::F32x4RelaxedMax | Operator::F64x2RelaxedMax => {
2249
- let ty = type_of(op);
2250
- let (a, b) = pop2_with_bitcast(stack, ty, builder);
2251
- stack.push1(
2252
- if environ.relaxed_simd_deterministic() || !environ.is_x86() {
2253
- // Deterministic semantics match the `fmax` instruction, or
2254
- // the `fAAxBB.max` wasm instruction.
2255
- builder.ins().fmax(a, b)
2256
- } else {
2257
- // Note that this matches the `pmax` translation which has
2258
- // careful ordering of its operands to trigger
2259
- // pattern-matches in the x86 backend.
2260
- let cmp = builder.ins().fcmp(FloatCC::LessThan, a, b);
2261
- let cmp = optionally_bitcast_vector(cmp, ty, builder);
2262
- builder.ins().bitselect(cmp, b, a)
2263
- },
2264
- )
2265
- }
2266
-
2267
- Operator::F32x4RelaxedMin | Operator::F64x2RelaxedMin => {
2268
- let ty = type_of(op);
2269
- let (a, b) = pop2_with_bitcast(stack, ty, builder);
2270
- stack.push1(
2271
- if environ.relaxed_simd_deterministic() || !environ.is_x86() {
2272
- // Deterministic semantics match the `fmin` instruction, or
2273
- // the `fAAxBB.min` wasm instruction.
2274
- builder.ins().fmin(a, b)
2275
- } else {
2276
- // Note that this matches the `pmin` translation which has
2277
- // careful ordering of its operands to trigger
2278
- // pattern-matches in the x86 backend.
2279
- let cmp = builder.ins().fcmp(FloatCC::LessThan, b, a);
2280
- let cmp = optionally_bitcast_vector(cmp, ty, builder);
2281
- builder.ins().bitselect(cmp, b, a)
2282
- },
2283
- );
2284
- }
2285
-
2286
- Operator::I8x16RelaxedSwizzle => {
2287
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2288
- stack.push1(environ.relaxed_swizzle(builder, a, b));
2289
- }
2290
-
2291
- Operator::F32x4RelaxedMadd => {
2292
- let (a, b, c) = pop3_with_bitcast(stack, type_of(op), builder);
2293
- stack.push1(environ.fma_f32x4(builder, a, b, c));
2294
- }
2295
- Operator::F64x2RelaxedMadd => {
2296
- let (a, b, c) = pop3_with_bitcast(stack, type_of(op), builder);
2297
- stack.push1(environ.fma_f64x2(builder, a, b, c));
2298
- }
2299
- Operator::F32x4RelaxedNmadd => {
2300
- let (a, b, c) = pop3_with_bitcast(stack, type_of(op), builder);
2301
- let a = builder.ins().fneg(a);
2302
- stack.push1(environ.fma_f32x4(builder, a, b, c));
2303
- }
2304
- Operator::F64x2RelaxedNmadd => {
2305
- let (a, b, c) = pop3_with_bitcast(stack, type_of(op), builder);
2306
- let a = builder.ins().fneg(a);
2307
- stack.push1(environ.fma_f64x2(builder, a, b, c));
2308
- }
2309
-
2310
- Operator::I8x16RelaxedLaneselect
2311
- | Operator::I16x8RelaxedLaneselect
2312
- | Operator::I32x4RelaxedLaneselect
2313
- | Operator::I64x2RelaxedLaneselect => {
2314
- let ty = type_of(op);
2315
- let (a, b, c) = pop3_with_bitcast(stack, ty, builder);
2316
- // Note that the variable swaps here are intentional due to
2317
- // the difference of the order of the wasm op and the clif
2318
- // op.
2319
- stack.push1(
2320
- if environ.relaxed_simd_deterministic()
2321
- || !environ.use_x86_blendv_for_relaxed_laneselect(ty)
2322
- {
2323
- // Deterministic semantics are a `bitselect` along the lines
2324
- // of the wasm `v128.bitselect` instruction.
2325
- builder.ins().bitselect(c, a, b)
2326
- } else {
2327
- builder.ins().x86_blendv(c, a, b)
2328
- },
2329
- );
2330
- }
2331
-
2332
- Operator::I32x4RelaxedTruncF32x4S => {
2333
- let a = pop1_with_bitcast(stack, F32X4, builder);
2334
- stack.push1(
2335
- if environ.relaxed_simd_deterministic() || !environ.is_x86() {
2336
- // Deterministic semantics are to match the
2337
- // `i32x4.trunc_sat_f32x4_s` instruction.
2338
- builder.ins().fcvt_to_sint_sat(I32X4, a)
2339
- } else {
2340
- builder.ins().x86_cvtt2dq(I32X4, a)
2341
- },
2342
- )
2343
- }
2344
- Operator::I32x4RelaxedTruncF64x2SZero => {
2345
- let a = pop1_with_bitcast(stack, F64X2, builder);
2346
- let converted_a = if environ.relaxed_simd_deterministic() || !environ.is_x86() {
2347
- // Deterministic semantics are to match the
2348
- // `i32x4.trunc_sat_f64x2_s_zero` instruction.
2349
- builder.ins().fcvt_to_sint_sat(I64X2, a)
2350
- } else {
2351
- builder.ins().x86_cvtt2dq(I64X2, a)
2352
- };
2353
- let handle = builder.func.dfg.constants.insert(vec![0u8; 16].into());
2354
- let zero = builder.ins().vconst(I64X2, handle);
2355
-
2356
- stack.push1(builder.ins().snarrow(converted_a, zero));
2357
- }
2358
- Operator::I16x8RelaxedQ15mulrS => {
2359
- let (a, b) = pop2_with_bitcast(stack, I16X8, builder);
2360
- stack.push1(
2361
- if environ.relaxed_simd_deterministic()
2362
- || !environ.use_x86_pmulhrsw_for_relaxed_q15mul()
2363
- {
2364
- // Deterministic semantics are to match the
2365
- // `i16x8.q15mulr_sat_s` instruction.
2366
- builder.ins().sqmul_round_sat(a, b)
2367
- } else {
2368
- builder.ins().x86_pmulhrsw(a, b)
2369
- },
2370
- );
2371
- }
2372
- Operator::I16x8RelaxedDotI8x16I7x16S => {
2373
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2374
- stack.push1(
2375
- if environ.relaxed_simd_deterministic() || !environ.use_x86_pmaddubsw_for_dot() {
2376
- // Deterministic semantics are to treat both operands as
2377
- // signed integers and perform the dot product.
2378
- let alo = builder.ins().swiden_low(a);
2379
- let blo = builder.ins().swiden_low(b);
2380
- let lo = builder.ins().imul(alo, blo);
2381
- let ahi = builder.ins().swiden_high(a);
2382
- let bhi = builder.ins().swiden_high(b);
2383
- let hi = builder.ins().imul(ahi, bhi);
2384
- builder.ins().iadd_pairwise(lo, hi)
2385
- } else {
2386
- builder.ins().x86_pmaddubsw(a, b)
2387
- },
2388
- );
2389
- }
2390
-
2391
- Operator::I32x4RelaxedDotI8x16I7x16AddS => {
2392
- let c = pop1_with_bitcast(stack, I32X4, builder);
2393
- let (a, b) = pop2_with_bitcast(stack, I8X16, builder);
2394
- let dot =
2395
- if environ.relaxed_simd_deterministic() || !environ.use_x86_pmaddubsw_for_dot() {
2396
- // Deterministic semantics are to treat both operands as
2397
- // signed integers and perform the dot product.
2398
- let alo = builder.ins().swiden_low(a);
2399
- let blo = builder.ins().swiden_low(b);
2400
- let lo = builder.ins().imul(alo, blo);
2401
- let ahi = builder.ins().swiden_high(a);
2402
- let bhi = builder.ins().swiden_high(b);
2403
- let hi = builder.ins().imul(ahi, bhi);
2404
- builder.ins().iadd_pairwise(lo, hi)
2405
- } else {
2406
- builder.ins().x86_pmaddubsw(a, b)
2407
- };
2408
- let dotlo = builder.ins().swiden_low(dot);
2409
- let dothi = builder.ins().swiden_high(dot);
2410
- let dot32 = builder.ins().iadd_pairwise(dotlo, dothi);
2411
- stack.push1(builder.ins().iadd(dot32, c));
2412
- }
2413
-
2414
- Operator::BrOnNull { relative_depth } => {
2415
- let r = stack.pop1();
2416
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2417
- unreachable!("validation")
2418
- };
2419
- let (br_destination, inputs) = translate_br_if_args(*relative_depth, stack);
2420
- let is_null = environ.translate_ref_is_null(builder.cursor(), r, *r_ty)?;
2421
- let else_block = builder.create_block();
2422
- canonicalise_brif(builder, is_null, br_destination, inputs, else_block, &[]);
2423
-
2424
- builder.seal_block(else_block); // The only predecessor is the current block.
2425
- builder.switch_to_block(else_block);
2426
- stack.push1(r);
2427
- }
2428
- Operator::BrOnNonNull { relative_depth } => {
2429
- // We write this a bit differently from the spec to avoid an extra
2430
- // block/branch and the typed accounting thereof. Instead of the
2431
- // spec's approach, it's described as such:
2432
- // Peek the value val from the stack.
2433
- // If val is ref.null ht, then: pop the value val from the stack.
2434
- // Else: Execute the instruction (br relative_depth).
2435
- let r = stack.peek1();
2436
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2437
- unreachable!("validation")
2438
- };
2439
- let is_null = environ.translate_ref_is_null(builder.cursor(), r, *r_ty)?;
2440
- let (br_destination, inputs) = translate_br_if_args(*relative_depth, stack);
2441
- let else_block = builder.create_block();
2442
- canonicalise_brif(builder, is_null, else_block, &[], br_destination, inputs);
2443
-
2444
- // In the null case, pop the ref
2445
- stack.pop1();
2446
-
2447
- builder.seal_block(else_block); // The only predecessor is the current block.
2448
-
2449
- // The rest of the translation operates on our is null case, which is
2450
- // currently an empty block
2451
- builder.switch_to_block(else_block);
2452
- }
2453
- Operator::CallRef { type_index } => {
2454
- // Get function signature
2455
- // `index` is the index of the function's signature and `table_index` is the index of
2456
- // the table to search the function in.
2457
- let type_index = TypeIndex::from_u32(*type_index);
2458
- let sigref = environ.get_or_create_sig_ref(builder.func, type_index);
2459
- let num_args = environ.num_params_for_function_type(type_index);
2460
- let callee = stack.pop1();
2461
-
2462
- // Bitcast any vector arguments to their default type, I8X16, before calling.
2463
- let args = stack.peekn_mut(num_args);
2464
- bitcast_wasm_params(environ, sigref, args, builder);
2465
-
2466
- let call =
2467
- environ.translate_call_ref(builder, sigref, callee, stack.peekn(num_args))?;
2468
-
2469
- let inst_results = builder.inst_results(call);
2470
- debug_assert_eq!(
2471
- inst_results.len(),
2472
- builder.func.dfg.signatures[sigref].returns.len(),
2473
- "translate_call_ref results should match the call signature"
2474
- );
2475
- stack.popn(num_args);
2476
- stack.pushn(inst_results);
2477
- }
2478
- Operator::RefAsNonNull => {
2479
- let r = stack.pop1();
2480
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2481
- unreachable!("validation")
2482
- };
2483
- let is_null = environ.translate_ref_is_null(builder.cursor(), r, *r_ty)?;
2484
- environ.trapnz(builder, is_null, crate::TRAP_NULL_REFERENCE);
2485
- stack.push1(r);
2486
- }
2487
-
2488
- Operator::RefI31 => {
2489
- let val = stack.pop1();
2490
- let i31ref = environ.translate_ref_i31(builder.cursor(), val)?;
2491
- stack.push1(i31ref);
2492
- }
2493
- Operator::I31GetS => {
2494
- let i31ref = stack.pop1();
2495
- let val = environ.translate_i31_get_s(builder, i31ref)?;
2496
- stack.push1(val);
2497
- }
2498
- Operator::I31GetU => {
2499
- let i31ref = stack.pop1();
2500
- let val = environ.translate_i31_get_u(builder, i31ref)?;
2501
- stack.push1(val);
2502
- }
2503
-
2504
- Operator::StructNew { struct_type_index } => {
2505
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2506
- let arity = environ.struct_fields_len(struct_type_index)?;
2507
- let fields: StructFieldsVec = stack.peekn(arity).iter().copied().collect();
2508
- stack.popn(arity);
2509
- let struct_ref = environ.translate_struct_new(builder, struct_type_index, fields)?;
2510
- stack.push1(struct_ref);
2511
- }
2512
-
2513
- Operator::StructNewDefault { struct_type_index } => {
2514
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2515
- let struct_ref = environ.translate_struct_new_default(builder, struct_type_index)?;
2516
- stack.push1(struct_ref);
2517
- }
2518
-
2519
- Operator::StructSet {
2520
- struct_type_index,
2521
- field_index,
2522
- } => {
2523
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2524
- let val = stack.pop1();
2525
- let struct_ref = stack.pop1();
2526
- environ.translate_struct_set(
2527
- builder,
2528
- struct_type_index,
2529
- *field_index,
2530
- struct_ref,
2531
- val,
2532
- )?;
2533
- }
2534
-
2535
- Operator::StructGetS {
2536
- struct_type_index,
2537
- field_index,
2538
- } => {
2539
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2540
- let struct_ref = stack.pop1();
2541
- let val = environ.translate_struct_get(
2542
- builder,
2543
- struct_type_index,
2544
- *field_index,
2545
- struct_ref,
2546
- Some(Extension::Sign),
2547
- )?;
2548
- stack.push1(val);
2549
- }
2550
-
2551
- Operator::StructGetU {
2552
- struct_type_index,
2553
- field_index,
2554
- } => {
2555
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2556
- let struct_ref = stack.pop1();
2557
- let val = environ.translate_struct_get(
2558
- builder,
2559
- struct_type_index,
2560
- *field_index,
2561
- struct_ref,
2562
- Some(Extension::Zero),
2563
- )?;
2564
- stack.push1(val);
2565
- }
2566
-
2567
- Operator::StructGet {
2568
- struct_type_index,
2569
- field_index,
2570
- } => {
2571
- let struct_type_index = TypeIndex::from_u32(*struct_type_index);
2572
- let struct_ref = stack.pop1();
2573
- let val = environ.translate_struct_get(
2574
- builder,
2575
- struct_type_index,
2576
- *field_index,
2577
- struct_ref,
2578
- None,
2579
- )?;
2580
- stack.push1(val);
2581
- }
2582
-
2583
- Operator::TryTable { .. } | Operator::ThrowRef => {
2584
- return Err(wasm_unsupported!(
2585
- "exception operators are not yet implemented"
2586
- ));
2587
- }
2588
-
2589
- Operator::ArrayNew { array_type_index } => {
2590
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2591
- let (elem, len) = stack.pop2();
2592
- let array_ref = environ.translate_array_new(builder, array_type_index, elem, len)?;
2593
- stack.push1(array_ref);
2594
- }
2595
- Operator::ArrayNewDefault { array_type_index } => {
2596
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2597
- let len = stack.pop1();
2598
- let array_ref = environ.translate_array_new_default(builder, array_type_index, len)?;
2599
- stack.push1(array_ref);
2600
- }
2601
- Operator::ArrayNewFixed {
2602
- array_type_index,
2603
- array_size,
2604
- } => {
2605
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2606
- let array_size = usize::try_from(*array_size).unwrap();
2607
- let elems = stack.peekn(array_size);
2608
- let array_ref = environ.translate_array_new_fixed(builder, array_type_index, elems)?;
2609
- stack.popn(array_size);
2610
- stack.push1(array_ref);
2611
- }
2612
- Operator::ArrayNewData {
2613
- array_type_index,
2614
- array_data_index,
2615
- } => {
2616
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2617
- let array_data_index = DataIndex::from_u32(*array_data_index);
2618
- let (data_offset, len) = stack.pop2();
2619
- let array_ref = environ.translate_array_new_data(
2620
- builder,
2621
- array_type_index,
2622
- array_data_index,
2623
- data_offset,
2624
- len,
2625
- )?;
2626
- stack.push1(array_ref);
2627
- }
2628
- Operator::ArrayNewElem {
2629
- array_type_index,
2630
- array_elem_index,
2631
- } => {
2632
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2633
- let array_elem_index = ElemIndex::from_u32(*array_elem_index);
2634
- let (elem_offset, len) = stack.pop2();
2635
- let array_ref = environ.translate_array_new_elem(
2636
- builder,
2637
- array_type_index,
2638
- array_elem_index,
2639
- elem_offset,
2640
- len,
2641
- )?;
2642
- stack.push1(array_ref);
2643
- }
2644
- Operator::ArrayCopy {
2645
- array_type_index_dst,
2646
- array_type_index_src,
2647
- } => {
2648
- let array_type_index_dst = TypeIndex::from_u32(*array_type_index_dst);
2649
- let array_type_index_src = TypeIndex::from_u32(*array_type_index_src);
2650
- let (dst_array, dst_index, src_array, src_index, len) = stack.pop5();
2651
- environ.translate_array_copy(
2652
- builder,
2653
- array_type_index_dst,
2654
- dst_array,
2655
- dst_index,
2656
- array_type_index_src,
2657
- src_array,
2658
- src_index,
2659
- len,
2660
- )?;
2661
- }
2662
- Operator::ArrayFill { array_type_index } => {
2663
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2664
- let (array, index, val, len) = stack.pop4();
2665
- environ.translate_array_fill(builder, array_type_index, array, index, val, len)?;
2666
- }
2667
- Operator::ArrayInitData {
2668
- array_type_index,
2669
- array_data_index,
2670
- } => {
2671
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2672
- let array_data_index = DataIndex::from_u32(*array_data_index);
2673
- let (array, dst_index, src_index, len) = stack.pop4();
2674
- environ.translate_array_init_data(
2675
- builder,
2676
- array_type_index,
2677
- array,
2678
- dst_index,
2679
- array_data_index,
2680
- src_index,
2681
- len,
2682
- )?;
2683
- }
2684
- Operator::ArrayInitElem {
2685
- array_type_index,
2686
- array_elem_index,
2687
- } => {
2688
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2689
- let array_elem_index = ElemIndex::from_u32(*array_elem_index);
2690
- let (array, dst_index, src_index, len) = stack.pop4();
2691
- environ.translate_array_init_elem(
2692
- builder,
2693
- array_type_index,
2694
- array,
2695
- dst_index,
2696
- array_elem_index,
2697
- src_index,
2698
- len,
2699
- )?;
2700
- }
2701
- Operator::ArrayLen => {
2702
- let array = stack.pop1();
2703
- let len = environ.translate_array_len(builder, array)?;
2704
- stack.push1(len);
2705
- }
2706
- Operator::ArrayGet { array_type_index } => {
2707
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2708
- let (array, index) = stack.pop2();
2709
- let elem =
2710
- environ.translate_array_get(builder, array_type_index, array, index, None)?;
2711
- stack.push1(elem);
2712
- }
2713
- Operator::ArrayGetS { array_type_index } => {
2714
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2715
- let (array, index) = stack.pop2();
2716
- let elem = environ.translate_array_get(
2717
- builder,
2718
- array_type_index,
2719
- array,
2720
- index,
2721
- Some(Extension::Sign),
2722
- )?;
2723
- stack.push1(elem);
2724
- }
2725
- Operator::ArrayGetU { array_type_index } => {
2726
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2727
- let (array, index) = stack.pop2();
2728
- let elem = environ.translate_array_get(
2729
- builder,
2730
- array_type_index,
2731
- array,
2732
- index,
2733
- Some(Extension::Zero),
2734
- )?;
2735
- stack.push1(elem);
2736
- }
2737
- Operator::ArraySet { array_type_index } => {
2738
- let array_type_index = TypeIndex::from_u32(*array_type_index);
2739
- let (array, index, elem) = stack.pop3();
2740
- environ.translate_array_set(builder, array_type_index, array, index, elem)?;
2741
- }
2742
- Operator::RefEq => {
2743
- let (r1, r2) = stack.pop2();
2744
- let eq = builder.ins().icmp(ir::condcodes::IntCC::Equal, r1, r2);
2745
- let eq = builder.ins().uextend(ir::types::I32, eq);
2746
- stack.push1(eq);
2747
- }
2748
- Operator::RefTestNonNull { hty } => {
2749
- let r = stack.pop1();
2750
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2751
- unreachable!("validation")
2752
- };
2753
- let heap_type = environ.convert_heap_type(*hty)?;
2754
- let result = environ.translate_ref_test(
2755
- builder,
2756
- WasmRefType {
2757
- heap_type,
2758
- nullable: false,
2759
- },
2760
- r,
2761
- *r_ty,
2762
- )?;
2763
- stack.push1(result);
2764
- }
2765
- Operator::RefTestNullable { hty } => {
2766
- let r = stack.pop1();
2767
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2768
- unreachable!("validation")
2769
- };
2770
- let heap_type = environ.convert_heap_type(*hty)?;
2771
- let result = environ.translate_ref_test(
2772
- builder,
2773
- WasmRefType {
2774
- heap_type,
2775
- nullable: true,
2776
- },
2777
- r,
2778
- *r_ty,
2779
- )?;
2780
- stack.push1(result);
2781
- }
2782
- Operator::RefCastNonNull { hty } => {
2783
- let r = stack.pop1();
2784
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2785
- unreachable!("validation")
2786
- };
2787
- let heap_type = environ.convert_heap_type(*hty)?;
2788
- let cast_okay = environ.translate_ref_test(
2789
- builder,
2790
- WasmRefType {
2791
- heap_type,
2792
- nullable: false,
2793
- },
2794
- r,
2795
- *r_ty,
2796
- )?;
2797
- environ.trapz(builder, cast_okay, crate::TRAP_CAST_FAILURE);
2798
- stack.push1(r);
2799
- }
2800
- Operator::RefCastNullable { hty } => {
2801
- let r = stack.pop1();
2802
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2803
- unreachable!("validation")
2804
- };
2805
- let heap_type = environ.convert_heap_type(*hty)?;
2806
- let cast_okay = environ.translate_ref_test(
2807
- builder,
2808
- WasmRefType {
2809
- heap_type,
2810
- nullable: true,
2811
- },
2812
- r,
2813
- *r_ty,
2814
- )?;
2815
- environ.trapz(builder, cast_okay, crate::TRAP_CAST_FAILURE);
2816
- stack.push1(r);
2817
- }
2818
- Operator::BrOnCast {
2819
- relative_depth,
2820
- to_ref_type,
2821
- from_ref_type: _,
2822
- } => {
2823
- let r = stack.peek1();
2824
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2825
- unreachable!("validation")
2826
- };
2827
-
2828
- let to_ref_type = environ.convert_ref_type(*to_ref_type)?;
2829
- let cast_is_okay = environ.translate_ref_test(builder, to_ref_type, r, *r_ty)?;
2830
-
2831
- let (cast_succeeds_block, inputs) = translate_br_if_args(*relative_depth, stack);
2832
- let cast_fails_block = builder.create_block();
2833
- canonicalise_brif(
2834
- builder,
2835
- cast_is_okay,
2836
- cast_succeeds_block,
2837
- inputs,
2838
- cast_fails_block,
2839
- &[
2840
- // NB: the `cast_fails_block` is dominated by the current
2841
- // block, and therefore doesn't need any block params.
2842
- ],
2843
- );
2844
-
2845
- // The only predecessor is the current block.
2846
- builder.seal_block(cast_fails_block);
2847
-
2848
- // The next Wasm instruction is executed when the cast failed and we
2849
- // did not branch away.
2850
- builder.switch_to_block(cast_fails_block);
2851
- }
2852
- Operator::BrOnCastFail {
2853
- relative_depth,
2854
- to_ref_type,
2855
- from_ref_type: _,
2856
- } => {
2857
- let r = stack.peek1();
2858
- let [.., WasmValType::Ref(r_ty)] = operand_types else {
2859
- unreachable!("validation")
2860
- };
2861
-
2862
- let to_ref_type = environ.convert_ref_type(*to_ref_type)?;
2863
- let cast_is_okay = environ.translate_ref_test(builder, to_ref_type, r, *r_ty)?;
2864
-
2865
- let (cast_fails_block, inputs) = translate_br_if_args(*relative_depth, stack);
2866
- let cast_succeeds_block = builder.create_block();
2867
- canonicalise_brif(
2868
- builder,
2869
- cast_is_okay,
2870
- cast_succeeds_block,
2871
- &[
2872
- // NB: the `cast_succeeds_block` is dominated by the current
2873
- // block, and therefore doesn't need any block params.
2874
- ],
2875
- cast_fails_block,
2876
- inputs,
2877
- );
2878
-
2879
- // The only predecessor is the current block.
2880
- builder.seal_block(cast_succeeds_block);
2881
-
2882
- // The next Wasm instruction is executed when the cast succeeded and
2883
- // we did not branch away.
2884
- builder.switch_to_block(cast_succeeds_block);
2885
- }
2886
-
2887
- Operator::AnyConvertExtern => {
2888
- // Pop an `externref`, push an `anyref`. But they have the same
2889
- // representation, so we don't actually need to do anything.
2890
- }
2891
- Operator::ExternConvertAny => {
2892
- // Pop an `anyref`, push an `externref`. But they have the same
2893
- // representation, so we don't actually need to do anything.
2894
- }
2895
-
2896
- Operator::ContNew { cont_type_index: _ } => {
2897
- // TODO(10248) This is added in a follow-up PR
2898
- return Err(wasmtime_environ::WasmError::Unsupported(
2899
- "codegen for stack switching instructions not implemented, yet".to_string(),
2900
- ));
2901
- }
2902
- Operator::ContBind {
2903
- argument_index: _,
2904
- result_index: _,
2905
- } => {
2906
- // TODO(10248) This is added in a follow-up PR
2907
- return Err(wasmtime_environ::WasmError::Unsupported(
2908
- "codegen for stack switching instructions not implemented, yet".to_string(),
2909
- ));
2910
- }
2911
- Operator::Suspend { tag_index: _ } => {
2912
- // TODO(10248) This is added in a follow-up PR
2913
- return Err(wasmtime_environ::WasmError::Unsupported(
2914
- "codegen for stack switching instructions not implemented, yet".to_string(),
2915
- ));
2916
- }
2917
- Operator::Resume {
2918
- cont_type_index: _,
2919
- resume_table: _,
2920
- } => {
2921
- // TODO(10248) This is added in a follow-up PR
2922
- return Err(wasmtime_environ::WasmError::Unsupported(
2923
- "codegen for stack switching instructions not implemented, yet".to_string(),
2924
- ));
2925
- }
2926
- Operator::ResumeThrow {
2927
- cont_type_index: _,
2928
- tag_index: _,
2929
- resume_table: _,
2930
- } => {
2931
- // TODO(10248) This depends on exception handling
2932
- return Err(wasmtime_environ::WasmError::Unsupported(
2933
- "resume.throw instructions not supported, yet".to_string(),
2934
- ));
2935
- }
2936
- Operator::Switch {
2937
- cont_type_index: _,
2938
- tag_index: _,
2939
- } => {
2940
- // TODO(10248) This is added in a follow-up PR
2941
- return Err(wasmtime_environ::WasmError::Unsupported(
2942
- "codegen for stack switching instructions not implemented, yet".to_string(),
2943
- ));
2944
- }
2945
-
2946
- Operator::GlobalAtomicGet { .. }
2947
- | Operator::GlobalAtomicSet { .. }
2948
- | Operator::GlobalAtomicRmwAdd { .. }
2949
- | Operator::GlobalAtomicRmwSub { .. }
2950
- | Operator::GlobalAtomicRmwOr { .. }
2951
- | Operator::GlobalAtomicRmwXor { .. }
2952
- | Operator::GlobalAtomicRmwAnd { .. }
2953
- | Operator::GlobalAtomicRmwXchg { .. }
2954
- | Operator::GlobalAtomicRmwCmpxchg { .. }
2955
- | Operator::TableAtomicGet { .. }
2956
- | Operator::TableAtomicSet { .. }
2957
- | Operator::TableAtomicRmwXchg { .. }
2958
- | Operator::TableAtomicRmwCmpxchg { .. }
2959
- | Operator::StructAtomicGet { .. }
2960
- | Operator::StructAtomicGetS { .. }
2961
- | Operator::StructAtomicGetU { .. }
2962
- | Operator::StructAtomicSet { .. }
2963
- | Operator::StructAtomicRmwAdd { .. }
2964
- | Operator::StructAtomicRmwSub { .. }
2965
- | Operator::StructAtomicRmwOr { .. }
2966
- | Operator::StructAtomicRmwXor { .. }
2967
- | Operator::StructAtomicRmwAnd { .. }
2968
- | Operator::StructAtomicRmwXchg { .. }
2969
- | Operator::StructAtomicRmwCmpxchg { .. }
2970
- | Operator::ArrayAtomicGet { .. }
2971
- | Operator::ArrayAtomicGetS { .. }
2972
- | Operator::ArrayAtomicGetU { .. }
2973
- | Operator::ArrayAtomicSet { .. }
2974
- | Operator::ArrayAtomicRmwAdd { .. }
2975
- | Operator::ArrayAtomicRmwSub { .. }
2976
- | Operator::ArrayAtomicRmwOr { .. }
2977
- | Operator::ArrayAtomicRmwXor { .. }
2978
- | Operator::ArrayAtomicRmwAnd { .. }
2979
- | Operator::ArrayAtomicRmwXchg { .. }
2980
- | Operator::ArrayAtomicRmwCmpxchg { .. }
2981
- | Operator::RefI31Shared { .. } => {
2982
- return Err(wasm_unsupported!(
2983
- "shared-everything-threads operators are not yet implemented"
2984
- ));
2985
- }
2986
-
2987
- Operator::I64MulWideS => {
2988
- let (arg1, arg2) = stack.pop2();
2989
- let arg1 = builder.ins().sextend(I128, arg1);
2990
- let arg2 = builder.ins().sextend(I128, arg2);
2991
- let result = builder.ins().imul(arg1, arg2);
2992
- let (lo, hi) = builder.ins().isplit(result);
2993
- stack.push2(lo, hi);
2994
- }
2995
- Operator::I64MulWideU => {
2996
- let (arg1, arg2) = stack.pop2();
2997
- let arg1 = builder.ins().uextend(I128, arg1);
2998
- let arg2 = builder.ins().uextend(I128, arg2);
2999
- let result = builder.ins().imul(arg1, arg2);
3000
- let (lo, hi) = builder.ins().isplit(result);
3001
- stack.push2(lo, hi);
3002
- }
3003
- Operator::I64Add128 => {
3004
- let (arg1, arg2, arg3, arg4) = stack.pop4();
3005
- let arg1 = builder.ins().iconcat(arg1, arg2);
3006
- let arg2 = builder.ins().iconcat(arg3, arg4);
3007
- let result = builder.ins().iadd(arg1, arg2);
3008
- let (res1, res2) = builder.ins().isplit(result);
3009
- stack.push2(res1, res2);
3010
- }
3011
- Operator::I64Sub128 => {
3012
- let (arg1, arg2, arg3, arg4) = stack.pop4();
3013
- let arg1 = builder.ins().iconcat(arg1, arg2);
3014
- let arg2 = builder.ins().iconcat(arg3, arg4);
3015
- let result = builder.ins().isub(arg1, arg2);
3016
- let (res1, res2) = builder.ins().isplit(result);
3017
- stack.push2(res1, res2);
3018
- }
3019
-
3020
- // catch-all as `Operator` is `#[non_exhaustive]`
3021
- op => return Err(wasm_unsupported!("operator {op:?}")),
3022
- };
3023
- Ok(())
3024
- }
3025
-
3026
- /// Deals with a Wasm instruction located in an unreachable portion of the code. Most of them
3027
- /// are dropped but special ones like `End` or `Else` signal the potential end of the unreachable
3028
- /// portion so the translation state must be updated accordingly.
3029
- fn translate_unreachable_operator(
3030
- validator: &FuncValidator<impl WasmModuleResources>,
3031
- op: &Operator,
3032
- builder: &mut FunctionBuilder,
3033
- stack: &mut FuncTranslationStacks,
3034
- environ: &mut FuncEnvironment<'_>,
3035
- ) -> WasmResult<()> {
3036
- debug_assert!(!stack.reachable);
3037
- match *op {
3038
- Operator::If { blockty } => {
3039
- // Push a placeholder control stack entry. The if isn't reachable,
3040
- // so we don't have any branches anywhere.
3041
- stack.push_if(
3042
- ir::Block::reserved_value(),
3043
- ElseData::NoElse {
3044
- branch_inst: ir::Inst::reserved_value(),
3045
- placeholder: ir::Block::reserved_value(),
3046
- },
3047
- 0,
3048
- 0,
3049
- blockty,
3050
- );
3051
- }
3052
- Operator::Loop { blockty: _ } | Operator::Block { blockty: _ } => {
3053
- stack.push_block(ir::Block::reserved_value(), 0, 0);
3054
- }
3055
- Operator::Else => {
3056
- let i = stack.control_stack.len() - 1;
3057
- match stack.control_stack[i] {
3058
- ControlStackFrame::If {
3059
- ref else_data,
3060
- head_is_reachable,
3061
- ref mut consequent_ends_reachable,
3062
- blocktype,
3063
- ..
3064
- } => {
3065
- debug_assert!(consequent_ends_reachable.is_none());
3066
- *consequent_ends_reachable = Some(stack.reachable);
3067
-
3068
- if head_is_reachable {
3069
- // We have a branch from the head of the `if` to the `else`.
3070
- stack.reachable = true;
3071
-
3072
- let else_block = match *else_data {
3073
- ElseData::NoElse {
3074
- branch_inst,
3075
- placeholder,
3076
- } => {
3077
- let (params, _results) =
3078
- blocktype_params_results(validator, blocktype)?;
3079
- let else_block = block_with_params(builder, params, environ)?;
3080
- let frame = stack.control_stack.last().unwrap();
3081
- frame.truncate_value_stack_to_else_params(&mut stack.stack);
3082
-
3083
- // We change the target of the branch instruction.
3084
- builder.change_jump_destination(
3085
- branch_inst,
3086
- placeholder,
3087
- else_block,
3088
- );
3089
- builder.seal_block(else_block);
3090
- else_block
3091
- }
3092
- ElseData::WithElse { else_block } => {
3093
- let frame = stack.control_stack.last().unwrap();
3094
- frame.truncate_value_stack_to_else_params(&mut stack.stack);
3095
- else_block
3096
- }
3097
- };
3098
-
3099
- builder.switch_to_block(else_block);
3100
-
3101
- // Again, no need to push the parameters for the `else`,
3102
- // since we already did when we saw the original `if`. See
3103
- // the comment for translating `Operator::Else` in
3104
- // `translate_operator` for details.
3105
- }
3106
- }
3107
- _ => unreachable!(),
3108
- }
3109
- }
3110
- Operator::End => {
3111
- let value_stack = &mut stack.stack;
3112
- let control_stack = &mut stack.control_stack;
3113
- let frame = control_stack.pop().unwrap();
3114
-
3115
- // Pop unused parameters from stack.
3116
- frame.truncate_value_stack_to_original_size(value_stack);
3117
-
3118
- let reachable_anyway = match frame {
3119
- // If it is a loop we also have to seal the body loop block
3120
- ControlStackFrame::Loop { header, .. } => {
3121
- builder.seal_block(header);
3122
- // And loops can't have branches to the end.
3123
- false
3124
- }
3125
- // If we never set `consequent_ends_reachable` then that means
3126
- // we are finishing the consequent now, and there was no
3127
- // `else`. Whether the following block is reachable depends only
3128
- // on if the head was reachable.
3129
- ControlStackFrame::If {
3130
- head_is_reachable,
3131
- consequent_ends_reachable: None,
3132
- ..
3133
- } => head_is_reachable,
3134
- // Since we are only in this function when in unreachable code,
3135
- // we know that the alternative just ended unreachable. Whether
3136
- // the following block is reachable depends on if the consequent
3137
- // ended reachable or not.
3138
- ControlStackFrame::If {
3139
- head_is_reachable,
3140
- consequent_ends_reachable: Some(consequent_ends_reachable),
3141
- ..
3142
- } => head_is_reachable && consequent_ends_reachable,
3143
- // All other control constructs are already handled.
3144
- _ => false,
3145
- };
3146
-
3147
- if frame.exit_is_branched_to() || reachable_anyway {
3148
- builder.switch_to_block(frame.following_code());
3149
- builder.seal_block(frame.following_code());
3150
-
3151
- // And add the return values of the block but only if the next block is reachable
3152
- // (which corresponds to testing if the stack depth is 1)
3153
- value_stack.extend_from_slice(builder.block_params(frame.following_code()));
3154
- stack.reachable = true;
3155
- }
3156
- }
3157
- _ => {
3158
- // We don't translate because this is unreachable code
3159
- }
3160
- }
3161
-
3162
- Ok(())
3163
- }
3164
-
3165
- /// This function is a generalized helper for validating that a wasm-supplied
3166
- /// heap address is in-bounds.
3167
- ///
3168
- /// This function takes a litany of parameters and requires that the *Wasm*
3169
- /// address to be verified is at the top of the stack in `state`. This will
3170
- /// generate necessary IR to validate that the heap address is correctly
3171
- /// in-bounds, and various parameters are returned describing the valid *native*
3172
- /// heap address if execution reaches that point.
3173
- ///
3174
- /// Returns `None` when the Wasm access will unconditionally trap.
3175
- ///
3176
- /// Returns `(flags, wasm_addr, native_addr)`.
3177
- fn prepare_addr(
3178
- memarg: &MemArg,
3179
- access_size: u8,
3180
- builder: &mut FunctionBuilder,
3181
- stack: &mut FuncTranslationStacks,
3182
- environ: &mut FuncEnvironment<'_>,
3183
- ) -> WasmResult<Reachability<(MemFlags, Value, Value)>> {
3184
- let index = stack.pop1();
3185
-
3186
- let memory_index = MemoryIndex::from_u32(memarg.memory);
3187
- let heap = environ.get_or_create_heap(builder.func, memory_index);
3188
-
3189
- // How exactly the bounds check is performed here and what it's performed
3190
- // on is a bit tricky. Generally we want to rely on access violations (e.g.
3191
- // segfaults) to generate traps since that means we don't have to bounds
3192
- // check anything explicitly.
3193
- //
3194
- // (1) If we don't have a guard page of unmapped memory, though, then we
3195
- // can't rely on this trapping behavior through segfaults. Instead we need
3196
- // to bounds-check the entire memory access here which is everything from
3197
- // `addr32 + offset` to `addr32 + offset + width` (not inclusive). In this
3198
- // scenario our adjusted offset that we're checking is `memarg.offset +
3199
- // access_size`. Note that we do saturating arithmetic here to avoid
3200
- // overflow. The addition here is in the 64-bit space, which means that
3201
- // we'll never overflow for 32-bit wasm but for 64-bit this is an issue. If
3202
- // our effective offset is u64::MAX though then it's impossible for for
3203
- // that to actually be a valid offset because otherwise the wasm linear
3204
- // memory would take all of the host memory!
3205
- //
3206
- // (2) If we have a guard page, however, then we can perform a further
3207
- // optimization of the generated code by only checking multiples of the
3208
- // offset-guard size to be more CSE-friendly. Knowing that we have at least
3209
- // 1 page of a guard page we're then able to disregard the `width` since we
3210
- // know it's always less than one page. Our bounds check will be for the
3211
- // first byte which will either succeed and be guaranteed to fault if it's
3212
- // actually out of bounds, or the bounds check itself will fail. In any case
3213
- // we assert that the width is reasonably small for now so this assumption
3214
- // can be adjusted in the future if we get larger widths.
3215
- //
3216
- // Put another way we can say, where `y < offset_guard_size`:
3217
- //
3218
- // n * offset_guard_size + y = offset
3219
- //
3220
- // We'll then pass `n * offset_guard_size` as the bounds check value. If
3221
- // this traps then our `offset` would have trapped anyway. If this check
3222
- // passes we know
3223
- //
3224
- // addr32 + n * offset_guard_size < bound
3225
- //
3226
- // which means
3227
- //
3228
- // addr32 + n * offset_guard_size + y < bound + offset_guard_size
3229
- //
3230
- // because `y < offset_guard_size`, which then means:
3231
- //
3232
- // addr32 + offset < bound + offset_guard_size
3233
- //
3234
- // Since we know that that guard size bytes are all unmapped we're
3235
- // guaranteed that `offset` and the `width` bytes after it are either
3236
- // in-bounds or will hit the guard page, meaning we'll get the desired
3237
- // semantics we want.
3238
- //
3239
- // ---
3240
- //
3241
- // With all that in mind remember that the goal is to bounds check as few
3242
- // things as possible. To facilitate this the "fast path" is expected to be
3243
- // hit like so:
3244
- //
3245
- // * For wasm32, wasmtime defaults to 4gb "static" memories with 2gb guard
3246
- // regions. This means that for all offsets <=2gb, we hit the optimized
3247
- // case for `heap_addr` on static memories 4gb in size in cranelift's
3248
- // legalization of `heap_addr`, eliding the bounds check entirely.
3249
- //
3250
- // * For wasm64 offsets <=2gb will generate a single `heap_addr`
3251
- // instruction, but at this time all heaps are "dynamic" which means that
3252
- // a single bounds check is forced. Ideally we'd do better here, but
3253
- // that's the current state of affairs.
3254
- //
3255
- // Basically we assume that most configurations have a guard page and most
3256
- // offsets in `memarg` are <=2gb, which means we get the fast path of one
3257
- // `heap_addr` instruction plus a hardcoded i32-offset in memory-related
3258
- // instructions.
3259
- let heap = environ.heaps()[heap].clone();
3260
- let addr = match u32::try_from(memarg.offset) {
3261
- // If our offset fits within a u32, then we can place the it into the
3262
- // offset immediate of the `heap_addr` instruction.
3263
- Ok(offset) => bounds_check_and_compute_addr(
3264
- builder,
3265
- environ,
3266
- &heap,
3267
- index,
3268
- BoundsCheck::StaticOffset {
3269
- offset,
3270
- access_size,
3271
- },
3272
- ir::TrapCode::HEAP_OUT_OF_BOUNDS,
3273
- ),
3274
-
3275
- // If the offset doesn't fit within a u32, then we can't pass it
3276
- // directly into `heap_addr`.
3277
- //
3278
- // One reasonable question you might ask is "why not?". There's no
3279
- // fundamental reason why `heap_addr` *must* take a 32-bit offset. The
3280
- // reason this isn't done, though, is that blindly changing the offset
3281
- // to a 64-bit offset increases the size of the `InstructionData` enum
3282
- // in cranelift by 8 bytes (16 to 24). This can have significant
3283
- // performance implications so the conclusion when this was written was
3284
- // that we shouldn't do that.
3285
- //
3286
- // Without the ability to put the whole offset into the `heap_addr`
3287
- // instruction we need to fold the offset into the address itself with
3288
- // an unsigned addition. In doing so though we need to check for
3289
- // overflow because that would mean the address is out-of-bounds (wasm
3290
- // bounds checks happen on the effective 33 or 65 bit address once the
3291
- // offset is factored in).
3292
- //
3293
- // Once we have the effective address, offset already folded in, then
3294
- // `heap_addr` is used to verify that the address is indeed in-bounds.
3295
- //
3296
- // Note that this is generating what's likely to be at least two
3297
- // branches, one for the overflow and one for the bounds check itself.
3298
- // For now though that should hopefully be ok since 4gb+ offsets are
3299
- // relatively odd/rare. In the future if needed we can look into
3300
- // optimizing this more.
3301
- Err(_) => {
3302
- let offset = builder
3303
- .ins()
3304
- .iconst(heap.index_type(), memarg.offset.signed());
3305
- let adjusted_index = environ.uadd_overflow_trap(
3306
- builder,
3307
- index,
3308
- offset,
3309
- ir::TrapCode::HEAP_OUT_OF_BOUNDS,
3310
- );
3311
- bounds_check_and_compute_addr(
3312
- builder,
3313
- environ,
3314
- &heap,
3315
- adjusted_index,
3316
- BoundsCheck::StaticOffset {
3317
- offset: 0,
3318
- access_size,
3319
- },
3320
- ir::TrapCode::HEAP_OUT_OF_BOUNDS,
3321
- )
3322
- }
3323
- };
3324
- let addr = match addr {
3325
- Reachability::Unreachable => return Ok(Reachability::Unreachable),
3326
- Reachability::Reachable(a) => a,
3327
- };
3328
-
3329
- // Note that we don't set `is_aligned` here, even if the load instruction's
3330
- // alignment immediate may says it's aligned, because WebAssembly's
3331
- // immediate field is just a hint, while Cranelift's aligned flag needs a
3332
- // guarantee. WebAssembly memory accesses are always little-endian.
3333
- let mut flags = MemFlags::new();
3334
- flags.set_endianness(ir::Endianness::Little);
3335
-
3336
- if heap.pcc_memory_type.is_some() {
3337
- // Proof-carrying code is enabled; check this memory access.
3338
- flags.set_checked();
3339
- }
3340
-
3341
- // The access occurs to the `heap` disjoint category of abstract
3342
- // state. This may allow alias analysis to merge redundant loads,
3343
- // etc. when heap accesses occur interleaved with other (table,
3344
- // vmctx, stack) accesses.
3345
- flags.set_alias_region(Some(ir::AliasRegion::Heap));
3346
-
3347
- Ok(Reachability::Reachable((flags, index, addr)))
3348
- }
3349
-
3350
- fn align_atomic_addr(
3351
- memarg: &MemArg,
3352
- loaded_bytes: u8,
3353
- builder: &mut FunctionBuilder,
3354
- stack: &mut FuncTranslationStacks,
3355
- environ: &mut FuncEnvironment<'_>,
3356
- ) {
3357
- // Atomic addresses must all be aligned correctly, and for now we check
3358
- // alignment before we check out-of-bounds-ness. The order of this check may
3359
- // need to be updated depending on the outcome of the official threads
3360
- // proposal itself.
3361
- //
3362
- // Note that with an offset>0 we generate an `iadd_imm` where the result is
3363
- // thrown away after the offset check. This may truncate the offset and the
3364
- // result may overflow as well, but those conditions won't affect the
3365
- // alignment check itself. This can probably be optimized better and we
3366
- // should do so in the future as well.
3367
- if loaded_bytes > 1 {
3368
- let addr = stack.pop1(); // "peek" via pop then push
3369
- stack.push1(addr);
3370
- let effective_addr = if memarg.offset == 0 {
3371
- addr
3372
- } else {
3373
- builder.ins().iadd_imm(addr, memarg.offset.signed())
3374
- };
3375
- debug_assert!(loaded_bytes.is_power_of_two());
3376
- let misalignment = builder
3377
- .ins()
3378
- .band_imm(effective_addr, i64::from(loaded_bytes - 1));
3379
- let f = builder.ins().icmp_imm(IntCC::NotEqual, misalignment, 0);
3380
- environ.trapnz(builder, f, crate::TRAP_HEAP_MISALIGNED);
3381
- }
3382
- }
3383
-
3384
- /// Like `prepare_addr` but for atomic accesses.
3385
- ///
3386
- /// Returns `None` when the Wasm access will unconditionally trap.
3387
- fn prepare_atomic_addr(
3388
- memarg: &MemArg,
3389
- loaded_bytes: u8,
3390
- builder: &mut FunctionBuilder,
3391
- stack: &mut FuncTranslationStacks,
3392
- environ: &mut FuncEnvironment<'_>,
3393
- ) -> WasmResult<Reachability<(MemFlags, Value, Value)>> {
3394
- align_atomic_addr(memarg, loaded_bytes, builder, stack, environ);
3395
- prepare_addr(memarg, loaded_bytes, builder, stack, environ)
3396
- }
3397
-
3398
- /// Translate a load instruction.
3399
- ///
3400
- /// Returns the execution state's reachability after the load is translated.
3401
- fn translate_load(
3402
- memarg: &MemArg,
3403
- opcode: ir::Opcode,
3404
- result_ty: Type,
3405
- builder: &mut FunctionBuilder,
3406
- stack: &mut FuncTranslationStacks,
3407
- environ: &mut FuncEnvironment<'_>,
3408
- ) -> WasmResult<Reachability<()>> {
3409
- let mem_op_size = mem_op_size(opcode, result_ty);
3410
- let (flags, wasm_index, base) =
3411
- match prepare_addr(memarg, mem_op_size, builder, stack, environ)? {
3412
- Reachability::Unreachable => return Ok(Reachability::Unreachable),
3413
- Reachability::Reachable((f, i, b)) => (f, i, b),
3414
- };
3415
-
3416
- environ.before_load(builder, mem_op_size, wasm_index, memarg.offset);
3417
-
3418
- let (load, dfg) = builder
3419
- .ins()
3420
- .Load(opcode, result_ty, flags, Offset32::new(0), base);
3421
- stack.push1(dfg.first_result(load));
3422
- Ok(Reachability::Reachable(()))
3423
- }
3424
-
3425
- /// Translate a store instruction.
3426
- fn translate_store(
3427
- memarg: &MemArg,
3428
- opcode: ir::Opcode,
3429
- builder: &mut FunctionBuilder,
3430
- stack: &mut FuncTranslationStacks,
3431
- environ: &mut FuncEnvironment<'_>,
3432
- ) -> WasmResult<()> {
3433
- let val = stack.pop1();
3434
- let val_ty = builder.func.dfg.value_type(val);
3435
- let mem_op_size = mem_op_size(opcode, val_ty);
3436
-
3437
- let (flags, wasm_index, base) = unwrap_or_return_unreachable_state!(
3438
- stack,
3439
- prepare_addr(memarg, mem_op_size, builder, stack, environ)?
3440
- );
3441
-
3442
- environ.before_store(builder, mem_op_size, wasm_index, memarg.offset);
3443
-
3444
- builder
3445
- .ins()
3446
- .Store(opcode, val_ty, flags, Offset32::new(0), val, base);
3447
- Ok(())
3448
- }
3449
-
3450
- fn mem_op_size(opcode: ir::Opcode, ty: Type) -> u8 {
3451
- match opcode {
3452
- ir::Opcode::Istore8 | ir::Opcode::Sload8 | ir::Opcode::Uload8 => 1,
3453
- ir::Opcode::Istore16 | ir::Opcode::Sload16 | ir::Opcode::Uload16 => 2,
3454
- ir::Opcode::Istore32 | ir::Opcode::Sload32 | ir::Opcode::Uload32 => 4,
3455
- ir::Opcode::Store | ir::Opcode::Load => u8::try_from(ty.bytes()).unwrap(),
3456
- _ => panic!("unknown size of mem op for {opcode:?}"),
3457
- }
3458
- }
3459
-
3460
- fn translate_icmp(cc: IntCC, builder: &mut FunctionBuilder, stack: &mut FuncTranslationStacks) {
3461
- let (arg0, arg1) = stack.pop2();
3462
- let val = builder.ins().icmp(cc, arg0, arg1);
3463
- stack.push1(builder.ins().uextend(I32, val));
3464
- }
3465
-
3466
- fn translate_atomic_rmw(
3467
- widened_ty: Type,
3468
- access_ty: Type,
3469
- op: AtomicRmwOp,
3470
- memarg: &MemArg,
3471
- builder: &mut FunctionBuilder,
3472
- stack: &mut FuncTranslationStacks,
3473
- environ: &mut FuncEnvironment<'_>,
3474
- ) -> WasmResult<()> {
3475
- let mut arg2 = stack.pop1();
3476
- let arg2_ty = builder.func.dfg.value_type(arg2);
3477
-
3478
- // The operation is performed at type `access_ty`, and the old value is zero-extended
3479
- // to type `widened_ty`.
3480
- match access_ty {
3481
- I8 | I16 | I32 | I64 => {}
3482
- _ => {
3483
- return Err(wasm_unsupported!(
3484
- "atomic_rmw: unsupported access type {:?}",
3485
- access_ty
3486
- ));
3487
- }
3488
- };
3489
- let w_ty_ok = match widened_ty {
3490
- I32 | I64 => true,
3491
- _ => false,
3492
- };
3493
- assert!(w_ty_ok && widened_ty.bytes() >= access_ty.bytes());
3494
-
3495
- assert!(arg2_ty.bytes() >= access_ty.bytes());
3496
- if arg2_ty.bytes() > access_ty.bytes() {
3497
- arg2 = builder.ins().ireduce(access_ty, arg2);
3498
- }
3499
-
3500
- let (flags, _, addr) = unwrap_or_return_unreachable_state!(
3501
- stack,
3502
- prepare_atomic_addr(
3503
- memarg,
3504
- u8::try_from(access_ty.bytes()).unwrap(),
3505
- builder,
3506
- stack,
3507
- environ,
3508
- )?
3509
- );
3510
-
3511
- let mut res = builder.ins().atomic_rmw(access_ty, flags, op, addr, arg2);
3512
- if access_ty != widened_ty {
3513
- res = builder.ins().uextend(widened_ty, res);
3514
- }
3515
- stack.push1(res);
3516
- Ok(())
3517
- }
3518
-
3519
- fn translate_atomic_cas(
3520
- widened_ty: Type,
3521
- access_ty: Type,
3522
- memarg: &MemArg,
3523
- builder: &mut FunctionBuilder,
3524
- stack: &mut FuncTranslationStacks,
3525
- environ: &mut FuncEnvironment<'_>,
3526
- ) -> WasmResult<()> {
3527
- let (mut expected, mut replacement) = stack.pop2();
3528
- let expected_ty = builder.func.dfg.value_type(expected);
3529
- let replacement_ty = builder.func.dfg.value_type(replacement);
3530
-
3531
- // The compare-and-swap is performed at type `access_ty`, and the old value is zero-extended
3532
- // to type `widened_ty`.
3533
- match access_ty {
3534
- I8 | I16 | I32 | I64 => {}
3535
- _ => {
3536
- return Err(wasm_unsupported!(
3537
- "atomic_cas: unsupported access type {:?}",
3538
- access_ty
3539
- ));
3540
- }
3541
- };
3542
- let w_ty_ok = match widened_ty {
3543
- I32 | I64 => true,
3544
- _ => false,
3545
- };
3546
- assert!(w_ty_ok && widened_ty.bytes() >= access_ty.bytes());
3547
-
3548
- assert!(expected_ty.bytes() >= access_ty.bytes());
3549
- if expected_ty.bytes() > access_ty.bytes() {
3550
- expected = builder.ins().ireduce(access_ty, expected);
3551
- }
3552
- assert!(replacement_ty.bytes() >= access_ty.bytes());
3553
- if replacement_ty.bytes() > access_ty.bytes() {
3554
- replacement = builder.ins().ireduce(access_ty, replacement);
3555
- }
3556
-
3557
- let (flags, _, addr) = unwrap_or_return_unreachable_state!(
3558
- stack,
3559
- prepare_atomic_addr(
3560
- memarg,
3561
- u8::try_from(access_ty.bytes()).unwrap(),
3562
- builder,
3563
- stack,
3564
- environ,
3565
- )?
3566
- );
3567
- let mut res = builder.ins().atomic_cas(flags, addr, expected, replacement);
3568
- if access_ty != widened_ty {
3569
- res = builder.ins().uextend(widened_ty, res);
3570
- }
3571
- stack.push1(res);
3572
- Ok(())
3573
- }
3574
-
3575
- fn translate_atomic_load(
3576
- widened_ty: Type,
3577
- access_ty: Type,
3578
- memarg: &MemArg,
3579
- builder: &mut FunctionBuilder,
3580
- stack: &mut FuncTranslationStacks,
3581
- environ: &mut FuncEnvironment<'_>,
3582
- ) -> WasmResult<()> {
3583
- // The load is performed at type `access_ty`, and the loaded value is zero extended
3584
- // to `widened_ty`.
3585
- match access_ty {
3586
- I8 | I16 | I32 | I64 => {}
3587
- _ => {
3588
- return Err(wasm_unsupported!(
3589
- "atomic_load: unsupported access type {:?}",
3590
- access_ty
3591
- ));
3592
- }
3593
- };
3594
- let w_ty_ok = match widened_ty {
3595
- I32 | I64 => true,
3596
- _ => false,
3597
- };
3598
- assert!(w_ty_ok && widened_ty.bytes() >= access_ty.bytes());
3599
-
3600
- let (flags, _, addr) = unwrap_or_return_unreachable_state!(
3601
- stack,
3602
- prepare_atomic_addr(
3603
- memarg,
3604
- u8::try_from(access_ty.bytes()).unwrap(),
3605
- builder,
3606
- stack,
3607
- environ,
3608
- )?
3609
- );
3610
- let mut res = builder.ins().atomic_load(access_ty, flags, addr);
3611
- if access_ty != widened_ty {
3612
- res = builder.ins().uextend(widened_ty, res);
3613
- }
3614
- stack.push1(res);
3615
- Ok(())
3616
- }
3617
-
3618
- fn translate_atomic_store(
3619
- access_ty: Type,
3620
- memarg: &MemArg,
3621
- builder: &mut FunctionBuilder,
3622
- stack: &mut FuncTranslationStacks,
3623
- environ: &mut FuncEnvironment<'_>,
3624
- ) -> WasmResult<()> {
3625
- let mut data = stack.pop1();
3626
- let data_ty = builder.func.dfg.value_type(data);
3627
-
3628
- // The operation is performed at type `access_ty`, and the data to be stored may first
3629
- // need to be narrowed accordingly.
3630
- match access_ty {
3631
- I8 | I16 | I32 | I64 => {}
3632
- _ => {
3633
- return Err(wasm_unsupported!(
3634
- "atomic_store: unsupported access type {:?}",
3635
- access_ty
3636
- ));
3637
- }
3638
- };
3639
- let d_ty_ok = match data_ty {
3640
- I32 | I64 => true,
3641
- _ => false,
3642
- };
3643
- assert!(d_ty_ok && data_ty.bytes() >= access_ty.bytes());
3644
-
3645
- if data_ty.bytes() > access_ty.bytes() {
3646
- data = builder.ins().ireduce(access_ty, data);
3647
- }
3648
-
3649
- let (flags, _, addr) = unwrap_or_return_unreachable_state!(
3650
- stack,
3651
- prepare_atomic_addr(
3652
- memarg,
3653
- u8::try_from(access_ty.bytes()).unwrap(),
3654
- builder,
3655
- stack,
3656
- environ,
3657
- )?
3658
- );
3659
- builder.ins().atomic_store(flags, data, addr);
3660
- Ok(())
3661
- }
3662
-
3663
- fn translate_vector_icmp(
3664
- cc: IntCC,
3665
- needed_type: Type,
3666
- builder: &mut FunctionBuilder,
3667
- stack: &mut FuncTranslationStacks,
3668
- ) {
3669
- let (a, b) = stack.pop2();
3670
- let bitcast_a = optionally_bitcast_vector(a, needed_type, builder);
3671
- let bitcast_b = optionally_bitcast_vector(b, needed_type, builder);
3672
- stack.push1(builder.ins().icmp(cc, bitcast_a, bitcast_b))
3673
- }
3674
-
3675
- fn translate_fcmp(cc: FloatCC, builder: &mut FunctionBuilder, stack: &mut FuncTranslationStacks) {
3676
- let (arg0, arg1) = stack.pop2();
3677
- let val = builder.ins().fcmp(cc, arg0, arg1);
3678
- stack.push1(builder.ins().uextend(I32, val));
3679
- }
3680
-
3681
- fn translate_vector_fcmp(
3682
- cc: FloatCC,
3683
- needed_type: Type,
3684
- builder: &mut FunctionBuilder,
3685
- stack: &mut FuncTranslationStacks,
3686
- ) {
3687
- let (a, b) = stack.pop2();
3688
- let bitcast_a = optionally_bitcast_vector(a, needed_type, builder);
3689
- let bitcast_b = optionally_bitcast_vector(b, needed_type, builder);
3690
- stack.push1(builder.ins().fcmp(cc, bitcast_a, bitcast_b))
3691
- }
3692
-
3693
- fn translate_br_if(
3694
- relative_depth: u32,
3695
- builder: &mut FunctionBuilder,
3696
- stack: &mut FuncTranslationStacks,
3697
- ) {
3698
- let val = stack.pop1();
3699
- let (br_destination, inputs) = translate_br_if_args(relative_depth, stack);
3700
- let next_block = builder.create_block();
3701
- canonicalise_brif(builder, val, br_destination, inputs, next_block, &[]);
3702
-
3703
- builder.seal_block(next_block); // The only predecessor is the current block.
3704
- builder.switch_to_block(next_block);
3705
- }
3706
-
3707
- fn translate_br_if_args(
3708
- relative_depth: u32,
3709
- stack: &mut FuncTranslationStacks,
3710
- ) -> (ir::Block, &mut [ir::Value]) {
3711
- let i = stack.control_stack.len() - 1 - (relative_depth as usize);
3712
- let (return_count, br_destination) = {
3713
- let frame = &mut stack.control_stack[i];
3714
- // The values returned by the branch are still available for the reachable
3715
- // code that comes after it
3716
- frame.set_branched_to_exit();
3717
- let return_count = if frame.is_loop() {
3718
- frame.num_param_values()
3719
- } else {
3720
- frame.num_return_values()
3721
- };
3722
- (return_count, frame.br_destination())
3723
- };
3724
- let inputs = stack.peekn_mut(return_count);
3725
- (br_destination, inputs)
3726
- }
3727
-
3728
- /// Determine the returned value type of a WebAssembly operator
3729
- fn type_of(operator: &Operator) -> Type {
3730
- match operator {
3731
- Operator::V128Load { .. }
3732
- | Operator::V128Store { .. }
3733
- | Operator::V128Const { .. }
3734
- | Operator::V128Not
3735
- | Operator::V128And
3736
- | Operator::V128AndNot
3737
- | Operator::V128Or
3738
- | Operator::V128Xor
3739
- | Operator::V128AnyTrue
3740
- | Operator::V128Bitselect => I8X16, // default type representing V128
3741
-
3742
- Operator::I8x16Shuffle { .. }
3743
- | Operator::I8x16Splat
3744
- | Operator::V128Load8Splat { .. }
3745
- | Operator::V128Load8Lane { .. }
3746
- | Operator::V128Store8Lane { .. }
3747
- | Operator::I8x16ExtractLaneS { .. }
3748
- | Operator::I8x16ExtractLaneU { .. }
3749
- | Operator::I8x16ReplaceLane { .. }
3750
- | Operator::I8x16Eq
3751
- | Operator::I8x16Ne
3752
- | Operator::I8x16LtS
3753
- | Operator::I8x16LtU
3754
- | Operator::I8x16GtS
3755
- | Operator::I8x16GtU
3756
- | Operator::I8x16LeS
3757
- | Operator::I8x16LeU
3758
- | Operator::I8x16GeS
3759
- | Operator::I8x16GeU
3760
- | Operator::I8x16Neg
3761
- | Operator::I8x16Abs
3762
- | Operator::I8x16AllTrue
3763
- | Operator::I8x16Shl
3764
- | Operator::I8x16ShrS
3765
- | Operator::I8x16ShrU
3766
- | Operator::I8x16Add
3767
- | Operator::I8x16AddSatS
3768
- | Operator::I8x16AddSatU
3769
- | Operator::I8x16Sub
3770
- | Operator::I8x16SubSatS
3771
- | Operator::I8x16SubSatU
3772
- | Operator::I8x16MinS
3773
- | Operator::I8x16MinU
3774
- | Operator::I8x16MaxS
3775
- | Operator::I8x16MaxU
3776
- | Operator::I8x16AvgrU
3777
- | Operator::I8x16Bitmask
3778
- | Operator::I8x16Popcnt
3779
- | Operator::I8x16RelaxedLaneselect => I8X16,
3780
-
3781
- Operator::I16x8Splat
3782
- | Operator::V128Load16Splat { .. }
3783
- | Operator::V128Load16Lane { .. }
3784
- | Operator::V128Store16Lane { .. }
3785
- | Operator::I16x8ExtractLaneS { .. }
3786
- | Operator::I16x8ExtractLaneU { .. }
3787
- | Operator::I16x8ReplaceLane { .. }
3788
- | Operator::I16x8Eq
3789
- | Operator::I16x8Ne
3790
- | Operator::I16x8LtS
3791
- | Operator::I16x8LtU
3792
- | Operator::I16x8GtS
3793
- | Operator::I16x8GtU
3794
- | Operator::I16x8LeS
3795
- | Operator::I16x8LeU
3796
- | Operator::I16x8GeS
3797
- | Operator::I16x8GeU
3798
- | Operator::I16x8Neg
3799
- | Operator::I16x8Abs
3800
- | Operator::I16x8AllTrue
3801
- | Operator::I16x8Shl
3802
- | Operator::I16x8ShrS
3803
- | Operator::I16x8ShrU
3804
- | Operator::I16x8Add
3805
- | Operator::I16x8AddSatS
3806
- | Operator::I16x8AddSatU
3807
- | Operator::I16x8Sub
3808
- | Operator::I16x8SubSatS
3809
- | Operator::I16x8SubSatU
3810
- | Operator::I16x8MinS
3811
- | Operator::I16x8MinU
3812
- | Operator::I16x8MaxS
3813
- | Operator::I16x8MaxU
3814
- | Operator::I16x8AvgrU
3815
- | Operator::I16x8Mul
3816
- | Operator::I16x8Bitmask
3817
- | Operator::I16x8RelaxedLaneselect => I16X8,
3818
-
3819
- Operator::I32x4Splat
3820
- | Operator::V128Load32Splat { .. }
3821
- | Operator::V128Load32Lane { .. }
3822
- | Operator::V128Store32Lane { .. }
3823
- | Operator::I32x4ExtractLane { .. }
3824
- | Operator::I32x4ReplaceLane { .. }
3825
- | Operator::I32x4Eq
3826
- | Operator::I32x4Ne
3827
- | Operator::I32x4LtS
3828
- | Operator::I32x4LtU
3829
- | Operator::I32x4GtS
3830
- | Operator::I32x4GtU
3831
- | Operator::I32x4LeS
3832
- | Operator::I32x4LeU
3833
- | Operator::I32x4GeS
3834
- | Operator::I32x4GeU
3835
- | Operator::I32x4Neg
3836
- | Operator::I32x4Abs
3837
- | Operator::I32x4AllTrue
3838
- | Operator::I32x4Shl
3839
- | Operator::I32x4ShrS
3840
- | Operator::I32x4ShrU
3841
- | Operator::I32x4Add
3842
- | Operator::I32x4Sub
3843
- | Operator::I32x4Mul
3844
- | Operator::I32x4MinS
3845
- | Operator::I32x4MinU
3846
- | Operator::I32x4MaxS
3847
- | Operator::I32x4MaxU
3848
- | Operator::I32x4Bitmask
3849
- | Operator::I32x4TruncSatF32x4S
3850
- | Operator::I32x4TruncSatF32x4U
3851
- | Operator::I32x4RelaxedLaneselect
3852
- | Operator::V128Load32Zero { .. } => I32X4,
3853
-
3854
- Operator::I64x2Splat
3855
- | Operator::V128Load64Splat { .. }
3856
- | Operator::V128Load64Lane { .. }
3857
- | Operator::V128Store64Lane { .. }
3858
- | Operator::I64x2ExtractLane { .. }
3859
- | Operator::I64x2ReplaceLane { .. }
3860
- | Operator::I64x2Eq
3861
- | Operator::I64x2Ne
3862
- | Operator::I64x2LtS
3863
- | Operator::I64x2GtS
3864
- | Operator::I64x2LeS
3865
- | Operator::I64x2GeS
3866
- | Operator::I64x2Neg
3867
- | Operator::I64x2Abs
3868
- | Operator::I64x2AllTrue
3869
- | Operator::I64x2Shl
3870
- | Operator::I64x2ShrS
3871
- | Operator::I64x2ShrU
3872
- | Operator::I64x2Add
3873
- | Operator::I64x2Sub
3874
- | Operator::I64x2Mul
3875
- | Operator::I64x2Bitmask
3876
- | Operator::I64x2RelaxedLaneselect
3877
- | Operator::V128Load64Zero { .. } => I64X2,
3878
-
3879
- Operator::F32x4Splat
3880
- | Operator::F32x4ExtractLane { .. }
3881
- | Operator::F32x4ReplaceLane { .. }
3882
- | Operator::F32x4Eq
3883
- | Operator::F32x4Ne
3884
- | Operator::F32x4Lt
3885
- | Operator::F32x4Gt
3886
- | Operator::F32x4Le
3887
- | Operator::F32x4Ge
3888
- | Operator::F32x4Abs
3889
- | Operator::F32x4Neg
3890
- | Operator::F32x4Sqrt
3891
- | Operator::F32x4Add
3892
- | Operator::F32x4Sub
3893
- | Operator::F32x4Mul
3894
- | Operator::F32x4Div
3895
- | Operator::F32x4Min
3896
- | Operator::F32x4Max
3897
- | Operator::F32x4PMin
3898
- | Operator::F32x4PMax
3899
- | Operator::F32x4ConvertI32x4S
3900
- | Operator::F32x4ConvertI32x4U
3901
- | Operator::F32x4Ceil
3902
- | Operator::F32x4Floor
3903
- | Operator::F32x4Trunc
3904
- | Operator::F32x4Nearest
3905
- | Operator::F32x4RelaxedMax
3906
- | Operator::F32x4RelaxedMin
3907
- | Operator::F32x4RelaxedMadd
3908
- | Operator::F32x4RelaxedNmadd => F32X4,
3909
-
3910
- Operator::F64x2Splat
3911
- | Operator::F64x2ExtractLane { .. }
3912
- | Operator::F64x2ReplaceLane { .. }
3913
- | Operator::F64x2Eq
3914
- | Operator::F64x2Ne
3915
- | Operator::F64x2Lt
3916
- | Operator::F64x2Gt
3917
- | Operator::F64x2Le
3918
- | Operator::F64x2Ge
3919
- | Operator::F64x2Abs
3920
- | Operator::F64x2Neg
3921
- | Operator::F64x2Sqrt
3922
- | Operator::F64x2Add
3923
- | Operator::F64x2Sub
3924
- | Operator::F64x2Mul
3925
- | Operator::F64x2Div
3926
- | Operator::F64x2Min
3927
- | Operator::F64x2Max
3928
- | Operator::F64x2PMin
3929
- | Operator::F64x2PMax
3930
- | Operator::F64x2Ceil
3931
- | Operator::F64x2Floor
3932
- | Operator::F64x2Trunc
3933
- | Operator::F64x2Nearest
3934
- | Operator::F64x2RelaxedMax
3935
- | Operator::F64x2RelaxedMin
3936
- | Operator::F64x2RelaxedMadd
3937
- | Operator::F64x2RelaxedNmadd => F64X2,
3938
-
3939
- _ => unimplemented!(
3940
- "Currently only SIMD instructions are mapped to their return type; the \
3941
- following instruction is not mapped: {:?}",
3942
- operator
3943
- ),
3944
- }
3945
- }
3946
-
3947
- /// Some SIMD operations only operate on I8X16 in CLIF; this will convert them to that type by
3948
- /// adding a bitcast if necessary.
3949
- fn optionally_bitcast_vector(
3950
- value: Value,
3951
- needed_type: Type,
3952
- builder: &mut FunctionBuilder,
3953
- ) -> Value {
3954
- if builder.func.dfg.value_type(value) != needed_type {
3955
- let mut flags = MemFlags::new();
3956
- flags.set_endianness(ir::Endianness::Little);
3957
- builder.ins().bitcast(needed_type, flags, value)
3958
- } else {
3959
- value
3960
- }
3961
- }
3962
-
3963
- #[inline(always)]
3964
- fn is_non_canonical_v128(ty: ir::Type) -> bool {
3965
- match ty {
3966
- I64X2 | I32X4 | I16X8 | F32X4 | F64X2 => true,
3967
- _ => false,
3968
- }
3969
- }
3970
-
3971
- /// Cast to I8X16, any vector values in `values` that are of "non-canonical" type (meaning, not
3972
- /// I8X16), and return them in a slice. A pre-scan is made to determine whether any casts are
3973
- /// actually necessary, and if not, the original slice is returned. Otherwise the cast values
3974
- /// are returned in a slice that belongs to the caller-supplied `SmallVec`.
3975
- fn canonicalise_v128_values<'a>(
3976
- tmp_canonicalised: &'a mut SmallVec<[BlockArg; 16]>,
3977
- builder: &mut FunctionBuilder,
3978
- values: &'a [ir::Value],
3979
- ) -> &'a [BlockArg] {
3980
- debug_assert!(tmp_canonicalised.is_empty());
3981
- // Cast, and push the resulting `Value`s into `canonicalised`.
3982
- for v in values {
3983
- let value = if is_non_canonical_v128(builder.func.dfg.value_type(*v)) {
3984
- let mut flags = MemFlags::new();
3985
- flags.set_endianness(ir::Endianness::Little);
3986
- builder.ins().bitcast(I8X16, flags, *v)
3987
- } else {
3988
- *v
3989
- };
3990
- tmp_canonicalised.push(BlockArg::from(value));
3991
- }
3992
- tmp_canonicalised.as_slice()
3993
- }
3994
-
3995
- /// Generate a `jump` instruction, but first cast all 128-bit vector values to I8X16 if they
3996
- /// don't have that type. This is done in somewhat roundabout way so as to ensure that we
3997
- /// almost never have to do any heap allocation.
3998
- fn canonicalise_then_jump(
3999
- builder: &mut FunctionBuilder,
4000
- destination: ir::Block,
4001
- params: &[ir::Value],
4002
- ) -> ir::Inst {
4003
- let mut tmp_canonicalised = SmallVec::<[_; 16]>::new();
4004
- let canonicalised = canonicalise_v128_values(&mut tmp_canonicalised, builder, params);
4005
- builder.ins().jump(destination, canonicalised)
4006
- }
4007
-
4008
- /// The same but for a `brif` instruction.
4009
- fn canonicalise_brif(
4010
- builder: &mut FunctionBuilder,
4011
- cond: ir::Value,
4012
- block_then: ir::Block,
4013
- params_then: &[ir::Value],
4014
- block_else: ir::Block,
4015
- params_else: &[ir::Value],
4016
- ) -> ir::Inst {
4017
- let mut tmp_canonicalised_then = SmallVec::<[_; 16]>::new();
4018
- let canonicalised_then =
4019
- canonicalise_v128_values(&mut tmp_canonicalised_then, builder, params_then);
4020
- let mut tmp_canonicalised_else = SmallVec::<[_; 16]>::new();
4021
- let canonicalised_else =
4022
- canonicalise_v128_values(&mut tmp_canonicalised_else, builder, params_else);
4023
- builder.ins().brif(
4024
- cond,
4025
- block_then,
4026
- canonicalised_then,
4027
- block_else,
4028
- canonicalised_else,
4029
- )
4030
- }
4031
-
4032
- /// A helper for popping and bitcasting a single value; since SIMD values can lose their type by
4033
- /// using v128 (i.e. CLIF's I8x16) we must re-type the values using a bitcast to avoid CLIF
4034
- /// typing issues.
4035
- fn pop1_with_bitcast(
4036
- stack: &mut FuncTranslationStacks,
4037
- needed_type: Type,
4038
- builder: &mut FunctionBuilder,
4039
- ) -> Value {
4040
- optionally_bitcast_vector(stack.pop1(), needed_type, builder)
4041
- }
4042
-
4043
- /// A helper for popping and bitcasting two values; since SIMD values can lose their type by
4044
- /// using v128 (i.e. CLIF's I8x16) we must re-type the values using a bitcast to avoid CLIF
4045
- /// typing issues.
4046
- fn pop2_with_bitcast(
4047
- stack: &mut FuncTranslationStacks,
4048
- needed_type: Type,
4049
- builder: &mut FunctionBuilder,
4050
- ) -> (Value, Value) {
4051
- let (a, b) = stack.pop2();
4052
- let bitcast_a = optionally_bitcast_vector(a, needed_type, builder);
4053
- let bitcast_b = optionally_bitcast_vector(b, needed_type, builder);
4054
- (bitcast_a, bitcast_b)
4055
- }
4056
-
4057
- fn pop3_with_bitcast(
4058
- stack: &mut FuncTranslationStacks,
4059
- needed_type: Type,
4060
- builder: &mut FunctionBuilder,
4061
- ) -> (Value, Value, Value) {
4062
- let (a, b, c) = stack.pop3();
4063
- let bitcast_a = optionally_bitcast_vector(a, needed_type, builder);
4064
- let bitcast_b = optionally_bitcast_vector(b, needed_type, builder);
4065
- let bitcast_c = optionally_bitcast_vector(c, needed_type, builder);
4066
- (bitcast_a, bitcast_b, bitcast_c)
4067
- }
4068
-
4069
- fn bitcast_arguments<'a>(
4070
- builder: &FunctionBuilder,
4071
- arguments: &'a mut [Value],
4072
- params: &[ir::AbiParam],
4073
- param_predicate: impl Fn(usize) -> bool,
4074
- ) -> Vec<(Type, &'a mut Value)> {
4075
- let filtered_param_types = params
4076
- .iter()
4077
- .enumerate()
4078
- .filter(|(i, _)| param_predicate(*i))
4079
- .map(|(_, param)| param.value_type);
4080
-
4081
- // zip_eq, from the itertools::Itertools trait, is like Iterator::zip but panics if one
4082
- // iterator ends before the other. The `param_predicate` is required to select exactly as many
4083
- // elements of `params` as there are elements in `arguments`.
4084
- let pairs = filtered_param_types.zip_eq(arguments.iter_mut());
4085
-
4086
- // The arguments which need to be bitcasted are those which have some vector type but the type
4087
- // expected by the parameter is not the same vector type as that of the provided argument.
4088
- pairs
4089
- .filter(|(param_type, _)| param_type.is_vector())
4090
- .filter(|(param_type, arg)| {
4091
- let arg_type = builder.func.dfg.value_type(**arg);
4092
- assert!(
4093
- arg_type.is_vector(),
4094
- "unexpected type mismatch: expected {}, argument {} was actually of type {}",
4095
- param_type,
4096
- *arg,
4097
- arg_type
4098
- );
4099
-
4100
- // This is the same check that would be done by `optionally_bitcast_vector`, except we
4101
- // can't take a mutable borrow of the FunctionBuilder here, so we defer inserting the
4102
- // bitcast instruction to the caller.
4103
- arg_type != *param_type
4104
- })
4105
- .collect()
4106
- }
4107
-
4108
- /// A helper for bitcasting a sequence of return values for the function currently being built. If
4109
- /// a value is a vector type that does not match its expected type, this will modify the value in
4110
- /// place to point to the result of a `bitcast`. This conversion is necessary to translate Wasm
4111
- /// code that uses `V128` as function parameters (or implicitly in block parameters) and still use
4112
- /// specific CLIF types (e.g. `I32X4`) in the function body.
4113
- pub fn bitcast_wasm_returns(arguments: &mut [Value], builder: &mut FunctionBuilder) {
4114
- let changes = bitcast_arguments(builder, arguments, &builder.func.signature.returns, |i| {
4115
- builder.func.signature.returns[i].purpose == ir::ArgumentPurpose::Normal
4116
- });
4117
- for (t, arg) in changes {
4118
- let mut flags = MemFlags::new();
4119
- flags.set_endianness(ir::Endianness::Little);
4120
- *arg = builder.ins().bitcast(t, flags, *arg);
4121
- }
4122
- }
4123
-
4124
- /// Like `bitcast_wasm_returns`, but for the parameters being passed to a specified callee.
4125
- fn bitcast_wasm_params(
4126
- environ: &mut FuncEnvironment<'_>,
4127
- callee_signature: ir::SigRef,
4128
- arguments: &mut [Value],
4129
- builder: &mut FunctionBuilder,
4130
- ) {
4131
- let callee_signature = &builder.func.dfg.signatures[callee_signature];
4132
- let changes = bitcast_arguments(builder, arguments, &callee_signature.params, |i| {
4133
- environ.is_wasm_parameter(&callee_signature, i)
4134
- });
4135
- for (t, arg) in changes {
4136
- let mut flags = MemFlags::new();
4137
- flags.set_endianness(ir::Endianness::Little);
4138
- *arg = builder.ins().bitcast(t, flags, *arg);
4139
- }
4140
- }