wasmtime 9.0.4 → 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1933) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +184 -101
  3. data/ext/Cargo.toml +6 -6
  4. data/ext/build.rs +2 -2
  5. data/ext/cargo-vendor/cranelift-bforest-0.97.1/.cargo-checksum.json +1 -0
  6. data/ext/cargo-vendor/cranelift-bforest-0.97.1/Cargo.toml +31 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.97.1/.cargo-checksum.json +1 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.97.1/Cargo.toml +158 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.97.1/benches/x64-evex-encoding.rs +52 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/ir/trapcode.rs +144 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/abi.rs +1294 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/emit.rs +3684 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/emit_tests.rs +7895 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/imms.rs +1210 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst/mod.rs +2966 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/inst.isle +4037 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/lower/isle.rs +816 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/lower.isle +2906 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/aarch64/mod.rs +238 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/mod.rs +424 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/abi.rs +825 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/args.rs +1812 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/emit.rs +3008 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/emit_tests.rs +2338 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/encode.rs +262 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/imms.rs +250 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/mod.rs +1963 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/regs.rs +223 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/unwind/systemv.rs +174 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst/vector.rs +669 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst.isle +2915 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/inst_vector.isle +760 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/lower/isle.rs +553 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/lower.isle +1409 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/riscv64/mod.rs +216 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/abi.rs +957 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/emit.rs +3707 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/emit_tests.rs +13409 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst/mod.rs +3426 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/inst.isle +5046 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/lower.isle +3991 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/s390x/mod.rs +213 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/abi.rs +985 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/evex.rs +749 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/rex.rs +588 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/encoding/vex.rs +492 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/args.rs +2193 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/emit.rs +4090 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/emit_tests.rs +5674 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst/mod.rs +2667 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/inst.isle +5104 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower/isle.rs +1148 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower.isle +4481 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/lower.rs +328 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isa/x64/mod.rs +251 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/isle_prelude.rs +862 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/abi.rs +2455 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/buffer.rs +2277 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/compile.rs +92 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/isle.rs +827 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/lower.rs +1388 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/mod.rs +549 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/reg.rs +537 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/machinst/vcode.rs +1580 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/prelude.isle +578 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/prelude_lower.isle +1012 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/settings.rs +600 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.97.1/src/verifier/mod.rs +1884 -0
  69. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/.cargo-checksum.json +1 -0
  70. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/Cargo.toml +23 -0
  71. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/isa/x86.rs +444 -0
  72. data/ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/shared/settings.rs +348 -0
  73. data/ext/cargo-vendor/cranelift-codegen-shared-0.97.1/.cargo-checksum.json +1 -0
  74. data/ext/cargo-vendor/cranelift-codegen-shared-0.97.1/Cargo.toml +22 -0
  75. data/ext/cargo-vendor/cranelift-control-0.97.1/.cargo-checksum.json +1 -0
  76. data/ext/cargo-vendor/cranelift-control-0.97.1/Cargo.toml +30 -0
  77. data/ext/cargo-vendor/cranelift-control-0.97.1/src/chaos.rs +125 -0
  78. data/ext/cargo-vendor/cranelift-control-0.97.1/src/lib.rs +45 -0
  79. data/ext/cargo-vendor/cranelift-control-0.97.1/src/zero_sized.rs +53 -0
  80. data/ext/cargo-vendor/cranelift-entity-0.97.1/.cargo-checksum.json +1 -0
  81. data/ext/cargo-vendor/cranelift-entity-0.97.1/Cargo.toml +35 -0
  82. data/ext/cargo-vendor/cranelift-entity-0.97.1/src/list.rs +955 -0
  83. data/ext/cargo-vendor/cranelift-frontend-0.97.1/.cargo-checksum.json +1 -0
  84. data/ext/cargo-vendor/cranelift-frontend-0.97.1/Cargo.toml +53 -0
  85. data/ext/cargo-vendor/cranelift-isle-0.97.1/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/cranelift-isle-0.97.1/Cargo.toml +37 -0
  87. data/ext/cargo-vendor/cranelift-native-0.97.1/.cargo-checksum.json +1 -0
  88. data/ext/cargo-vendor/cranelift-native-0.97.1/Cargo.toml +38 -0
  89. data/ext/cargo-vendor/cranelift-native-0.97.1/src/lib.rs +215 -0
  90. data/ext/cargo-vendor/cranelift-wasm-0.97.1/.cargo-checksum.json +1 -0
  91. data/ext/cargo-vendor/cranelift-wasm-0.97.1/Cargo.toml +85 -0
  92. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/code_translator.rs +3538 -0
  93. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/environ/dummy.rs +924 -0
  94. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/environ/spec.rs +834 -0
  95. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/func_translator.rs +440 -0
  96. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/sections_translator.rs +417 -0
  97. data/ext/cargo-vendor/cranelift-wasm-0.97.1/src/translation_utils.rs +99 -0
  98. data/ext/cargo-vendor/encoding_rs-0.8.32/.cargo-checksum.json +1 -0
  99. data/ext/cargo-vendor/encoding_rs-0.8.32/CONTRIBUTING.md +48 -0
  100. data/ext/cargo-vendor/encoding_rs-0.8.32/COPYRIGHT +17 -0
  101. data/ext/cargo-vendor/encoding_rs-0.8.32/Cargo.toml +84 -0
  102. data/ext/cargo-vendor/encoding_rs-0.8.32/Ideas.md +106 -0
  103. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-APACHE +202 -0
  104. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-MIT +25 -0
  105. data/ext/cargo-vendor/encoding_rs-0.8.32/LICENSE-WHATWG +26 -0
  106. data/ext/cargo-vendor/encoding_rs-0.8.32/README.md +827 -0
  107. data/ext/cargo-vendor/encoding_rs-0.8.32/ci/miri.sh +14 -0
  108. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/Big5.txt +16 -0
  109. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/EUC-JP.txt +12 -0
  110. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/EUC-KR.txt +10 -0
  111. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/GBK.txt +16 -0
  112. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/IBM866.txt +8 -0
  113. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-2022-JP.txt +10 -0
  114. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-10.txt +8 -0
  115. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-13.txt +8 -0
  116. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-14.txt +8 -0
  117. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-15.txt +7 -0
  118. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-16.txt +8 -0
  119. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-2.txt +6 -0
  120. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-3.txt +6 -0
  121. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-4.txt +6 -0
  122. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-5.txt +6 -0
  123. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-6.txt +7 -0
  124. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-7.txt +11 -0
  125. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-8-I.txt +9 -0
  126. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/ISO-8859-8.txt +9 -0
  127. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/KOI8-R.txt +6 -0
  128. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/KOI8-U.txt +6 -0
  129. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/Shift_JIS.txt +8 -0
  130. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-16BE.txt +8 -0
  131. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-16LE.txt +8 -0
  132. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/UTF-8.txt +5 -0
  133. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/gb18030.txt +9 -0
  134. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/macintosh.txt +7 -0
  135. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/replacement.txt +10 -0
  136. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1250.txt +6 -0
  137. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1251.txt +6 -0
  138. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1252.txt +7 -0
  139. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1253.txt +8 -0
  140. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1254.txt +7 -0
  141. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1255.txt +8 -0
  142. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1256.txt +6 -0
  143. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1257.txt +7 -0
  144. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-1258.txt +11 -0
  145. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/windows-874.txt +7 -0
  146. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/x-mac-cyrillic.txt +6 -0
  147. data/ext/cargo-vendor/encoding_rs-0.8.32/doc/x-user-defined.txt +6 -0
  148. data/ext/cargo-vendor/encoding_rs-0.8.32/generate-encoding-data.py +2008 -0
  149. data/ext/cargo-vendor/encoding_rs-0.8.32/rustfmt.toml +1 -0
  150. data/ext/cargo-vendor/encoding_rs-0.8.32/src/ascii.rs +1546 -0
  151. data/ext/cargo-vendor/encoding_rs-0.8.32/src/big5.rs +427 -0
  152. data/ext/cargo-vendor/encoding_rs-0.8.32/src/data.rs +114378 -0
  153. data/ext/cargo-vendor/encoding_rs-0.8.32/src/euc_jp.rs +469 -0
  154. data/ext/cargo-vendor/encoding_rs-0.8.32/src/euc_kr.rs +442 -0
  155. data/ext/cargo-vendor/encoding_rs-0.8.32/src/gb18030.rs +767 -0
  156. data/ext/cargo-vendor/encoding_rs-0.8.32/src/handles.rs +1969 -0
  157. data/ext/cargo-vendor/encoding_rs-0.8.32/src/iso_2022_jp.rs +1068 -0
  158. data/ext/cargo-vendor/encoding_rs-0.8.32/src/lib.rs +6133 -0
  159. data/ext/cargo-vendor/encoding_rs-0.8.32/src/macros.rs +1622 -0
  160. data/ext/cargo-vendor/encoding_rs-0.8.32/src/mem.rs +3354 -0
  161. data/ext/cargo-vendor/encoding_rs-0.8.32/src/replacement.rs +104 -0
  162. data/ext/cargo-vendor/encoding_rs-0.8.32/src/shift_jis.rs +426 -0
  163. data/ext/cargo-vendor/encoding_rs-0.8.32/src/simd_funcs.rs +453 -0
  164. data/ext/cargo-vendor/encoding_rs-0.8.32/src/single_byte.rs +714 -0
  165. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_in.txt +19787 -0
  166. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_in_ref.txt +19787 -0
  167. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_out.txt +14601 -0
  168. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/big5_out_ref.txt +14601 -0
  169. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_in.txt +23945 -0
  170. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_in_ref.txt +23945 -0
  171. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_out.txt +17053 -0
  172. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/euc_kr_out_ref.txt +17053 -0
  173. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_in.txt +23945 -0
  174. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_in_ref.txt +23945 -0
  175. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_out.txt +23944 -0
  176. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/gb18030_out_ref.txt +23944 -0
  177. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_in.txt +8841 -0
  178. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_in_ref.txt +8841 -0
  179. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_out.txt +7404 -0
  180. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/iso_2022_jp_out_ref.txt +7404 -0
  181. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_in.txt +8841 -0
  182. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_in_ref.txt +8841 -0
  183. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_out.txt +7341 -0
  184. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0208_out_ref.txt +7341 -0
  185. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0212_in.txt +8841 -0
  186. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/jis0212_in_ref.txt +8841 -0
  187. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_in.txt +11285 -0
  188. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_in_ref.txt +11285 -0
  189. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_out.txt +7355 -0
  190. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_data/shift_jis_out_ref.txt +7355 -0
  191. data/ext/cargo-vendor/encoding_rs-0.8.32/src/test_labels_names.rs +242 -0
  192. data/ext/cargo-vendor/encoding_rs-0.8.32/src/testing.rs +262 -0
  193. data/ext/cargo-vendor/encoding_rs-0.8.32/src/utf_16.rs +472 -0
  194. data/ext/cargo-vendor/encoding_rs-0.8.32/src/utf_8.rs +1629 -0
  195. data/ext/cargo-vendor/encoding_rs-0.8.32/src/variant.rs +400 -0
  196. data/ext/cargo-vendor/encoding_rs-0.8.32/src/x_user_defined.rs +249 -0
  197. data/ext/cargo-vendor/equivalent-1.0.1/.cargo-checksum.json +1 -0
  198. data/ext/cargo-vendor/equivalent-1.0.1/Cargo.toml +27 -0
  199. data/ext/cargo-vendor/equivalent-1.0.1/LICENSE-APACHE +201 -0
  200. data/ext/cargo-vendor/equivalent-1.0.1/LICENSE-MIT +25 -0
  201. data/ext/cargo-vendor/equivalent-1.0.1/README.md +25 -0
  202. data/ext/cargo-vendor/equivalent-1.0.1/src/lib.rs +113 -0
  203. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/.cargo-checksum.json +1 -0
  204. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/Cargo.toml +36 -0
  205. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/run-tests.sh +12 -0
  206. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/src/lib.rs +200 -0
  207. data/ext/cargo-vendor/file-per-thread-logger-0.2.0/tests/test.rs +323 -0
  208. data/ext/cargo-vendor/hashbrown-0.14.0/.cargo-checksum.json +1 -0
  209. data/ext/cargo-vendor/hashbrown-0.14.0/CHANGELOG.md +475 -0
  210. data/ext/cargo-vendor/hashbrown-0.14.0/Cargo.toml +131 -0
  211. data/ext/cargo-vendor/hashbrown-0.14.0/LICENSE-APACHE +201 -0
  212. data/ext/cargo-vendor/hashbrown-0.14.0/LICENSE-MIT +25 -0
  213. data/ext/cargo-vendor/hashbrown-0.14.0/README.md +125 -0
  214. data/ext/cargo-vendor/hashbrown-0.14.0/benches/bench.rs +331 -0
  215. data/ext/cargo-vendor/hashbrown-0.14.0/benches/insert_unique_unchecked.rs +32 -0
  216. data/ext/cargo-vendor/hashbrown-0.14.0/clippy.toml +1 -0
  217. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/mod.rs +6 -0
  218. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/helpers.rs +27 -0
  219. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/map.rs +731 -0
  220. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/mod.rs +4 -0
  221. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/raw.rs +231 -0
  222. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rayon/set.rs +659 -0
  223. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/hash_map.rs +125 -0
  224. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/hash_set.rs +123 -0
  225. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/rkyv/mod.rs +2 -0
  226. data/ext/cargo-vendor/hashbrown-0.14.0/src/external_trait_impls/serde.rs +201 -0
  227. data/ext/cargo-vendor/hashbrown-0.14.0/src/lib.rs +165 -0
  228. data/ext/cargo-vendor/hashbrown-0.14.0/src/macros.rs +70 -0
  229. data/ext/cargo-vendor/hashbrown-0.14.0/src/map.rs +8506 -0
  230. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/alloc.rs +86 -0
  231. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/bitmask.rs +133 -0
  232. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/generic.rs +157 -0
  233. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/mod.rs +3378 -0
  234. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/neon.rs +124 -0
  235. data/ext/cargo-vendor/hashbrown-0.14.0/src/raw/sse2.rs +149 -0
  236. data/ext/cargo-vendor/hashbrown-0.14.0/src/rustc_entry.rs +630 -0
  237. data/ext/cargo-vendor/hashbrown-0.14.0/src/scopeguard.rs +72 -0
  238. data/ext/cargo-vendor/hashbrown-0.14.0/src/set.rs +2903 -0
  239. data/ext/cargo-vendor/hashbrown-0.14.0/tests/equivalent_trait.rs +53 -0
  240. data/ext/cargo-vendor/hashbrown-0.14.0/tests/hasher.rs +65 -0
  241. data/ext/cargo-vendor/hashbrown-0.14.0/tests/raw.rs +11 -0
  242. data/ext/cargo-vendor/hashbrown-0.14.0/tests/rayon.rs +535 -0
  243. data/ext/cargo-vendor/hashbrown-0.14.0/tests/serde.rs +65 -0
  244. data/ext/cargo-vendor/hashbrown-0.14.0/tests/set.rs +34 -0
  245. data/ext/cargo-vendor/indexmap-2.0.0/.cargo-checksum.json +1 -0
  246. data/ext/cargo-vendor/indexmap-2.0.0/Cargo.toml +112 -0
  247. data/ext/cargo-vendor/indexmap-2.0.0/LICENSE-APACHE +201 -0
  248. data/ext/cargo-vendor/indexmap-2.0.0/LICENSE-MIT +25 -0
  249. data/ext/cargo-vendor/indexmap-2.0.0/README.md +55 -0
  250. data/ext/cargo-vendor/indexmap-2.0.0/RELEASES.md +424 -0
  251. data/ext/cargo-vendor/indexmap-2.0.0/benches/bench.rs +763 -0
  252. data/ext/cargo-vendor/indexmap-2.0.0/benches/faststring.rs +185 -0
  253. data/ext/cargo-vendor/indexmap-2.0.0/src/arbitrary.rs +77 -0
  254. data/ext/cargo-vendor/indexmap-2.0.0/src/lib.rs +278 -0
  255. data/ext/cargo-vendor/indexmap-2.0.0/src/macros.rs +178 -0
  256. data/ext/cargo-vendor/indexmap-2.0.0/src/map/core/raw.rs +217 -0
  257. data/ext/cargo-vendor/indexmap-2.0.0/src/map/core.rs +742 -0
  258. data/ext/cargo-vendor/indexmap-2.0.0/src/map/iter.rs +541 -0
  259. data/ext/cargo-vendor/indexmap-2.0.0/src/map/serde_seq.rs +138 -0
  260. data/ext/cargo-vendor/indexmap-2.0.0/src/map/slice.rs +471 -0
  261. data/ext/cargo-vendor/indexmap-2.0.0/src/map/tests.rs +449 -0
  262. data/ext/cargo-vendor/indexmap-2.0.0/src/map.rs +1223 -0
  263. data/ext/cargo-vendor/indexmap-2.0.0/src/mutable_keys.rs +91 -0
  264. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/map.rs +679 -0
  265. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/mod.rs +27 -0
  266. data/ext/cargo-vendor/indexmap-2.0.0/src/rayon/set.rs +774 -0
  267. data/ext/cargo-vendor/indexmap-2.0.0/src/rustc.rs +158 -0
  268. data/ext/cargo-vendor/indexmap-2.0.0/src/serde.rs +151 -0
  269. data/ext/cargo-vendor/indexmap-2.0.0/src/set/iter.rs +543 -0
  270. data/ext/cargo-vendor/indexmap-2.0.0/src/set/slice.rs +278 -0
  271. data/ext/cargo-vendor/indexmap-2.0.0/src/set/tests.rs +545 -0
  272. data/ext/cargo-vendor/indexmap-2.0.0/src/set.rs +1011 -0
  273. data/ext/cargo-vendor/indexmap-2.0.0/src/util.rs +53 -0
  274. data/ext/cargo-vendor/indexmap-2.0.0/tests/equivalent_trait.rs +53 -0
  275. data/ext/cargo-vendor/indexmap-2.0.0/tests/macros_full_path.rs +19 -0
  276. data/ext/cargo-vendor/indexmap-2.0.0/tests/quick.rs +579 -0
  277. data/ext/cargo-vendor/indexmap-2.0.0/tests/tests.rs +28 -0
  278. data/ext/cargo-vendor/regalloc2-0.9.2/.cargo-checksum.json +1 -0
  279. data/ext/cargo-vendor/regalloc2-0.9.2/Cargo.toml +72 -0
  280. data/ext/cargo-vendor/regalloc2-0.9.2/deny.toml +28 -0
  281. data/ext/cargo-vendor/regalloc2-0.9.2/src/checker.rs +1089 -0
  282. data/ext/cargo-vendor/regalloc2-0.9.2/src/fuzzing/func.rs +702 -0
  283. data/ext/cargo-vendor/regalloc2-0.9.2/src/index.rs +268 -0
  284. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/data_structures.rs +857 -0
  285. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/liveranges.rs +961 -0
  286. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/merge.rs +368 -0
  287. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/mod.rs +150 -0
  288. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/moves.rs +1017 -0
  289. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/process.rs +1307 -0
  290. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/requirement.rs +174 -0
  291. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/spill.rs +165 -0
  292. data/ext/cargo-vendor/regalloc2-0.9.2/src/ion/stackmap.rs +79 -0
  293. data/ext/cargo-vendor/regalloc2-0.9.2/src/lib.rs +1526 -0
  294. data/ext/cargo-vendor/regalloc2-0.9.2/src/moves.rs +439 -0
  295. data/ext/cargo-vendor/regalloc2-0.9.2/src/serialize.rs +311 -0
  296. data/ext/cargo-vendor/semver-1.0.18/.cargo-checksum.json +1 -0
  297. data/ext/cargo-vendor/semver-1.0.18/Cargo.toml +47 -0
  298. data/ext/cargo-vendor/semver-1.0.18/LICENSE-APACHE +176 -0
  299. data/ext/cargo-vendor/semver-1.0.18/LICENSE-MIT +23 -0
  300. data/ext/cargo-vendor/semver-1.0.18/README.md +84 -0
  301. data/ext/cargo-vendor/semver-1.0.18/benches/parse.rs +24 -0
  302. data/ext/cargo-vendor/semver-1.0.18/build.rs +75 -0
  303. data/ext/cargo-vendor/semver-1.0.18/src/backport.rs +23 -0
  304. data/ext/cargo-vendor/semver-1.0.18/src/display.rs +165 -0
  305. data/ext/cargo-vendor/semver-1.0.18/src/error.rs +126 -0
  306. data/ext/cargo-vendor/semver-1.0.18/src/eval.rs +181 -0
  307. data/ext/cargo-vendor/semver-1.0.18/src/identifier.rs +422 -0
  308. data/ext/cargo-vendor/semver-1.0.18/src/impls.rs +156 -0
  309. data/ext/cargo-vendor/semver-1.0.18/src/lib.rs +533 -0
  310. data/ext/cargo-vendor/semver-1.0.18/src/parse.rs +409 -0
  311. data/ext/cargo-vendor/semver-1.0.18/src/serde.rs +109 -0
  312. data/ext/cargo-vendor/semver-1.0.18/tests/node/mod.rs +43 -0
  313. data/ext/cargo-vendor/semver-1.0.18/tests/test_autotrait.rs +14 -0
  314. data/ext/cargo-vendor/semver-1.0.18/tests/test_identifier.rs +45 -0
  315. data/ext/cargo-vendor/semver-1.0.18/tests/test_version.rs +238 -0
  316. data/ext/cargo-vendor/semver-1.0.18/tests/test_version_req.rs +443 -0
  317. data/ext/cargo-vendor/semver-1.0.18/tests/util/mod.rs +39 -0
  318. data/ext/cargo-vendor/sptr-0.3.2/.cargo-checksum.json +1 -0
  319. data/ext/cargo-vendor/sptr-0.3.2/Cargo.toml +28 -0
  320. data/ext/cargo-vendor/sptr-0.3.2/README.md +73 -0
  321. data/ext/cargo-vendor/sptr-0.3.2/src/func.rs +83 -0
  322. data/ext/cargo-vendor/sptr-0.3.2/src/int.rs +364 -0
  323. data/ext/cargo-vendor/sptr-0.3.2/src/lib.rs +756 -0
  324. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/.cargo-checksum.json +1 -0
  325. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/Cargo.toml +90 -0
  326. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/src/dir.rs +464 -0
  327. data/ext/cargo-vendor/wasi-cap-std-sync-10.0.0/src/lib.rs +141 -0
  328. data/ext/cargo-vendor/wasi-common-10.0.0/.cargo-checksum.json +1 -0
  329. data/ext/cargo-vendor/wasi-common-10.0.0/Cargo.toml +87 -0
  330. data/ext/cargo-vendor/wasi-common-10.0.0/src/ctx.rs +128 -0
  331. data/ext/cargo-vendor/wasi-common-10.0.0/src/file.rs +262 -0
  332. data/ext/cargo-vendor/wasi-common-10.0.0/src/snapshots/preview_1.rs +1490 -0
  333. data/ext/cargo-vendor/wasm-encoder-0.29.0/.cargo-checksum.json +1 -0
  334. data/ext/cargo-vendor/wasm-encoder-0.29.0/Cargo.toml +33 -0
  335. data/ext/cargo-vendor/wasm-encoder-0.29.0/README.md +80 -0
  336. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/aliases.rs +160 -0
  337. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/canonicals.rs +159 -0
  338. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/components.rs +29 -0
  339. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/exports.rs +127 -0
  340. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/imports.rs +200 -0
  341. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/instances.rs +200 -0
  342. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/modules.rs +29 -0
  343. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/names.rs +149 -0
  344. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/start.rs +52 -0
  345. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component/types.rs +759 -0
  346. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/component.rs +160 -0
  347. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/code.rs +2913 -0
  348. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/custom.rs +55 -0
  349. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/data.rs +185 -0
  350. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/dump.rs +627 -0
  351. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/elements.rs +224 -0
  352. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/exports.rs +85 -0
  353. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/functions.rs +63 -0
  354. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/globals.rs +90 -0
  355. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/imports.rs +142 -0
  356. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/linking.rs +263 -0
  357. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/memories.rs +99 -0
  358. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/names.rs +265 -0
  359. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/producers.rs +180 -0
  360. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/start.rs +39 -0
  361. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/tables.rs +104 -0
  362. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/tags.rs +85 -0
  363. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core/types.rs +246 -0
  364. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/core.rs +168 -0
  365. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/lib.rs +215 -0
  366. data/ext/cargo-vendor/wasm-encoder-0.29.0/src/raw.rs +30 -0
  367. data/ext/cargo-vendor/wasmparser-0.107.0/.cargo-checksum.json +1 -0
  368. data/ext/cargo-vendor/wasmparser-0.107.0/Cargo.lock +621 -0
  369. data/ext/cargo-vendor/wasmparser-0.107.0/Cargo.toml +54 -0
  370. data/ext/cargo-vendor/wasmparser-0.107.0/benches/benchmark.rs +351 -0
  371. data/ext/cargo-vendor/wasmparser-0.107.0/src/binary_reader.rs +1706 -0
  372. data/ext/cargo-vendor/wasmparser-0.107.0/src/lib.rs +723 -0
  373. data/ext/cargo-vendor/wasmparser-0.107.0/src/parser.rs +1535 -0
  374. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/canonicals.rs +119 -0
  375. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/exports.rs +117 -0
  376. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/imports.rs +137 -0
  377. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/instances.rs +163 -0
  378. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/component/types.rs +548 -0
  379. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/coredumps.rs +243 -0
  380. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/producers.rs +83 -0
  381. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core/types.rs +874 -0
  382. data/ext/cargo-vendor/wasmparser-0.107.0/src/readers/core.rs +35 -0
  383. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/component.rs +3082 -0
  384. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/core.rs +1334 -0
  385. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/names.rs +606 -0
  386. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/operators.rs +3463 -0
  387. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator/types.rs +3070 -0
  388. data/ext/cargo-vendor/wasmparser-0.107.0/src/validator.rs +1589 -0
  389. data/ext/cargo-vendor/wasmparser-0.111.0/.cargo-checksum.json +1 -0
  390. data/ext/cargo-vendor/wasmparser-0.111.0/Cargo.lock +644 -0
  391. data/ext/cargo-vendor/wasmparser-0.111.0/Cargo.toml +54 -0
  392. data/ext/cargo-vendor/wasmparser-0.111.0/README.md +36 -0
  393. data/ext/cargo-vendor/wasmparser-0.111.0/benches/benchmark.rs +349 -0
  394. data/ext/cargo-vendor/wasmparser-0.111.0/examples/simple.rs +37 -0
  395. data/ext/cargo-vendor/wasmparser-0.111.0/src/binary_reader.rs +1706 -0
  396. data/ext/cargo-vendor/wasmparser-0.111.0/src/lib.rs +726 -0
  397. data/ext/cargo-vendor/wasmparser-0.111.0/src/limits.rs +59 -0
  398. data/ext/cargo-vendor/wasmparser-0.111.0/src/parser.rs +1612 -0
  399. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/aliases.rs +119 -0
  400. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/canonicals.rs +120 -0
  401. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/exports.rs +117 -0
  402. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/imports.rs +137 -0
  403. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/instances.rs +163 -0
  404. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/names.rs +102 -0
  405. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/start.rs +30 -0
  406. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component/types.rs +548 -0
  407. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/component.rs +17 -0
  408. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/code.rs +146 -0
  409. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/coredumps.rs +243 -0
  410. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/custom.rs +63 -0
  411. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/data.rs +96 -0
  412. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/dylink0.rs +132 -0
  413. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/elements.rs +152 -0
  414. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/exports.rs +65 -0
  415. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/functions.rs +17 -0
  416. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/globals.rs +49 -0
  417. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/imports.rs +76 -0
  418. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/init.rs +51 -0
  419. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/memories.rs +56 -0
  420. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/names.rs +153 -0
  421. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/operators.rs +354 -0
  422. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/producers.rs +83 -0
  423. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/tables.rs +87 -0
  424. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/tags.rs +32 -0
  425. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core/types.rs +1141 -0
  426. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers/core.rs +37 -0
  427. data/ext/cargo-vendor/wasmparser-0.111.0/src/readers.rs +316 -0
  428. data/ext/cargo-vendor/wasmparser-0.111.0/src/resources.rs +398 -0
  429. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/component.rs +3148 -0
  430. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/core.rs +1314 -0
  431. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/func.rs +348 -0
  432. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/names.rs +606 -0
  433. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/operators.rs +3466 -0
  434. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator/types.rs +3283 -0
  435. data/ext/cargo-vendor/wasmparser-0.111.0/src/validator.rs +1568 -0
  436. data/ext/cargo-vendor/wasmparser-0.111.0/tests/big-module.rs +33 -0
  437. data/ext/cargo-vendor/wasmprinter-0.2.63/.cargo-checksum.json +1 -0
  438. data/ext/cargo-vendor/wasmprinter-0.2.63/Cargo.toml +39 -0
  439. data/ext/cargo-vendor/wasmprinter-0.2.63/README.md +47 -0
  440. data/ext/cargo-vendor/wasmprinter-0.2.63/src/lib.rs +2962 -0
  441. data/ext/cargo-vendor/wasmprinter-0.2.63/src/operator.rs +873 -0
  442. data/ext/cargo-vendor/wasmprinter-0.2.63/tests/all.rs +278 -0
  443. data/ext/cargo-vendor/wasmtime-10.0.0/.cargo-checksum.json +1 -0
  444. data/ext/cargo-vendor/wasmtime-10.0.0/Cargo.toml +183 -0
  445. data/ext/cargo-vendor/wasmtime-10.0.0/src/compiler.rs +710 -0
  446. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/component.rs +382 -0
  447. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/instance.rs +727 -0
  448. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/matching.rs +112 -0
  449. data/ext/cargo-vendor/wasmtime-10.0.0/src/component/mod.rs +313 -0
  450. data/ext/cargo-vendor/wasmtime-10.0.0/src/config.rs +2066 -0
  451. data/ext/cargo-vendor/wasmtime-10.0.0/src/engine/serialization.rs +622 -0
  452. data/ext/cargo-vendor/wasmtime-10.0.0/src/engine.rs +757 -0
  453. data/ext/cargo-vendor/wasmtime-10.0.0/src/externals.rs +763 -0
  454. data/ext/cargo-vendor/wasmtime-10.0.0/src/func/typed.rs +638 -0
  455. data/ext/cargo-vendor/wasmtime-10.0.0/src/func.rs +2355 -0
  456. data/ext/cargo-vendor/wasmtime-10.0.0/src/instance.rs +905 -0
  457. data/ext/cargo-vendor/wasmtime-10.0.0/src/lib.rs +486 -0
  458. data/ext/cargo-vendor/wasmtime-10.0.0/src/linker.rs +1479 -0
  459. data/ext/cargo-vendor/wasmtime-10.0.0/src/memory.rs +950 -0
  460. data/ext/cargo-vendor/wasmtime-10.0.0/src/module.rs +1274 -0
  461. data/ext/cargo-vendor/wasmtime-10.0.0/src/ref.rs +109 -0
  462. data/ext/cargo-vendor/wasmtime-10.0.0/src/store/context.rs +243 -0
  463. data/ext/cargo-vendor/wasmtime-10.0.0/src/store/func_refs.rs +85 -0
  464. data/ext/cargo-vendor/wasmtime-10.0.0/src/store.rs +2166 -0
  465. data/ext/cargo-vendor/wasmtime-10.0.0/src/trampoline/func.rs +133 -0
  466. data/ext/cargo-vendor/wasmtime-10.0.0/src/trampoline/global.rs +67 -0
  467. data/ext/cargo-vendor/wasmtime-10.0.0/src/types/matching.rs +312 -0
  468. data/ext/cargo-vendor/wasmtime-10.0.0/src/types.rs +572 -0
  469. data/ext/cargo-vendor/wasmtime-10.0.0/src/values.rs +290 -0
  470. data/ext/cargo-vendor/wasmtime-asm-macros-10.0.0/.cargo-checksum.json +1 -0
  471. data/ext/cargo-vendor/wasmtime-asm-macros-10.0.0/Cargo.toml +22 -0
  472. data/ext/cargo-vendor/wasmtime-cache-10.0.0/.cargo-checksum.json +1 -0
  473. data/ext/cargo-vendor/wasmtime-cache-10.0.0/Cargo.toml +73 -0
  474. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/.cargo-checksum.json +1 -0
  475. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/Cargo.toml +58 -0
  476. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/src/bindgen.rs +316 -0
  477. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/char.wit +13 -0
  478. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/conventions.wit +39 -0
  479. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/direct-import.wit +5 -0
  480. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/empty.wit +2 -0
  481. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/flags.wit +55 -0
  482. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/floats.wit +13 -0
  483. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/function-new.wit +4 -0
  484. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/integers.wit +40 -0
  485. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/lists.wit +85 -0
  486. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/many-arguments.wit +52 -0
  487. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/multi-return.wit +14 -0
  488. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/records.wit +61 -0
  489. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/rename.wit +16 -0
  490. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/share-types.wit +21 -0
  491. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-functions.wit +17 -0
  492. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-lists.wit +13 -0
  493. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/simple-wasi.wit +23 -0
  494. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/small-anonymous.wit +15 -0
  495. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke-default.wit +5 -0
  496. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke-export.wit +7 -0
  497. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/smoke.wit +7 -0
  498. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/strings.wit +12 -0
  499. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/unions.wit +66 -0
  500. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/use-paths.wit +29 -0
  501. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/variants.wit +147 -0
  502. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen/worlds-with-types.wit +16 -0
  503. data/ext/cargo-vendor/wasmtime-component-macro-10.0.0/tests/codegen.rs +24 -0
  504. data/ext/cargo-vendor/wasmtime-component-util-10.0.0/.cargo-checksum.json +1 -0
  505. data/ext/cargo-vendor/wasmtime-component-util-10.0.0/Cargo.toml +25 -0
  506. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/.cargo-checksum.json +1 -0
  507. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/Cargo.toml +90 -0
  508. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/compiler.rs +1200 -0
  509. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/debug/transform/simulate.rs +410 -0
  510. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/func_environ.rs +2206 -0
  511. data/ext/cargo-vendor/wasmtime-cranelift-10.0.0/src/lib.rs +178 -0
  512. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/.cargo-checksum.json +1 -0
  513. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/Cargo.toml +57 -0
  514. data/ext/cargo-vendor/wasmtime-cranelift-shared-10.0.0/src/lib.rs +120 -0
  515. data/ext/cargo-vendor/wasmtime-environ-10.0.0/.cargo-checksum.json +1 -0
  516. data/ext/cargo-vendor/wasmtime-environ-10.0.0/Cargo.lock +681 -0
  517. data/ext/cargo-vendor/wasmtime-environ-10.0.0/Cargo.toml +116 -0
  518. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/compiler.rs +84 -0
  519. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/translate/inline.rs +1067 -0
  520. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/translate.rs +1070 -0
  521. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/component/types.rs +1916 -0
  522. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/fact.rs +623 -0
  523. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/module.rs +1083 -0
  524. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/module_environ.rs +884 -0
  525. data/ext/cargo-vendor/wasmtime-environ-10.0.0/src/trap_encoding.rs +238 -0
  526. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/.cargo-checksum.json +1 -0
  527. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/Cargo.toml +46 -0
  528. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/lib.rs +305 -0
  529. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/unix.rs +212 -0
  530. data/ext/cargo-vendor/wasmtime-fiber-10.0.0/src/windows.rs +161 -0
  531. data/ext/cargo-vendor/wasmtime-jit-10.0.0/.cargo-checksum.json +1 -0
  532. data/ext/cargo-vendor/wasmtime-jit-10.0.0/Cargo.toml +104 -0
  533. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/instantiate.rs +760 -0
  534. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/lib.rs +38 -0
  535. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/jitdump.rs +66 -0
  536. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/perfmap.rs +47 -0
  537. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling/vtune.rs +80 -0
  538. data/ext/cargo-vendor/wasmtime-jit-10.0.0/src/profiling.rs +108 -0
  539. data/ext/cargo-vendor/wasmtime-jit-debug-10.0.0/.cargo-checksum.json +1 -0
  540. data/ext/cargo-vendor/wasmtime-jit-debug-10.0.0/Cargo.toml +55 -0
  541. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-10.0.0/.cargo-checksum.json +1 -0
  542. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-10.0.0/Cargo.toml +37 -0
  543. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/.cargo-checksum.json +1 -0
  544. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/Cargo.toml +110 -0
  545. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/component.rs +701 -0
  546. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/cow.rs +1060 -0
  547. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/debug_builtins.rs +58 -0
  548. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/externref.rs +1073 -0
  549. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance/allocator/pooling.rs +1368 -0
  550. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance/allocator.rs +531 -0
  551. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/instance.rs +1345 -0
  552. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/lib.rs +285 -0
  553. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/libcalls.rs +578 -0
  554. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/memory.rs +958 -0
  555. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/miri.rs +94 -0
  556. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/unix.rs +148 -0
  557. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/mmap/windows.rs +208 -0
  558. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/send_sync_ptr.rs +69 -0
  559. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/table.rs +595 -0
  560. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/traphandlers/unix.rs +387 -0
  561. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/traphandlers.rs +749 -0
  562. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/vmcontext/vm_host_func_context.rs +137 -0
  563. data/ext/cargo-vendor/wasmtime-runtime-10.0.0/src/vmcontext.rs +1221 -0
  564. data/ext/cargo-vendor/wasmtime-types-10.0.1/.cargo-checksum.json +1 -0
  565. data/ext/cargo-vendor/wasmtime-types-10.0.1/Cargo.toml +34 -0
  566. data/ext/cargo-vendor/wasmtime-types-10.0.1/src/lib.rs +462 -0
  567. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/.cargo-checksum.json +1 -0
  568. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/Cargo.toml +153 -0
  569. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/lib.rs +130 -0
  570. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/clocks/host.rs +73 -0
  571. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/clocks.rs +17 -0
  572. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/ctx.rs +206 -0
  573. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/error.rs +16 -0
  574. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/filesystem.rs +269 -0
  575. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/mod.rs +44 -0
  576. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/pipe.rs +233 -0
  577. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview1/mod.rs +1860 -0
  578. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/clocks.rs +80 -0
  579. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/env.rs +48 -0
  580. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/exit.rs +12 -0
  581. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/filesystem.rs +1020 -0
  582. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/io.rs +215 -0
  583. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/mod.rs +7 -0
  584. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/poll.rs +84 -0
  585. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/preview2/random.rs +41 -0
  586. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/random.rs +58 -0
  587. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched/subscription.rs +104 -0
  588. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched/sync.rs +156 -0
  589. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/sched.rs +105 -0
  590. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/stdio.rs +176 -0
  591. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/stream.rs +210 -0
  592. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/table.rs +107 -0
  593. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/wasi/command.rs +43 -0
  594. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/src/preview2/wasi/mod.rs +30 -0
  595. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/monotonic-clock.wit +34 -0
  596. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/timezone.wit +63 -0
  597. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/clocks/wall-clock.wit +43 -0
  598. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/filesystem/filesystem.wit +782 -0
  599. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/incoming-handler.wit +24 -0
  600. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/outgoing-handler.wit +18 -0
  601. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/http/types.wit +159 -0
  602. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/io/streams.wit +215 -0
  603. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/logging/handler.wit +34 -0
  604. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/poll/poll.wit +41 -0
  605. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/command-extended.wit +36 -0
  606. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/command.wit +26 -0
  607. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/proxy.wit +9 -0
  608. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/preview/reactor.wit +24 -0
  609. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/insecure-seed.wit +24 -0
  610. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/insecure.wit +21 -0
  611. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/random/random.wit +25 -0
  612. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/instance-network.wit +9 -0
  613. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/ip-name-lookup.wit +69 -0
  614. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/network.wit +187 -0
  615. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/tcp-create-socket.wit +27 -0
  616. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/tcp.wit +255 -0
  617. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/udp-create-socket.wit +27 -0
  618. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/sockets/udp.wit +211 -0
  619. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/environment.wit +16 -0
  620. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/exit.wit +4 -0
  621. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/preopens.wit +7 -0
  622. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/deps/wasi-cli-base/stdio.wit +17 -0
  623. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/main.wit +1 -0
  624. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/wit/test.wit +19 -0
  625. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/witx/typenames.witx +750 -0
  626. data/ext/cargo-vendor/wasmtime-wasi-10.0.0/witx/wasi_snapshot_preview1.witx +521 -0
  627. data/ext/cargo-vendor/wasmtime-winch-10.0.0/.cargo-checksum.json +1 -0
  628. data/ext/cargo-vendor/wasmtime-winch-10.0.0/Cargo.toml +63 -0
  629. data/ext/cargo-vendor/wasmtime-winch-10.0.0/src/compiler.rs +220 -0
  630. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/.cargo-checksum.json +1 -0
  631. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/Cargo.toml +29 -0
  632. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/src/lib.rs +1631 -0
  633. data/ext/cargo-vendor/wasmtime-wit-bindgen-10.0.0/src/types.rs +179 -0
  634. data/ext/cargo-vendor/wiggle-10.0.0/.cargo-checksum.json +1 -0
  635. data/ext/cargo-vendor/wiggle-10.0.0/Cargo.toml +106 -0
  636. data/ext/cargo-vendor/wiggle-10.0.0/LICENSE +220 -0
  637. data/ext/cargo-vendor/wiggle-10.0.0/README.md +18 -0
  638. data/ext/cargo-vendor/wiggle-generate-10.0.0/.cargo-checksum.json +1 -0
  639. data/ext/cargo-vendor/wiggle-generate-10.0.0/Cargo.toml +58 -0
  640. data/ext/cargo-vendor/wiggle-generate-10.0.0/LICENSE +220 -0
  641. data/ext/cargo-vendor/wiggle-macro-10.0.0/.cargo-checksum.json +1 -0
  642. data/ext/cargo-vendor/wiggle-macro-10.0.0/Cargo.toml +55 -0
  643. data/ext/cargo-vendor/wiggle-macro-10.0.0/LICENSE +220 -0
  644. data/ext/cargo-vendor/wiggle-macro-10.0.0/src/lib.rs +210 -0
  645. data/ext/cargo-vendor/winch-codegen-0.8.0/.cargo-checksum.json +1 -0
  646. data/ext/cargo-vendor/winch-codegen-0.8.0/Cargo.toml +62 -0
  647. data/ext/cargo-vendor/winch-codegen-0.8.0/src/abi/local.rs +70 -0
  648. data/ext/cargo-vendor/winch-codegen-0.8.0/src/abi/mod.rs +237 -0
  649. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/call.rs +225 -0
  650. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/context.rs +270 -0
  651. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/env.rs +52 -0
  652. data/ext/cargo-vendor/winch-codegen-0.8.0/src/codegen/mod.rs +214 -0
  653. data/ext/cargo-vendor/winch-codegen-0.8.0/src/frame/mod.rs +172 -0
  654. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/abi.rs +243 -0
  655. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/asm.rs +300 -0
  656. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/masm.rs +230 -0
  657. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/mod.rs +127 -0
  658. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/aarch64/regs.rs +166 -0
  659. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/mod.rs +215 -0
  660. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/abi.rs +369 -0
  661. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/address.rs +17 -0
  662. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/asm.rs +576 -0
  663. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/masm.rs +288 -0
  664. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/mod.rs +149 -0
  665. data/ext/cargo-vendor/winch-codegen-0.8.0/src/isa/x64/regs.rs +192 -0
  666. data/ext/cargo-vendor/winch-codegen-0.8.0/src/lib.rs +21 -0
  667. data/ext/cargo-vendor/winch-codegen-0.8.0/src/masm.rs +255 -0
  668. data/ext/cargo-vendor/winch-codegen-0.8.0/src/regalloc.rs +70 -0
  669. data/ext/cargo-vendor/winch-codegen-0.8.0/src/stack.rs +235 -0
  670. data/ext/cargo-vendor/winch-codegen-0.8.0/src/trampoline.rs +494 -0
  671. data/ext/cargo-vendor/winch-codegen-0.8.0/src/visitor.rs +353 -0
  672. data/ext/cargo-vendor/wit-parser-0.8.0/.cargo-checksum.json +1 -0
  673. data/ext/cargo-vendor/wit-parser-0.8.0/Cargo.toml +62 -0
  674. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast/lex.rs +679 -0
  675. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast/resolve.rs +1122 -0
  676. data/ext/cargo-vendor/wit-parser-0.8.0/src/ast.rs +1207 -0
  677. data/ext/cargo-vendor/wit-parser-0.8.0/src/lib.rs +622 -0
  678. data/ext/cargo-vendor/wit-parser-0.8.0/src/live.rs +111 -0
  679. data/ext/cargo-vendor/wit-parser-0.8.0/src/resolve.rs +1307 -0
  680. data/ext/cargo-vendor/wit-parser-0.8.0/tests/all.rs +168 -0
  681. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/comments.wit +25 -0
  682. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/deps/dep1/types.wit +2 -0
  683. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/deps/dep2/types.wit +2 -0
  684. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/diamond1/join.wit +6 -0
  685. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/shared1.wit +3 -0
  686. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/shared2.wit +3 -0
  687. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/disambiguate-diamond/world.wit +13 -0
  688. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/embedded.wit.md +34 -0
  689. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/empty.wit +1 -0
  690. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +3 -0
  691. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/corp/saas.wit +4 -0
  692. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +2 -0
  693. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +5 -0
  694. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +13 -0
  695. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/wasi/clocks.wit +5 -0
  696. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/deps/wasi/filesystem.wit +7 -0
  697. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/foreign-deps/root.wit +44 -0
  698. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/functions.wit +14 -0
  699. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/many-names/a.wit +2 -0
  700. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/many-names/b.wit +5 -0
  701. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/bar.wit +21 -0
  702. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/cycle-a.wit +7 -0
  703. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/cycle-b.wit +3 -0
  704. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/multi-file/foo.wit +31 -0
  705. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax1.wit +1 -0
  706. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax3.wit +1 -0
  707. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/package-syntax4.wit +1 -0
  708. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/alias-no-type.wit.result +1 -0
  709. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function.wit +7 -0
  710. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function.wit.result +5 -0
  711. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function2.wit +7 -0
  712. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-function2.wit.result +5 -0
  713. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg1/root.wit +5 -0
  714. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg1.wit.result +8 -0
  715. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +1 -0
  716. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2/root.wit +5 -0
  717. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg2.wit.result +5 -0
  718. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +2 -0
  719. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3/root.wit +5 -0
  720. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg3.wit.result +5 -0
  721. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +4 -0
  722. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4/root.wit +4 -0
  723. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg4.wit.result +5 -0
  724. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +3 -0
  725. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5/root.wit +4 -0
  726. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg5.wit.result +5 -0
  727. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +4 -0
  728. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6/root.wit +4 -0
  729. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-pkg6.wit.result +5 -0
  730. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-world-type1.wit +5 -0
  731. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/bad-world-type1.wit.result +5 -0
  732. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package/a.wit +1 -0
  733. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package/b.wit +1 -0
  734. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/conflicting-package.wit.result +8 -0
  735. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle.wit +6 -0
  736. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle.wit.result +5 -0
  737. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle2.wit +7 -0
  738. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle2.wit.result +5 -0
  739. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle3.wit +7 -0
  740. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle3.wit.result +5 -0
  741. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle4.wit +7 -0
  742. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle4.wit.result +5 -0
  743. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle5.wit +7 -0
  744. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/cycle5.wit.result +5 -0
  745. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-functions.wit +8 -0
  746. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-functions.wit.result +5 -0
  747. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface.wit +6 -0
  748. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface.wit.result +5 -0
  749. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2/foo.wit +3 -0
  750. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2/foo2.wit +3 -0
  751. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-interface2.wit.result +8 -0
  752. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-type.wit +7 -0
  753. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/duplicate-type.wit.result +5 -0
  754. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-enum.wit +6 -0
  755. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-enum.wit.result +5 -0
  756. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-union.wit +6 -0
  757. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-union.wit.result +5 -0
  758. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-variant1.wit +6 -0
  759. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/empty-variant1.wit.result +5 -0
  760. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/export-twice.wit +8 -0
  761. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/export-twice.wit.result +5 -0
  762. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap1.wit +5 -0
  763. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap1.wit.result +5 -0
  764. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap2.wit +5 -0
  765. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-export-overlap2.wit.result +5 -0
  766. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-twice.wit +8 -0
  767. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/import-twice.wit.result +5 -0
  768. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-md.wit.result +5 -0
  769. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference.wit +10 -0
  770. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference.wit.result +5 -0
  771. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference2.wit +6 -0
  772. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/invalid-type-reference2.wit.result +5 -0
  773. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/missing-package.wit.result +1 -0
  774. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +1 -0
  775. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +5 -0
  776. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +8 -0
  777. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +4 -0
  778. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle/root.wit +4 -0
  779. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle.wit.result +5 -0
  780. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +4 -0
  781. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +4 -0
  782. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2/root.wit +4 -0
  783. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/pkg-cycle2.wit.result +5 -0
  784. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/undefined-typed.wit +6 -0
  785. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/undefined-typed.wit.result +5 -0
  786. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unknown-interface.wit +7 -0
  787. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unknown-interface.wit.result +5 -0
  788. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface1.wit +7 -0
  789. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface1.wit.result +5 -0
  790. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface2.wit +8 -0
  791. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface2.wit.result +5 -0
  792. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface3.wit +5 -0
  793. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface3.wit.result +5 -0
  794. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface4.wit +7 -0
  795. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-interface4.wit.result +5 -0
  796. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use1.wit +7 -0
  797. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use1.wit.result +5 -0
  798. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use10/bar.wit +5 -0
  799. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use10.wit.result +8 -0
  800. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use2.wit +10 -0
  801. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use2.wit.result +5 -0
  802. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use3.wit +11 -0
  803. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use3.wit.result +5 -0
  804. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use7.wit +10 -0
  805. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use7.wit.result +5 -0
  806. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use8.wit +9 -0
  807. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use8.wit.result +5 -0
  808. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use9.wit +9 -0
  809. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/unresolved-use9.wit.result +5 -0
  810. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict.wit +11 -0
  811. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict.wit.result +5 -0
  812. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict2.wit +13 -0
  813. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict2.wit.result +5 -0
  814. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict3.wit +13 -0
  815. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-conflict3.wit.result +5 -0
  816. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle1.wit +7 -0
  817. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle1.wit.result +5 -0
  818. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle4.wit +14 -0
  819. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-cycle4.wit.result +5 -0
  820. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-shadow1.wit +7 -0
  821. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/use-shadow1.wit.result +5 -0
  822. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-interface-clash.wit +3 -0
  823. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-interface-clash.wit.result +5 -0
  824. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields2.wit +8 -0
  825. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields2.wit.result +5 -0
  826. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields3.wit +8 -0
  827. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-same-fields3.wit.result +5 -0
  828. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func.wit +5 -0
  829. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func.wit.result +5 -0
  830. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func2.wit +4 -0
  831. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/parse-fail/world-top-level-func2.wit.result +5 -0
  832. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/shared-types.wit +10 -0
  833. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/type-then-eof.wit +5 -0
  834. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/types.wit +61 -0
  835. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/use-chain.wit +11 -0
  836. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/use.wit +34 -0
  837. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/deps/a1/foo.wit +5 -0
  838. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/deps/a2/foo.wit +5 -0
  839. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/versions/foo.wit +7 -0
  840. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/wasi.wit +178 -0
  841. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-diamond.wit +22 -0
  842. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-iface-no-collide.wit +11 -0
  843. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import1.wit +12 -0
  844. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import2.wit +11 -0
  845. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-implicit-import3.wit +11 -0
  846. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-same-fields4.wit +13 -0
  847. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/world-top-level-funcs.wit +9 -0
  848. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds-same-fields5.wit +17 -0
  849. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds-with-types.wit +34 -0
  850. data/ext/cargo-vendor/wit-parser-0.8.0/tests/ui/worlds.wit +37 -0
  851. data/ext/src/ruby_api/global.rs +3 -3
  852. data/ext/src/ruby_api/memory/unsafe_slice.rs +9 -3
  853. data/ext/src/ruby_api/params.rs +14 -12
  854. data/ext/src/ruby_api/table.rs +1 -1
  855. data/lib/wasmtime/version.rb +1 -1
  856. metadata +1418 -1079
  857. data/ext/cargo-vendor/cranelift-bforest-0.96.4/.cargo-checksum.json +0 -1
  858. data/ext/cargo-vendor/cranelift-bforest-0.96.4/Cargo.toml +0 -31
  859. data/ext/cargo-vendor/cranelift-codegen-0.96.4/.cargo-checksum.json +0 -1
  860. data/ext/cargo-vendor/cranelift-codegen-0.96.4/Cargo.toml +0 -159
  861. data/ext/cargo-vendor/cranelift-codegen-0.96.4/benches/x64-evex-encoding.rs +0 -53
  862. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/ir/trapcode.rs +0 -138
  863. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/abi.rs +0 -1281
  864. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/emit.rs +0 -3658
  865. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/emit_tests.rs +0 -7868
  866. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/imms.rs +0 -1215
  867. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst/mod.rs +0 -2945
  868. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/inst.isle +0 -4035
  869. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/lower/isle.rs +0 -813
  870. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/lower.isle +0 -2906
  871. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/aarch64/mod.rs +0 -240
  872. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/mod.rs +0 -420
  873. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/abi.rs +0 -726
  874. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/args.rs +0 -1822
  875. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/emit.rs +0 -2914
  876. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/emit_tests.rs +0 -2317
  877. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/encode.rs +0 -188
  878. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/imms.rs +0 -244
  879. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/mod.rs +0 -1823
  880. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/regs.rs +0 -231
  881. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/unwind/systemv.rs +0 -177
  882. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst/vector.rs +0 -354
  883. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst.isle +0 -2746
  884. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/inst_vector.isle +0 -224
  885. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/lower/isle.rs +0 -544
  886. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/lower.isle +0 -1012
  887. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/riscv64/mod.rs +0 -219
  888. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/abi.rs +0 -947
  889. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/emit.rs +0 -3697
  890. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/emit_tests.rs +0 -13397
  891. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst/mod.rs +0 -3409
  892. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/inst.isle +0 -5045
  893. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/lower.isle +0 -3991
  894. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/s390x/mod.rs +0 -215
  895. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/abi.rs +0 -978
  896. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/evex.rs +0 -403
  897. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/rex.rs +0 -565
  898. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/encoding/vex.rs +0 -498
  899. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/args.rs +0 -2168
  900. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/emit.rs +0 -3938
  901. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/emit_tests.rs +0 -5669
  902. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst/mod.rs +0 -2763
  903. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/inst.isle +0 -5186
  904. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower/isle.rs +0 -1158
  905. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower.isle +0 -4262
  906. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/lower.rs +0 -328
  907. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isa/x64/mod.rs +0 -250
  908. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/isle_prelude.rs +0 -818
  909. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/abi.rs +0 -2410
  910. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/buffer.rs +0 -2219
  911. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/compile.rs +0 -92
  912. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/isle.rs +0 -827
  913. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/lower.rs +0 -1366
  914. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/mod.rs +0 -538
  915. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/reg.rs +0 -532
  916. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/machinst/vcode.rs +0 -1571
  917. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/prelude.isle +0 -552
  918. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/prelude_lower.isle +0 -1012
  919. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/settings.rs +0 -599
  920. data/ext/cargo-vendor/cranelift-codegen-0.96.4/src/verifier/mod.rs +0 -1881
  921. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/.cargo-checksum.json +0 -1
  922. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/Cargo.toml +0 -23
  923. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/src/isa/x86.rs +0 -445
  924. data/ext/cargo-vendor/cranelift-codegen-meta-0.96.4/src/shared/settings.rs +0 -331
  925. data/ext/cargo-vendor/cranelift-codegen-shared-0.96.4/.cargo-checksum.json +0 -1
  926. data/ext/cargo-vendor/cranelift-codegen-shared-0.96.4/Cargo.toml +0 -22
  927. data/ext/cargo-vendor/cranelift-control-0.96.4/.cargo-checksum.json +0 -1
  928. data/ext/cargo-vendor/cranelift-control-0.96.4/Cargo.toml +0 -30
  929. data/ext/cargo-vendor/cranelift-control-0.96.4/src/chaos.rs +0 -78
  930. data/ext/cargo-vendor/cranelift-control-0.96.4/src/lib.rs +0 -30
  931. data/ext/cargo-vendor/cranelift-control-0.96.4/src/zero_sized.rs +0 -42
  932. data/ext/cargo-vendor/cranelift-entity-0.96.4/.cargo-checksum.json +0 -1
  933. data/ext/cargo-vendor/cranelift-entity-0.96.4/Cargo.toml +0 -35
  934. data/ext/cargo-vendor/cranelift-entity-0.96.4/src/list.rs +0 -868
  935. data/ext/cargo-vendor/cranelift-frontend-0.96.4/.cargo-checksum.json +0 -1
  936. data/ext/cargo-vendor/cranelift-frontend-0.96.4/Cargo.toml +0 -53
  937. data/ext/cargo-vendor/cranelift-isle-0.96.4/.cargo-checksum.json +0 -1
  938. data/ext/cargo-vendor/cranelift-isle-0.96.4/Cargo.toml +0 -37
  939. data/ext/cargo-vendor/cranelift-native-0.96.4/.cargo-checksum.json +0 -1
  940. data/ext/cargo-vendor/cranelift-native-0.96.4/Cargo.toml +0 -38
  941. data/ext/cargo-vendor/cranelift-native-0.96.4/src/lib.rs +0 -216
  942. data/ext/cargo-vendor/cranelift-wasm-0.96.4/.cargo-checksum.json +0 -1
  943. data/ext/cargo-vendor/cranelift-wasm-0.96.4/Cargo.toml +0 -85
  944. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/code_translator.rs +0 -3479
  945. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/environ/dummy.rs +0 -901
  946. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/environ/spec.rs +0 -807
  947. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/func_translator.rs +0 -419
  948. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/sections_translator.rs +0 -429
  949. data/ext/cargo-vendor/cranelift-wasm-0.96.4/src/translation_utils.rs +0 -108
  950. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/.cargo-checksum.json +0 -1
  951. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/Cargo.toml +0 -36
  952. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/run-tests.sh +0 -11
  953. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/src/lib.rs +0 -162
  954. data/ext/cargo-vendor/file-per-thread-logger-0.1.6/tests/test.rs +0 -267
  955. data/ext/cargo-vendor/regalloc2-0.8.1/.cargo-checksum.json +0 -1
  956. data/ext/cargo-vendor/regalloc2-0.8.1/Cargo.toml +0 -72
  957. data/ext/cargo-vendor/regalloc2-0.8.1/deny.toml +0 -28
  958. data/ext/cargo-vendor/regalloc2-0.8.1/src/checker.rs +0 -1089
  959. data/ext/cargo-vendor/regalloc2-0.8.1/src/fuzzing/func.rs +0 -673
  960. data/ext/cargo-vendor/regalloc2-0.8.1/src/index.rs +0 -188
  961. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/data_structures.rs +0 -688
  962. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/liveranges.rs +0 -1012
  963. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/merge.rs +0 -394
  964. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/mod.rs +0 -152
  965. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/moves.rs +0 -985
  966. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/process.rs +0 -1322
  967. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/requirement.rs +0 -174
  968. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/spill.rs +0 -198
  969. data/ext/cargo-vendor/regalloc2-0.8.1/src/ion/stackmap.rs +0 -74
  970. data/ext/cargo-vendor/regalloc2-0.8.1/src/lib.rs +0 -1523
  971. data/ext/cargo-vendor/regalloc2-0.8.1/src/moves.rs +0 -438
  972. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/.cargo-checksum.json +0 -1
  973. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/Cargo.toml +0 -89
  974. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/src/dir.rs +0 -465
  975. data/ext/cargo-vendor/wasi-cap-std-sync-9.0.4/src/lib.rs +0 -140
  976. data/ext/cargo-vendor/wasi-common-9.0.4/.cargo-checksum.json +0 -1
  977. data/ext/cargo-vendor/wasi-common-9.0.4/Cargo.toml +0 -86
  978. data/ext/cargo-vendor/wasi-common-9.0.4/src/ctx.rs +0 -127
  979. data/ext/cargo-vendor/wasi-common-9.0.4/src/file.rs +0 -260
  980. data/ext/cargo-vendor/wasi-common-9.0.4/src/snapshots/preview_1.rs +0 -1490
  981. data/ext/cargo-vendor/wasmparser-0.103.0/.cargo-checksum.json +0 -1
  982. data/ext/cargo-vendor/wasmparser-0.103.0/Cargo.lock +0 -692
  983. data/ext/cargo-vendor/wasmparser-0.103.0/Cargo.toml +0 -54
  984. data/ext/cargo-vendor/wasmparser-0.103.0/benches/benchmark.rs +0 -350
  985. data/ext/cargo-vendor/wasmparser-0.103.0/src/binary_reader.rs +0 -1682
  986. data/ext/cargo-vendor/wasmparser-0.103.0/src/lib.rs +0 -712
  987. data/ext/cargo-vendor/wasmparser-0.103.0/src/parser.rs +0 -1496
  988. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/canonicals.rs +0 -95
  989. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/exports.rs +0 -105
  990. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/imports.rs +0 -109
  991. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/instances.rs +0 -164
  992. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/component/types.rs +0 -508
  993. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core/producers.rs +0 -78
  994. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core/types.rs +0 -511
  995. data/ext/cargo-vendor/wasmparser-0.103.0/src/readers/core.rs +0 -33
  996. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/component.rs +0 -2097
  997. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/core.rs +0 -1278
  998. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/operators.rs +0 -3456
  999. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator/types.rs +0 -2159
  1000. data/ext/cargo-vendor/wasmparser-0.103.0/src/validator.rs +0 -1514
  1001. data/ext/cargo-vendor/wasmtime-9.0.4/.cargo-checksum.json +0 -1
  1002. data/ext/cargo-vendor/wasmtime-9.0.4/Cargo.toml +0 -183
  1003. data/ext/cargo-vendor/wasmtime-9.0.4/build.rs +0 -20
  1004. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/component.rs +0 -519
  1005. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/instance.rs +0 -728
  1006. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/matching.rs +0 -112
  1007. data/ext/cargo-vendor/wasmtime-9.0.4/src/component/mod.rs +0 -313
  1008. data/ext/cargo-vendor/wasmtime-9.0.4/src/config.rs +0 -2036
  1009. data/ext/cargo-vendor/wasmtime-9.0.4/src/engine/serialization.rs +0 -613
  1010. data/ext/cargo-vendor/wasmtime-9.0.4/src/engine.rs +0 -729
  1011. data/ext/cargo-vendor/wasmtime-9.0.4/src/externals.rs +0 -762
  1012. data/ext/cargo-vendor/wasmtime-9.0.4/src/func/typed.rs +0 -638
  1013. data/ext/cargo-vendor/wasmtime-9.0.4/src/func.rs +0 -2385
  1014. data/ext/cargo-vendor/wasmtime-9.0.4/src/instance.rs +0 -905
  1015. data/ext/cargo-vendor/wasmtime-9.0.4/src/lib.rs +0 -481
  1016. data/ext/cargo-vendor/wasmtime-9.0.4/src/linker.rs +0 -1479
  1017. data/ext/cargo-vendor/wasmtime-9.0.4/src/memory.rs +0 -948
  1018. data/ext/cargo-vendor/wasmtime-9.0.4/src/module.rs +0 -1542
  1019. data/ext/cargo-vendor/wasmtime-9.0.4/src/ref.rs +0 -108
  1020. data/ext/cargo-vendor/wasmtime-9.0.4/src/store/context.rs +0 -243
  1021. data/ext/cargo-vendor/wasmtime-9.0.4/src/store/func_refs.rs +0 -110
  1022. data/ext/cargo-vendor/wasmtime-9.0.4/src/store.rs +0 -2059
  1023. data/ext/cargo-vendor/wasmtime-9.0.4/src/trampoline/func.rs +0 -171
  1024. data/ext/cargo-vendor/wasmtime-9.0.4/src/trampoline/global.rs +0 -71
  1025. data/ext/cargo-vendor/wasmtime-9.0.4/src/types/matching.rs +0 -254
  1026. data/ext/cargo-vendor/wasmtime-9.0.4/src/types.rs +0 -551
  1027. data/ext/cargo-vendor/wasmtime-9.0.4/src/values.rs +0 -290
  1028. data/ext/cargo-vendor/wasmtime-asm-macros-9.0.4/.cargo-checksum.json +0 -1
  1029. data/ext/cargo-vendor/wasmtime-asm-macros-9.0.4/Cargo.toml +0 -22
  1030. data/ext/cargo-vendor/wasmtime-cache-9.0.4/.cargo-checksum.json +0 -1
  1031. data/ext/cargo-vendor/wasmtime-cache-9.0.4/Cargo.toml +0 -73
  1032. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/.cargo-checksum.json +0 -1
  1033. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/Cargo.toml +0 -58
  1034. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/src/bindgen.rs +0 -316
  1035. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/char.wit +0 -11
  1036. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/conventions.wit +0 -38
  1037. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/direct-import.wit +0 -3
  1038. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/empty.wit +0 -1
  1039. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/flags.wit +0 -53
  1040. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/floats.wit +0 -11
  1041. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/function-new.wit +0 -3
  1042. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/integers.wit +0 -38
  1043. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/lists.wit +0 -83
  1044. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/many-arguments.wit +0 -50
  1045. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/multi-return.wit +0 -12
  1046. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/records.wit +0 -59
  1047. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/rename.wit +0 -14
  1048. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/share-types.wit +0 -19
  1049. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-functions.wit +0 -15
  1050. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-lists.wit +0 -11
  1051. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/simple-wasi.wit +0 -21
  1052. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/small-anonymous.wit +0 -13
  1053. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke-default.wit +0 -3
  1054. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke-export.wit +0 -5
  1055. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/smoke.wit +0 -5
  1056. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/strings.wit +0 -10
  1057. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/unions.wit +0 -64
  1058. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/use-paths.wit +0 -27
  1059. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/variants.wit +0 -145
  1060. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen/worlds-with-types.wit +0 -14
  1061. data/ext/cargo-vendor/wasmtime-component-macro-9.0.4/tests/codegen.rs +0 -30
  1062. data/ext/cargo-vendor/wasmtime-component-util-9.0.4/.cargo-checksum.json +0 -1
  1063. data/ext/cargo-vendor/wasmtime-component-util-9.0.4/Cargo.toml +0 -25
  1064. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/.cargo-checksum.json +0 -1
  1065. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/Cargo.toml +0 -90
  1066. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/compiler.rs +0 -1200
  1067. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/debug/transform/simulate.rs +0 -411
  1068. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/func_environ.rs +0 -2162
  1069. data/ext/cargo-vendor/wasmtime-cranelift-9.0.4/src/lib.rs +0 -177
  1070. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/.cargo-checksum.json +0 -1
  1071. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/Cargo.toml +0 -57
  1072. data/ext/cargo-vendor/wasmtime-cranelift-shared-9.0.4/src/lib.rs +0 -119
  1073. data/ext/cargo-vendor/wasmtime-environ-9.0.4/.cargo-checksum.json +0 -1
  1074. data/ext/cargo-vendor/wasmtime-environ-9.0.4/Cargo.lock +0 -735
  1075. data/ext/cargo-vendor/wasmtime-environ-9.0.4/Cargo.toml +0 -116
  1076. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/compiler.rs +0 -84
  1077. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/translate/inline.rs +0 -1064
  1078. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/translate.rs +0 -1066
  1079. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/component/types.rs +0 -1903
  1080. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/fact.rs +0 -622
  1081. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/module.rs +0 -1043
  1082. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/module_environ.rs +0 -841
  1083. data/ext/cargo-vendor/wasmtime-environ-9.0.4/src/trap_encoding.rs +0 -234
  1084. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/.cargo-checksum.json +0 -1
  1085. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/Cargo.toml +0 -46
  1086. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/lib.rs +0 -293
  1087. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/unix.rs +0 -199
  1088. data/ext/cargo-vendor/wasmtime-fiber-9.0.4/src/windows.rs +0 -156
  1089. data/ext/cargo-vendor/wasmtime-jit-9.0.4/.cargo-checksum.json +0 -1
  1090. data/ext/cargo-vendor/wasmtime-jit-9.0.4/Cargo.toml +0 -100
  1091. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/instantiate.rs +0 -786
  1092. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/lib.rs +0 -39
  1093. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/jitdump_disabled.rs +0 -32
  1094. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/jitdump_linux.rs +0 -444
  1095. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/perfmap_disabled.rs +0 -28
  1096. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/perfmap_linux.rs +0 -104
  1097. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/vtune.rs +0 -147
  1098. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling/vtune_disabled.rs +0 -32
  1099. data/ext/cargo-vendor/wasmtime-jit-9.0.4/src/profiling.rs +0 -74
  1100. data/ext/cargo-vendor/wasmtime-jit-debug-9.0.4/.cargo-checksum.json +0 -1
  1101. data/ext/cargo-vendor/wasmtime-jit-debug-9.0.4/Cargo.toml +0 -55
  1102. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-9.0.4/.cargo-checksum.json +0 -1
  1103. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-9.0.4/Cargo.toml +0 -37
  1104. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/.cargo-checksum.json +0 -1
  1105. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/Cargo.toml +0 -107
  1106. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/component.rs +0 -724
  1107. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/cow.rs +0 -1063
  1108. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/debug_builtins.rs +0 -56
  1109. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/externref.rs +0 -1078
  1110. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance/allocator/pooling.rs +0 -1371
  1111. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance/allocator.rs +0 -528
  1112. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/instance.rs +0 -1267
  1113. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/lib.rs +0 -286
  1114. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/libcalls.rs +0 -597
  1115. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/memory.rs +0 -945
  1116. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/miri.rs +0 -93
  1117. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/unix.rs +0 -147
  1118. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/mmap/windows.rs +0 -207
  1119. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/table.rs +0 -573
  1120. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/traphandlers/unix.rs +0 -387
  1121. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/traphandlers.rs +0 -664
  1122. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/vmcontext/vm_host_func_context.rs +0 -147
  1123. data/ext/cargo-vendor/wasmtime-runtime-9.0.4/src/vmcontext.rs +0 -1244
  1124. data/ext/cargo-vendor/wasmtime-types-9.0.4/.cargo-checksum.json +0 -1
  1125. data/ext/cargo-vendor/wasmtime-types-9.0.4/Cargo.toml +0 -34
  1126. data/ext/cargo-vendor/wasmtime-types-9.0.4/src/lib.rs +0 -413
  1127. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/.cargo-checksum.json +0 -1
  1128. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/Cargo.toml +0 -67
  1129. data/ext/cargo-vendor/wasmtime-wasi-9.0.4/src/lib.rs +0 -128
  1130. data/ext/cargo-vendor/wasmtime-winch-9.0.4/.cargo-checksum.json +0 -1
  1131. data/ext/cargo-vendor/wasmtime-winch-9.0.4/Cargo.toml +0 -66
  1132. data/ext/cargo-vendor/wasmtime-winch-9.0.4/src/compiler.rs +0 -191
  1133. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/.cargo-checksum.json +0 -1
  1134. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/Cargo.toml +0 -29
  1135. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/src/lib.rs +0 -1488
  1136. data/ext/cargo-vendor/wasmtime-wit-bindgen-9.0.4/src/types.rs +0 -178
  1137. data/ext/cargo-vendor/wiggle-9.0.4/.cargo-checksum.json +0 -1
  1138. data/ext/cargo-vendor/wiggle-9.0.4/Cargo.toml +0 -106
  1139. data/ext/cargo-vendor/wiggle-9.0.4/README.md +0 -18
  1140. data/ext/cargo-vendor/wiggle-generate-9.0.4/.cargo-checksum.json +0 -1
  1141. data/ext/cargo-vendor/wiggle-generate-9.0.4/Cargo.toml +0 -58
  1142. data/ext/cargo-vendor/wiggle-macro-9.0.4/.cargo-checksum.json +0 -1
  1143. data/ext/cargo-vendor/wiggle-macro-9.0.4/Cargo.toml +0 -55
  1144. data/ext/cargo-vendor/wiggle-macro-9.0.4/src/lib.rs +0 -210
  1145. data/ext/cargo-vendor/winch-codegen-0.7.4/.cargo-checksum.json +0 -1
  1146. data/ext/cargo-vendor/winch-codegen-0.7.4/Cargo.toml +0 -59
  1147. data/ext/cargo-vendor/winch-codegen-0.7.4/src/abi/local.rs +0 -69
  1148. data/ext/cargo-vendor/winch-codegen-0.7.4/src/abi/mod.rs +0 -223
  1149. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/call.rs +0 -215
  1150. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/context.rs +0 -259
  1151. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/env.rs +0 -19
  1152. data/ext/cargo-vendor/winch-codegen-0.7.4/src/codegen/mod.rs +0 -183
  1153. data/ext/cargo-vendor/winch-codegen-0.7.4/src/frame/mod.rs +0 -166
  1154. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/abi.rs +0 -221
  1155. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/asm.rs +0 -244
  1156. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/masm.rs +0 -221
  1157. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/mod.rs +0 -122
  1158. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/aarch64/regs.rs +0 -160
  1159. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/mod.rs +0 -202
  1160. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/abi.rs +0 -337
  1161. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/address.rs +0 -17
  1162. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/asm.rs +0 -499
  1163. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/masm.rs +0 -267
  1164. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/mod.rs +0 -135
  1165. data/ext/cargo-vendor/winch-codegen-0.7.4/src/isa/x64/regs.rs +0 -178
  1166. data/ext/cargo-vendor/winch-codegen-0.7.4/src/lib.rs +0 -20
  1167. data/ext/cargo-vendor/winch-codegen-0.7.4/src/masm.rs +0 -213
  1168. data/ext/cargo-vendor/winch-codegen-0.7.4/src/regalloc.rs +0 -61
  1169. data/ext/cargo-vendor/winch-codegen-0.7.4/src/stack.rs +0 -230
  1170. data/ext/cargo-vendor/winch-codegen-0.7.4/src/trampoline.rs +0 -206
  1171. data/ext/cargo-vendor/winch-codegen-0.7.4/src/visitor.rs +0 -215
  1172. data/ext/cargo-vendor/winch-environ-0.7.4/.cargo-checksum.json +0 -1
  1173. data/ext/cargo-vendor/winch-environ-0.7.4/Cargo.toml +0 -28
  1174. data/ext/cargo-vendor/winch-environ-0.7.4/src/lib.rs +0 -41
  1175. data/ext/cargo-vendor/wit-parser-0.7.1/.cargo-checksum.json +0 -1
  1176. data/ext/cargo-vendor/wit-parser-0.7.1/Cargo.toml +0 -59
  1177. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast/lex.rs +0 -662
  1178. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast/resolve.rs +0 -1072
  1179. data/ext/cargo-vendor/wit-parser-0.7.1/src/ast.rs +0 -1099
  1180. data/ext/cargo-vendor/wit-parser-0.7.1/src/lib.rs +0 -617
  1181. data/ext/cargo-vendor/wit-parser-0.7.1/src/live.rs +0 -123
  1182. data/ext/cargo-vendor/wit-parser-0.7.1/src/resolve.rs +0 -1478
  1183. data/ext/cargo-vendor/wit-parser-0.7.1/tests/all.rs +0 -168
  1184. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/comments.wit +0 -23
  1185. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/shared1.wit +0 -3
  1186. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/shared2.wit +0 -3
  1187. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/disambiguate-diamond/world.wit +0 -11
  1188. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/embedded.wit.md +0 -32
  1189. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -1
  1190. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/corp/saas.wit +0 -2
  1191. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -1
  1192. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -3
  1193. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -11
  1194. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -3
  1195. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -5
  1196. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/foreign-deps/root.wit +0 -31
  1197. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/functions.wit +0 -12
  1198. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/multi-file/bar.wit +0 -19
  1199. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/multi-file/foo.wit +0 -15
  1200. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/alias-no-type.wit.result +0 -5
  1201. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/a.wit +0 -9
  1202. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/b.wit +0 -9
  1203. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond/join.wit +0 -4
  1204. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-diamond.wit.result +0 -8
  1205. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function.wit +0 -5
  1206. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function.wit.result +0 -5
  1207. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function2.wit +0 -5
  1208. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-function2.wit.result +0 -5
  1209. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg1/root.wit +0 -3
  1210. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg1.wit.result +0 -5
  1211. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg2/root.wit +0 -3
  1212. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg2.wit.result +0 -5
  1213. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  1214. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3/root.wit +0 -3
  1215. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg3.wit.result +0 -5
  1216. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -3
  1217. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4/root.wit +0 -3
  1218. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg4.wit.result +0 -5
  1219. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -2
  1220. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5/root.wit +0 -3
  1221. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg5.wit.result +0 -5
  1222. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  1223. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6/root.wit +0 -3
  1224. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-pkg6.wit.result +0 -5
  1225. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type1.wit +0 -4
  1226. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type1.wit.result +0 -5
  1227. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type2.wit +0 -9
  1228. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/bad-world-type2.wit.result +0 -5
  1229. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle.wit +0 -5
  1230. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle.wit.result +0 -5
  1231. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle2.wit +0 -6
  1232. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle2.wit.result +0 -5
  1233. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle3.wit +0 -6
  1234. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle3.wit.result +0 -5
  1235. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle4.wit +0 -6
  1236. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle4.wit.result +0 -5
  1237. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle5.wit +0 -6
  1238. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/cycle5.wit.result +0 -5
  1239. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-interface1.wit +0 -3
  1240. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-interface1.wit.result +0 -5
  1241. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-world1.wit +0 -3
  1242. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/default-world1.wit.result +0 -5
  1243. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-functions.wit +0 -6
  1244. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-functions.wit.result +0 -5
  1245. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-interface.wit +0 -4
  1246. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-interface.wit.result +0 -5
  1247. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-type.wit +0 -6
  1248. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/duplicate-type.wit.result +0 -5
  1249. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-enum.wit +0 -5
  1250. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-enum.wit.result +0 -5
  1251. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-union.wit +0 -5
  1252. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-union.wit.result +0 -5
  1253. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-variant1.wit +0 -5
  1254. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/empty-variant1.wit.result +0 -5
  1255. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap1.wit +0 -4
  1256. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap1.wit.result +0 -5
  1257. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap2.wit +0 -4
  1258. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap2.wit.result +0 -5
  1259. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap3.wit +0 -11
  1260. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/import-export-overlap3.wit.result +0 -6
  1261. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-md.wit.result +0 -5
  1262. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference.wit +0 -8
  1263. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -5
  1264. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference2.wit +0 -4
  1265. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -5
  1266. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid@filename.wit +0 -0
  1267. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/invalid@filename.wit.result +0 -4
  1268. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -3
  1269. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle/root.wit +0 -3
  1270. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle.wit.result +0 -5
  1271. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -3
  1272. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -3
  1273. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -3
  1274. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -5
  1275. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/undefined-typed.wit +0 -5
  1276. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/undefined-typed.wit.result +0 -5
  1277. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unknown-interface.wit +0 -5
  1278. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unknown-interface.wit.result +0 -5
  1279. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface1.wit +0 -5
  1280. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -5
  1281. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface2.wit +0 -6
  1282. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -5
  1283. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface3.wit +0 -5
  1284. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -5
  1285. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface4.wit +0 -5
  1286. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -5
  1287. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface5.wit +0 -5
  1288. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-interface5.wit.result +0 -5
  1289. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use1.wit +0 -5
  1290. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use1.wit.result +0 -5
  1291. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -3
  1292. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use10.wit.result +0 -8
  1293. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11/bar.wit +0 -3
  1294. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11/foo.wit +0 -2
  1295. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use11.wit.result +0 -8
  1296. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use2.wit +0 -8
  1297. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use2.wit.result +0 -5
  1298. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use3.wit +0 -9
  1299. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use3.wit.result +0 -5
  1300. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use4.wit +0 -5
  1301. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use4.wit.result +0 -5
  1302. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use5.wit +0 -6
  1303. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use5.wit.result +0 -5
  1304. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use6.wit +0 -5
  1305. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use6.wit.result +0 -5
  1306. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use7.wit +0 -8
  1307. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use7.wit.result +0 -5
  1308. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use8.wit +0 -7
  1309. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use8.wit.result +0 -5
  1310. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use9.wit +0 -7
  1311. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/unresolved-use9.wit.result +0 -5
  1312. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict.wit +0 -9
  1313. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict.wit.result +0 -5
  1314. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict2.wit +0 -11
  1315. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict2.wit.result +0 -5
  1316. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict3.wit +0 -11
  1317. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-conflict3.wit.result +0 -5
  1318. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle1.wit +0 -5
  1319. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle1.wit.result +0 -5
  1320. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle2.wit +0 -5
  1321. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle2.wit.result +0 -5
  1322. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle3.wit +0 -6
  1323. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle3.wit.result +0 -5
  1324. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle4.wit +0 -13
  1325. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-cycle4.wit.result +0 -5
  1326. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world.wit +0 -8
  1327. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world.wit.result +0 -5
  1328. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2/bar.wit +0 -3
  1329. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2/foo.wit +0 -2
  1330. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/use-from-package-world2.wit.result +0 -8
  1331. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import1.wit +0 -10
  1332. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import1.wit.result +0 -6
  1333. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import2.wit +0 -9
  1334. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import2.wit.result +0 -5
  1335. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import3.wit +0 -9
  1336. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-implicit-import3.wit.result +0 -5
  1337. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-interface-clash.wit +0 -2
  1338. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-interface-clash.wit.result +0 -5
  1339. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields.wit +0 -9
  1340. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields.wit.result +0 -5
  1341. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields2.wit +0 -6
  1342. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields2.wit.result +0 -5
  1343. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields3.wit +0 -6
  1344. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields3.wit.result +0 -5
  1345. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields4.wit +0 -11
  1346. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-fields4.wit.result +0 -8
  1347. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-import.wit +0 -6
  1348. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-same-import.wit.result +0 -5
  1349. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func.wit +0 -4
  1350. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func.wit.result +0 -5
  1351. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func2.wit +0 -3
  1352. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -5
  1353. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/worlds-same-fields5.wit +0 -16
  1354. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/parse-fail/worlds-same-fields5.wit.result +0 -9
  1355. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/shared-types.wit +0 -8
  1356. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/type-then-eof.wit +0 -3
  1357. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/types.wit +0 -59
  1358. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/use.wit +0 -33
  1359. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/wasi.wit +0 -176
  1360. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/world-diamond.wit +0 -20
  1361. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/world-top-level-funcs.wit +0 -7
  1362. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/worlds-with-types.wit +0 -32
  1363. data/ext/cargo-vendor/wit-parser-0.7.1/tests/ui/worlds.wit +0 -40
  1364. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/LICENSE +0 -0
  1365. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/README.md +0 -0
  1366. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/lib.rs +0 -0
  1367. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/map.rs +0 -0
  1368. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/node.rs +0 -0
  1369. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/path.rs +0 -0
  1370. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/pool.rs +0 -0
  1371. /data/ext/cargo-vendor/{cranelift-bforest-0.96.4 → cranelift-bforest-0.97.1}/src/set.rs +0 -0
  1372. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/LICENSE +0 -0
  1373. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/README.md +0 -0
  1374. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/build.rs +0 -0
  1375. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/alias_analysis.rs +0 -0
  1376. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/binemit/mod.rs +0 -0
  1377. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/binemit/stack_map.rs +0 -0
  1378. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/bitset.rs +0 -0
  1379. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/cfg_printer.rs +0 -0
  1380. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/constant_hash.rs +0 -0
  1381. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/context.rs +0 -0
  1382. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ctxhash.rs +0 -0
  1383. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/cursor.rs +0 -0
  1384. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/data_value.rs +0 -0
  1385. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dbg.rs +0 -0
  1386. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dce.rs +0 -0
  1387. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/dominator_tree.rs +0 -0
  1388. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/cost.rs +0 -0
  1389. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/domtree.rs +0 -0
  1390. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph/elaborate.rs +0 -0
  1391. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/egraph.rs +0 -0
  1392. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/flowgraph.rs +0 -0
  1393. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/fx.rs +0 -0
  1394. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/incremental_cache.rs +0 -0
  1395. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/inst_predicates.rs +0 -0
  1396. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/atomic_rmw_op.rs +0 -0
  1397. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/builder.rs +0 -0
  1398. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/condcodes.rs +0 -0
  1399. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/constant.rs +0 -0
  1400. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/dfg.rs +0 -0
  1401. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/dynamic_type.rs +0 -0
  1402. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/entities.rs +0 -0
  1403. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/extfunc.rs +0 -0
  1404. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/extname.rs +0 -0
  1405. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/function.rs +0 -0
  1406. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/globalvalue.rs +0 -0
  1407. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/immediates.rs +0 -0
  1408. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/instructions.rs +0 -0
  1409. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/jumptable.rs +0 -0
  1410. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/known_symbol.rs +0 -0
  1411. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/layout.rs +0 -0
  1412. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/libcall.rs +0 -0
  1413. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/memflags.rs +0 -0
  1414. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/mod.rs +0 -0
  1415. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/progpoint.rs +0 -0
  1416. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/sourceloc.rs +0 -0
  1417. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/stackslot.rs +0 -0
  1418. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/table.rs +0 -0
  1419. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/ir/types.rs +0 -0
  1420. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/args.rs +0 -0
  1421. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/regs.rs +0 -0
  1422. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1423. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst/unwind.rs +0 -0
  1424. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/inst_neon.isle +0 -0
  1425. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1426. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower.rs +0 -0
  1427. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1428. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/aarch64/settings.rs +0 -0
  1429. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/call_conv.rs +0 -0
  1430. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/inst/unwind.rs +0 -0
  1431. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1432. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/lower.rs +0 -0
  1433. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/riscv64/settings.rs +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/args.rs +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/imms.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/regs.rs +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/inst/unwind.rs +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower/isle.rs +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/lower.rs +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/s390x/settings.rs +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind/systemv.rs +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind/winx64.rs +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/unwind.rs +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/encoding/mod.rs +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/regs.rs +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/inst/unwind.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/isa/x64/settings.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/iterators.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/globalvalue.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/mod.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/legalizer/table.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/lib.rs +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/loop_analysis.rs +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/blockorder.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/helpers.rs +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/inst_common.rs +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/machinst/valueregs.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/nan_canonicalization.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/README.md +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/arithmetic.isle +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/bitops.isle +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/cprop.isle +0 -0
  1468. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/extends.isle +0 -0
  1469. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/generated_code.rs +0 -0
  1470. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/icmp.isle +0 -0
  1471. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/remat.isle +0 -0
  1472. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/selects.isle +0 -0
  1473. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts/shifts.isle +0 -0
  1474. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/opts.rs +0 -0
  1475. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/prelude_opt.isle +0 -0
  1476. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/print_errors.rs +0 -0
  1477. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/remove_constant_phis.rs +0 -0
  1478. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/result.rs +0 -0
  1479. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/scoped_hash_map.rs +0 -0
  1480. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/souper_harvest.rs +0 -0
  1481. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/timing.rs +0 -0
  1482. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/unionfind.rs +0 -0
  1483. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/unreachable_code.rs +0 -0
  1484. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/value_label.rs +0 -0
  1485. /data/ext/cargo-vendor/{cranelift-codegen-0.96.4 → cranelift-codegen-0.97.1}/src/write.rs +0 -0
  1486. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/LICENSE +0 -0
  1487. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/README.md +0 -0
  1488. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/formats.rs +0 -0
  1489. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/instructions.rs +0 -0
  1490. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/isa.rs +0 -0
  1491. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/mod.rs +0 -0
  1492. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/operands.rs +0 -0
  1493. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/settings.rs +0 -0
  1494. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/types.rs +0 -0
  1495. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/cdsl/typevar.rs +0 -0
  1496. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/constant_hash.rs +0 -0
  1497. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/error.rs +0 -0
  1498. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_inst.rs +0 -0
  1499. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_settings.rs +0 -0
  1500. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/gen_types.rs +0 -0
  1501. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/arm64.rs +0 -0
  1502. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/mod.rs +0 -0
  1503. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/riscv64.rs +0 -0
  1504. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/isa/s390x.rs +0 -0
  1505. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/lib.rs +0 -0
  1506. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/entities.rs +0 -0
  1507. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/formats.rs +0 -0
  1508. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/immediates.rs +0 -0
  1509. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/instructions.rs +0 -0
  1510. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/mod.rs +0 -0
  1511. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/shared/types.rs +0 -0
  1512. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/srcgen.rs +0 -0
  1513. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.96.4 → cranelift-codegen-meta-0.97.1}/src/unique_table.rs +0 -0
  1514. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/LICENSE +0 -0
  1515. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/README.md +0 -0
  1516. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/constant_hash.rs +0 -0
  1517. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/constants.rs +0 -0
  1518. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.96.4 → cranelift-codegen-shared-0.97.1}/src/lib.rs +0 -0
  1519. /data/ext/cargo-vendor/{cranelift-control-0.96.4 → cranelift-control-0.97.1}/LICENSE +0 -0
  1520. /data/ext/cargo-vendor/{cranelift-control-0.96.4 → cranelift-control-0.97.1}/README.md +0 -0
  1521. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/LICENSE +0 -0
  1522. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/README.md +0 -0
  1523. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/boxed_slice.rs +0 -0
  1524. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/iter.rs +0 -0
  1525. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/keys.rs +0 -0
  1526. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/lib.rs +0 -0
  1527. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/map.rs +0 -0
  1528. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/packed_option.rs +0 -0
  1529. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/primary.rs +0 -0
  1530. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/set.rs +0 -0
  1531. /data/ext/cargo-vendor/{cranelift-entity-0.96.4 → cranelift-entity-0.97.1}/src/sparse.rs +0 -0
  1532. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/LICENSE +0 -0
  1533. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/README.md +0 -0
  1534. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/frontend.rs +0 -0
  1535. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/lib.rs +0 -0
  1536. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/ssa.rs +0 -0
  1537. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/switch.rs +0 -0
  1538. /data/ext/cargo-vendor/{cranelift-frontend-0.96.4 → cranelift-frontend-0.97.1}/src/variable.rs +0 -0
  1539. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/README.md +0 -0
  1540. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/build.rs +0 -0
  1541. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/bad_converters.isle +0 -0
  1542. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1543. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1544. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/error1.isle +0 -0
  1545. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/extra_parens.isle +0 -0
  1546. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/impure_expression.isle +0 -0
  1547. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/impure_rhs.isle +0 -0
  1548. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1549. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/fail/multi_prio.isle +0 -0
  1550. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/borrows.isle +0 -0
  1551. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/borrows_main.rs +0 -0
  1552. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/iflets.isle +0 -0
  1553. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/iflets_main.rs +0 -0
  1554. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_constructor.isle +0 -0
  1555. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_constructor_main.rs +0 -0
  1556. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_extractor.isle +0 -0
  1557. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/multi_extractor_main.rs +0 -0
  1558. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/test.isle +0 -0
  1559. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/link/test_main.rs +0 -0
  1560. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/bound_var.isle +0 -0
  1561. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/construct_and_extract.isle +0 -0
  1562. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/conversions.isle +0 -0
  1563. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/conversions_extern.isle +0 -0
  1564. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/let.isle +0 -0
  1565. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/nodebug.isle +0 -0
  1566. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1567. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test2.isle +0 -0
  1568. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test3.isle +0 -0
  1569. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/test4.isle +0 -0
  1570. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/pass/tutorial.isle +0 -0
  1571. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/iconst.isle +0 -0
  1572. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/iconst_main.rs +0 -0
  1573. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/let_shadowing.isle +0 -0
  1574. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/isle_examples/run/let_shadowing_main.rs +0 -0
  1575. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/ast.rs +0 -0
  1576. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/codegen.rs +0 -0
  1577. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/compile.rs +0 -0
  1578. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/error.rs +0 -0
  1579. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/lexer.rs +0 -0
  1580. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/lib.rs +0 -0
  1581. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/log.rs +0 -0
  1582. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/overlap.rs +0 -0
  1583. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/parser.rs +0 -0
  1584. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/sema.rs +0 -0
  1585. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/serialize.rs +0 -0
  1586. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/src/trie_again.rs +0 -0
  1587. /data/ext/cargo-vendor/{cranelift-isle-0.96.4 → cranelift-isle-0.97.1}/tests/run_tests.rs +0 -0
  1588. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/LICENSE +0 -0
  1589. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/README.md +0 -0
  1590. /data/ext/cargo-vendor/{cranelift-native-0.96.4 → cranelift-native-0.97.1}/src/riscv.rs +0 -0
  1591. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/LICENSE +0 -0
  1592. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/README.md +0 -0
  1593. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/code_translator/bounds_checks.rs +0 -0
  1594. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/environ/mod.rs +0 -0
  1595. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/heap.rs +0 -0
  1596. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/lib.rs +0 -0
  1597. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/module_translator.rs +0 -0
  1598. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/src/state.rs +0 -0
  1599. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/tests/wasm_testsuite.rs +0 -0
  1600. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/arith.wat +0 -0
  1601. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/br_table.wat +0 -0
  1602. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/call-simd.wat +0 -0
  1603. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/call.wat +0 -0
  1604. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_fannkuch.wat +0 -0
  1605. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_fasta.wat +0 -0
  1606. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_ifs.wat +0 -0
  1607. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/embenchen_primes.wat +0 -0
  1608. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/fac-multi-value.wat +0 -0
  1609. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/fibonacci.wat +0 -0
  1610. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/globals.wat +0 -0
  1611. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/icall-simd.wat +0 -0
  1612. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/icall.wat +0 -0
  1613. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-0.wat +0 -0
  1614. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-1.wat +0 -0
  1615. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-2.wat +0 -0
  1616. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-3.wat +0 -0
  1617. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-4.wat +0 -0
  1618. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-5.wat +0 -0
  1619. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-reachability-translation-6.wat +0 -0
  1620. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-unreachable-else-params-2.wat +0 -0
  1621. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/if-unreachable-else-params.wat +0 -0
  1622. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
  1623. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/memory.wat +0 -0
  1624. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-0.wat +0 -0
  1625. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-1.wat +0 -0
  1626. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-10.wat +0 -0
  1627. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-11.wat +0 -0
  1628. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-12.wat +0 -0
  1629. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-13.wat +0 -0
  1630. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-14.wat +0 -0
  1631. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-15.wat +0 -0
  1632. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-16.wat +0 -0
  1633. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-17.wat +0 -0
  1634. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-2.wat +0 -0
  1635. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-3.wat +0 -0
  1636. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-4.wat +0 -0
  1637. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-5.wat +0 -0
  1638. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-6.wat +0 -0
  1639. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-7.wat +0 -0
  1640. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-8.wat +0 -0
  1641. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/multi-9.wat +0 -0
  1642. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/nullref.wat +0 -0
  1643. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/passive-data.wat +0 -0
  1644. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/pr2303.wat +0 -0
  1645. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/pr2559.wat +0 -0
  1646. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/ref-func-0.wat +0 -0
  1647. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/rust_fannkuch.wat +0 -0
  1648. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/select.wat +0 -0
  1649. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/simd-store.wat +0 -0
  1650. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/simd.wat +0 -0
  1651. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/table-copy.wat +0 -0
  1652. /data/ext/cargo-vendor/{cranelift-wasm-0.96.4 → cranelift-wasm-0.97.1}/wasmtests/unreachable_code.wat +0 -0
  1653. /data/ext/cargo-vendor/{file-per-thread-logger-0.1.6 → file-per-thread-logger-0.2.0}/LICENSE +0 -0
  1654. /data/ext/cargo-vendor/{file-per-thread-logger-0.1.6 → file-per-thread-logger-0.2.0}/README.md +0 -0
  1655. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/LICENSE +0 -0
  1656. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/README.md +0 -0
  1657. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/doc/DESIGN.md +0 -0
  1658. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/doc/TODO +0 -0
  1659. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/cfg.rs +0 -0
  1660. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/domtree.rs +0 -0
  1661. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/fuzzing/mod.rs +0 -0
  1662. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/indexset.rs +0 -0
  1663. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/dump.rs +0 -0
  1664. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/redundant_moves.rs +0 -0
  1665. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ion/reg_traversal.rs +0 -0
  1666. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/postorder.rs +0 -0
  1667. /data/ext/cargo-vendor/{regalloc2-0.8.1 → regalloc2-0.9.2}/src/ssa.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/LICENSE +0 -0
  1669. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/README.md +0 -0
  1670. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/clocks.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/file.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/net.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched/unix.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched/windows.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/sched.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasi-cap-std-sync-9.0.4 → wasi-cap-std-sync-10.0.0}/src/stdio.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/LICENSE +0 -0
  1678. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/README.md +0 -0
  1679. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/README.md +0 -0
  1680. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/docs/README.md +0 -0
  1681. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/README.md +0 -0
  1682. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/docs.md +0 -0
  1683. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
  1684. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
  1685. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
  1686. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
  1687. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
  1688. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
  1689. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
  1690. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
  1691. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
  1692. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
  1693. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
  1694. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/docs.md +0 -0
  1695. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
  1696. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
  1697. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/docs.html +0 -0
  1698. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/docs.md +0 -0
  1699. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/witx/typenames.witx +0 -0
  1700. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
  1701. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/proposal-template/README.md +0 -0
  1702. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/proposals/README.md +0 -0
  1703. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/snapshots/README.md +0 -0
  1704. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/WASI/standard/README.md +0 -0
  1705. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/build.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/clocks.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/dir.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/error.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/lib.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/pipe.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/random.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/sched/subscription.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/sched.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/mod.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/preview_0.rs +0 -0
  1716. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1717. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/string_array.rs +0 -0
  1718. /data/ext/cargo-vendor/{wasi-common-9.0.4 → wasi-common-10.0.0}/src/table.rs +0 -0
  1719. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasm-encoder-0.29.0}/LICENSE +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmparser-0.107.0}/LICENSE +0 -0
  1721. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/README.md +0 -0
  1722. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/examples/simple.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/limits.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/aliases.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/names.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component/start.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/component.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/code.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/custom.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/data.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/elements.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/exports.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/functions.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/globals.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/imports.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/init.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/memories.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/names.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/operators.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/tables.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers/core/tags.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/readers.rs +0 -0
  1743. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/resources.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/src/validator/func.rs +0 -0
  1745. /data/ext/cargo-vendor/{wasmparser-0.103.0 → wasmparser-0.107.0}/tests/big-module.rs +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmparser-0.111.0}/LICENSE +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmprinter-0.2.63}/LICENSE +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-10.0.0}/LICENSE +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/README.md +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/code.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/host.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/options.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func/typed.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/func.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/linker.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/storage.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/store.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/types.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/component/values.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/limits.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/module/registry.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/profiling.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/signatures.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/store/data.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline/memory.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline/table.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trampoline.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/trap.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/unix.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-9.0.4 → wasmtime-10.0.0}/src/windows.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-asm-macros-9.0.4 → wasmtime-asm-macros-10.0.0}/src/lib.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-cache-10.0.0}/LICENSE +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/build.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/config/tests.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/config.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/lib.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/tests.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker/tests.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/src/worker.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-cache-9.0.4 → wasmtime-cache-10.0.0}/tests/cache_write_default_config.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-component-macro-9.0.4 → wasmtime-component-macro-10.0.0}/src/component.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-component-macro-9.0.4 → wasmtime-component-macro-10.0.0}/src/lib.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-component-util-9.0.4 → wasmtime-component-util-10.0.0}/src/lib.rs +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-cranelift-10.0.0}/LICENSE +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/SECURITY.md +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/builder.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/compiler/component.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/gc.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/address_transform.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/attr.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/expression.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/line_program.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/mod.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/refs.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/unit.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/transform/utils.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug/write_debuginfo.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-cranelift-9.0.4 → wasmtime-cranelift-10.0.0}/src/debug.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/compiled_function.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/isa_builder.rs +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-9.0.4 → wasmtime-cranelift-shared-10.0.0}/src/obj.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-environ-10.0.0}/LICENSE +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/examples/factc.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/address_map.rs +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/builtin.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/compilation.rs +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/dfg.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/info.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/translate/adapt.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/component.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/core_types.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/signature.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/trampoline.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/transcode.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/fact/traps.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/lib.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/module_types.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/obj.rs +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/ref_bits.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/scopevec.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/stack_map.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/tunables.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-environ-9.0.4 → wasmtime-environ-10.0.0}/src/vmoffsets.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-types-9.0.4 → wasmtime-fiber-10.0.0}/LICENSE +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/build.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/aarch64.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/arm.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/riscv64.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/s390x.S +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/x86.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/unix/x86_64.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-fiber-9.0.4 → wasmtime-fiber-10.0.0}/src/windows.c +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-jit-10.0.0}/LICENSE +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/code_memory.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/debug.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/demangling.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/miri.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/systemv.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind/winx64.rs +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-jit-9.0.4 → wasmtime-jit-10.0.0}/src/unwind.rs +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/README.md +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/gdb_jit_int.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/lib.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-jit-debug-9.0.4 → wasmtime-jit-debug-10.0.0}/src/perf_jitdump.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/lib.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/libc.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/miri.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-9.0.4 → wasmtime-jit-icache-coherence-10.0.0}/src/win.rs +0 -0
  1852. /data/ext/cargo-vendor/{wiggle-9.0.4 → wasmtime-runtime-10.0.0}/LICENSE +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/build.rs +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/component/transcode.rs +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/export.rs +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/helpers.c +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/imports.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/index_allocator.rs +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/unix.rs +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/instance/allocator/pooling/windows.rs +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/mmap.rs +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/mmap_vec.rs +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/module_id.rs +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/parking_spot.rs +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/store_box.rs +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/aarch64.rs +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/riscv64.rs +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/s390x.S +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/s390x.rs +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines/x86_64.rs +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/trampolines.rs +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/aarch64.rs +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/riscv64.rs +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/s390x.rs +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace/x86_64.rs +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/backtrace.rs +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/macos.rs +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-runtime-9.0.4 → wasmtime-runtime-10.0.0}/src/traphandlers/windows.rs +0 -0
  1879. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wasmtime-types-10.0.1}/LICENSE +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-types-9.0.4 → wasmtime-types-10.0.1}/src/error.rs +0 -0
  1881. /data/ext/cargo-vendor/{wiggle-macro-9.0.4 → wasmtime-wasi-10.0.0}/LICENSE +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-wasi-10.0.0}/README.md +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-wasi-9.0.4 → wasmtime-wasi-10.0.0}/build.rs +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/LICENSE +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/src/builder.rs +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-winch-9.0.4 → wasmtime-winch-10.0.0}/src/lib.rs +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-9.0.4 → wasmtime-wit-bindgen-10.0.0}/src/rust.rs +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-9.0.4 → wasmtime-wit-bindgen-10.0.0}/src/source.rs +0 -0
  1889. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/borrow.rs +0 -0
  1890. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/error.rs +0 -0
  1891. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/guest_type.rs +0 -0
  1892. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/lib.rs +0 -0
  1893. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/region.rs +0 -0
  1894. /data/ext/cargo-vendor/{wiggle-9.0.4 → wiggle-10.0.0}/src/wasmtime.rs +0 -0
  1895. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/README.md +0 -0
  1896. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/codegen_settings.rs +0 -0
  1897. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/config.rs +0 -0
  1898. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/funcs.rs +0 -0
  1899. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/lib.rs +0 -0
  1900. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/lifetimes.rs +0 -0
  1901. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/module_trait.rs +0 -0
  1902. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/names.rs +0 -0
  1903. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/error.rs +0 -0
  1904. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/flags.rs +0 -0
  1905. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/handle.rs +0 -0
  1906. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/mod.rs +0 -0
  1907. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/record.rs +0 -0
  1908. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/types/variant.rs +0 -0
  1909. /data/ext/cargo-vendor/{wiggle-generate-9.0.4 → wiggle-generate-10.0.0}/src/wasmtime.rs +0 -0
  1910. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/LICENSE +0 -0
  1911. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/build.rs +0 -0
  1912. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/isa/aarch64/address.rs +0 -0
  1913. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/isa/reg.rs +0 -0
  1914. /data/ext/cargo-vendor/{winch-codegen-0.7.4 → winch-codegen-0.8.0}/src/regset.rs +0 -0
  1915. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/README.md +0 -0
  1916. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/abi.rs +0 -0
  1917. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/ast/toposort.rs +0 -0
  1918. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/src/sizealign.rs +0 -0
  1919. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  1920. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/async.wit.result +0 -0
  1921. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  1922. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  1923. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  1924. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  1925. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  1926. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-md.md +0 -0
  1927. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  1928. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  1929. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/keyword.wit +0 -0
  1930. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  1931. /data/ext/cargo-vendor/{wit-parser-0.7.1/tests/ui/empty.wit → wit-parser-0.8.0/tests/ui/parse-fail/missing-package.wit} +0 -0
  1932. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  1933. /data/ext/cargo-vendor/{wit-parser-0.7.1 → wit-parser-0.8.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
@@ -0,0 +1,3008 @@
1
+ //! Riscv64 ISA: binary code emission.
2
+
3
+ use crate::binemit::StackMap;
4
+ use crate::ir::RelSourceLoc;
5
+ use crate::ir::TrapCode;
6
+ use crate::isa::riscv64::inst::*;
7
+ use crate::isa::riscv64::inst::{zero_reg, AluOPRRR};
8
+ use crate::machinst::{AllocationConsumer, Reg, Writable};
9
+ use cranelift_control::ControlPlane;
10
+ use regalloc2::Allocation;
11
+
12
+ pub struct EmitInfo {
13
+ shared_flag: settings::Flags,
14
+ isa_flags: super::super::riscv_settings::Flags,
15
+ }
16
+
17
+ impl EmitInfo {
18
+ pub(crate) fn new(
19
+ shared_flag: settings::Flags,
20
+ isa_flags: super::super::riscv_settings::Flags,
21
+ ) -> Self {
22
+ Self {
23
+ shared_flag,
24
+ isa_flags,
25
+ }
26
+ }
27
+ }
28
+
29
+ /// load constant by put the constant in the code stream.
30
+ /// calculate the pc and using load instruction.
31
+ /// This is only allow used in the emit stage.
32
+ /// Because of those instruction must execute together.
33
+ /// see https://github.com/bytecodealliance/wasmtime/pull/5612
34
+ #[derive(Clone, Copy)]
35
+ pub(crate) enum LoadConstant {
36
+ U32(u32),
37
+ U64(u64),
38
+ }
39
+
40
+ impl LoadConstant {
41
+ fn to_le_bytes(self) -> Vec<u8> {
42
+ match self {
43
+ LoadConstant::U32(x) => Vec::from_iter(x.to_le_bytes().into_iter()),
44
+ LoadConstant::U64(x) => Vec::from_iter(x.to_le_bytes().into_iter()),
45
+ }
46
+ }
47
+ fn load_op(self) -> LoadOP {
48
+ match self {
49
+ LoadConstant::U32(_) => LoadOP::Lwu,
50
+ LoadConstant::U64(_) => LoadOP::Ld,
51
+ }
52
+ }
53
+ fn load_ty(self) -> Type {
54
+ match self {
55
+ LoadConstant::U32(_) => R32,
56
+ LoadConstant::U64(_) => R64,
57
+ }
58
+ }
59
+
60
+ pub(crate) fn load_constant<F: FnMut(Type) -> Writable<Reg>>(
61
+ self,
62
+ rd: Writable<Reg>,
63
+ alloc_tmp: &mut F,
64
+ ) -> SmallInstVec<Inst> {
65
+ let mut insts = SmallInstVec::new();
66
+ // get current pc.
67
+ let pc = alloc_tmp(I64);
68
+ insts.push(Inst::Auipc {
69
+ rd: pc,
70
+ imm: Imm20 { bits: 0 },
71
+ });
72
+ // load
73
+ insts.push(Inst::Load {
74
+ rd,
75
+ op: self.load_op(),
76
+ flags: MemFlags::new(),
77
+ from: AMode::RegOffset(pc.to_reg(), 12, self.load_ty()),
78
+ });
79
+ let data = self.to_le_bytes();
80
+ // jump over.
81
+ insts.push(Inst::Jal {
82
+ dest: BranchTarget::ResolvedOffset(Inst::INSTRUCTION_SIZE + data.len() as i32),
83
+ });
84
+ insts.push(Inst::RawData { data });
85
+ insts
86
+ }
87
+
88
+ // load and perform an extra add.
89
+ pub(crate) fn load_constant_and_add(self, rd: Writable<Reg>, rs: Reg) -> SmallInstVec<Inst> {
90
+ let mut insts = self.load_constant(rd, &mut |_| rd);
91
+ insts.push(Inst::AluRRR {
92
+ alu_op: AluOPRRR::Add,
93
+ rd,
94
+ rs1: rd.to_reg(),
95
+ rs2: rs,
96
+ });
97
+ insts
98
+ }
99
+ }
100
+
101
+ pub(crate) fn reg_to_gpr_num(m: Reg) -> u32 {
102
+ u32::try_from(m.to_real_reg().unwrap().hw_enc() & 31).unwrap()
103
+ }
104
+
105
+ #[derive(Clone, Debug, PartialEq, Default)]
106
+ pub enum EmitVState {
107
+ #[default]
108
+ Unknown,
109
+ Known(VState),
110
+ }
111
+
112
+ /// State carried between emissions of a sequence of instructions.
113
+ #[derive(Default, Clone, Debug)]
114
+ pub struct EmitState {
115
+ pub(crate) virtual_sp_offset: i64,
116
+ pub(crate) nominal_sp_to_fp: i64,
117
+ /// Safepoint stack map for upcoming instruction, as provided to `pre_safepoint()`.
118
+ stack_map: Option<StackMap>,
119
+ /// Current source-code location corresponding to instruction to be emitted.
120
+ cur_srcloc: RelSourceLoc,
121
+ /// Only used during fuzz-testing. Otherwise, it is a zero-sized struct and
122
+ /// optimized away at compiletime. See [cranelift_control].
123
+ ctrl_plane: ControlPlane,
124
+ /// Vector State
125
+ /// Controls the current state of the vector unit at the emission point.
126
+ vstate: EmitVState,
127
+ }
128
+
129
+ impl EmitState {
130
+ fn take_stack_map(&mut self) -> Option<StackMap> {
131
+ self.stack_map.take()
132
+ }
133
+
134
+ fn clear_post_insn(&mut self) {
135
+ self.stack_map = None;
136
+ }
137
+
138
+ fn cur_srcloc(&self) -> RelSourceLoc {
139
+ self.cur_srcloc
140
+ }
141
+ }
142
+
143
+ impl MachInstEmitState<Inst> for EmitState {
144
+ fn new(
145
+ abi: &Callee<crate::isa::riscv64::abi::Riscv64MachineDeps>,
146
+ ctrl_plane: ControlPlane,
147
+ ) -> Self {
148
+ EmitState {
149
+ virtual_sp_offset: 0,
150
+ nominal_sp_to_fp: abi.frame_size() as i64,
151
+ stack_map: None,
152
+ cur_srcloc: RelSourceLoc::default(),
153
+ ctrl_plane,
154
+ vstate: EmitVState::Unknown,
155
+ }
156
+ }
157
+
158
+ fn pre_safepoint(&mut self, stack_map: StackMap) {
159
+ self.stack_map = Some(stack_map);
160
+ }
161
+
162
+ fn pre_sourceloc(&mut self, srcloc: RelSourceLoc) {
163
+ self.cur_srcloc = srcloc;
164
+ }
165
+
166
+ fn ctrl_plane_mut(&mut self) -> &mut ControlPlane {
167
+ &mut self.ctrl_plane
168
+ }
169
+
170
+ fn take_ctrl_plane(self) -> ControlPlane {
171
+ self.ctrl_plane
172
+ }
173
+
174
+ fn on_new_block(&mut self) {
175
+ // Reset the vector state.
176
+ self.vstate = EmitVState::Unknown;
177
+ }
178
+ }
179
+
180
+ impl Inst {
181
+ /// construct a "imm - rs".
182
+ pub(crate) fn construct_imm_sub_rs(rd: Writable<Reg>, imm: u64, rs: Reg) -> SmallInstVec<Inst> {
183
+ let mut insts = Inst::load_constant_u64(rd, imm, &mut |_| rd);
184
+ insts.push(Inst::AluRRR {
185
+ alu_op: AluOPRRR::Sub,
186
+ rd,
187
+ rs1: rd.to_reg(),
188
+ rs2: rs,
189
+ });
190
+ insts
191
+ }
192
+
193
+ /// Load int mask.
194
+ /// If ty is int then 0xff in rd.
195
+ pub(crate) fn load_int_mask(rd: Writable<Reg>, ty: Type) -> SmallInstVec<Inst> {
196
+ let mut insts = SmallInstVec::new();
197
+ assert!(ty.is_int() && ty.bits() <= 64);
198
+ match ty {
199
+ I64 => {
200
+ insts.push(Inst::load_imm12(rd, Imm12::from_bits(-1)));
201
+ }
202
+ I32 | I16 => {
203
+ insts.push(Inst::load_imm12(rd, Imm12::from_bits(-1)));
204
+ insts.push(Inst::Extend {
205
+ rd: rd,
206
+ rn: rd.to_reg(),
207
+ signed: false,
208
+ from_bits: ty.bits() as u8,
209
+ to_bits: 64,
210
+ });
211
+ }
212
+ I8 => {
213
+ insts.push(Inst::load_imm12(rd, Imm12::from_bits(255)));
214
+ }
215
+ _ => unreachable!("ty:{:?}", ty),
216
+ }
217
+ insts
218
+ }
219
+ /// inverse all bit
220
+ pub(crate) fn construct_bit_not(rd: Writable<Reg>, rs: Reg) -> Inst {
221
+ Inst::AluRRImm12 {
222
+ alu_op: AluOPRRI::Xori,
223
+ rd,
224
+ rs,
225
+ imm12: Imm12::from_bits(-1),
226
+ }
227
+ }
228
+
229
+ // emit a float is not a nan.
230
+ pub(crate) fn emit_not_nan(rd: Writable<Reg>, rs: Reg, ty: Type) -> Inst {
231
+ Inst::FpuRRR {
232
+ alu_op: if ty == F32 {
233
+ FpuOPRRR::FeqS
234
+ } else {
235
+ FpuOPRRR::FeqD
236
+ },
237
+ frm: None,
238
+ rd: rd,
239
+ rs1: rs,
240
+ rs2: rs,
241
+ }
242
+ }
243
+
244
+ pub(crate) fn emit_fabs(rd: Writable<Reg>, rs: Reg, ty: Type) -> Inst {
245
+ Inst::FpuRRR {
246
+ alu_op: if ty == F32 {
247
+ FpuOPRRR::FsgnjxS
248
+ } else {
249
+ FpuOPRRR::FsgnjxD
250
+ },
251
+ frm: None,
252
+ rd: rd,
253
+ rs1: rs,
254
+ rs2: rs,
255
+ }
256
+ }
257
+ /// If a float is zero.
258
+ pub(crate) fn emit_if_float_not_zero(
259
+ tmp: Writable<Reg>,
260
+ rs: Reg,
261
+ ty: Type,
262
+ taken: BranchTarget,
263
+ not_taken: BranchTarget,
264
+ ) -> SmallInstVec<Inst> {
265
+ let mut insts = SmallInstVec::new();
266
+ let class_op = if ty == F32 {
267
+ FpuOPRR::FclassS
268
+ } else {
269
+ FpuOPRR::FclassD
270
+ };
271
+ insts.push(Inst::FpuRR {
272
+ alu_op: class_op,
273
+ frm: None,
274
+ rd: tmp,
275
+ rs: rs,
276
+ });
277
+ insts.push(Inst::AluRRImm12 {
278
+ alu_op: AluOPRRI::Andi,
279
+ rd: tmp,
280
+ rs: tmp.to_reg(),
281
+ imm12: Imm12::from_bits(FClassResult::is_zero_bits() as i16),
282
+ });
283
+ insts.push(Inst::CondBr {
284
+ taken,
285
+ not_taken,
286
+ kind: IntegerCompare {
287
+ kind: IntCC::Equal,
288
+ rs1: tmp.to_reg(),
289
+ rs2: zero_reg(),
290
+ },
291
+ });
292
+ insts
293
+ }
294
+ pub(crate) fn emit_fneg(rd: Writable<Reg>, rs: Reg, ty: Type) -> Inst {
295
+ Inst::FpuRRR {
296
+ alu_op: if ty == F32 {
297
+ FpuOPRRR::FsgnjnS
298
+ } else {
299
+ FpuOPRRR::FsgnjnD
300
+ },
301
+ frm: None,
302
+ rd: rd,
303
+ rs1: rs,
304
+ rs2: rs,
305
+ }
306
+ }
307
+
308
+ pub(crate) fn lower_br_icmp(
309
+ cc: IntCC,
310
+ a: ValueRegs<Reg>,
311
+ b: ValueRegs<Reg>,
312
+ taken: BranchTarget,
313
+ not_taken: BranchTarget,
314
+ ty: Type,
315
+ ) -> SmallInstVec<Inst> {
316
+ let mut insts = SmallInstVec::new();
317
+ if ty.bits() <= 64 {
318
+ let rs1 = a.only_reg().unwrap();
319
+ let rs2 = b.only_reg().unwrap();
320
+ let inst = Inst::CondBr {
321
+ taken,
322
+ not_taken,
323
+ kind: IntegerCompare { kind: cc, rs1, rs2 },
324
+ };
325
+ insts.push(inst);
326
+ return insts;
327
+ }
328
+ // compare i128
329
+ let low = |cc: IntCC| -> IntegerCompare {
330
+ IntegerCompare {
331
+ rs1: a.regs()[0],
332
+ rs2: b.regs()[0],
333
+ kind: cc,
334
+ }
335
+ };
336
+ let high = |cc: IntCC| -> IntegerCompare {
337
+ IntegerCompare {
338
+ rs1: a.regs()[1],
339
+ rs2: b.regs()[1],
340
+ kind: cc,
341
+ }
342
+ };
343
+ match cc {
344
+ IntCC::Equal => {
345
+ // if high part not equal,
346
+ // then we can go to not_taken otherwise fallthrough.
347
+ insts.push(Inst::CondBr {
348
+ taken: not_taken,
349
+ not_taken: BranchTarget::zero(),
350
+ kind: high(IntCC::NotEqual),
351
+ });
352
+ // the rest part.
353
+ insts.push(Inst::CondBr {
354
+ taken,
355
+ not_taken,
356
+ kind: low(IntCC::Equal),
357
+ });
358
+ }
359
+
360
+ IntCC::NotEqual => {
361
+ // if the high part not equal ,
362
+ // we know the whole must be not equal,
363
+ // we can goto the taken part , otherwise fallthrought.
364
+ insts.push(Inst::CondBr {
365
+ taken,
366
+ not_taken: BranchTarget::zero(), // no branch
367
+ kind: high(IntCC::NotEqual),
368
+ });
369
+
370
+ insts.push(Inst::CondBr {
371
+ taken,
372
+ not_taken,
373
+ kind: low(IntCC::NotEqual),
374
+ });
375
+ }
376
+ IntCC::SignedGreaterThanOrEqual
377
+ | IntCC::SignedLessThanOrEqual
378
+ | IntCC::UnsignedGreaterThanOrEqual
379
+ | IntCC::UnsignedLessThanOrEqual
380
+ | IntCC::SignedGreaterThan
381
+ | IntCC::SignedLessThan
382
+ | IntCC::UnsignedLessThan
383
+ | IntCC::UnsignedGreaterThan => {
384
+ //
385
+ insts.push(Inst::CondBr {
386
+ taken,
387
+ not_taken: BranchTarget::zero(),
388
+ kind: high(cc.without_equal()),
389
+ });
390
+ //
391
+ insts.push(Inst::CondBr {
392
+ taken: not_taken,
393
+ not_taken: BranchTarget::zero(),
394
+ kind: high(IntCC::NotEqual),
395
+ });
396
+ insts.push(Inst::CondBr {
397
+ taken,
398
+ not_taken,
399
+ kind: low(cc.unsigned()),
400
+ });
401
+ }
402
+ }
403
+ insts
404
+ }
405
+
406
+ /// Returns Some(VState) if this insturction is expecting a specific vector state
407
+ /// before emission.
408
+ fn expected_vstate(&self) -> Option<&VState> {
409
+ match self {
410
+ Inst::Nop0
411
+ | Inst::Nop4
412
+ | Inst::BrTable { .. }
413
+ | Inst::Auipc { .. }
414
+ | Inst::Lui { .. }
415
+ | Inst::LoadConst32 { .. }
416
+ | Inst::LoadConst64 { .. }
417
+ | Inst::AluRRR { .. }
418
+ | Inst::FpuRRR { .. }
419
+ | Inst::AluRRImm12 { .. }
420
+ | Inst::Load { .. }
421
+ | Inst::Store { .. }
422
+ | Inst::Args { .. }
423
+ | Inst::Ret { .. }
424
+ | Inst::Extend { .. }
425
+ | Inst::AdjustSp { .. }
426
+ | Inst::Call { .. }
427
+ | Inst::CallInd { .. }
428
+ | Inst::TrapIf { .. }
429
+ | Inst::Jal { .. }
430
+ | Inst::CondBr { .. }
431
+ | Inst::LoadExtName { .. }
432
+ | Inst::LoadAddr { .. }
433
+ | Inst::VirtualSPOffsetAdj { .. }
434
+ | Inst::Mov { .. }
435
+ | Inst::MovFromPReg { .. }
436
+ | Inst::Fence { .. }
437
+ | Inst::FenceI
438
+ | Inst::ECall
439
+ | Inst::EBreak
440
+ | Inst::Udf { .. }
441
+ | Inst::FpuRR { .. }
442
+ | Inst::FpuRRRR { .. }
443
+ | Inst::Jalr { .. }
444
+ | Inst::Atomic { .. }
445
+ | Inst::Select { .. }
446
+ | Inst::AtomicCas { .. }
447
+ | Inst::IntSelect { .. }
448
+ | Inst::Icmp { .. }
449
+ | Inst::SelectReg { .. }
450
+ | Inst::FcvtToInt { .. }
451
+ | Inst::RawData { .. }
452
+ | Inst::AtomicStore { .. }
453
+ | Inst::AtomicLoad { .. }
454
+ | Inst::AtomicRmwLoop { .. }
455
+ | Inst::TrapIfC { .. }
456
+ | Inst::Unwind { .. }
457
+ | Inst::DummyUse { .. }
458
+ | Inst::FloatRound { .. }
459
+ | Inst::FloatSelect { .. }
460
+ | Inst::FloatSelectPseudo { .. }
461
+ | Inst::Popcnt { .. }
462
+ | Inst::Rev8 { .. }
463
+ | Inst::Cltz { .. }
464
+ | Inst::Brev8 { .. }
465
+ | Inst::StackProbeLoop { .. } => None,
466
+ // VecSetState does not expect any vstate, rather it updates it.
467
+ Inst::VecSetState { .. } => None,
468
+
469
+ Inst::VecAluRR { vstate, .. } |
470
+ Inst::VecAluRRR { vstate, .. } |
471
+ Inst::VecAluRImm5 { vstate, .. } |
472
+ Inst::VecAluRRImm5 { vstate, .. } |
473
+ // TODO: Unit-stride loads and stores only need the AVL to be correct, not
474
+ // the full vtype. A future optimization could be to decouple these two when
475
+ // updating vstate. This would allow us to avoid emitting a VecSetState in
476
+ // some cases.
477
+ Inst::VecLoad { vstate, .. }
478
+ | Inst::VecStore { vstate, .. } => Some(vstate),
479
+ }
480
+ }
481
+ }
482
+
483
+ impl MachInstEmit for Inst {
484
+ type State = EmitState;
485
+ type Info = EmitInfo;
486
+
487
+ fn emit(
488
+ &self,
489
+ allocs: &[Allocation],
490
+ sink: &mut MachBuffer<Inst>,
491
+ emit_info: &Self::Info,
492
+ state: &mut EmitState,
493
+ ) {
494
+ let mut allocs = AllocationConsumer::new(allocs);
495
+
496
+ // Check if we need to update the vector state before emitting this instruction
497
+ if let Some(expected) = self.expected_vstate() {
498
+ if state.vstate != EmitVState::Known(expected.clone()) {
499
+ // Update the vector state.
500
+ Inst::VecSetState {
501
+ rd: writable_zero_reg(),
502
+ vstate: expected.clone(),
503
+ }
504
+ .emit(&[], sink, emit_info, state);
505
+ }
506
+ }
507
+
508
+ // N.B.: we *must* not exceed the "worst-case size" used to compute
509
+ // where to insert islands, except when islands are explicitly triggered
510
+ // (with an `EmitIsland`). We check this in debug builds. This is `mut`
511
+ // to allow disabling the check for `JTSequence`, which is always
512
+ // emitted following an `EmitIsland`.
513
+ let mut start_off = sink.cur_offset();
514
+ match self {
515
+ &Inst::Nop0 => {
516
+ // do nothing
517
+ }
518
+ // Addi x0, x0, 0
519
+ &Inst::Nop4 => {
520
+ let x = Inst::AluRRImm12 {
521
+ alu_op: AluOPRRI::Addi,
522
+ rd: Writable::from_reg(zero_reg()),
523
+ rs: zero_reg(),
524
+ imm12: Imm12::zero(),
525
+ };
526
+ x.emit(&[], sink, emit_info, state)
527
+ }
528
+ &Inst::RawData { ref data } => {
529
+ // Right now we only put a u32 or u64 in this instruction.
530
+ // It is not very long, no need to check if need `emit_island`.
531
+ // If data is very long , this is a bug because RawData is typecial
532
+ // use to load some data and rely on some positon in the code stream.
533
+ // and we may exceed `Inst::worst_case_size`.
534
+ // for more information see https://github.com/bytecodealliance/wasmtime/pull/5612.
535
+ sink.put_data(&data[..]);
536
+ }
537
+ &Inst::Lui { rd, ref imm } => {
538
+ let rd = allocs.next_writable(rd);
539
+ let x: u32 = 0b0110111 | reg_to_gpr_num(rd.to_reg()) << 7 | (imm.as_u32() << 12);
540
+ sink.put4(x);
541
+ }
542
+ &Inst::LoadConst32 { rd, imm } => {
543
+ let rd = allocs.next_writable(rd);
544
+ LoadConstant::U32(imm)
545
+ .load_constant(rd, &mut |_| rd)
546
+ .into_iter()
547
+ .for_each(|inst| inst.emit(&[], sink, emit_info, state));
548
+ }
549
+ &Inst::LoadConst64 { rd, imm } => {
550
+ let rd = allocs.next_writable(rd);
551
+ LoadConstant::U64(imm)
552
+ .load_constant(rd, &mut |_| rd)
553
+ .into_iter()
554
+ .for_each(|inst| inst.emit(&[], sink, emit_info, state));
555
+ }
556
+ &Inst::FpuRR {
557
+ frm,
558
+ alu_op,
559
+ rd,
560
+ rs,
561
+ } => {
562
+ let rs = allocs.next(rs);
563
+ let rd = allocs.next_writable(rd);
564
+ let x = alu_op.op_code()
565
+ | reg_to_gpr_num(rd.to_reg()) << 7
566
+ | alu_op.funct3(frm) << 12
567
+ | reg_to_gpr_num(rs) << 15
568
+ | alu_op.rs2_funct5() << 20
569
+ | alu_op.funct7() << 25;
570
+ let srcloc = state.cur_srcloc();
571
+ if !srcloc.is_default() && alu_op.is_convert_to_int() {
572
+ sink.add_trap(TrapCode::BadConversionToInteger);
573
+ }
574
+ sink.put4(x);
575
+ }
576
+ &Inst::FpuRRRR {
577
+ alu_op,
578
+ rd,
579
+ rs1,
580
+ rs2,
581
+ rs3,
582
+ frm,
583
+ } => {
584
+ let rs1 = allocs.next(rs1);
585
+ let rs2 = allocs.next(rs2);
586
+ let rs3 = allocs.next(rs3);
587
+ let rd = allocs.next_writable(rd);
588
+ let x = alu_op.op_code()
589
+ | reg_to_gpr_num(rd.to_reg()) << 7
590
+ | alu_op.funct3(frm) << 12
591
+ | reg_to_gpr_num(rs1) << 15
592
+ | reg_to_gpr_num(rs2) << 20
593
+ | alu_op.funct2() << 25
594
+ | reg_to_gpr_num(rs3) << 27;
595
+
596
+ sink.put4(x);
597
+ }
598
+ &Inst::FpuRRR {
599
+ alu_op,
600
+ frm,
601
+ rd,
602
+ rs1,
603
+ rs2,
604
+ } => {
605
+ let rs1 = allocs.next(rs1);
606
+ let rs2 = allocs.next(rs2);
607
+ let rd = allocs.next_writable(rd);
608
+
609
+ let x: u32 = alu_op.op_code()
610
+ | reg_to_gpr_num(rd.to_reg()) << 7
611
+ | (alu_op.funct3(frm)) << 12
612
+ | reg_to_gpr_num(rs1) << 15
613
+ | reg_to_gpr_num(rs2) << 20
614
+ | alu_op.funct7() << 25;
615
+ sink.put4(x);
616
+ }
617
+ &Inst::Unwind { ref inst } => {
618
+ sink.add_unwind(inst.clone());
619
+ }
620
+ &Inst::DummyUse { reg } => {
621
+ allocs.next(reg);
622
+ }
623
+ &Inst::AluRRR {
624
+ alu_op,
625
+ rd,
626
+ rs1,
627
+ rs2,
628
+ } => {
629
+ let rs1 = allocs.next(rs1);
630
+ let rs2 = allocs.next(rs2);
631
+ let rd = allocs.next_writable(rd);
632
+ let (rs1, rs2) = if alu_op.reverse_rs() {
633
+ (rs2, rs1)
634
+ } else {
635
+ (rs1, rs2)
636
+ };
637
+
638
+ sink.put4(encode_r_type(
639
+ alu_op.op_code(),
640
+ rd,
641
+ alu_op.funct3(),
642
+ rs1,
643
+ rs2,
644
+ alu_op.funct7(),
645
+ ));
646
+ }
647
+ &Inst::AluRRImm12 {
648
+ alu_op,
649
+ rd,
650
+ rs,
651
+ imm12,
652
+ } => {
653
+ let rs = allocs.next(rs);
654
+ let rd = allocs.next_writable(rd);
655
+ let x = alu_op.op_code()
656
+ | reg_to_gpr_num(rd.to_reg()) << 7
657
+ | alu_op.funct3() << 12
658
+ | reg_to_gpr_num(rs) << 15
659
+ | alu_op.imm12(imm12) << 20;
660
+ sink.put4(x);
661
+ }
662
+ &Inst::Load {
663
+ rd,
664
+ op,
665
+ from,
666
+ flags,
667
+ } => {
668
+ let from = from.clone().with_allocs(&mut allocs);
669
+ let rd = allocs.next_writable(rd);
670
+
671
+ let base = from.get_base_register();
672
+ let offset = from.get_offset_with_state(state);
673
+ let offset_imm12 = Imm12::maybe_from_u64(offset as u64);
674
+
675
+ let (addr, imm12) = match (base, offset_imm12) {
676
+ // If the offset fits into an imm12 we can directly encode it.
677
+ (Some(base), Some(imm12)) => (base, imm12),
678
+ // Otherwise load the address it into a reg and load from it.
679
+ _ => {
680
+ let tmp = writable_spilltmp_reg();
681
+ Inst::LoadAddr { rd: tmp, mem: from }.emit(&[], sink, emit_info, state);
682
+ (tmp.to_reg(), Imm12::zero())
683
+ }
684
+ };
685
+
686
+ let srcloc = state.cur_srcloc();
687
+ if !srcloc.is_default() && !flags.notrap() {
688
+ // Register the offset at which the actual load instruction starts.
689
+ sink.add_trap(TrapCode::HeapOutOfBounds);
690
+ }
691
+
692
+ sink.put4(encode_i_type(op.op_code(), rd, op.funct3(), addr, imm12));
693
+ }
694
+ &Inst::Store { op, src, flags, to } => {
695
+ let to = to.clone().with_allocs(&mut allocs);
696
+ let src = allocs.next(src);
697
+
698
+ let base = to.get_base_register();
699
+ let offset = to.get_offset_with_state(state);
700
+ let offset_imm12 = Imm12::maybe_from_u64(offset as u64);
701
+
702
+ let (addr, imm12) = match (base, offset_imm12) {
703
+ // If the offset fits into an imm12 we can directly encode it.
704
+ (Some(base), Some(imm12)) => (base, imm12),
705
+ // Otherwise load the address it into a reg and load from it.
706
+ _ => {
707
+ let tmp = writable_spilltmp_reg();
708
+ Inst::LoadAddr { rd: tmp, mem: to }.emit(&[], sink, emit_info, state);
709
+ (tmp.to_reg(), Imm12::zero())
710
+ }
711
+ };
712
+
713
+ let srcloc = state.cur_srcloc();
714
+ if !srcloc.is_default() && !flags.notrap() {
715
+ // Register the offset at which the actual load instruction starts.
716
+ sink.add_trap(TrapCode::HeapOutOfBounds);
717
+ }
718
+
719
+ sink.put4(encode_s_type(op.op_code(), op.funct3(), addr, src, imm12));
720
+ }
721
+ &Inst::Args { .. } => {
722
+ // Nothing: this is a pseudoinstruction that serves
723
+ // only to constrain registers at a certain point.
724
+ }
725
+ &Inst::Ret {
726
+ stack_bytes_to_pop, ..
727
+ } => {
728
+ if stack_bytes_to_pop != 0 {
729
+ Inst::AdjustSp {
730
+ amount: i64::from(stack_bytes_to_pop),
731
+ }
732
+ .emit(&[], sink, emit_info, state);
733
+ }
734
+ //jalr x0, x1, 0
735
+ let x: u32 = (0b1100111) | (1 << 15);
736
+ sink.put4(x);
737
+ }
738
+
739
+ &Inst::Extend {
740
+ rd,
741
+ rn,
742
+ signed,
743
+ from_bits,
744
+ to_bits: _to_bits,
745
+ } => {
746
+ let rn = allocs.next(rn);
747
+ let rd = allocs.next_writable(rd);
748
+ let mut insts = SmallInstVec::new();
749
+ let shift_bits = (64 - from_bits) as i16;
750
+ let is_u8 = || from_bits == 8 && signed == false;
751
+ if is_u8() {
752
+ // special for u8.
753
+ insts.push(Inst::AluRRImm12 {
754
+ alu_op: AluOPRRI::Andi,
755
+ rd,
756
+ rs: rn,
757
+ imm12: Imm12::from_bits(255),
758
+ });
759
+ } else {
760
+ insts.push(Inst::AluRRImm12 {
761
+ alu_op: AluOPRRI::Slli,
762
+ rd,
763
+ rs: rn,
764
+ imm12: Imm12::from_bits(shift_bits),
765
+ });
766
+ insts.push(Inst::AluRRImm12 {
767
+ alu_op: if signed {
768
+ AluOPRRI::Srai
769
+ } else {
770
+ AluOPRRI::Srli
771
+ },
772
+ rd,
773
+ rs: rd.to_reg(),
774
+ imm12: Imm12::from_bits(shift_bits),
775
+ });
776
+ }
777
+ insts
778
+ .into_iter()
779
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
780
+ }
781
+ &Inst::AdjustSp { amount } => {
782
+ if let Some(imm) = Imm12::maybe_from_u64(amount as u64) {
783
+ Inst::AluRRImm12 {
784
+ alu_op: AluOPRRI::Addi,
785
+ rd: writable_stack_reg(),
786
+ rs: stack_reg(),
787
+ imm12: imm,
788
+ }
789
+ .emit(&[], sink, emit_info, state);
790
+ } else {
791
+ let tmp = writable_spilltmp_reg();
792
+ let mut insts = Inst::load_constant_u64(tmp, amount as u64, &mut |_| tmp);
793
+ insts.push(Inst::AluRRR {
794
+ alu_op: AluOPRRR::Add,
795
+ rd: writable_stack_reg(),
796
+ rs1: tmp.to_reg(),
797
+ rs2: stack_reg(),
798
+ });
799
+ insts
800
+ .into_iter()
801
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
802
+ }
803
+ }
804
+ &Inst::Call { ref info } => {
805
+ // call
806
+ match info.dest {
807
+ ExternalName::User { .. } => {
808
+ if info.opcode.is_call() {
809
+ sink.add_call_site(info.opcode);
810
+ }
811
+ sink.add_reloc(Reloc::RiscvCall, &info.dest, 0);
812
+ if let Some(s) = state.take_stack_map() {
813
+ sink.add_stack_map(StackMapExtent::UpcomingBytes(8), s);
814
+ }
815
+ Inst::construct_auipc_and_jalr(
816
+ Some(writable_link_reg()),
817
+ writable_link_reg(),
818
+ 0,
819
+ )
820
+ .into_iter()
821
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
822
+ }
823
+ ExternalName::LibCall(..)
824
+ | ExternalName::TestCase { .. }
825
+ | ExternalName::KnownSymbol(..) => {
826
+ // use indirect call. it is more simple.
827
+ // load ext name.
828
+ Inst::LoadExtName {
829
+ rd: writable_spilltmp_reg2(),
830
+ name: Box::new(info.dest.clone()),
831
+ offset: 0,
832
+ }
833
+ .emit(&[], sink, emit_info, state);
834
+
835
+ if let Some(s) = state.take_stack_map() {
836
+ sink.add_stack_map(StackMapExtent::UpcomingBytes(4), s);
837
+ }
838
+ if info.opcode.is_call() {
839
+ sink.add_call_site(info.opcode);
840
+ }
841
+ // call
842
+ Inst::Jalr {
843
+ rd: writable_link_reg(),
844
+ base: spilltmp_reg2(),
845
+ offset: Imm12::zero(),
846
+ }
847
+ .emit(&[], sink, emit_info, state);
848
+ }
849
+ }
850
+ }
851
+ &Inst::CallInd { ref info } => {
852
+ let rn = allocs.next(info.rn);
853
+ if let Some(s) = state.take_stack_map() {
854
+ sink.add_stack_map(StackMapExtent::UpcomingBytes(4), s);
855
+ }
856
+
857
+ if info.opcode.is_call() {
858
+ sink.add_call_site(info.opcode);
859
+ }
860
+ Inst::Jalr {
861
+ rd: writable_link_reg(),
862
+ base: rn,
863
+ offset: Imm12::zero(),
864
+ }
865
+ .emit(&[], sink, emit_info, state);
866
+ }
867
+
868
+ &Inst::Jal { dest } => {
869
+ let code: u32 = 0b1101111;
870
+ match dest {
871
+ BranchTarget::Label(lable) => {
872
+ sink.use_label_at_offset(start_off, lable, LabelUse::Jal20);
873
+ sink.add_uncond_branch(start_off, start_off + 4, lable);
874
+ sink.put4(code);
875
+ }
876
+ BranchTarget::ResolvedOffset(offset) => {
877
+ let offset = offset as i64;
878
+ if offset != 0 {
879
+ if LabelUse::Jal20.offset_in_range(offset) {
880
+ let mut code = code.to_le_bytes();
881
+ LabelUse::Jal20.patch_raw_offset(&mut code, offset);
882
+ sink.put_data(&code[..]);
883
+ } else {
884
+ Inst::construct_auipc_and_jalr(
885
+ None,
886
+ writable_spilltmp_reg(),
887
+ offset,
888
+ )
889
+ .into_iter()
890
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
891
+ }
892
+ } else {
893
+ // CondBr often generate Jal {dest : 0}, means otherwise no jump.
894
+ }
895
+ }
896
+ }
897
+ }
898
+ &Inst::CondBr {
899
+ taken,
900
+ not_taken,
901
+ mut kind,
902
+ } => {
903
+ kind.rs1 = allocs.next(kind.rs1);
904
+ kind.rs2 = allocs.next(kind.rs2);
905
+ match taken {
906
+ BranchTarget::Label(label) => {
907
+ let code = kind.emit();
908
+ let code_inverse = kind.inverse().emit().to_le_bytes();
909
+ sink.use_label_at_offset(start_off, label, LabelUse::B12);
910
+ sink.add_cond_branch(start_off, start_off + 4, label, &code_inverse);
911
+ sink.put4(code);
912
+ }
913
+ BranchTarget::ResolvedOffset(offset) => {
914
+ assert!(offset != 0);
915
+ if LabelUse::B12.offset_in_range(offset as i64) {
916
+ let code = kind.emit();
917
+ let mut code = code.to_le_bytes();
918
+ LabelUse::B12.patch_raw_offset(&mut code, offset as i64);
919
+ sink.put_data(&code[..])
920
+ } else {
921
+ let mut code = kind.emit().to_le_bytes();
922
+ // jump over the condbr , 4 bytes.
923
+ LabelUse::B12.patch_raw_offset(&mut code[..], 4);
924
+ sink.put_data(&code[..]);
925
+ Inst::construct_auipc_and_jalr(
926
+ None,
927
+ writable_spilltmp_reg(),
928
+ offset as i64,
929
+ )
930
+ .into_iter()
931
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
932
+ }
933
+ }
934
+ }
935
+ Inst::Jal { dest: not_taken }.emit(&[], sink, emit_info, state);
936
+ }
937
+
938
+ &Inst::Mov { rd, rm, ty } => {
939
+ debug_assert_ne!(rd.to_reg().class(), RegClass::Vector);
940
+ debug_assert_ne!(rm.class(), RegClass::Vector);
941
+ if rd.to_reg() != rm {
942
+ let rm = allocs.next(rm);
943
+ let rd = allocs.next_writable(rd);
944
+ if ty.is_float() {
945
+ Inst::FpuRRR {
946
+ alu_op: if ty == F32 {
947
+ FpuOPRRR::FsgnjS
948
+ } else {
949
+ FpuOPRRR::FsgnjD
950
+ },
951
+ frm: None,
952
+ rd: rd,
953
+ rs1: rm,
954
+ rs2: rm,
955
+ }
956
+ .emit(&[], sink, emit_info, state);
957
+ } else {
958
+ let x = Inst::AluRRImm12 {
959
+ alu_op: AluOPRRI::Ori,
960
+ rd: rd,
961
+ rs: rm,
962
+ imm12: Imm12::zero(),
963
+ };
964
+ x.emit(&[], sink, emit_info, state);
965
+ }
966
+ }
967
+ }
968
+
969
+ &Inst::MovFromPReg { rd, rm } => {
970
+ debug_assert!([px_reg(2), px_reg(8)].contains(&rm));
971
+ let rd = allocs.next_writable(rd);
972
+ let x = Inst::AluRRImm12 {
973
+ alu_op: AluOPRRI::Ori,
974
+ rd,
975
+ rs: Reg::from(rm),
976
+ imm12: Imm12::zero(),
977
+ };
978
+ x.emit(&[], sink, emit_info, state);
979
+ }
980
+
981
+ &Inst::BrTable {
982
+ index,
983
+ tmp1,
984
+ tmp2,
985
+ ref targets,
986
+ } => {
987
+ let index = allocs.next(index);
988
+ let tmp1 = allocs.next_writable(tmp1);
989
+ let tmp2 = allocs.next_writable(tmp2);
990
+ let ext_index = writable_spilltmp_reg();
991
+
992
+ // The default target is passed in as the 0th element of `targets`
993
+ // separate it here for clarity.
994
+ let default_target = targets[0];
995
+ let targets = &targets[1..];
996
+
997
+ // We emit a bounds check on the index, if the index is larger than the number of
998
+ // jump table entries, we jump to the default block. Otherwise we compute a jump
999
+ // offset by multiplying the index by 8 (the size of each entry) and then jump to
1000
+ // that offset. Each jump table entry is a regular auipc+jalr which we emit sequentially.
1001
+ //
1002
+ // Build the following sequence:
1003
+ //
1004
+ // extend_index:
1005
+ // zext.w ext_index, index
1006
+ // bounds_check:
1007
+ // li tmp, n_labels
1008
+ // bltu ext_index, tmp, compute_target
1009
+ // jump_to_default_block:
1010
+ // auipc pc, 0
1011
+ // jalr zero, pc, default_block
1012
+ // compute_target:
1013
+ // auipc pc, 0
1014
+ // slli tmp, ext_index, 3
1015
+ // add pc, pc, tmp
1016
+ // jalr zero, pc, 0x10
1017
+ // jump_table:
1018
+ // ; This repeats for each entry in the jumptable
1019
+ // auipc pc, 0
1020
+ // jalr zero, pc, block_target
1021
+
1022
+ // Extend the index to 64 bits.
1023
+ //
1024
+ // This prevents us branching on the top 32 bits of the index, which
1025
+ // are undefined.
1026
+ Inst::Extend {
1027
+ rd: ext_index,
1028
+ rn: index,
1029
+ signed: false,
1030
+ from_bits: 32,
1031
+ to_bits: 64,
1032
+ }
1033
+ .emit(&[], sink, emit_info, state);
1034
+
1035
+ // Bounds check.
1036
+ //
1037
+ // Check if the index passed in is larger than the number of jumptable
1038
+ // entries that we have. If it is, we fallthrough to a jump into the
1039
+ // default block.
1040
+ Inst::load_constant_u32(tmp2, targets.len() as u64, &mut |_| tmp2)
1041
+ .iter()
1042
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1043
+ Inst::CondBr {
1044
+ taken: BranchTarget::offset(Inst::INSTRUCTION_SIZE * 3),
1045
+ not_taken: BranchTarget::zero(),
1046
+ kind: IntegerCompare {
1047
+ kind: IntCC::UnsignedLessThan,
1048
+ rs1: ext_index.to_reg(),
1049
+ rs2: tmp2.to_reg(),
1050
+ },
1051
+ }
1052
+ .emit(&[], sink, emit_info, state);
1053
+ sink.use_label_at_offset(
1054
+ sink.cur_offset(),
1055
+ default_target.as_label().unwrap(),
1056
+ LabelUse::PCRel32,
1057
+ );
1058
+ Inst::construct_auipc_and_jalr(None, tmp2, 0)
1059
+ .iter()
1060
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1061
+
1062
+ // Compute the jump table offset.
1063
+ // We need to emit a PC relative offset,
1064
+
1065
+ // Get the current PC.
1066
+ Inst::Auipc {
1067
+ rd: tmp1,
1068
+ imm: Imm20::from_bits(0),
1069
+ }
1070
+ .emit(&[], sink, emit_info, state);
1071
+
1072
+ // Multiply the index by 8, since that is the size in
1073
+ // bytes of each jump table entry
1074
+ Inst::AluRRImm12 {
1075
+ alu_op: AluOPRRI::Slli,
1076
+ rd: tmp2,
1077
+ rs: ext_index.to_reg(),
1078
+ imm12: Imm12::from_bits(3),
1079
+ }
1080
+ .emit(&[], sink, emit_info, state);
1081
+
1082
+ // Calculate the base of the jump, PC + the offset from above.
1083
+ Inst::AluRRR {
1084
+ alu_op: AluOPRRR::Add,
1085
+ rd: tmp1,
1086
+ rs1: tmp1.to_reg(),
1087
+ rs2: tmp2.to_reg(),
1088
+ }
1089
+ .emit(&[], sink, emit_info, state);
1090
+
1091
+ // Jump to the middle of the jump table.
1092
+ // We add a 16 byte offset here, since we used 4 instructions
1093
+ // since the AUIPC that was used to get the PC.
1094
+ Inst::Jalr {
1095
+ rd: writable_zero_reg(),
1096
+ base: tmp1.to_reg(),
1097
+ offset: Imm12::from_bits((4 * Inst::INSTRUCTION_SIZE) as i16),
1098
+ }
1099
+ .emit(&[], sink, emit_info, state);
1100
+
1101
+ // Emit the jump table.
1102
+ //
1103
+ // Each entry is a aupc + jalr to the target block. We also start with a island
1104
+ // if necessary.
1105
+
1106
+ // Each entry in the jump table is 2 instructions, so 8 bytes. Check if
1107
+ // we need to emit a jump table here to support that jump.
1108
+ let distance = (targets.len() * 2 * Inst::INSTRUCTION_SIZE as usize) as u32;
1109
+ if sink.island_needed(distance) {
1110
+ sink.emit_island(distance, &mut state.ctrl_plane);
1111
+ }
1112
+
1113
+ // Emit the jumps back to back
1114
+ for target in targets.iter() {
1115
+ sink.use_label_at_offset(
1116
+ sink.cur_offset(),
1117
+ target.as_label().unwrap(),
1118
+ LabelUse::PCRel32,
1119
+ );
1120
+
1121
+ Inst::construct_auipc_and_jalr(None, tmp2, 0)
1122
+ .iter()
1123
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1124
+ }
1125
+
1126
+ // We've just emitted an island that is safe up to *here*.
1127
+ // Mark it as such so that we don't needlessly emit additional islands.
1128
+ start_off = sink.cur_offset();
1129
+ }
1130
+
1131
+ &Inst::VirtualSPOffsetAdj { amount } => {
1132
+ log::trace!(
1133
+ "virtual sp offset adjusted by {} -> {}",
1134
+ amount,
1135
+ state.virtual_sp_offset + amount
1136
+ );
1137
+ state.virtual_sp_offset += amount;
1138
+ }
1139
+ &Inst::Atomic {
1140
+ op,
1141
+ rd,
1142
+ addr,
1143
+ src,
1144
+ amo,
1145
+ } => {
1146
+ let addr = allocs.next(addr);
1147
+ let src = allocs.next(src);
1148
+ let rd = allocs.next_writable(rd);
1149
+ let srcloc = state.cur_srcloc();
1150
+ if !srcloc.is_default() {
1151
+ sink.add_trap(TrapCode::HeapOutOfBounds);
1152
+ }
1153
+ let x = op.op_code()
1154
+ | reg_to_gpr_num(rd.to_reg()) << 7
1155
+ | op.funct3() << 12
1156
+ | reg_to_gpr_num(addr) << 15
1157
+ | reg_to_gpr_num(src) << 20
1158
+ | op.funct7(amo) << 25;
1159
+
1160
+ sink.put4(x);
1161
+ }
1162
+ &Inst::Fence { pred, succ } => {
1163
+ let x = 0b0001111
1164
+ | 0b00000 << 7
1165
+ | 0b000 << 12
1166
+ | 0b00000 << 15
1167
+ | (succ as u32) << 20
1168
+ | (pred as u32) << 24;
1169
+
1170
+ sink.put4(x);
1171
+ }
1172
+ &Inst::FenceI => sink.put4(0x0000100f),
1173
+ &Inst::Auipc { rd, imm } => {
1174
+ let rd = allocs.next_writable(rd);
1175
+ let x = enc_auipc(rd, imm);
1176
+ sink.put4(x);
1177
+ }
1178
+
1179
+ &Inst::LoadAddr { rd, mem } => {
1180
+ let mem = mem.with_allocs(&mut allocs);
1181
+ let rd = allocs.next_writable(rd);
1182
+
1183
+ let base = mem.get_base_register();
1184
+ let offset = mem.get_offset_with_state(state);
1185
+ let offset_imm12 = Imm12::maybe_from_u64(offset as u64);
1186
+
1187
+ match (mem, base, offset_imm12) {
1188
+ (_, Some(rs), Some(imm12)) => {
1189
+ Inst::AluRRImm12 {
1190
+ alu_op: AluOPRRI::Addi,
1191
+ rd,
1192
+ rs,
1193
+ imm12,
1194
+ }
1195
+ .emit(&[], sink, emit_info, state);
1196
+ }
1197
+ (_, Some(rs), None) => {
1198
+ LoadConstant::U64(offset as u64)
1199
+ .load_constant_and_add(rd, rs)
1200
+ .into_iter()
1201
+ .for_each(|inst| inst.emit(&[], sink, emit_info, state));
1202
+ }
1203
+ (AMode::Const(addr), None, _) => {
1204
+ // Get an address label for the constant and recurse.
1205
+ let label = sink.get_label_for_constant(addr);
1206
+ Inst::LoadAddr {
1207
+ rd,
1208
+ mem: AMode::Label(label),
1209
+ }
1210
+ .emit(&[], sink, emit_info, state);
1211
+ }
1212
+ (AMode::Label(label), None, _) => {
1213
+ // Get the current PC.
1214
+ sink.use_label_at_offset(sink.cur_offset(), label, LabelUse::PCRelHi20);
1215
+ let inst = Inst::Auipc {
1216
+ rd,
1217
+ imm: Imm20::from_bits(0),
1218
+ };
1219
+ inst.emit(&[], sink, emit_info, state);
1220
+
1221
+ // Emit an add to the address with a relocation.
1222
+ // This later gets patched up with the correct offset.
1223
+ sink.use_label_at_offset(sink.cur_offset(), label, LabelUse::PCRelLo12I);
1224
+ Inst::AluRRImm12 {
1225
+ alu_op: AluOPRRI::Addi,
1226
+ rd,
1227
+ rs: rd.to_reg(),
1228
+ imm12: Imm12::zero(),
1229
+ }
1230
+ .emit(&[], sink, emit_info, state);
1231
+ }
1232
+ (amode, _, _) => {
1233
+ unimplemented!("LoadAddr: {:?}", amode);
1234
+ }
1235
+ }
1236
+ }
1237
+
1238
+ &Inst::Select {
1239
+ ref dst,
1240
+ condition,
1241
+ ref x,
1242
+ ref y,
1243
+ ty: _ty,
1244
+ } => {
1245
+ let condition = allocs.next(condition);
1246
+ let x = alloc_value_regs(x, &mut allocs);
1247
+ let y = alloc_value_regs(y, &mut allocs);
1248
+ let dst: Vec<_> = dst
1249
+ .clone()
1250
+ .into_iter()
1251
+ .map(|r| allocs.next_writable(r))
1252
+ .collect();
1253
+
1254
+ let mut insts = SmallInstVec::new();
1255
+ let label_false = sink.get_label();
1256
+ insts.push(Inst::CondBr {
1257
+ taken: BranchTarget::Label(label_false),
1258
+ not_taken: BranchTarget::zero(),
1259
+ kind: IntegerCompare {
1260
+ kind: IntCC::Equal,
1261
+ rs1: condition,
1262
+ rs2: zero_reg(),
1263
+ },
1264
+ });
1265
+ // here is the true
1266
+ // select the first value
1267
+ insts.extend(gen_moves(&dst[..], x.regs()));
1268
+ let label_jump_over = sink.get_label();
1269
+ insts.push(Inst::Jal {
1270
+ dest: BranchTarget::Label(label_jump_over),
1271
+ });
1272
+ // here is false
1273
+ insts
1274
+ .drain(..)
1275
+ .for_each(|i: Inst| i.emit(&[], sink, emit_info, state));
1276
+ sink.bind_label(label_false, &mut state.ctrl_plane);
1277
+ // select second value1
1278
+ insts.extend(gen_moves(&dst[..], y.regs()));
1279
+ insts
1280
+ .into_iter()
1281
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1282
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
1283
+ }
1284
+ &Inst::Jalr { rd, base, offset } => {
1285
+ let rd = allocs.next_writable(rd);
1286
+ let x = enc_jalr(rd, base, offset);
1287
+ sink.put4(x);
1288
+ }
1289
+ &Inst::ECall => {
1290
+ sink.put4(0x00000073);
1291
+ }
1292
+ &Inst::EBreak => {
1293
+ sink.put4(0x00100073);
1294
+ }
1295
+ &Inst::Icmp {
1296
+ cc,
1297
+ rd,
1298
+ ref a,
1299
+ ref b,
1300
+ ty,
1301
+ } => {
1302
+ let a = alloc_value_regs(a, &mut allocs);
1303
+ let b = alloc_value_regs(b, &mut allocs);
1304
+ let rd = allocs.next_writable(rd);
1305
+ let label_true = sink.get_label();
1306
+ let label_false = sink.get_label();
1307
+ Inst::lower_br_icmp(
1308
+ cc,
1309
+ a,
1310
+ b,
1311
+ BranchTarget::Label(label_true),
1312
+ BranchTarget::Label(label_false),
1313
+ ty,
1314
+ )
1315
+ .into_iter()
1316
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1317
+
1318
+ sink.bind_label(label_true, &mut state.ctrl_plane);
1319
+ Inst::load_imm12(rd, Imm12::TRUE).emit(&[], sink, emit_info, state);
1320
+ Inst::Jal {
1321
+ dest: BranchTarget::offset(Inst::INSTRUCTION_SIZE * 2),
1322
+ }
1323
+ .emit(&[], sink, emit_info, state);
1324
+ sink.bind_label(label_false, &mut state.ctrl_plane);
1325
+ Inst::load_imm12(rd, Imm12::FALSE).emit(&[], sink, emit_info, state);
1326
+ }
1327
+ &Inst::AtomicCas {
1328
+ offset,
1329
+ t0,
1330
+ dst,
1331
+ e,
1332
+ addr,
1333
+ v,
1334
+ ty,
1335
+ } => {
1336
+ let offset = allocs.next(offset);
1337
+ let e = allocs.next(e);
1338
+ let addr = allocs.next(addr);
1339
+ let v = allocs.next(v);
1340
+ let t0 = allocs.next_writable(t0);
1341
+ let dst = allocs.next_writable(dst);
1342
+
1343
+ // # addr holds address of memory location
1344
+ // # e holds expected value
1345
+ // # v holds desired value
1346
+ // # dst holds return value
1347
+ // cas:
1348
+ // lr.w dst, (addr) # Load original value.
1349
+ // bne dst, e, fail # Doesn’t match, so fail.
1350
+ // sc.w t0, v, (addr) # Try to update.
1351
+ // bnez t0 , cas # if store not ok,retry.
1352
+ // fail:
1353
+ let fail_label = sink.get_label();
1354
+ let cas_lebel = sink.get_label();
1355
+ sink.bind_label(cas_lebel, &mut state.ctrl_plane);
1356
+ Inst::Atomic {
1357
+ op: AtomicOP::load_op(ty),
1358
+ rd: dst,
1359
+ addr,
1360
+ src: zero_reg(),
1361
+ amo: AMO::SeqCst,
1362
+ }
1363
+ .emit(&[], sink, emit_info, state);
1364
+ if ty.bits() < 32 {
1365
+ AtomicOP::extract(dst, offset, dst.to_reg(), ty)
1366
+ .iter()
1367
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1368
+ } else if ty.bits() == 32 {
1369
+ Inst::Extend {
1370
+ rd: dst,
1371
+ rn: dst.to_reg(),
1372
+ signed: false,
1373
+ from_bits: 32,
1374
+ to_bits: 64,
1375
+ }
1376
+ .emit(&[], sink, emit_info, state);
1377
+ }
1378
+ Inst::CondBr {
1379
+ taken: BranchTarget::Label(fail_label),
1380
+ not_taken: BranchTarget::zero(),
1381
+ kind: IntegerCompare {
1382
+ kind: IntCC::NotEqual,
1383
+ rs1: e,
1384
+ rs2: dst.to_reg(),
1385
+ },
1386
+ }
1387
+ .emit(&[], sink, emit_info, state);
1388
+ let store_value = if ty.bits() < 32 {
1389
+ // reload value to t0.
1390
+ Inst::Atomic {
1391
+ op: AtomicOP::load_op(ty),
1392
+ rd: t0,
1393
+ addr,
1394
+ src: zero_reg(),
1395
+ amo: AMO::SeqCst,
1396
+ }
1397
+ .emit(&[], sink, emit_info, state);
1398
+ // set reset part.
1399
+ AtomicOP::merge(t0, writable_spilltmp_reg(), offset, v, ty)
1400
+ .iter()
1401
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1402
+ t0.to_reg()
1403
+ } else {
1404
+ v
1405
+ };
1406
+ Inst::Atomic {
1407
+ op: AtomicOP::store_op(ty),
1408
+ rd: t0,
1409
+ addr,
1410
+ src: store_value,
1411
+ amo: AMO::SeqCst,
1412
+ }
1413
+ .emit(&[], sink, emit_info, state);
1414
+ // check is our value stored.
1415
+ Inst::CondBr {
1416
+ taken: BranchTarget::Label(cas_lebel),
1417
+ not_taken: BranchTarget::zero(),
1418
+ kind: IntegerCompare {
1419
+ kind: IntCC::NotEqual,
1420
+ rs1: t0.to_reg(),
1421
+ rs2: zero_reg(),
1422
+ },
1423
+ }
1424
+ .emit(&[], sink, emit_info, state);
1425
+ sink.bind_label(fail_label, &mut state.ctrl_plane);
1426
+ }
1427
+ &Inst::AtomicRmwLoop {
1428
+ offset,
1429
+ op,
1430
+ dst,
1431
+ ty,
1432
+ p,
1433
+ x,
1434
+ t0,
1435
+ } => {
1436
+ let offset = allocs.next(offset);
1437
+ let p = allocs.next(p);
1438
+ let x = allocs.next(x);
1439
+ let t0 = allocs.next_writable(t0);
1440
+ let dst = allocs.next_writable(dst);
1441
+ let retry = sink.get_label();
1442
+ sink.bind_label(retry, &mut state.ctrl_plane);
1443
+ // load old value.
1444
+ Inst::Atomic {
1445
+ op: AtomicOP::load_op(ty),
1446
+ rd: dst,
1447
+ addr: p,
1448
+ src: zero_reg(),
1449
+ amo: AMO::SeqCst,
1450
+ }
1451
+ .emit(&[], sink, emit_info, state);
1452
+ //
1453
+
1454
+ let store_value: Reg = match op {
1455
+ crate::ir::AtomicRmwOp::Add
1456
+ | crate::ir::AtomicRmwOp::Sub
1457
+ | crate::ir::AtomicRmwOp::And
1458
+ | crate::ir::AtomicRmwOp::Or
1459
+ | crate::ir::AtomicRmwOp::Xor => {
1460
+ AtomicOP::extract(dst, offset, dst.to_reg(), ty)
1461
+ .iter()
1462
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1463
+ Inst::AluRRR {
1464
+ alu_op: match op {
1465
+ crate::ir::AtomicRmwOp::Add => AluOPRRR::Add,
1466
+ crate::ir::AtomicRmwOp::Sub => AluOPRRR::Sub,
1467
+ crate::ir::AtomicRmwOp::And => AluOPRRR::And,
1468
+ crate::ir::AtomicRmwOp::Or => AluOPRRR::Or,
1469
+ crate::ir::AtomicRmwOp::Xor => AluOPRRR::Xor,
1470
+ _ => unreachable!(),
1471
+ },
1472
+ rd: t0,
1473
+ rs1: dst.to_reg(),
1474
+ rs2: x,
1475
+ }
1476
+ .emit(&[], sink, emit_info, state);
1477
+ Inst::Atomic {
1478
+ op: AtomicOP::load_op(ty),
1479
+ rd: writable_spilltmp_reg2(),
1480
+ addr: p,
1481
+ src: zero_reg(),
1482
+ amo: AMO::SeqCst,
1483
+ }
1484
+ .emit(&[], sink, emit_info, state);
1485
+ AtomicOP::merge(
1486
+ writable_spilltmp_reg2(),
1487
+ writable_spilltmp_reg(),
1488
+ offset,
1489
+ t0.to_reg(),
1490
+ ty,
1491
+ )
1492
+ .iter()
1493
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1494
+ spilltmp_reg2()
1495
+ }
1496
+ crate::ir::AtomicRmwOp::Nand => {
1497
+ if ty.bits() < 32 {
1498
+ AtomicOP::extract(dst, offset, dst.to_reg(), ty)
1499
+ .iter()
1500
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1501
+ }
1502
+ Inst::AluRRR {
1503
+ alu_op: AluOPRRR::And,
1504
+ rd: t0,
1505
+ rs1: x,
1506
+ rs2: dst.to_reg(),
1507
+ }
1508
+ .emit(&[], sink, emit_info, state);
1509
+ Inst::construct_bit_not(t0, t0.to_reg()).emit(&[], sink, emit_info, state);
1510
+ if ty.bits() < 32 {
1511
+ Inst::Atomic {
1512
+ op: AtomicOP::load_op(ty),
1513
+ rd: writable_spilltmp_reg2(),
1514
+ addr: p,
1515
+ src: zero_reg(),
1516
+ amo: AMO::SeqCst,
1517
+ }
1518
+ .emit(&[], sink, emit_info, state);
1519
+ AtomicOP::merge(
1520
+ writable_spilltmp_reg2(),
1521
+ writable_spilltmp_reg(),
1522
+ offset,
1523
+ t0.to_reg(),
1524
+ ty,
1525
+ )
1526
+ .iter()
1527
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1528
+ spilltmp_reg2()
1529
+ } else {
1530
+ t0.to_reg()
1531
+ }
1532
+ }
1533
+
1534
+ crate::ir::AtomicRmwOp::Umin
1535
+ | crate::ir::AtomicRmwOp::Umax
1536
+ | crate::ir::AtomicRmwOp::Smin
1537
+ | crate::ir::AtomicRmwOp::Smax => {
1538
+ let label_select_dst = sink.get_label();
1539
+ let label_select_done = sink.get_label();
1540
+ if op == crate::ir::AtomicRmwOp::Umin || op == crate::ir::AtomicRmwOp::Umax
1541
+ {
1542
+ AtomicOP::extract(dst, offset, dst.to_reg(), ty)
1543
+ } else {
1544
+ AtomicOP::extract_sext(dst, offset, dst.to_reg(), ty)
1545
+ }
1546
+ .iter()
1547
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1548
+ Inst::lower_br_icmp(
1549
+ match op {
1550
+ crate::ir::AtomicRmwOp::Umin => IntCC::UnsignedLessThan,
1551
+ crate::ir::AtomicRmwOp::Umax => IntCC::UnsignedGreaterThan,
1552
+ crate::ir::AtomicRmwOp::Smin => IntCC::SignedLessThan,
1553
+ crate::ir::AtomicRmwOp::Smax => IntCC::SignedGreaterThan,
1554
+ _ => unreachable!(),
1555
+ },
1556
+ ValueRegs::one(dst.to_reg()),
1557
+ ValueRegs::one(x),
1558
+ BranchTarget::Label(label_select_dst),
1559
+ BranchTarget::zero(),
1560
+ ty,
1561
+ )
1562
+ .iter()
1563
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1564
+ // here we select x.
1565
+ Inst::gen_move(t0, x, I64).emit(&[], sink, emit_info, state);
1566
+ Inst::Jal {
1567
+ dest: BranchTarget::Label(label_select_done),
1568
+ }
1569
+ .emit(&[], sink, emit_info, state);
1570
+ sink.bind_label(label_select_dst, &mut state.ctrl_plane);
1571
+ Inst::gen_move(t0, dst.to_reg(), I64).emit(&[], sink, emit_info, state);
1572
+ sink.bind_label(label_select_done, &mut state.ctrl_plane);
1573
+ Inst::Atomic {
1574
+ op: AtomicOP::load_op(ty),
1575
+ rd: writable_spilltmp_reg2(),
1576
+ addr: p,
1577
+ src: zero_reg(),
1578
+ amo: AMO::SeqCst,
1579
+ }
1580
+ .emit(&[], sink, emit_info, state);
1581
+ AtomicOP::merge(
1582
+ writable_spilltmp_reg2(),
1583
+ writable_spilltmp_reg(),
1584
+ offset,
1585
+ t0.to_reg(),
1586
+ ty,
1587
+ )
1588
+ .iter()
1589
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1590
+ spilltmp_reg2()
1591
+ }
1592
+ crate::ir::AtomicRmwOp::Xchg => {
1593
+ AtomicOP::extract(dst, offset, dst.to_reg(), ty)
1594
+ .iter()
1595
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1596
+ Inst::Atomic {
1597
+ op: AtomicOP::load_op(ty),
1598
+ rd: writable_spilltmp_reg2(),
1599
+ addr: p,
1600
+ src: zero_reg(),
1601
+ amo: AMO::SeqCst,
1602
+ }
1603
+ .emit(&[], sink, emit_info, state);
1604
+ AtomicOP::merge(
1605
+ writable_spilltmp_reg2(),
1606
+ writable_spilltmp_reg(),
1607
+ offset,
1608
+ x,
1609
+ ty,
1610
+ )
1611
+ .iter()
1612
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1613
+ spilltmp_reg2()
1614
+ }
1615
+ };
1616
+
1617
+ Inst::Atomic {
1618
+ op: AtomicOP::store_op(ty),
1619
+ rd: t0,
1620
+ addr: p,
1621
+ src: store_value,
1622
+ amo: AMO::SeqCst,
1623
+ }
1624
+ .emit(&[], sink, emit_info, state);
1625
+
1626
+ // if store is not ok,retry.
1627
+ Inst::CondBr {
1628
+ taken: BranchTarget::Label(retry),
1629
+ not_taken: BranchTarget::zero(),
1630
+ kind: IntegerCompare {
1631
+ kind: IntCC::NotEqual,
1632
+ rs1: t0.to_reg(),
1633
+ rs2: zero_reg(),
1634
+ },
1635
+ }
1636
+ .emit(&[], sink, emit_info, state);
1637
+ }
1638
+
1639
+ &Inst::IntSelect {
1640
+ op,
1641
+ ref dst,
1642
+ ref x,
1643
+ ref y,
1644
+ ty,
1645
+ } => {
1646
+ let x = alloc_value_regs(x, &mut allocs);
1647
+ let y = alloc_value_regs(y, &mut allocs);
1648
+ let dst: Vec<_> = dst.iter().map(|r| allocs.next_writable(*r)).collect();
1649
+ let label_true = sink.get_label();
1650
+ let label_false = sink.get_label();
1651
+ let label_done = sink.get_label();
1652
+ Inst::lower_br_icmp(
1653
+ op.to_int_cc(),
1654
+ x,
1655
+ y,
1656
+ BranchTarget::Label(label_true),
1657
+ BranchTarget::Label(label_false),
1658
+ ty,
1659
+ )
1660
+ .into_iter()
1661
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1662
+
1663
+ let gen_move = |dst: &Vec<Writable<Reg>>,
1664
+ val: &ValueRegs<Reg>,
1665
+ sink: &mut MachBuffer<Inst>,
1666
+ state: &mut EmitState| {
1667
+ let mut insts = SmallInstVec::new();
1668
+ insts.push(Inst::Mov {
1669
+ rd: dst[0],
1670
+ rm: val.regs()[0],
1671
+ ty: I64,
1672
+ });
1673
+ if ty.bits() == 128 {
1674
+ insts.push(Inst::Mov {
1675
+ rd: dst[1],
1676
+ rm: val.regs()[1],
1677
+ ty,
1678
+ });
1679
+ }
1680
+ insts
1681
+ .into_iter()
1682
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1683
+ };
1684
+ //here is true , use x.
1685
+ sink.bind_label(label_true, &mut state.ctrl_plane);
1686
+ gen_move(&dst, &x, sink, state);
1687
+ Inst::gen_jump(label_done).emit(&[], sink, emit_info, state);
1688
+ // here is false use y
1689
+ sink.bind_label(label_false, &mut state.ctrl_plane);
1690
+ gen_move(&dst, &y, sink, state);
1691
+ sink.bind_label(label_done, &mut state.ctrl_plane);
1692
+ }
1693
+
1694
+ &Inst::SelectReg {
1695
+ condition,
1696
+ rd,
1697
+ rs1,
1698
+ rs2,
1699
+ } => {
1700
+ let mut condition = condition.clone();
1701
+ condition.rs1 = allocs.next(condition.rs1);
1702
+ condition.rs2 = allocs.next(condition.rs2);
1703
+ let rs1 = allocs.next(rs1);
1704
+ let rs2 = allocs.next(rs2);
1705
+ let rd = allocs.next_writable(rd);
1706
+ let label_true = sink.get_label();
1707
+ let label_jump_over = sink.get_label();
1708
+ sink.use_label_at_offset(sink.cur_offset(), label_true, LabelUse::B12);
1709
+ let x = condition.emit();
1710
+ sink.put4(x);
1711
+ // here is false , use rs2
1712
+ Inst::gen_move(rd, rs2, I64).emit(&[], sink, emit_info, state);
1713
+ // and jump over
1714
+ Inst::Jal {
1715
+ dest: BranchTarget::Label(label_jump_over),
1716
+ }
1717
+ .emit(&[], sink, emit_info, state);
1718
+ // here condition is true , use rs1
1719
+ sink.bind_label(label_true, &mut state.ctrl_plane);
1720
+ Inst::gen_move(rd, rs1, I64).emit(&[], sink, emit_info, state);
1721
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
1722
+ }
1723
+ &Inst::FcvtToInt {
1724
+ is_sat,
1725
+ rd,
1726
+ rs,
1727
+ is_signed,
1728
+ in_type,
1729
+ out_type,
1730
+ tmp,
1731
+ } => {
1732
+ let rs = allocs.next(rs);
1733
+ let tmp = allocs.next_writable(tmp);
1734
+ let rd = allocs.next_writable(rd);
1735
+ let label_nan = sink.get_label();
1736
+ let label_jump_over = sink.get_label();
1737
+ // get if nan.
1738
+ Inst::emit_not_nan(rd, rs, in_type).emit(&[], sink, emit_info, state);
1739
+ // jump to nan.
1740
+ Inst::CondBr {
1741
+ taken: BranchTarget::Label(label_nan),
1742
+ not_taken: BranchTarget::zero(),
1743
+ kind: IntegerCompare {
1744
+ kind: IntCC::Equal,
1745
+ rs2: zero_reg(),
1746
+ rs1: rd.to_reg(),
1747
+ },
1748
+ }
1749
+ .emit(&[], sink, emit_info, state);
1750
+
1751
+ if !is_sat {
1752
+ let f32_bounds = f32_cvt_to_int_bounds(is_signed, out_type.bits() as u8);
1753
+ let f64_bounds = f64_cvt_to_int_bounds(is_signed, out_type.bits() as u8);
1754
+ if in_type == F32 {
1755
+ Inst::load_fp_constant32(tmp, f32_bits(f32_bounds.0), |_| {
1756
+ writable_spilltmp_reg()
1757
+ })
1758
+ } else {
1759
+ Inst::load_fp_constant64(tmp, f64_bits(f64_bounds.0), |_| {
1760
+ writable_spilltmp_reg()
1761
+ })
1762
+ }
1763
+ .iter()
1764
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1765
+
1766
+ let le_op = if in_type == F32 {
1767
+ FpuOPRRR::FleS
1768
+ } else {
1769
+ FpuOPRRR::FleD
1770
+ };
1771
+
1772
+ // rd := rs <= tmp
1773
+ Inst::FpuRRR {
1774
+ alu_op: le_op,
1775
+ frm: None,
1776
+ rd,
1777
+ rs1: rs,
1778
+ rs2: tmp.to_reg(),
1779
+ }
1780
+ .emit(&[], sink, emit_info, state);
1781
+ Inst::TrapIf {
1782
+ test: rd.to_reg(),
1783
+ trap_code: TrapCode::IntegerOverflow,
1784
+ }
1785
+ .emit(&[], sink, emit_info, state);
1786
+
1787
+ if in_type == F32 {
1788
+ Inst::load_fp_constant32(tmp, f32_bits(f32_bounds.1), |_| {
1789
+ writable_spilltmp_reg()
1790
+ })
1791
+ } else {
1792
+ Inst::load_fp_constant64(tmp, f64_bits(f64_bounds.1), |_| {
1793
+ writable_spilltmp_reg()
1794
+ })
1795
+ }
1796
+ .iter()
1797
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
1798
+
1799
+ // rd := rs >= tmp
1800
+ Inst::FpuRRR {
1801
+ alu_op: le_op,
1802
+ frm: None,
1803
+ rd,
1804
+ rs1: tmp.to_reg(),
1805
+ rs2: rs,
1806
+ }
1807
+ .emit(&[], sink, emit_info, state);
1808
+
1809
+ Inst::TrapIf {
1810
+ test: rd.to_reg(),
1811
+ trap_code: TrapCode::IntegerOverflow,
1812
+ }
1813
+ .emit(&[], sink, emit_info, state);
1814
+ }
1815
+ // convert to int normally.
1816
+ Inst::FpuRR {
1817
+ frm: Some(FRM::RTZ),
1818
+ alu_op: FpuOPRR::float_convert_2_int_op(in_type, is_signed, out_type),
1819
+ rd,
1820
+ rs,
1821
+ }
1822
+ .emit(&[], sink, emit_info, state);
1823
+ if out_type.bits() < 32 && is_signed {
1824
+ // load value part mask.
1825
+ Inst::load_constant_u32(
1826
+ writable_spilltmp_reg(),
1827
+ if 16 == out_type.bits() {
1828
+ (u16::MAX >> 1) as u64
1829
+ } else {
1830
+ // I8
1831
+ (u8::MAX >> 1) as u64
1832
+ },
1833
+ &mut |_| writable_spilltmp_reg2(),
1834
+ )
1835
+ .into_iter()
1836
+ .for_each(|x| x.emit(&[], sink, emit_info, state));
1837
+ // keep value part.
1838
+ Inst::AluRRR {
1839
+ alu_op: AluOPRRR::And,
1840
+ rd: writable_spilltmp_reg(),
1841
+ rs1: rd.to_reg(),
1842
+ rs2: spilltmp_reg(),
1843
+ }
1844
+ .emit(&[], sink, emit_info, state);
1845
+ // extact sign bit.
1846
+ Inst::AluRRImm12 {
1847
+ alu_op: AluOPRRI::Srli,
1848
+ rd: rd,
1849
+ rs: rd.to_reg(),
1850
+ imm12: Imm12::from_bits(31),
1851
+ }
1852
+ .emit(&[], sink, emit_info, state);
1853
+ Inst::AluRRImm12 {
1854
+ alu_op: AluOPRRI::Slli,
1855
+ rd: rd,
1856
+ rs: rd.to_reg(),
1857
+ imm12: Imm12::from_bits(if 16 == out_type.bits() {
1858
+ 15
1859
+ } else {
1860
+ // I8
1861
+ 7
1862
+ }),
1863
+ }
1864
+ .emit(&[], sink, emit_info, state);
1865
+ // make result,sign bit and value part.
1866
+ Inst::AluRRR {
1867
+ alu_op: AluOPRRR::Or,
1868
+ rd: rd,
1869
+ rs1: rd.to_reg(),
1870
+ rs2: spilltmp_reg(),
1871
+ }
1872
+ .emit(&[], sink, emit_info, state);
1873
+ }
1874
+
1875
+ // I already have the result,jump over.
1876
+ Inst::Jal {
1877
+ dest: BranchTarget::Label(label_jump_over),
1878
+ }
1879
+ .emit(&[], sink, emit_info, state);
1880
+ // here is nan , move 0 into rd register
1881
+ sink.bind_label(label_nan, &mut state.ctrl_plane);
1882
+ if is_sat {
1883
+ Inst::load_imm12(rd, Imm12::from_bits(0)).emit(&[], sink, emit_info, state);
1884
+ } else {
1885
+ // here is ud2.
1886
+ Inst::Udf {
1887
+ trap_code: TrapCode::BadConversionToInteger,
1888
+ }
1889
+ .emit(&[], sink, emit_info, state);
1890
+ }
1891
+ // bind jump_over
1892
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
1893
+ }
1894
+
1895
+ &Inst::LoadExtName {
1896
+ rd,
1897
+ ref name,
1898
+ offset,
1899
+ } => {
1900
+ let rd = allocs.next_writable(rd);
1901
+ // get the current pc.
1902
+ Inst::Auipc {
1903
+ rd: rd,
1904
+ imm: Imm20::from_bits(0),
1905
+ }
1906
+ .emit(&[], sink, emit_info, state);
1907
+ // load the value.
1908
+ Inst::Load {
1909
+ rd: rd,
1910
+ op: LoadOP::Ld,
1911
+ flags: MemFlags::trusted(),
1912
+ from: AMode::RegOffset(
1913
+ rd.to_reg(),
1914
+ 12, // auipc load and jal.
1915
+ I64,
1916
+ ),
1917
+ }
1918
+ .emit(&[], sink, emit_info, state);
1919
+ // jump over.
1920
+ Inst::Jal {
1921
+ // jal and abs8 size for 12.
1922
+ dest: BranchTarget::offset(12),
1923
+ }
1924
+ .emit(&[], sink, emit_info, state);
1925
+
1926
+ sink.add_reloc(Reloc::Abs8, name.as_ref(), offset);
1927
+ sink.put8(0);
1928
+ }
1929
+ &Inst::TrapIfC {
1930
+ rs1,
1931
+ rs2,
1932
+ cc,
1933
+ trap_code,
1934
+ } => {
1935
+ let rs1 = allocs.next(rs1);
1936
+ let rs2 = allocs.next(rs2);
1937
+ let label_trap = sink.get_label();
1938
+ let label_jump_over = sink.get_label();
1939
+ Inst::CondBr {
1940
+ taken: BranchTarget::Label(label_trap),
1941
+ not_taken: BranchTarget::Label(label_jump_over),
1942
+ kind: IntegerCompare { kind: cc, rs1, rs2 },
1943
+ }
1944
+ .emit(&[], sink, emit_info, state);
1945
+ // trap
1946
+ sink.bind_label(label_trap, &mut state.ctrl_plane);
1947
+ Inst::Udf {
1948
+ trap_code: trap_code,
1949
+ }
1950
+ .emit(&[], sink, emit_info, state);
1951
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
1952
+ }
1953
+ &Inst::TrapIf { test, trap_code } => {
1954
+ let test = allocs.next(test);
1955
+ let label_trap = sink.get_label();
1956
+ let label_jump_over = sink.get_label();
1957
+ Inst::CondBr {
1958
+ taken: BranchTarget::Label(label_trap),
1959
+ not_taken: BranchTarget::Label(label_jump_over),
1960
+ kind: IntegerCompare {
1961
+ kind: IntCC::NotEqual,
1962
+ rs1: test,
1963
+ rs2: zero_reg(),
1964
+ },
1965
+ }
1966
+ .emit(&[], sink, emit_info, state);
1967
+ // trap
1968
+ sink.bind_label(label_trap, &mut state.ctrl_plane);
1969
+ Inst::Udf {
1970
+ trap_code: trap_code,
1971
+ }
1972
+ .emit(&[], sink, emit_info, state);
1973
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
1974
+ }
1975
+ &Inst::Udf { trap_code } => {
1976
+ sink.add_trap(trap_code);
1977
+ if let Some(s) = state.take_stack_map() {
1978
+ sink.add_stack_map(StackMapExtent::UpcomingBytes(4), s);
1979
+ }
1980
+ sink.put_data(Inst::TRAP_OPCODE);
1981
+ }
1982
+ &Inst::AtomicLoad { rd, ty, p } => {
1983
+ let p = allocs.next(p);
1984
+ let rd = allocs.next_writable(rd);
1985
+ // emit the fence.
1986
+ Inst::Fence {
1987
+ pred: Inst::FENCE_REQ_R | Inst::FENCE_REQ_W,
1988
+ succ: Inst::FENCE_REQ_R | Inst::FENCE_REQ_W,
1989
+ }
1990
+ .emit(&[], sink, emit_info, state);
1991
+ // load.
1992
+ Inst::Load {
1993
+ rd: rd,
1994
+ op: LoadOP::from_type(ty),
1995
+ flags: MemFlags::new(),
1996
+ from: AMode::RegOffset(p, 0, ty),
1997
+ }
1998
+ .emit(&[], sink, emit_info, state);
1999
+ Inst::Fence {
2000
+ pred: Inst::FENCE_REQ_R,
2001
+ succ: Inst::FENCE_REQ_R | Inst::FENCE_REQ_W,
2002
+ }
2003
+ .emit(&[], sink, emit_info, state);
2004
+ }
2005
+ &Inst::AtomicStore { src, ty, p } => {
2006
+ let src = allocs.next(src);
2007
+ let p = allocs.next(p);
2008
+ Inst::Fence {
2009
+ pred: Inst::FENCE_REQ_R | Inst::FENCE_REQ_W,
2010
+ succ: Inst::FENCE_REQ_W,
2011
+ }
2012
+ .emit(&[], sink, emit_info, state);
2013
+ Inst::Store {
2014
+ to: AMode::RegOffset(p, 0, ty),
2015
+ op: StoreOP::from_type(ty),
2016
+ flags: MemFlags::new(),
2017
+ src,
2018
+ }
2019
+ .emit(&[], sink, emit_info, state);
2020
+ }
2021
+ &Inst::FloatRound {
2022
+ op,
2023
+ rd,
2024
+ int_tmp,
2025
+ f_tmp,
2026
+ rs,
2027
+ ty,
2028
+ } => {
2029
+ // this code is port from glibc ceil floor ... implementation.
2030
+ let rs = allocs.next(rs);
2031
+ let int_tmp = allocs.next_writable(int_tmp);
2032
+ let f_tmp = allocs.next_writable(f_tmp);
2033
+ let rd = allocs.next_writable(rd);
2034
+ let label_nan = sink.get_label();
2035
+ let label_x = sink.get_label();
2036
+ let label_jump_over = sink.get_label();
2037
+ // check if is nan.
2038
+ Inst::emit_not_nan(int_tmp, rs, ty).emit(&[], sink, emit_info, state);
2039
+ Inst::CondBr {
2040
+ taken: BranchTarget::Label(label_nan),
2041
+ not_taken: BranchTarget::zero(),
2042
+ kind: IntegerCompare {
2043
+ kind: IntCC::Equal,
2044
+ rs1: int_tmp.to_reg(),
2045
+ rs2: zero_reg(),
2046
+ },
2047
+ }
2048
+ .emit(&[], sink, emit_info, state);
2049
+ fn max_value_need_round(ty: Type) -> u64 {
2050
+ match ty {
2051
+ F32 => {
2052
+ let x: u64 = 1 << f32::MANTISSA_DIGITS;
2053
+ let x = x as f32;
2054
+ let x = u32::from_le_bytes(x.to_le_bytes());
2055
+ x as u64
2056
+ }
2057
+ F64 => {
2058
+ let x: u64 = 1 << f64::MANTISSA_DIGITS;
2059
+ let x = x as f64;
2060
+ u64::from_le_bytes(x.to_le_bytes())
2061
+ }
2062
+ _ => unreachable!(),
2063
+ }
2064
+ }
2065
+ // load max value need to round.
2066
+ if ty == F32 {
2067
+ Inst::load_fp_constant32(f_tmp, max_value_need_round(ty) as u32, &mut |_| {
2068
+ writable_spilltmp_reg()
2069
+ })
2070
+ } else {
2071
+ Inst::load_fp_constant64(f_tmp, max_value_need_round(ty), &mut |_| {
2072
+ writable_spilltmp_reg()
2073
+ })
2074
+ }
2075
+ .into_iter()
2076
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
2077
+
2078
+ // get abs value.
2079
+ Inst::emit_fabs(rd, rs, ty).emit(&[], sink, emit_info, state);
2080
+
2081
+ // branch if f_tmp < rd
2082
+ Inst::FpuRRR {
2083
+ frm: None,
2084
+ alu_op: if ty == F32 {
2085
+ FpuOPRRR::FltS
2086
+ } else {
2087
+ FpuOPRRR::FltD
2088
+ },
2089
+ rd: int_tmp,
2090
+ rs1: f_tmp.to_reg(),
2091
+ rs2: rd.to_reg(),
2092
+ }
2093
+ .emit(&[], sink, emit_info, state);
2094
+
2095
+ Inst::CondBr {
2096
+ taken: BranchTarget::Label(label_x),
2097
+ not_taken: BranchTarget::zero(),
2098
+ kind: IntegerCompare {
2099
+ kind: IntCC::NotEqual,
2100
+ rs1: int_tmp.to_reg(),
2101
+ rs2: zero_reg(),
2102
+ },
2103
+ }
2104
+ .emit(&[], sink, emit_info, state);
2105
+
2106
+ //convert to int.
2107
+ Inst::FpuRR {
2108
+ alu_op: FpuOPRR::float_convert_2_int_op(ty, true, I64),
2109
+ frm: Some(op.to_frm()),
2110
+ rd: int_tmp,
2111
+ rs: rs,
2112
+ }
2113
+ .emit(&[], sink, emit_info, state);
2114
+ //convert back.
2115
+ Inst::FpuRR {
2116
+ alu_op: FpuOPRR::int_convert_2_float_op(I64, true, ty),
2117
+ frm: Some(op.to_frm()),
2118
+ rd,
2119
+ rs: int_tmp.to_reg(),
2120
+ }
2121
+ .emit(&[], sink, emit_info, state);
2122
+ // copy sign.
2123
+ Inst::FpuRRR {
2124
+ alu_op: if ty == F32 {
2125
+ FpuOPRRR::FsgnjS
2126
+ } else {
2127
+ FpuOPRRR::FsgnjD
2128
+ },
2129
+ frm: None,
2130
+ rd,
2131
+ rs1: rd.to_reg(),
2132
+ rs2: rs,
2133
+ }
2134
+ .emit(&[], sink, emit_info, state);
2135
+ // jump over.
2136
+ Inst::Jal {
2137
+ dest: BranchTarget::Label(label_jump_over),
2138
+ }
2139
+ .emit(&[], sink, emit_info, state);
2140
+ // here is nan.
2141
+ sink.bind_label(label_nan, &mut state.ctrl_plane);
2142
+ Inst::FpuRRR {
2143
+ alu_op: if ty == F32 {
2144
+ FpuOPRRR::FaddS
2145
+ } else {
2146
+ FpuOPRRR::FaddD
2147
+ },
2148
+ frm: None,
2149
+ rd: rd,
2150
+ rs1: rs,
2151
+ rs2: rs,
2152
+ }
2153
+ .emit(&[], sink, emit_info, state);
2154
+ Inst::Jal {
2155
+ dest: BranchTarget::Label(label_jump_over),
2156
+ }
2157
+ .emit(&[], sink, emit_info, state);
2158
+ // here select origin x.
2159
+ sink.bind_label(label_x, &mut state.ctrl_plane);
2160
+ Inst::gen_move(rd, rs, ty).emit(&[], sink, emit_info, state);
2161
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
2162
+ }
2163
+ &Inst::FloatSelectPseudo {
2164
+ op,
2165
+ rd,
2166
+ tmp,
2167
+ rs1,
2168
+ rs2,
2169
+ ty,
2170
+ } => {
2171
+ let rs1 = allocs.next(rs1);
2172
+ let rs2 = allocs.next(rs2);
2173
+ let tmp = allocs.next_writable(tmp);
2174
+ let rd = allocs.next_writable(rd);
2175
+ let label_rs2 = sink.get_label();
2176
+ let label_jump_over = sink.get_label();
2177
+ let lt_op = if ty == F32 {
2178
+ FpuOPRRR::FltS
2179
+ } else {
2180
+ FpuOPRRR::FltD
2181
+ };
2182
+ Inst::FpuRRR {
2183
+ alu_op: lt_op,
2184
+ frm: None,
2185
+ rd: tmp,
2186
+ rs1: if op == FloatSelectOP::Max { rs1 } else { rs2 },
2187
+ rs2: if op == FloatSelectOP::Max { rs2 } else { rs1 },
2188
+ }
2189
+ .emit(&[], sink, emit_info, state);
2190
+ Inst::CondBr {
2191
+ taken: BranchTarget::Label(label_rs2),
2192
+ not_taken: BranchTarget::zero(),
2193
+ kind: IntegerCompare {
2194
+ kind: IntCC::NotEqual,
2195
+ rs1: tmp.to_reg(),
2196
+ rs2: zero_reg(),
2197
+ },
2198
+ }
2199
+ .emit(&[], sink, emit_info, state);
2200
+ // here select rs1 as result.
2201
+ Inst::gen_move(rd, rs1, ty).emit(&[], sink, emit_info, state);
2202
+ Inst::Jal {
2203
+ dest: BranchTarget::Label(label_jump_over),
2204
+ }
2205
+ .emit(&[], sink, emit_info, state);
2206
+ sink.bind_label(label_rs2, &mut state.ctrl_plane);
2207
+ Inst::gen_move(rd, rs2, ty).emit(&[], sink, emit_info, state);
2208
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
2209
+ }
2210
+
2211
+ &Inst::FloatSelect {
2212
+ op,
2213
+ rd,
2214
+ tmp,
2215
+ rs1,
2216
+ rs2,
2217
+ ty,
2218
+ } => {
2219
+ let rs1 = allocs.next(rs1);
2220
+ let rs2 = allocs.next(rs2);
2221
+ let tmp = allocs.next_writable(tmp);
2222
+ let rd = allocs.next_writable(rd);
2223
+ let label_nan = sink.get_label();
2224
+ let label_jump_over = sink.get_label();
2225
+ // check if rs1 is nan.
2226
+ Inst::emit_not_nan(tmp, rs1, ty).emit(&[], sink, emit_info, state);
2227
+ Inst::CondBr {
2228
+ taken: BranchTarget::Label(label_nan),
2229
+ not_taken: BranchTarget::zero(),
2230
+ kind: IntegerCompare {
2231
+ kind: IntCC::Equal,
2232
+ rs1: tmp.to_reg(),
2233
+ rs2: zero_reg(),
2234
+ },
2235
+ }
2236
+ .emit(&[], sink, emit_info, state);
2237
+ // check if rs2 is nan.
2238
+ Inst::emit_not_nan(tmp, rs2, ty).emit(&[], sink, emit_info, state);
2239
+ Inst::CondBr {
2240
+ taken: BranchTarget::Label(label_nan),
2241
+ not_taken: BranchTarget::zero(),
2242
+ kind: IntegerCompare {
2243
+ kind: IntCC::Equal,
2244
+ rs1: tmp.to_reg(),
2245
+ rs2: zero_reg(),
2246
+ },
2247
+ }
2248
+ .emit(&[], sink, emit_info, state);
2249
+ // here rs1 and rs2 is not nan.
2250
+ Inst::FpuRRR {
2251
+ alu_op: op.to_fpuoprrr(ty),
2252
+ frm: None,
2253
+ rd: rd,
2254
+ rs1: rs1,
2255
+ rs2: rs2,
2256
+ }
2257
+ .emit(&[], sink, emit_info, state);
2258
+ // special handle for +0 or -0.
2259
+ {
2260
+ // check is rs1 and rs2 all equal to zero.
2261
+ let label_done = sink.get_label();
2262
+ {
2263
+ // if rs1 == 0
2264
+ let mut insts = Inst::emit_if_float_not_zero(
2265
+ tmp,
2266
+ rs1,
2267
+ ty,
2268
+ BranchTarget::Label(label_done),
2269
+ BranchTarget::zero(),
2270
+ );
2271
+ insts.extend(Inst::emit_if_float_not_zero(
2272
+ tmp,
2273
+ rs2,
2274
+ ty,
2275
+ BranchTarget::Label(label_done),
2276
+ BranchTarget::zero(),
2277
+ ));
2278
+ insts
2279
+ .iter()
2280
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
2281
+ }
2282
+ Inst::FpuRR {
2283
+ alu_op: FpuOPRR::move_f_to_x_op(ty),
2284
+ frm: None,
2285
+ rd: tmp,
2286
+ rs: rs1,
2287
+ }
2288
+ .emit(&[], sink, emit_info, state);
2289
+ Inst::FpuRR {
2290
+ alu_op: FpuOPRR::move_f_to_x_op(ty),
2291
+ frm: None,
2292
+ rd: writable_spilltmp_reg(),
2293
+ rs: rs2,
2294
+ }
2295
+ .emit(&[], sink, emit_info, state);
2296
+ Inst::AluRRR {
2297
+ alu_op: if op == FloatSelectOP::Max {
2298
+ AluOPRRR::And
2299
+ } else {
2300
+ AluOPRRR::Or
2301
+ },
2302
+ rd: tmp,
2303
+ rs1: tmp.to_reg(),
2304
+ rs2: spilltmp_reg(),
2305
+ }
2306
+ .emit(&[], sink, emit_info, state);
2307
+ // move back to rd.
2308
+ Inst::FpuRR {
2309
+ alu_op: FpuOPRR::move_x_to_f_op(ty),
2310
+ frm: None,
2311
+ rd,
2312
+ rs: tmp.to_reg(),
2313
+ }
2314
+ .emit(&[], sink, emit_info, state);
2315
+ //
2316
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2317
+ }
2318
+ // we have the reuslt,jump over.
2319
+ Inst::Jal {
2320
+ dest: BranchTarget::Label(label_jump_over),
2321
+ }
2322
+ .emit(&[], sink, emit_info, state);
2323
+ // here is nan.
2324
+ sink.bind_label(label_nan, &mut state.ctrl_plane);
2325
+ op.snan_bits(tmp, ty)
2326
+ .into_iter()
2327
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
2328
+ // move to rd.
2329
+ Inst::FpuRR {
2330
+ alu_op: FpuOPRR::move_x_to_f_op(ty),
2331
+ frm: None,
2332
+ rd,
2333
+ rs: tmp.to_reg(),
2334
+ }
2335
+ .emit(&[], sink, emit_info, state);
2336
+ sink.bind_label(label_jump_over, &mut state.ctrl_plane);
2337
+ }
2338
+ &Inst::Popcnt {
2339
+ sum,
2340
+ tmp,
2341
+ step,
2342
+ rs,
2343
+ ty,
2344
+ } => {
2345
+ let rs = allocs.next(rs);
2346
+ let tmp = allocs.next_writable(tmp);
2347
+ let step = allocs.next_writable(step);
2348
+ let sum = allocs.next_writable(sum);
2349
+ // load 0 to sum , init.
2350
+ Inst::gen_move(sum, zero_reg(), I64).emit(&[], sink, emit_info, state);
2351
+ // load
2352
+ Inst::load_imm12(step, Imm12::from_bits(ty.bits() as i16)).emit(
2353
+ &[],
2354
+ sink,
2355
+ emit_info,
2356
+ state,
2357
+ );
2358
+ //
2359
+ Inst::load_imm12(tmp, Imm12::from_bits(1)).emit(&[], sink, emit_info, state);
2360
+ Inst::AluRRImm12 {
2361
+ alu_op: AluOPRRI::Slli,
2362
+ rd: tmp,
2363
+ rs: tmp.to_reg(),
2364
+ imm12: Imm12::from_bits((ty.bits() - 1) as i16),
2365
+ }
2366
+ .emit(&[], sink, emit_info, state);
2367
+ let label_done = sink.get_label();
2368
+ let label_loop = sink.get_label();
2369
+ sink.bind_label(label_loop, &mut state.ctrl_plane);
2370
+ Inst::CondBr {
2371
+ taken: BranchTarget::Label(label_done),
2372
+ not_taken: BranchTarget::zero(),
2373
+ kind: IntegerCompare {
2374
+ kind: IntCC::SignedLessThanOrEqual,
2375
+ rs1: step.to_reg(),
2376
+ rs2: zero_reg(),
2377
+ },
2378
+ }
2379
+ .emit(&[], sink, emit_info, state);
2380
+ // test and add sum.
2381
+ {
2382
+ Inst::AluRRR {
2383
+ alu_op: AluOPRRR::And,
2384
+ rd: writable_spilltmp_reg2(),
2385
+ rs1: tmp.to_reg(),
2386
+ rs2: rs,
2387
+ }
2388
+ .emit(&[], sink, emit_info, state);
2389
+ let label_over = sink.get_label();
2390
+ Inst::CondBr {
2391
+ taken: BranchTarget::Label(label_over),
2392
+ not_taken: BranchTarget::zero(),
2393
+ kind: IntegerCompare {
2394
+ kind: IntCC::Equal,
2395
+ rs1: zero_reg(),
2396
+ rs2: spilltmp_reg2(),
2397
+ },
2398
+ }
2399
+ .emit(&[], sink, emit_info, state);
2400
+ Inst::AluRRImm12 {
2401
+ alu_op: AluOPRRI::Addi,
2402
+ rd: sum,
2403
+ rs: sum.to_reg(),
2404
+ imm12: Imm12::from_bits(1),
2405
+ }
2406
+ .emit(&[], sink, emit_info, state);
2407
+ sink.bind_label(label_over, &mut state.ctrl_plane);
2408
+ }
2409
+ // set step and tmp.
2410
+ {
2411
+ Inst::AluRRImm12 {
2412
+ alu_op: AluOPRRI::Addi,
2413
+ rd: step,
2414
+ rs: step.to_reg(),
2415
+ imm12: Imm12::from_bits(-1),
2416
+ }
2417
+ .emit(&[], sink, emit_info, state);
2418
+ Inst::AluRRImm12 {
2419
+ alu_op: AluOPRRI::Srli,
2420
+ rd: tmp,
2421
+ rs: tmp.to_reg(),
2422
+ imm12: Imm12::from_bits(1),
2423
+ }
2424
+ .emit(&[], sink, emit_info, state);
2425
+ Inst::Jal {
2426
+ dest: BranchTarget::Label(label_loop),
2427
+ }
2428
+ .emit(&[], sink, emit_info, state);
2429
+ }
2430
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2431
+ }
2432
+ &Inst::Rev8 { rs, rd, tmp, step } => {
2433
+ let rs = allocs.next(rs);
2434
+ let tmp = allocs.next_writable(tmp);
2435
+ let step = allocs.next_writable(step);
2436
+ let rd = allocs.next_writable(rd);
2437
+ // init.
2438
+ Inst::gen_move(rd, zero_reg(), I64).emit(&[], sink, emit_info, state);
2439
+ Inst::gen_move(tmp, rs, I64).emit(&[], sink, emit_info, state);
2440
+ // load 56 to step.
2441
+ Inst::load_imm12(step, Imm12::from_bits(56)).emit(&[], sink, emit_info, state);
2442
+ let label_done = sink.get_label();
2443
+ let label_loop = sink.get_label();
2444
+ sink.bind_label(label_loop, &mut state.ctrl_plane);
2445
+ Inst::CondBr {
2446
+ taken: BranchTarget::Label(label_done),
2447
+ not_taken: BranchTarget::zero(),
2448
+ kind: IntegerCompare {
2449
+ kind: IntCC::SignedLessThan,
2450
+ rs1: step.to_reg(),
2451
+ rs2: zero_reg(),
2452
+ },
2453
+ }
2454
+ .emit(&[], sink, emit_info, state);
2455
+ Inst::AluRRImm12 {
2456
+ alu_op: AluOPRRI::Andi,
2457
+ rd: writable_spilltmp_reg(),
2458
+ rs: tmp.to_reg(),
2459
+ imm12: Imm12::from_bits(255),
2460
+ }
2461
+ .emit(&[], sink, emit_info, state);
2462
+ Inst::AluRRR {
2463
+ alu_op: AluOPRRR::Sll,
2464
+ rd: writable_spilltmp_reg(),
2465
+ rs1: spilltmp_reg(),
2466
+ rs2: step.to_reg(),
2467
+ }
2468
+ .emit(&[], sink, emit_info, state);
2469
+
2470
+ Inst::AluRRR {
2471
+ alu_op: AluOPRRR::Or,
2472
+ rd: rd,
2473
+ rs1: rd.to_reg(),
2474
+ rs2: spilltmp_reg(),
2475
+ }
2476
+ .emit(&[], sink, emit_info, state);
2477
+ {
2478
+ // reset step
2479
+ Inst::AluRRImm12 {
2480
+ alu_op: AluOPRRI::Addi,
2481
+ rd: step,
2482
+ rs: step.to_reg(),
2483
+ imm12: Imm12::from_bits(-8),
2484
+ }
2485
+ .emit(&[], sink, emit_info, state);
2486
+ //reset tmp.
2487
+ Inst::AluRRImm12 {
2488
+ alu_op: AluOPRRI::Srli,
2489
+ rd: tmp,
2490
+ rs: tmp.to_reg(),
2491
+ imm12: Imm12::from_bits(8),
2492
+ }
2493
+ .emit(&[], sink, emit_info, state);
2494
+ // loop.
2495
+ Inst::Jal {
2496
+ dest: BranchTarget::Label(label_loop),
2497
+ }
2498
+ }
2499
+ .emit(&[], sink, emit_info, state);
2500
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2501
+ }
2502
+ &Inst::Cltz {
2503
+ sum,
2504
+ tmp,
2505
+ step,
2506
+ rs,
2507
+ leading,
2508
+ ty,
2509
+ } => {
2510
+ let rs = allocs.next(rs);
2511
+ let tmp = allocs.next_writable(tmp);
2512
+ let step = allocs.next_writable(step);
2513
+ let sum = allocs.next_writable(sum);
2514
+ // load 0 to sum , init.
2515
+ Inst::gen_move(sum, zero_reg(), I64).emit(&[], sink, emit_info, state);
2516
+ // load
2517
+ Inst::load_imm12(step, Imm12::from_bits(ty.bits() as i16)).emit(
2518
+ &[],
2519
+ sink,
2520
+ emit_info,
2521
+ state,
2522
+ );
2523
+ //
2524
+ Inst::load_imm12(tmp, Imm12::from_bits(1)).emit(&[], sink, emit_info, state);
2525
+ if leading {
2526
+ Inst::AluRRImm12 {
2527
+ alu_op: AluOPRRI::Slli,
2528
+ rd: tmp,
2529
+ rs: tmp.to_reg(),
2530
+ imm12: Imm12::from_bits((ty.bits() - 1) as i16),
2531
+ }
2532
+ .emit(&[], sink, emit_info, state);
2533
+ }
2534
+ let label_done = sink.get_label();
2535
+ let label_loop = sink.get_label();
2536
+ sink.bind_label(label_loop, &mut state.ctrl_plane);
2537
+ Inst::CondBr {
2538
+ taken: BranchTarget::Label(label_done),
2539
+ not_taken: BranchTarget::zero(),
2540
+ kind: IntegerCompare {
2541
+ kind: IntCC::SignedLessThanOrEqual,
2542
+ rs1: step.to_reg(),
2543
+ rs2: zero_reg(),
2544
+ },
2545
+ }
2546
+ .emit(&[], sink, emit_info, state);
2547
+ // test and add sum.
2548
+ {
2549
+ Inst::AluRRR {
2550
+ alu_op: AluOPRRR::And,
2551
+ rd: writable_spilltmp_reg2(),
2552
+ rs1: tmp.to_reg(),
2553
+ rs2: rs,
2554
+ }
2555
+ .emit(&[], sink, emit_info, state);
2556
+ Inst::CondBr {
2557
+ taken: BranchTarget::Label(label_done),
2558
+ not_taken: BranchTarget::zero(),
2559
+ kind: IntegerCompare {
2560
+ kind: IntCC::NotEqual,
2561
+ rs1: zero_reg(),
2562
+ rs2: spilltmp_reg2(),
2563
+ },
2564
+ }
2565
+ .emit(&[], sink, emit_info, state);
2566
+ Inst::AluRRImm12 {
2567
+ alu_op: AluOPRRI::Addi,
2568
+ rd: sum,
2569
+ rs: sum.to_reg(),
2570
+ imm12: Imm12::from_bits(1),
2571
+ }
2572
+ .emit(&[], sink, emit_info, state);
2573
+ }
2574
+ // set step and tmp.
2575
+ {
2576
+ Inst::AluRRImm12 {
2577
+ alu_op: AluOPRRI::Addi,
2578
+ rd: step,
2579
+ rs: step.to_reg(),
2580
+ imm12: Imm12::from_bits(-1),
2581
+ }
2582
+ .emit(&[], sink, emit_info, state);
2583
+ Inst::AluRRImm12 {
2584
+ alu_op: if leading {
2585
+ AluOPRRI::Srli
2586
+ } else {
2587
+ AluOPRRI::Slli
2588
+ },
2589
+ rd: tmp,
2590
+ rs: tmp.to_reg(),
2591
+ imm12: Imm12::from_bits(1),
2592
+ }
2593
+ .emit(&[], sink, emit_info, state);
2594
+ Inst::Jal {
2595
+ dest: BranchTarget::Label(label_loop),
2596
+ }
2597
+ .emit(&[], sink, emit_info, state);
2598
+ }
2599
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2600
+ }
2601
+ &Inst::Brev8 {
2602
+ rs,
2603
+ ty,
2604
+ step,
2605
+ tmp,
2606
+ tmp2,
2607
+ rd,
2608
+ } => {
2609
+ let rs = allocs.next(rs);
2610
+ let step = allocs.next_writable(step);
2611
+ let tmp = allocs.next_writable(tmp);
2612
+ let tmp2 = allocs.next_writable(tmp2);
2613
+ let rd = allocs.next_writable(rd);
2614
+ Inst::gen_move(rd, zero_reg(), I64).emit(&[], sink, emit_info, state);
2615
+ Inst::load_imm12(step, Imm12::from_bits(ty.bits() as i16)).emit(
2616
+ &[],
2617
+ sink,
2618
+ emit_info,
2619
+ state,
2620
+ );
2621
+ //
2622
+ Inst::load_imm12(tmp, Imm12::from_bits(1)).emit(&[], sink, emit_info, state);
2623
+ Inst::AluRRImm12 {
2624
+ alu_op: AluOPRRI::Slli,
2625
+ rd: tmp,
2626
+ rs: tmp.to_reg(),
2627
+ imm12: Imm12::from_bits((ty.bits() - 1) as i16),
2628
+ }
2629
+ .emit(&[], sink, emit_info, state);
2630
+ Inst::load_imm12(tmp2, Imm12::from_bits(1)).emit(&[], sink, emit_info, state);
2631
+ Inst::AluRRImm12 {
2632
+ alu_op: AluOPRRI::Slli,
2633
+ rd: tmp2,
2634
+ rs: tmp2.to_reg(),
2635
+ imm12: Imm12::from_bits((ty.bits() - 8) as i16),
2636
+ }
2637
+ .emit(&[], sink, emit_info, state);
2638
+
2639
+ let label_done = sink.get_label();
2640
+ let label_loop = sink.get_label();
2641
+ sink.bind_label(label_loop, &mut state.ctrl_plane);
2642
+ Inst::CondBr {
2643
+ taken: BranchTarget::Label(label_done),
2644
+ not_taken: BranchTarget::zero(),
2645
+ kind: IntegerCompare {
2646
+ kind: IntCC::SignedLessThanOrEqual,
2647
+ rs1: step.to_reg(),
2648
+ rs2: zero_reg(),
2649
+ },
2650
+ }
2651
+ .emit(&[], sink, emit_info, state);
2652
+ // test and set bit.
2653
+ {
2654
+ Inst::AluRRR {
2655
+ alu_op: AluOPRRR::And,
2656
+ rd: writable_spilltmp_reg2(),
2657
+ rs1: tmp.to_reg(),
2658
+ rs2: rs,
2659
+ }
2660
+ .emit(&[], sink, emit_info, state);
2661
+ let label_over = sink.get_label();
2662
+ Inst::CondBr {
2663
+ taken: BranchTarget::Label(label_over),
2664
+ not_taken: BranchTarget::zero(),
2665
+ kind: IntegerCompare {
2666
+ kind: IntCC::Equal,
2667
+ rs1: zero_reg(),
2668
+ rs2: spilltmp_reg2(),
2669
+ },
2670
+ }
2671
+ .emit(&[], sink, emit_info, state);
2672
+ Inst::AluRRR {
2673
+ alu_op: AluOPRRR::Or,
2674
+ rd: rd,
2675
+ rs1: rd.to_reg(),
2676
+ rs2: tmp2.to_reg(),
2677
+ }
2678
+ .emit(&[], sink, emit_info, state);
2679
+ sink.bind_label(label_over, &mut state.ctrl_plane);
2680
+ }
2681
+ // set step and tmp.
2682
+ {
2683
+ Inst::AluRRImm12 {
2684
+ alu_op: AluOPRRI::Addi,
2685
+ rd: step,
2686
+ rs: step.to_reg(),
2687
+ imm12: Imm12::from_bits(-1),
2688
+ }
2689
+ .emit(&[], sink, emit_info, state);
2690
+ Inst::AluRRImm12 {
2691
+ alu_op: AluOPRRI::Srli,
2692
+ rd: tmp,
2693
+ rs: tmp.to_reg(),
2694
+ imm12: Imm12::from_bits(1),
2695
+ }
2696
+ .emit(&[], sink, emit_info, state);
2697
+ {
2698
+ // reset tmp2
2699
+ // if (step %=8 == 0) then tmp2 = tmp2 >> 15
2700
+ // if (step %=8 != 0) then tmp2 = tmp2 << 1
2701
+ let label_over = sink.get_label();
2702
+ let label_sll_1 = sink.get_label();
2703
+ Inst::load_imm12(writable_spilltmp_reg2(), Imm12::from_bits(8)).emit(
2704
+ &[],
2705
+ sink,
2706
+ emit_info,
2707
+ state,
2708
+ );
2709
+ Inst::AluRRR {
2710
+ alu_op: AluOPRRR::Rem,
2711
+ rd: writable_spilltmp_reg2(),
2712
+ rs1: step.to_reg(),
2713
+ rs2: spilltmp_reg2(),
2714
+ }
2715
+ .emit(&[], sink, emit_info, state);
2716
+ Inst::CondBr {
2717
+ taken: BranchTarget::Label(label_sll_1),
2718
+ not_taken: BranchTarget::zero(),
2719
+ kind: IntegerCompare {
2720
+ kind: IntCC::NotEqual,
2721
+ rs1: spilltmp_reg2(),
2722
+ rs2: zero_reg(),
2723
+ },
2724
+ }
2725
+ .emit(&[], sink, emit_info, state);
2726
+ Inst::AluRRImm12 {
2727
+ alu_op: AluOPRRI::Srli,
2728
+ rd: tmp2,
2729
+ rs: tmp2.to_reg(),
2730
+ imm12: Imm12::from_bits(15),
2731
+ }
2732
+ .emit(&[], sink, emit_info, state);
2733
+ Inst::Jal {
2734
+ dest: BranchTarget::Label(label_over),
2735
+ }
2736
+ .emit(&[], sink, emit_info, state);
2737
+ sink.bind_label(label_sll_1, &mut state.ctrl_plane);
2738
+ Inst::AluRRImm12 {
2739
+ alu_op: AluOPRRI::Slli,
2740
+ rd: tmp2,
2741
+ rs: tmp2.to_reg(),
2742
+ imm12: Imm12::from_bits(1),
2743
+ }
2744
+ .emit(&[], sink, emit_info, state);
2745
+ sink.bind_label(label_over, &mut state.ctrl_plane);
2746
+ }
2747
+ Inst::Jal {
2748
+ dest: BranchTarget::Label(label_loop),
2749
+ }
2750
+ .emit(&[], sink, emit_info, state);
2751
+ }
2752
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2753
+ }
2754
+ &Inst::StackProbeLoop {
2755
+ guard_size,
2756
+ probe_count,
2757
+ tmp: guard_size_tmp,
2758
+ } => {
2759
+ let step = writable_spilltmp_reg();
2760
+ Inst::load_constant_u64(
2761
+ step,
2762
+ (guard_size as u64) * (probe_count as u64),
2763
+ &mut |_| step,
2764
+ )
2765
+ .iter()
2766
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
2767
+ Inst::load_constant_u64(guard_size_tmp, guard_size as u64, &mut |_| guard_size_tmp)
2768
+ .iter()
2769
+ .for_each(|i| i.emit(&[], sink, emit_info, state));
2770
+
2771
+ let loop_start = sink.get_label();
2772
+ let label_done = sink.get_label();
2773
+ sink.bind_label(loop_start, &mut state.ctrl_plane);
2774
+ Inst::CondBr {
2775
+ taken: BranchTarget::Label(label_done),
2776
+ not_taken: BranchTarget::zero(),
2777
+ kind: IntegerCompare {
2778
+ kind: IntCC::UnsignedLessThanOrEqual,
2779
+ rs1: step.to_reg(),
2780
+ rs2: guard_size_tmp.to_reg(),
2781
+ },
2782
+ }
2783
+ .emit(&[], sink, emit_info, state);
2784
+ // compute address.
2785
+ Inst::AluRRR {
2786
+ alu_op: AluOPRRR::Sub,
2787
+ rd: writable_spilltmp_reg2(),
2788
+ rs1: stack_reg(),
2789
+ rs2: step.to_reg(),
2790
+ }
2791
+ .emit(&[], sink, emit_info, state);
2792
+ Inst::Store {
2793
+ to: AMode::RegOffset(spilltmp_reg2(), 0, I8),
2794
+ op: StoreOP::Sb,
2795
+ flags: MemFlags::new(),
2796
+ src: zero_reg(),
2797
+ }
2798
+ .emit(&[], sink, emit_info, state);
2799
+ // reset step.
2800
+ Inst::AluRRR {
2801
+ alu_op: AluOPRRR::Sub,
2802
+ rd: step,
2803
+ rs1: step.to_reg(),
2804
+ rs2: guard_size_tmp.to_reg(),
2805
+ }
2806
+ .emit(&[], sink, emit_info, state);
2807
+ Inst::Jal {
2808
+ dest: BranchTarget::Label(loop_start),
2809
+ }
2810
+ .emit(&[], sink, emit_info, state);
2811
+ sink.bind_label(label_done, &mut state.ctrl_plane);
2812
+ }
2813
+ &Inst::VecAluRRR {
2814
+ op,
2815
+ vd,
2816
+ vs1,
2817
+ vs2,
2818
+ ref mask,
2819
+ ..
2820
+ } => {
2821
+ let vs1 = allocs.next(vs1);
2822
+ let vs2 = allocs.next(vs2);
2823
+ let vd = allocs.next_writable(vd);
2824
+ let mask = mask.with_allocs(&mut allocs);
2825
+
2826
+ sink.put4(encode_valu(op, vd, vs1, vs2, mask));
2827
+ }
2828
+ &Inst::VecAluRRImm5 {
2829
+ op,
2830
+ vd,
2831
+ imm,
2832
+ vs2,
2833
+ ref mask,
2834
+ ..
2835
+ } => {
2836
+ let vs2 = allocs.next(vs2);
2837
+ let vd = allocs.next_writable(vd);
2838
+ let mask = mask.with_allocs(&mut allocs);
2839
+
2840
+ sink.put4(encode_valu_imm(op, vd, imm, vs2, mask));
2841
+ }
2842
+ &Inst::VecAluRR {
2843
+ op,
2844
+ vd,
2845
+ vs,
2846
+ ref mask,
2847
+ ..
2848
+ } => {
2849
+ let vs = allocs.next(vs);
2850
+ let vd = allocs.next_writable(vd);
2851
+ let mask = mask.with_allocs(&mut allocs);
2852
+
2853
+ sink.put4(encode_valu_rr(op, vd, vs, mask));
2854
+ }
2855
+ &Inst::VecAluRImm5 {
2856
+ op,
2857
+ vd,
2858
+ imm,
2859
+ ref mask,
2860
+ ..
2861
+ } => {
2862
+ let vd = allocs.next_writable(vd);
2863
+ let mask = mask.with_allocs(&mut allocs);
2864
+
2865
+ sink.put4(encode_valu_r_imm(op, vd, imm, mask));
2866
+ }
2867
+ &Inst::VecSetState { rd, ref vstate } => {
2868
+ let rd = allocs.next_writable(rd);
2869
+
2870
+ sink.put4(encode_vcfg_imm(
2871
+ 0x57,
2872
+ rd.to_reg(),
2873
+ vstate.avl.unwrap_static(),
2874
+ &vstate.vtype,
2875
+ ));
2876
+
2877
+ // Update the current vector emit state.
2878
+ state.vstate = EmitVState::Known(vstate.clone());
2879
+ }
2880
+
2881
+ &Inst::VecLoad {
2882
+ eew,
2883
+ to,
2884
+ ref from,
2885
+ ref mask,
2886
+ flags,
2887
+ ..
2888
+ } => {
2889
+ let from = from.clone().with_allocs(&mut allocs);
2890
+ let to = allocs.next_writable(to);
2891
+ let mask = mask.with_allocs(&mut allocs);
2892
+
2893
+ // Vector Loads don't support immediate offsets, so we need to load it into a register.
2894
+ let addr = match from {
2895
+ VecAMode::UnitStride { base } => {
2896
+ let base_reg = base.get_base_register();
2897
+ let offset = base.get_offset_with_state(state);
2898
+
2899
+ // Reg+0 Offset can be directly encoded
2900
+ if let (Some(base_reg), 0) = (base_reg, offset) {
2901
+ base_reg
2902
+ } else {
2903
+ // Otherwise load the address it into a reg and load from it.
2904
+ let tmp = writable_spilltmp_reg();
2905
+ Inst::LoadAddr {
2906
+ rd: tmp,
2907
+ mem: base.clone(),
2908
+ }
2909
+ .emit(&[], sink, emit_info, state);
2910
+ tmp.to_reg()
2911
+ }
2912
+ }
2913
+ };
2914
+
2915
+ let srcloc = state.cur_srcloc();
2916
+ if !srcloc.is_default() && !flags.notrap() {
2917
+ // Register the offset at which the actual load instruction starts.
2918
+ sink.add_trap(TrapCode::HeapOutOfBounds);
2919
+ }
2920
+
2921
+ sink.put4(encode_vmem_load(
2922
+ 0x07,
2923
+ to.to_reg(),
2924
+ eew,
2925
+ addr,
2926
+ from.lumop(),
2927
+ mask,
2928
+ from.mop(),
2929
+ from.nf(),
2930
+ ));
2931
+ }
2932
+
2933
+ &Inst::VecStore {
2934
+ eew,
2935
+ ref to,
2936
+ from,
2937
+ ref mask,
2938
+ flags,
2939
+ ..
2940
+ } => {
2941
+ let to = to.clone().with_allocs(&mut allocs);
2942
+ let from = allocs.next(from);
2943
+ let mask = mask.with_allocs(&mut allocs);
2944
+
2945
+ // Vector Stores don't support immediate offsets, so we need to load it into a register.
2946
+ let addr = match to {
2947
+ VecAMode::UnitStride { base } => {
2948
+ let base_reg = base.get_base_register();
2949
+ let offset = base.get_offset_with_state(state);
2950
+
2951
+ // Reg+0 Offset can be directly encoded
2952
+ if let (Some(base_reg), 0) = (base_reg, offset) {
2953
+ base_reg
2954
+ } else {
2955
+ // Otherwise load the address it into a reg and load from it.
2956
+ let tmp = writable_spilltmp_reg();
2957
+ Inst::LoadAddr {
2958
+ rd: tmp,
2959
+ mem: base.clone(),
2960
+ }
2961
+ .emit(&[], sink, emit_info, state);
2962
+ tmp.to_reg()
2963
+ }
2964
+ }
2965
+ };
2966
+
2967
+ let srcloc = state.cur_srcloc();
2968
+ if !srcloc.is_default() && !flags.notrap() {
2969
+ // Register the offset at which the actual load instruction starts.
2970
+ sink.add_trap(TrapCode::HeapOutOfBounds);
2971
+ }
2972
+
2973
+ sink.put4(encode_vmem_store(
2974
+ 0x27,
2975
+ from,
2976
+ eew,
2977
+ addr,
2978
+ to.sumop(),
2979
+ mask,
2980
+ to.mop(),
2981
+ to.nf(),
2982
+ ));
2983
+ }
2984
+ };
2985
+ let end_off = sink.cur_offset();
2986
+ assert!(
2987
+ (end_off - start_off) <= Inst::worst_case_size(),
2988
+ "Inst:{:?} length:{} worst_case_size:{}",
2989
+ self,
2990
+ end_off - start_off,
2991
+ Inst::worst_case_size()
2992
+ );
2993
+ }
2994
+
2995
+ fn pretty_print_inst(&self, allocs: &[Allocation], state: &mut Self::State) -> String {
2996
+ let mut allocs = AllocationConsumer::new(allocs);
2997
+ self.print_with_state(state, &mut allocs)
2998
+ }
2999
+ }
3000
+
3001
+ // helper function.
3002
+ fn alloc_value_regs(orgin: &ValueRegs<Reg>, alloc: &mut AllocationConsumer) -> ValueRegs<Reg> {
3003
+ match orgin.regs().len() {
3004
+ 1 => ValueRegs::one(alloc.next(orgin.regs()[0])),
3005
+ 2 => ValueRegs::two(alloc.next(orgin.regs()[0]), alloc.next(orgin.regs()[1])),
3006
+ _ => unreachable!(),
3007
+ }
3008
+ }