wasmtime 37.0.2 → 38.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2030) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +82 -107
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cap-primitives-3.4.5/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cap-primitives-3.4.5/.cargo_vcs_info.json +6 -0
  6. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.lock +340 -0
  7. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.toml +96 -0
  8. data/ext/cargo-vendor/cap-primitives-3.4.5/Cargo.toml.orig +47 -0
  9. data/ext/cargo-vendor/cap-primitives-3.4.5/src/fs/via_parent/open_parent.rs +126 -0
  10. data/ext/cargo-vendor/cap-primitives-3.4.5/src/rustix/linux/fs/stat_impl.rs +56 -0
  11. data/ext/cargo-vendor/cap-std-3.4.5/.cargo-checksum.json +1 -0
  12. data/ext/cargo-vendor/cap-std-3.4.5/.cargo_vcs_info.json +6 -0
  13. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.lock +313 -0
  14. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.toml +77 -0
  15. data/ext/cargo-vendor/cap-std-3.4.5/Cargo.toml.orig +32 -0
  16. data/ext/cargo-vendor/cap-std-3.4.5/src/net/tcp_listener.rs +248 -0
  17. data/ext/cargo-vendor/cap-std-3.4.5/src/os/unix/net/unix_listener.rs +156 -0
  18. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/.cargo-checksum.json +1 -0
  19. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/.cargo_vcs_info.json +6 -0
  20. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.lock +133 -0
  21. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.toml +98 -0
  22. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/Cargo.toml.orig +25 -0
  23. data/ext/cargo-vendor/cranelift-assembler-x64-0.125.4/src/rex.rs +236 -0
  24. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/.cargo-checksum.json +1 -0
  25. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/.cargo_vcs_info.json +6 -0
  26. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.lock +16 -0
  27. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.toml +73 -0
  28. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/Cargo.toml.orig +13 -0
  29. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/src/generate/inst.rs +322 -0
  30. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.125.4/src/generate.rs +110 -0
  31. data/ext/cargo-vendor/cranelift-bforest-0.125.4/.cargo-checksum.json +1 -0
  32. data/ext/cargo-vendor/cranelift-bforest-0.125.4/.cargo_vcs_info.json +6 -0
  33. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.lock +25 -0
  34. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.toml +79 -0
  35. data/ext/cargo-vendor/cranelift-bforest-0.125.4/Cargo.toml.orig +19 -0
  36. data/ext/cargo-vendor/cranelift-bitset-0.125.4/.cargo-checksum.json +1 -0
  37. data/ext/cargo-vendor/cranelift-bitset-0.125.4/.cargo_vcs_info.json +6 -0
  38. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.lock +73 -0
  39. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.toml +94 -0
  40. data/ext/cargo-vendor/cranelift-bitset-0.125.4/Cargo.toml.orig +22 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.125.4/.cargo-checksum.json +1 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.125.4/.cargo_vcs_info.json +6 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.lock +1352 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.toml +252 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.125.4/Cargo.toml.orig +130 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/inline.rs +1546 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/ir/instructions.rs +1540 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/abi.rs +1619 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/args.rs +726 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/emit.rs +3678 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst/mod.rs +3106 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/inst.isle +5205 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/aarch64/lower.isle +3273 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/call_conv.rs +145 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst/emit.rs +699 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst/mod.rs +936 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/inst.isle +794 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/pulley_shared/lower.isle +1838 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst/emit.rs +2877 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst/mod.rs +1933 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/inst.isle +3264 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/lower.isle +3140 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/riscv64/mod.rs +300 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/abi.rs +1526 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst/emit.rs +3551 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst/mod.rs +3542 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/inst.isle +4946 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/s390x/lower.isle +4075 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/abi.rs +1336 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/args.rs +1063 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/emit.rs +2188 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst/mod.rs +1662 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/inst.isle +4099 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/lower/isle.rs +1250 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/lower.isle +5061 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/mod.rs +272 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/isa/x64/pcc.rs +324 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/lib.rs +123 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/abi.rs +2572 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/blockorder.rs +485 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/isle.rs +839 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/machinst/lower.rs +1777 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/arithmetic.isle +343 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/bitops.isle +231 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/icmp.isle +304 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/selects.isle +104 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/opts/shifts.isle +314 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/prelude_lower.isle +1204 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/settings.rs +568 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/verifier/mod.rs +2258 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.125.4/src/write.rs +724 -0
  92. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/.cargo-checksum.json +1 -0
  93. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/.cargo_vcs_info.json +6 -0
  94. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.lock +110 -0
  95. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.toml +90 -0
  96. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/Cargo.toml.orig +26 -0
  97. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/formats.rs +158 -0
  98. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/instructions.rs +504 -0
  99. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/mod.rs +61 -0
  100. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/operands.rs +173 -0
  101. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/cdsl/settings.rs +336 -0
  102. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_asm.rs +740 -0
  103. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_inst.rs +1387 -0
  104. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_isle.rs +1226 -0
  105. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/gen_settings.rs +423 -0
  106. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/isa/riscv64.rs +190 -0
  107. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/isa/x86.rs +428 -0
  108. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/entities.rs +142 -0
  109. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/formats.rs +230 -0
  110. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/instructions.rs +3905 -0
  111. data/ext/cargo-vendor/cranelift-codegen-meta-0.125.4/src/shared/settings.rs +376 -0
  112. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/.cargo-checksum.json +1 -0
  113. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/.cargo_vcs_info.json +6 -0
  114. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.lock +7 -0
  115. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.toml +34 -0
  116. data/ext/cargo-vendor/cranelift-codegen-shared-0.125.4/Cargo.toml.orig +14 -0
  117. data/ext/cargo-vendor/cranelift-control-0.125.4/.cargo-checksum.json +1 -0
  118. data/ext/cargo-vendor/cranelift-control-0.125.4/.cargo_vcs_info.json +6 -0
  119. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.lock +16 -0
  120. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.toml +45 -0
  121. data/ext/cargo-vendor/cranelift-control-0.125.4/Cargo.toml.orig +25 -0
  122. data/ext/cargo-vendor/cranelift-entity-0.125.4/.cargo-checksum.json +1 -0
  123. data/ext/cargo-vendor/cranelift-entity-0.125.4/.cargo_vcs_info.json +6 -0
  124. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.lock +77 -0
  125. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.toml +95 -0
  126. data/ext/cargo-vendor/cranelift-entity-0.125.4/Cargo.toml.orig +24 -0
  127. data/ext/cargo-vendor/cranelift-entity-0.125.4/src/primary.rs +570 -0
  128. data/ext/cargo-vendor/cranelift-frontend-0.125.4/.cargo-checksum.json +1 -0
  129. data/ext/cargo-vendor/cranelift-frontend-0.125.4/.cargo_vcs_info.json +6 -0
  130. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.lock +531 -0
  131. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.toml +117 -0
  132. data/ext/cargo-vendor/cranelift-frontend-0.125.4/Cargo.toml.orig +32 -0
  133. data/ext/cargo-vendor/cranelift-frontend-0.125.4/src/frontend.rs +2030 -0
  134. data/ext/cargo-vendor/cranelift-isle-0.125.4/.cargo-checksum.json +1 -0
  135. data/ext/cargo-vendor/cranelift-isle-0.125.4/.cargo_vcs_info.json +6 -0
  136. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.lock +322 -0
  137. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.toml +89 -0
  138. data/ext/cargo-vendor/cranelift-isle-0.125.4/Cargo.toml.orig +26 -0
  139. data/ext/cargo-vendor/cranelift-native-0.125.4/.cargo-checksum.json +1 -0
  140. data/ext/cargo-vendor/cranelift-native-0.125.4/.cargo_vcs_info.json +6 -0
  141. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.lock +305 -0
  142. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.toml +54 -0
  143. data/ext/cargo-vendor/cranelift-native-0.125.4/Cargo.toml.orig +24 -0
  144. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/.cargo-checksum.json +1 -0
  145. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/.cargo_vcs_info.json +6 -0
  146. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.lock +7 -0
  147. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.toml +70 -0
  148. data/ext/cargo-vendor/cranelift-srcgen-0.125.4/Cargo.toml.orig +14 -0
  149. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/.cargo-checksum.json +1 -0
  150. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/.cargo_vcs_info.json +6 -0
  151. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.lock +2181 -0
  152. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.toml +79 -0
  153. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.3/Cargo.toml.orig +27 -0
  154. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/.cargo-checksum.json +1 -0
  155. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/.cargo_vcs_info.json +6 -0
  156. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.lock +138 -0
  157. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.toml +56 -0
  158. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/Cargo.toml.orig +21 -0
  159. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/README.md +31 -0
  160. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/category.rs +86 -0
  161. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/category_color.rs +41 -0
  162. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/counters.rs +156 -0
  163. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/cpu_delta.rs +60 -0
  164. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/fast_hash_map.rs +3 -0
  165. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/frame.rs +75 -0
  166. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/frame_table.rs +146 -0
  167. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/func_table.rs +110 -0
  168. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/global_lib_table.rs +119 -0
  169. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/lib.rs +81 -0
  170. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/lib_mappings.rs +161 -0
  171. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/library_info.rs +121 -0
  172. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/marker_table.rs +251 -0
  173. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/markers.rs +831 -0
  174. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/native_symbols.rs +71 -0
  175. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/process.rs +121 -0
  176. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/profile.rs +1169 -0
  177. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/reference_timestamp.rs +44 -0
  178. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/resource_table.rs +62 -0
  179. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/sample_table.rs +335 -0
  180. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/serialization_helpers.rs +41 -0
  181. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/stack_table.rs +79 -0
  182. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/string_table.rs +66 -0
  183. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/thread.rs +263 -0
  184. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/thread_string_table.rs +50 -0
  185. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/src/timestamp.rs +68 -0
  186. data/ext/cargo-vendor/fxprof-processed-profile-0.8.1/tests/integration_tests/main.rs +1540 -0
  187. data/ext/cargo-vendor/pulley-interpreter-38.0.4/.cargo-checksum.json +1 -0
  188. data/ext/cargo-vendor/pulley-interpreter-38.0.4/.cargo_vcs_info.json +6 -0
  189. data/ext/cargo-vendor/pulley-interpreter-38.0.4/Cargo.lock +426 -0
  190. data/ext/cargo-vendor/pulley-interpreter-38.0.4/Cargo.toml +144 -0
  191. data/ext/cargo-vendor/pulley-interpreter-38.0.4/src/lib.rs +1423 -0
  192. data/ext/cargo-vendor/pulley-macros-38.0.4/.cargo-checksum.json +1 -0
  193. data/ext/cargo-vendor/pulley-macros-38.0.4/.cargo_vcs_info.json +6 -0
  194. data/ext/cargo-vendor/pulley-macros-38.0.4/Cargo.lock +47 -0
  195. data/ext/cargo-vendor/pulley-macros-38.0.4/Cargo.toml +42 -0
  196. data/ext/cargo-vendor/wasmtime-38.0.4/.cargo-checksum.json +1 -0
  197. data/ext/cargo-vendor/wasmtime-38.0.4/.cargo_vcs_info.json +6 -0
  198. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.lock +2231 -0
  199. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.toml +552 -0
  200. data/ext/cargo-vendor/wasmtime-38.0.4/Cargo.toml.orig +410 -0
  201. data/ext/cargo-vendor/wasmtime-38.0.4/build.rs +100 -0
  202. data/ext/cargo-vendor/wasmtime-38.0.4/src/compile.rs +1052 -0
  203. data/ext/cargo-vendor/wasmtime-38.0.4/src/config.rs +3776 -0
  204. data/ext/cargo-vendor/wasmtime-38.0.4/src/engine/serialization.rs +801 -0
  205. data/ext/cargo-vendor/wasmtime-38.0.4/src/engine.rs +963 -0
  206. data/ext/cargo-vendor/wasmtime-38.0.4/src/lib.rs +440 -0
  207. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/component.rs +913 -0
  208. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/concurrent/futures_and_streams.rs +4326 -0
  209. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/concurrent.rs +4687 -0
  210. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func/host.rs +957 -0
  211. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func/typed.rs +2888 -0
  212. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/func.rs +977 -0
  213. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/instance.rs +1030 -0
  214. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/component/mod.rs +758 -0
  215. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/coredump.rs +356 -0
  216. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/func.rs +2666 -0
  217. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/instantiate.rs +285 -0
  218. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/memory.rs +1118 -0
  219. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/module.rs +1231 -0
  220. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/profiling.rs +350 -0
  221. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/store.rs +2785 -0
  222. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/memory.rs +275 -0
  223. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/table.rs +51 -0
  224. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trampoline/tag.rs +55 -0
  225. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/trap.rs +634 -0
  226. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/component/libcalls.rs +1363 -0
  227. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/component.rs +1042 -0
  228. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/helpers.c +50 -0
  229. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/instance.rs +1864 -0
  230. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/interpreter.rs +506 -0
  231. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/interpreter_disabled.rs +63 -0
  232. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +86 -0
  233. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching/stack/unix.rs +350 -0
  234. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/stack_switching.rs +691 -0
  235. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/custom/capi.rs +185 -0
  236. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/custom/traphandlers.rs +46 -0
  237. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/miri/traphandlers.rs +6 -0
  238. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/machports.rs +513 -0
  239. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/signals.rs +558 -0
  240. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/unix/traphandlers.rs +59 -0
  241. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/windows/traphandlers.rs +11 -0
  242. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/sys/windows/vectored_exceptions.rs +289 -0
  243. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/throw.rs +128 -0
  244. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/traphandlers.rs +1369 -0
  245. data/ext/cargo-vendor/wasmtime-38.0.4/src/runtime/vm/vmcontext.rs +1727 -0
  246. data/ext/cargo-vendor/wasmtime-environ-38.0.4/.cargo-checksum.json +1 -0
  247. data/ext/cargo-vendor/wasmtime-environ-38.0.4/.cargo_vcs_info.json +6 -0
  248. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.lock +681 -0
  249. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.toml +241 -0
  250. data/ext/cargo-vendor/wasmtime-environ-38.0.4/Cargo.toml.orig +82 -0
  251. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/address_map.rs +138 -0
  252. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/builtin.rs +458 -0
  253. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/mod.rs +487 -0
  254. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/module_artifacts.rs +310 -0
  255. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/compile/module_environ.rs +1313 -0
  256. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/artifacts.rs +30 -0
  257. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/compiler.rs +22 -0
  258. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/dfg.rs +1235 -0
  259. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/info.rs +1186 -0
  260. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component/translate/inline.rs +1867 -0
  261. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/component.rs +213 -0
  262. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/hostcall.rs +83 -0
  263. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/key.rs +452 -0
  264. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/lib.rs +82 -0
  265. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/module.rs +796 -0
  266. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/module_artifacts.rs +812 -0
  267. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/trap_encoding.rs +251 -0
  268. data/ext/cargo-vendor/wasmtime-environ-38.0.4/src/vmoffsets.rs +1177 -0
  269. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/.cargo-checksum.json +1 -0
  270. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/.cargo_vcs_info.json +6 -0
  271. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/Cargo.lock +840 -0
  272. data/ext/cargo-vendor/wasmtime-internal-cache-38.0.4/Cargo.toml +128 -0
  273. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/.cargo-checksum.json +1 -0
  274. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/.cargo_vcs_info.json +6 -0
  275. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/Cargo.lock +285 -0
  276. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/Cargo.toml +146 -0
  277. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/codegen.rs +787 -0
  278. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_async.rs +206 -0
  279. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_concurrent.rs +206 -0
  280. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path1_tracing_async.rs +206 -0
  281. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_async.rs +206 -0
  282. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_concurrent.rs +206 -0
  283. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/path2_tracing_async.rs +206 -0
  284. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_async.rs +272 -0
  285. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_concurrent.rs +272 -0
  286. data/ext/cargo-vendor/wasmtime-internal-component-macro-38.0.4/tests/expanded/worlds-with-types_tracing_async.rs +280 -0
  287. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/.cargo-checksum.json +1 -0
  288. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/.cargo_vcs_info.json +6 -0
  289. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/Cargo.lock +7 -0
  290. data/ext/cargo-vendor/wasmtime-internal-component-util-38.0.4/Cargo.toml +38 -0
  291. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/.cargo-checksum.json +1 -0
  292. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/.cargo_vcs_info.json +6 -0
  293. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/Cargo.lock +711 -0
  294. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/Cargo.toml +187 -0
  295. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/compiler/component.rs +1721 -0
  296. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/compiler.rs +1541 -0
  297. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/func_environ/stack_switching/instructions.rs +1917 -0
  298. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/func_environ.rs +4313 -0
  299. data/ext/cargo-vendor/wasmtime-internal-cranelift-38.0.4/src/lib.rs +449 -0
  300. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/.cargo-checksum.json +1 -0
  301. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/.cargo_vcs_info.json +6 -0
  302. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.lock +343 -0
  303. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.toml +107 -0
  304. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/Cargo.toml.orig +41 -0
  305. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/build.rs +35 -0
  306. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/lib.rs +431 -0
  307. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/aarch64.rs +189 -0
  308. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/arm.rs +95 -0
  309. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/riscv64.rs +166 -0
  310. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/s390x.rs +117 -0
  311. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/x86.rs +118 -0
  312. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch/x86_64.rs +168 -0
  313. data/ext/cargo-vendor/wasmtime-internal-fiber-38.0.4/src/stackswitch.rs +73 -0
  314. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/.cargo-checksum.json +1 -0
  315. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/.cargo_vcs_info.json +6 -0
  316. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/Cargo.lock +203 -0
  317. data/ext/cargo-vendor/wasmtime-internal-jit-debug-38.0.4/Cargo.toml +110 -0
  318. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/.cargo-checksum.json +1 -0
  319. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/.cargo_vcs_info.json +6 -0
  320. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/Cargo.lock +104 -0
  321. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-38.0.4/Cargo.toml +91 -0
  322. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/.cargo-checksum.json +1 -0
  323. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/.cargo_vcs_info.json +6 -0
  324. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/Cargo.lock +16 -0
  325. data/ext/cargo-vendor/wasmtime-internal-math-38.0.4/Cargo.toml +78 -0
  326. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/.cargo-checksum.json +1 -0
  327. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/.cargo_vcs_info.json +6 -0
  328. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/Cargo.lock +7 -0
  329. data/ext/cargo-vendor/wasmtime-internal-slab-38.0.4/Cargo.toml +70 -0
  330. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/.cargo-checksum.json +1 -0
  331. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/.cargo_vcs_info.json +6 -0
  332. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/Cargo.lock +328 -0
  333. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/Cargo.toml +106 -0
  334. data/ext/cargo-vendor/wasmtime-internal-unwinder-38.0.4/src/stackwalk.rs +261 -0
  335. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/.cargo-checksum.json +1 -0
  336. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/.cargo_vcs_info.json +6 -0
  337. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/Cargo.lock +47 -0
  338. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-38.0.4/Cargo.toml +43 -0
  339. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/.cargo-checksum.json +1 -0
  340. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/.cargo_vcs_info.json +6 -0
  341. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/Cargo.lock +649 -0
  342. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/Cargo.toml +132 -0
  343. data/ext/cargo-vendor/wasmtime-internal-winch-38.0.4/src/compiler.rs +401 -0
  344. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/.cargo-checksum.json +1 -0
  345. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/.cargo_vcs_info.json +6 -0
  346. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/Cargo.lock +193 -0
  347. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/Cargo.toml +90 -0
  348. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/src/config.rs +164 -0
  349. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-38.0.4/src/lib.rs +3530 -0
  350. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/.cargo-checksum.json +1 -0
  351. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/.cargo_vcs_info.json +6 -0
  352. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/Cargo.lock +2501 -0
  353. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/Cargo.toml +262 -0
  354. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/lib.rs +48 -0
  355. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/sockets/tcp.rs +819 -0
  356. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/src/view.rs +95 -0
  357. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/tests/all/p3/mod.rs +154 -0
  358. data/ext/cargo-vendor/wasmtime-wasi-38.0.4/tests/all/store.rs +86 -0
  359. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/.cargo-checksum.json +1 -0
  360. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/.cargo_vcs_info.json +6 -0
  361. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/Cargo.lock +1200 -0
  362. data/ext/cargo-vendor/wasmtime-wasi-io-38.0.4/Cargo.toml +105 -0
  363. data/ext/cargo-vendor/wiggle-38.0.4/.cargo-checksum.json +1 -0
  364. data/ext/cargo-vendor/wiggle-38.0.4/.cargo_vcs_info.json +6 -0
  365. data/ext/cargo-vendor/wiggle-38.0.4/Cargo.lock +1157 -0
  366. data/ext/cargo-vendor/wiggle-38.0.4/Cargo.toml +139 -0
  367. data/ext/cargo-vendor/wiggle-generate-38.0.4/.cargo-checksum.json +1 -0
  368. data/ext/cargo-vendor/wiggle-generate-38.0.4/.cargo_vcs_info.json +6 -0
  369. data/ext/cargo-vendor/wiggle-generate-38.0.4/Cargo.lock +115 -0
  370. data/ext/cargo-vendor/wiggle-generate-38.0.4/Cargo.toml +102 -0
  371. data/ext/cargo-vendor/wiggle-macro-38.0.4/.cargo-checksum.json +1 -0
  372. data/ext/cargo-vendor/wiggle-macro-38.0.4/.cargo_vcs_info.json +6 -0
  373. data/ext/cargo-vendor/wiggle-macro-38.0.4/Cargo.lock +127 -0
  374. data/ext/cargo-vendor/wiggle-macro-38.0.4/Cargo.toml +98 -0
  375. data/ext/cargo-vendor/winch-codegen-38.0.4/.cargo-checksum.json +1 -0
  376. data/ext/cargo-vendor/winch-codegen-38.0.4/.cargo_vcs_info.json +6 -0
  377. data/ext/cargo-vendor/winch-codegen-38.0.4/Cargo.lock +620 -0
  378. data/ext/cargo-vendor/winch-codegen-38.0.4/Cargo.toml +133 -0
  379. data/ext/cargo-vendor/winch-codegen-38.0.4/src/codegen/env.rs +415 -0
  380. data/lib/wasmtime/version.rb +1 -1
  381. metadata +1627 -1652
  382. data/ext/cargo-vendor/byteorder-1.5.0/.cargo-checksum.json +0 -1
  383. data/ext/cargo-vendor/byteorder-1.5.0/.cargo_vcs_info.json +0 -6
  384. data/ext/cargo-vendor/byteorder-1.5.0/.github/workflows/ci.yml +0 -183
  385. data/ext/cargo-vendor/byteorder-1.5.0/CHANGELOG.md +0 -143
  386. data/ext/cargo-vendor/byteorder-1.5.0/COPYING +0 -3
  387. data/ext/cargo-vendor/byteorder-1.5.0/Cargo.toml +0 -54
  388. data/ext/cargo-vendor/byteorder-1.5.0/Cargo.toml.orig +0 -34
  389. data/ext/cargo-vendor/byteorder-1.5.0/LICENSE-MIT +0 -21
  390. data/ext/cargo-vendor/byteorder-1.5.0/README.md +0 -77
  391. data/ext/cargo-vendor/byteorder-1.5.0/UNLICENSE +0 -24
  392. data/ext/cargo-vendor/byteorder-1.5.0/benches/bench.rs +0 -326
  393. data/ext/cargo-vendor/byteorder-1.5.0/rustfmt.toml +0 -2
  394. data/ext/cargo-vendor/byteorder-1.5.0/src/io.rs +0 -1592
  395. data/ext/cargo-vendor/byteorder-1.5.0/src/lib.rs +0 -3975
  396. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo-checksum.json +0 -1
  397. data/ext/cargo-vendor/cap-primitives-3.4.4/.cargo_vcs_info.json +0 -6
  398. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.lock +0 -260
  399. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml +0 -96
  400. data/ext/cargo-vendor/cap-primitives-3.4.4/Cargo.toml.orig +0 -47
  401. data/ext/cargo-vendor/cap-primitives-3.4.4/src/fs/via_parent/open_parent.rs +0 -126
  402. data/ext/cargo-vendor/cap-primitives-3.4.4/src/rustix/linux/fs/stat_impl.rs +0 -55
  403. data/ext/cargo-vendor/cap-std-3.4.4/.cargo-checksum.json +0 -1
  404. data/ext/cargo-vendor/cap-std-3.4.4/.cargo_vcs_info.json +0 -6
  405. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.lock +0 -233
  406. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml +0 -77
  407. data/ext/cargo-vendor/cap-std-3.4.4/Cargo.toml.orig +0 -32
  408. data/ext/cargo-vendor/cap-std-3.4.4/src/net/tcp_listener.rs +0 -248
  409. data/ext/cargo-vendor/cap-std-3.4.4/src/os/unix/net/unix_listener.rs +0 -156
  410. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/.cargo-checksum.json +0 -1
  411. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/.cargo_vcs_info.json +0 -6
  412. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.lock +0 -133
  413. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.toml +0 -98
  414. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/Cargo.toml.orig +0 -25
  415. data/ext/cargo-vendor/cranelift-assembler-x64-0.124.2/src/rex.rs +0 -236
  416. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/.cargo-checksum.json +0 -1
  417. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/.cargo_vcs_info.json +0 -6
  418. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.lock +0 -16
  419. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.toml +0 -73
  420. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/Cargo.toml.orig +0 -13
  421. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/src/generate/inst.rs +0 -307
  422. data/ext/cargo-vendor/cranelift-assembler-x64-meta-0.124.2/src/generate.rs +0 -150
  423. data/ext/cargo-vendor/cranelift-bforest-0.124.2/.cargo-checksum.json +0 -1
  424. data/ext/cargo-vendor/cranelift-bforest-0.124.2/.cargo_vcs_info.json +0 -6
  425. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.lock +0 -25
  426. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.toml +0 -79
  427. data/ext/cargo-vendor/cranelift-bforest-0.124.2/Cargo.toml.orig +0 -19
  428. data/ext/cargo-vendor/cranelift-bitset-0.124.2/.cargo-checksum.json +0 -1
  429. data/ext/cargo-vendor/cranelift-bitset-0.124.2/.cargo_vcs_info.json +0 -6
  430. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.lock +0 -73
  431. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.toml +0 -94
  432. data/ext/cargo-vendor/cranelift-bitset-0.124.2/Cargo.toml.orig +0 -22
  433. data/ext/cargo-vendor/cranelift-codegen-0.124.2/.cargo-checksum.json +0 -1
  434. data/ext/cargo-vendor/cranelift-codegen-0.124.2/.cargo_vcs_info.json +0 -6
  435. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.lock +0 -1352
  436. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.toml +0 -252
  437. data/ext/cargo-vendor/cranelift-codegen-0.124.2/Cargo.toml.orig +0 -130
  438. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/inline.rs +0 -1542
  439. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/ir/instructions.rs +0 -1515
  440. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/abi.rs +0 -1616
  441. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/args.rs +0 -711
  442. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/emit.rs +0 -3666
  443. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst/mod.rs +0 -3098
  444. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/inst.isle +0 -5184
  445. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/aarch64/lower.isle +0 -3240
  446. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/call_conv.rs +0 -145
  447. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst/emit.rs +0 -693
  448. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst/mod.rs +0 -927
  449. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/inst.isle +0 -783
  450. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/pulley_shared/lower.isle +0 -1831
  451. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst/emit.rs +0 -2856
  452. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst/mod.rs +0 -1925
  453. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/inst.isle +0 -3252
  454. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/lower.isle +0 -3133
  455. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/riscv64/mod.rs +0 -294
  456. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/abi.rs +0 -1526
  457. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst/emit.rs +0 -3543
  458. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst/mod.rs +0 -3533
  459. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/inst.isle +0 -4934
  460. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/s390x/lower.isle +0 -4069
  461. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/abi.rs +0 -1334
  462. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/args.rs +0 -1048
  463. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/emit.rs +0 -2183
  464. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst/mod.rs +0 -1652
  465. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/inst.isle +0 -4074
  466. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/lower/isle.rs +0 -1245
  467. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/lower.isle +0 -5055
  468. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/mod.rs +0 -262
  469. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/isa/x64/pcc.rs +0 -322
  470. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/lib.rs +0 -123
  471. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/abi.rs +0 -2567
  472. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/blockorder.rs +0 -471
  473. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/isle.rs +0 -815
  474. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/machinst/lower.rs +0 -1763
  475. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/arithmetic.isle +0 -333
  476. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/bitops.isle +0 -204
  477. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/icmp.isle +0 -300
  478. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/selects.isle +0 -100
  479. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/opts/shifts.isle +0 -307
  480. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/prelude_lower.isle +0 -1196
  481. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/settings.rs +0 -572
  482. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/verifier/mod.rs +0 -2205
  483. data/ext/cargo-vendor/cranelift-codegen-0.124.2/src/write.rs +0 -723
  484. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/.cargo-checksum.json +0 -1
  485. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/.cargo_vcs_info.json +0 -6
  486. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.lock +0 -110
  487. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.toml +0 -90
  488. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/Cargo.toml.orig +0 -26
  489. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/formats.rs +0 -144
  490. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/instructions.rs +0 -494
  491. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/mod.rs +0 -72
  492. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/operands.rs +0 -169
  493. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/cdsl/settings.rs +0 -429
  494. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_asm.rs +0 -740
  495. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_inst.rs +0 -1311
  496. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_isle.rs +0 -1199
  497. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/gen_settings.rs +0 -452
  498. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/isa/riscv64.rs +0 -195
  499. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/isa/x86.rs +0 -448
  500. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/entities.rs +0 -131
  501. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/formats.rs +0 -224
  502. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/instructions.rs +0 -3873
  503. data/ext/cargo-vendor/cranelift-codegen-meta-0.124.2/src/shared/settings.rs +0 -411
  504. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/.cargo-checksum.json +0 -1
  505. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/.cargo_vcs_info.json +0 -6
  506. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.lock +0 -7
  507. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.toml +0 -34
  508. data/ext/cargo-vendor/cranelift-codegen-shared-0.124.2/Cargo.toml.orig +0 -14
  509. data/ext/cargo-vendor/cranelift-control-0.124.2/.cargo-checksum.json +0 -1
  510. data/ext/cargo-vendor/cranelift-control-0.124.2/.cargo_vcs_info.json +0 -6
  511. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.lock +0 -16
  512. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.toml +0 -45
  513. data/ext/cargo-vendor/cranelift-control-0.124.2/Cargo.toml.orig +0 -25
  514. data/ext/cargo-vendor/cranelift-entity-0.124.2/.cargo-checksum.json +0 -1
  515. data/ext/cargo-vendor/cranelift-entity-0.124.2/.cargo_vcs_info.json +0 -6
  516. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.lock +0 -77
  517. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.toml +0 -95
  518. data/ext/cargo-vendor/cranelift-entity-0.124.2/Cargo.toml.orig +0 -24
  519. data/ext/cargo-vendor/cranelift-entity-0.124.2/src/primary.rs +0 -548
  520. data/ext/cargo-vendor/cranelift-frontend-0.124.2/.cargo-checksum.json +0 -1
  521. data/ext/cargo-vendor/cranelift-frontend-0.124.2/.cargo_vcs_info.json +0 -6
  522. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.lock +0 -531
  523. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.toml +0 -117
  524. data/ext/cargo-vendor/cranelift-frontend-0.124.2/Cargo.toml.orig +0 -32
  525. data/ext/cargo-vendor/cranelift-frontend-0.124.2/src/frontend.rs +0 -2028
  526. data/ext/cargo-vendor/cranelift-isle-0.124.2/.cargo-checksum.json +0 -1
  527. data/ext/cargo-vendor/cranelift-isle-0.124.2/.cargo_vcs_info.json +0 -6
  528. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.lock +0 -322
  529. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.toml +0 -89
  530. data/ext/cargo-vendor/cranelift-isle-0.124.2/Cargo.toml.orig +0 -26
  531. data/ext/cargo-vendor/cranelift-native-0.124.2/.cargo-checksum.json +0 -1
  532. data/ext/cargo-vendor/cranelift-native-0.124.2/.cargo_vcs_info.json +0 -6
  533. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.lock +0 -305
  534. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.toml +0 -54
  535. data/ext/cargo-vendor/cranelift-native-0.124.2/Cargo.toml.orig +0 -24
  536. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/.cargo-checksum.json +0 -1
  537. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/.cargo_vcs_info.json +0 -6
  538. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.lock +0 -7
  539. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.toml +0 -70
  540. data/ext/cargo-vendor/cranelift-srcgen-0.124.2/Cargo.toml.orig +0 -14
  541. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/.cargo-checksum.json +0 -1
  542. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/.cargo_vcs_info.json +0 -6
  543. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.lock +0 -2192
  544. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.toml +0 -79
  545. data/ext/cargo-vendor/deterministic-wasi-ctx-3.0.2/Cargo.toml.orig +0 -27
  546. data/ext/cargo-vendor/fxhash-0.2.1/.cargo-checksum.json +0 -1
  547. data/ext/cargo-vendor/fxhash-0.2.1/Cargo.toml +0 -38
  548. data/ext/cargo-vendor/fxhash-0.2.1/Cargo.toml.orig +0 -26
  549. data/ext/cargo-vendor/fxhash-0.2.1/README.md +0 -62
  550. data/ext/cargo-vendor/fxhash-0.2.1/bench.rs +0 -78
  551. data/ext/cargo-vendor/fxhash-0.2.1/lib.rs +0 -324
  552. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/.cargo-checksum.json +0 -1
  553. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/.cargo_vcs_info.json +0 -6
  554. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/Cargo.toml +0 -41
  555. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/Cargo.toml.orig +0 -20
  556. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/README.md +0 -27
  557. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/category.rs +0 -98
  558. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/category_color.rs +0 -41
  559. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/counters.rs +0 -130
  560. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/cpu_delta.rs +0 -59
  561. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/fast_hash_map.rs +0 -5
  562. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/frame.rs +0 -54
  563. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/frame_table.rs +0 -166
  564. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/func_table.rs +0 -110
  565. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/global_lib_table.rs +0 -76
  566. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/lib.rs +0 -74
  567. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/lib_mappings.rs +0 -140
  568. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/library_info.rs +0 -120
  569. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/marker_table.rs +0 -78
  570. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/markers.rs +0 -224
  571. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/native_symbols.rs +0 -73
  572. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/process.rs +0 -117
  573. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/profile.rs +0 -718
  574. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/reference_timestamp.rs +0 -43
  575. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/resource_table.rs +0 -63
  576. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/sample_table.rs +0 -50
  577. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/serialization_helpers.rs +0 -30
  578. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/stack_table.rs +0 -80
  579. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/string_table.rs +0 -66
  580. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/thread.rs +0 -225
  581. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/thread_string_table.rs +0 -50
  582. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/src/timestamp.rs +0 -29
  583. data/ext/cargo-vendor/fxprof-processed-profile-0.6.0/tests/integration_tests/main.rs +0 -1270
  584. data/ext/cargo-vendor/pulley-interpreter-37.0.2/.cargo-checksum.json +0 -1
  585. data/ext/cargo-vendor/pulley-interpreter-37.0.2/.cargo_vcs_info.json +0 -6
  586. data/ext/cargo-vendor/pulley-interpreter-37.0.2/Cargo.lock +0 -426
  587. data/ext/cargo-vendor/pulley-interpreter-37.0.2/Cargo.toml +0 -144
  588. data/ext/cargo-vendor/pulley-interpreter-37.0.2/src/lib.rs +0 -1423
  589. data/ext/cargo-vendor/pulley-macros-37.0.2/.cargo-checksum.json +0 -1
  590. data/ext/cargo-vendor/pulley-macros-37.0.2/.cargo_vcs_info.json +0 -6
  591. data/ext/cargo-vendor/pulley-macros-37.0.2/Cargo.lock +0 -47
  592. data/ext/cargo-vendor/pulley-macros-37.0.2/Cargo.toml +0 -42
  593. data/ext/cargo-vendor/wasmtime-37.0.2/.cargo-checksum.json +0 -1
  594. data/ext/cargo-vendor/wasmtime-37.0.2/.cargo_vcs_info.json +0 -6
  595. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.lock +0 -2250
  596. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.toml +0 -558
  597. data/ext/cargo-vendor/wasmtime-37.0.2/Cargo.toml.orig +0 -412
  598. data/ext/cargo-vendor/wasmtime-37.0.2/build.rs +0 -99
  599. data/ext/cargo-vendor/wasmtime-37.0.2/src/compile.rs +0 -1271
  600. data/ext/cargo-vendor/wasmtime-37.0.2/src/config.rs +0 -3792
  601. data/ext/cargo-vendor/wasmtime-37.0.2/src/engine/serialization.rs +0 -801
  602. data/ext/cargo-vendor/wasmtime-37.0.2/src/engine.rs +0 -976
  603. data/ext/cargo-vendor/wasmtime-37.0.2/src/lib.rs +0 -440
  604. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/component.rs +0 -898
  605. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/concurrent/futures_and_streams.rs +0 -4239
  606. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/concurrent.rs +0 -4585
  607. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func/host.rs +0 -957
  608. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func/typed.rs +0 -2888
  609. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/func.rs +0 -972
  610. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/instance.rs +0 -1024
  611. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/component/mod.rs +0 -758
  612. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/coredump.rs +0 -350
  613. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/func.rs +0 -2680
  614. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/instantiate.rs +0 -300
  615. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/memory.rs +0 -1115
  616. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/module.rs +0 -1224
  617. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/profiling.rs +0 -338
  618. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/store.rs +0 -2782
  619. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/memory.rs +0 -277
  620. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/table.rs +0 -50
  621. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trampoline/tag.rs +0 -54
  622. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/trap.rs +0 -634
  623. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/component/libcalls.rs +0 -1257
  624. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/component.rs +0 -1022
  625. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/helpers.c +0 -121
  626. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/instance.rs +0 -1862
  627. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/interpreter.rs +0 -619
  628. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/interpreter_disabled.rs +0 -70
  629. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +0 -83
  630. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching/stack/unix.rs +0 -353
  631. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/stack_switching.rs +0 -691
  632. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/custom/capi.rs +0 -219
  633. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/custom/traphandlers.rs +0 -69
  634. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/miri/traphandlers.rs +0 -34
  635. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/machports.rs +0 -515
  636. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/signals.rs +0 -566
  637. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/unix/traphandlers.rs +0 -79
  638. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/windows/traphandlers.rs +0 -31
  639. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/sys/windows/vectored_exceptions.rs +0 -125
  640. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/throw.rs +0 -123
  641. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/traphandlers.rs +0 -1438
  642. data/ext/cargo-vendor/wasmtime-37.0.2/src/runtime/vm/vmcontext.rs +0 -1705
  643. data/ext/cargo-vendor/wasmtime-environ-37.0.2/.cargo-checksum.json +0 -1
  644. data/ext/cargo-vendor/wasmtime-environ-37.0.2/.cargo_vcs_info.json +0 -6
  645. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.lock +0 -650
  646. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.toml +0 -234
  647. data/ext/cargo-vendor/wasmtime-environ-37.0.2/Cargo.toml.orig +0 -80
  648. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/address_map.rs +0 -126
  649. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/builtin.rs +0 -451
  650. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/key.rs +0 -221
  651. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/mod.rs +0 -490
  652. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/module_artifacts.rs +0 -318
  653. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/compile/module_environ.rs +0 -1312
  654. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/artifacts.rs +0 -68
  655. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/compiler.rs +0 -21
  656. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/dfg.rs +0 -1100
  657. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/info.rs +0 -1124
  658. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component/translate/inline.rs +0 -1792
  659. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/component.rs +0 -213
  660. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/hostcall.rs +0 -82
  661. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/lib.rs +0 -80
  662. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/module.rs +0 -760
  663. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/module_artifacts.rs +0 -119
  664. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/trap_encoding.rs +0 -244
  665. data/ext/cargo-vendor/wasmtime-environ-37.0.2/src/vmoffsets.rs +0 -1167
  666. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/.cargo-checksum.json +0 -1
  667. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/.cargo_vcs_info.json +0 -6
  668. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.lock +0 -16
  669. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.toml +0 -35
  670. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/Cargo.toml.orig +0 -14
  671. data/ext/cargo-vendor/wasmtime-internal-asm-macros-37.0.2/src/lib.rs +0 -90
  672. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/.cargo-checksum.json +0 -1
  673. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/.cargo_vcs_info.json +0 -6
  674. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/Cargo.lock +0 -840
  675. data/ext/cargo-vendor/wasmtime-internal-cache-37.0.2/Cargo.toml +0 -128
  676. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/.cargo-checksum.json +0 -1
  677. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/.cargo_vcs_info.json +0 -6
  678. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/Cargo.lock +0 -285
  679. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/Cargo.toml +0 -146
  680. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/codegen.rs +0 -731
  681. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_async.rs +0 -206
  682. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_concurrent.rs +0 -206
  683. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path1_tracing_async.rs +0 -206
  684. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_async.rs +0 -206
  685. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_concurrent.rs +0 -206
  686. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/path2_tracing_async.rs +0 -206
  687. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_async.rs +0 -272
  688. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_concurrent.rs +0 -272
  689. data/ext/cargo-vendor/wasmtime-internal-component-macro-37.0.2/tests/expanded/worlds-with-types_tracing_async.rs +0 -280
  690. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/.cargo-checksum.json +0 -1
  691. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/.cargo_vcs_info.json +0 -6
  692. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/Cargo.lock +0 -7
  693. data/ext/cargo-vendor/wasmtime-internal-component-util-37.0.2/Cargo.toml +0 -38
  694. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/.cargo-checksum.json +0 -1
  695. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/.cargo_vcs_info.json +0 -6
  696. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/Cargo.lock +0 -711
  697. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/Cargo.toml +0 -187
  698. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/compiler/component.rs +0 -1623
  699. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/compiler.rs +0 -1476
  700. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/func_environ/stack_switching/instructions.rs +0 -1917
  701. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/func_environ.rs +0 -4313
  702. data/ext/cargo-vendor/wasmtime-internal-cranelift-37.0.2/src/lib.rs +0 -449
  703. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/.cargo-checksum.json +0 -1
  704. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/.cargo_vcs_info.json +0 -6
  705. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.lock +0 -353
  706. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.toml +0 -111
  707. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/Cargo.toml.orig +0 -42
  708. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/build.rs +0 -39
  709. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/lib.rs +0 -434
  710. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/aarch64.rs +0 -184
  711. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/arm.rs +0 -86
  712. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/riscv64.rs +0 -158
  713. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/s390x.S +0 -123
  714. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/x86.rs +0 -109
  715. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch/x86_64.rs +0 -160
  716. data/ext/cargo-vendor/wasmtime-internal-fiber-37.0.2/src/stackswitch.rs +0 -80
  717. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/.cargo-checksum.json +0 -1
  718. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/.cargo_vcs_info.json +0 -6
  719. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/Cargo.lock +0 -203
  720. data/ext/cargo-vendor/wasmtime-internal-jit-debug-37.0.2/Cargo.toml +0 -110
  721. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/.cargo-checksum.json +0 -1
  722. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/.cargo_vcs_info.json +0 -6
  723. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/Cargo.lock +0 -104
  724. data/ext/cargo-vendor/wasmtime-internal-jit-icache-coherence-37.0.2/Cargo.toml +0 -91
  725. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/.cargo-checksum.json +0 -1
  726. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/.cargo_vcs_info.json +0 -6
  727. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/Cargo.lock +0 -16
  728. data/ext/cargo-vendor/wasmtime-internal-math-37.0.2/Cargo.toml +0 -78
  729. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/.cargo-checksum.json +0 -1
  730. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/.cargo_vcs_info.json +0 -6
  731. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/Cargo.lock +0 -7
  732. data/ext/cargo-vendor/wasmtime-internal-slab-37.0.2/Cargo.toml +0 -70
  733. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/.cargo-checksum.json +0 -1
  734. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/.cargo_vcs_info.json +0 -6
  735. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/Cargo.lock +0 -328
  736. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/Cargo.toml +0 -106
  737. data/ext/cargo-vendor/wasmtime-internal-unwinder-37.0.2/src/stackwalk.rs +0 -219
  738. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/.cargo-checksum.json +0 -1
  739. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/.cargo_vcs_info.json +0 -6
  740. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/Cargo.lock +0 -47
  741. data/ext/cargo-vendor/wasmtime-internal-versioned-export-macros-37.0.2/Cargo.toml +0 -43
  742. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/.cargo-checksum.json +0 -1
  743. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/.cargo_vcs_info.json +0 -6
  744. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/Cargo.lock +0 -649
  745. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/Cargo.toml +0 -132
  746. data/ext/cargo-vendor/wasmtime-internal-winch-37.0.2/src/compiler.rs +0 -402
  747. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/.cargo-checksum.json +0 -1
  748. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/.cargo_vcs_info.json +0 -6
  749. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/Cargo.lock +0 -193
  750. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/Cargo.toml +0 -90
  751. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/src/config.rs +0 -164
  752. data/ext/cargo-vendor/wasmtime-internal-wit-bindgen-37.0.2/src/lib.rs +0 -3527
  753. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/.cargo-checksum.json +0 -1
  754. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/.cargo_vcs_info.json +0 -6
  755. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/Cargo.lock +0 -2512
  756. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/Cargo.toml +0 -262
  757. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/lib.rs +0 -48
  758. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/sockets/tcp.rs +0 -819
  759. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/src/view.rs +0 -95
  760. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/tests/all/p3/mod.rs +0 -144
  761. data/ext/cargo-vendor/wasmtime-wasi-37.0.2/tests/all/store.rs +0 -81
  762. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/.cargo-checksum.json +0 -1
  763. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/.cargo_vcs_info.json +0 -6
  764. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/Cargo.lock +0 -1211
  765. data/ext/cargo-vendor/wasmtime-wasi-io-37.0.2/Cargo.toml +0 -105
  766. data/ext/cargo-vendor/wiggle-37.0.2/.cargo-checksum.json +0 -1
  767. data/ext/cargo-vendor/wiggle-37.0.2/.cargo_vcs_info.json +0 -6
  768. data/ext/cargo-vendor/wiggle-37.0.2/Cargo.lock +0 -1168
  769. data/ext/cargo-vendor/wiggle-37.0.2/Cargo.toml +0 -139
  770. data/ext/cargo-vendor/wiggle-generate-37.0.2/.cargo-checksum.json +0 -1
  771. data/ext/cargo-vendor/wiggle-generate-37.0.2/.cargo_vcs_info.json +0 -6
  772. data/ext/cargo-vendor/wiggle-generate-37.0.2/Cargo.lock +0 -115
  773. data/ext/cargo-vendor/wiggle-generate-37.0.2/Cargo.toml +0 -102
  774. data/ext/cargo-vendor/wiggle-macro-37.0.2/.cargo-checksum.json +0 -1
  775. data/ext/cargo-vendor/wiggle-macro-37.0.2/.cargo_vcs_info.json +0 -6
  776. data/ext/cargo-vendor/wiggle-macro-37.0.2/Cargo.lock +0 -127
  777. data/ext/cargo-vendor/wiggle-macro-37.0.2/Cargo.toml +0 -98
  778. data/ext/cargo-vendor/winch-codegen-37.0.2/.cargo-checksum.json +0 -1
  779. data/ext/cargo-vendor/winch-codegen-37.0.2/.cargo_vcs_info.json +0 -6
  780. data/ext/cargo-vendor/winch-codegen-37.0.2/Cargo.lock +0 -620
  781. data/ext/cargo-vendor/winch-codegen-37.0.2/Cargo.toml +0 -133
  782. data/ext/cargo-vendor/winch-codegen-37.0.2/src/codegen/env.rs +0 -415
  783. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/COPYRIGHT +0 -0
  784. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-APACHE +0 -0
  785. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  786. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/LICENSE-MIT +0 -0
  787. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/README.md +0 -0
  788. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/build.rs +0 -0
  789. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/access.rs +0 -0
  790. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/assert_same_file.rs +0 -0
  791. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/canonicalize.rs +0 -0
  792. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/copy.rs +0 -0
  793. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/create_dir.rs +0 -0
  794. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_builder.rs +0 -0
  795. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_entry.rs +0 -0
  796. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/dir_options.rs +0 -0
  797. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/errors.rs +0 -0
  798. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file.rs +0 -0
  799. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file_path_by_searching.rs +0 -0
  800. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/file_type.rs +0 -0
  801. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/follow_symlinks.rs +0 -0
  802. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/hard_link.rs +0 -0
  803. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/is_file_read_write.rs +0 -0
  804. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/canonical_path.rs +0 -0
  805. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/canonicalize.rs +0 -0
  806. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/cow_component.rs +0 -0
  807. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/mod.rs +0 -0
  808. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/open.rs +0 -0
  809. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/open_entry.rs +0 -0
  810. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/manually/read_link_one.rs +0 -0
  811. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/maybe_owned_file.rs +0 -0
  812. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/metadata.rs +0 -0
  813. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/mod.rs +0 -0
  814. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open.rs +0 -0
  815. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_ambient.rs +0 -0
  816. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_dir.rs +0 -0
  817. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_options.rs +0 -0
  818. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/open_unchecked_error.rs +0 -0
  819. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/permissions.rs +0 -0
  820. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/read_dir.rs +0 -0
  821. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/read_link.rs +0 -0
  822. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_dir.rs +0 -0
  823. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_dir_all.rs +0 -0
  824. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_file.rs +0 -0
  825. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/remove_open_dir.rs +0 -0
  826. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/rename.rs +0 -0
  827. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/reopen.rs +0 -0
  828. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/set_permissions.rs +0 -0
  829. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/set_times.rs +0 -0
  830. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/stat.rs +0 -0
  831. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/symlink.rs +0 -0
  832. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/system_time_spec.rs +0 -0
  833. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/access.rs +0 -0
  834. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/create_dir.rs +0 -0
  835. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/hard_link.rs +0 -0
  836. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/mod.rs +0 -0
  837. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/read_link.rs +0 -0
  838. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/remove_dir.rs +0 -0
  839. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/remove_file.rs +0 -0
  840. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/rename.rs +0 -0
  841. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_permissions.rs +0 -0
  842. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_symlink_permissions.rs +0 -0
  843. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/set_times_nofollow.rs +0 -0
  844. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/fs/via_parent/symlink.rs +0 -0
  845. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/lib.rs +0 -0
  846. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/net/mod.rs +0 -0
  847. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/net/pool.rs +0 -0
  848. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/fs/file_path.rs +0 -0
  849. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/fs/mod.rs +0 -0
  850. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/darwin/mod.rs +0 -0
  851. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/check.rs +0 -0
  852. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/mod.rs +0 -0
  853. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/open_entry_impl.rs +0 -0
  854. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/open_impl.rs +0 -0
  855. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/remove_dir_impl.rs +0 -0
  856. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/remove_file_impl.rs +0 -0
  857. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/set_permissions_impl.rs +0 -0
  858. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/set_times_impl.rs +0 -0
  859. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/fs/stat_impl.rs +0 -0
  860. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/freebsd/mod.rs +0 -0
  861. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/access_unchecked.rs +0 -0
  862. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/copy_impl.rs +0 -0
  863. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/create_dir_unchecked.rs +0 -0
  864. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/cvt.rs +0 -0
  865. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_entry_inner.rs +0 -0
  866. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_options_ext.rs +0 -0
  867. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/dir_utils.rs +0 -0
  868. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/errors.rs +0 -0
  869. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/file_path.rs +0 -0
  870. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/file_type_ext.rs +0 -0
  871. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/hard_link_unchecked.rs +0 -0
  872. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_file_read_write_impl.rs +0 -0
  873. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_root_dir.rs +0 -0
  874. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/is_same_file.rs +0 -0
  875. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/metadata_ext.rs +0 -0
  876. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/mod.rs +0 -0
  877. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/oflags.rs +0 -0
  878. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/open_options_ext.rs +0 -0
  879. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/open_unchecked.rs +0 -0
  880. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/permissions_ext.rs +0 -0
  881. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/read_dir_inner.rs +0 -0
  882. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/read_link_unchecked.rs +0 -0
  883. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_dir_all_impl.rs +0 -0
  884. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_dir_unchecked.rs +0 -0
  885. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_file_unchecked.rs +0 -0
  886. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/remove_open_dir_by_searching.rs +0 -0
  887. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/rename_unchecked.rs +0 -0
  888. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/reopen_impl.rs +0 -0
  889. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_permissions_impl.rs +0 -0
  890. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_symlink_permissions_unchecked.rs +0 -0
  891. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/set_times_impl.rs +0 -0
  892. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/stat_unchecked.rs +0 -0
  893. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/symlink_unchecked.rs +0 -0
  894. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/fs/times.rs +0 -0
  895. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/canonicalize_impl.rs +0 -0
  896. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/file_metadata.rs +0 -0
  897. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/file_path.rs +0 -0
  898. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/mod.rs +0 -0
  899. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/open_entry_impl.rs +0 -0
  900. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/open_impl.rs +0 -0
  901. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/procfs.rs +0 -0
  902. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/set_permissions_impl.rs +0 -0
  903. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/fs/set_times_impl.rs +0 -0
  904. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/linux/mod.rs +0 -0
  905. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/rustix/mod.rs +0 -0
  906. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/instant.rs +0 -0
  907. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/mod.rs +0 -0
  908. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/monotonic_clock.rs +0 -0
  909. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/system_clock.rs +0 -0
  910. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/time/system_time.rs +0 -0
  911. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/access_unchecked.rs +0 -0
  912. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/copy.rs +0 -0
  913. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/create_dir_unchecked.rs +0 -0
  914. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/create_file_at_w.rs +0 -0
  915. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_entry_inner.rs +0 -0
  916. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_options_ext.rs +0 -0
  917. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/dir_utils.rs +0 -0
  918. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/errors.rs +0 -0
  919. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/file_type_ext.rs +0 -0
  920. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/get_path.rs +0 -0
  921. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/hard_link_unchecked.rs +0 -0
  922. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/is_file_read_write_impl.rs +0 -0
  923. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/is_same_file.rs +0 -0
  924. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/metadata_ext.rs +0 -0
  925. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/mod.rs +0 -0
  926. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/oflags.rs +0 -0
  927. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_impl.rs +0 -0
  928. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_options_ext.rs +0 -0
  929. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/open_unchecked.rs +0 -0
  930. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_dir_inner.rs +0 -0
  931. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_link_impl.rs +0 -0
  932. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/read_link_unchecked.rs +0 -0
  933. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_dir_all_impl.rs +0 -0
  934. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_dir_unchecked.rs +0 -0
  935. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_file_unchecked.rs +0 -0
  936. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/remove_open_dir_impl.rs +0 -0
  937. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/rename_unchecked.rs +0 -0
  938. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/reopen_impl.rs +0 -0
  939. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_permissions_unchecked.rs +0 -0
  940. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_symlink_permissions_unchecked.rs +0 -0
  941. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/set_times_impl.rs +0 -0
  942. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/stat_unchecked.rs +0 -0
  943. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/fs/symlink_unchecked.rs +0 -0
  944. /data/ext/cargo-vendor/{cap-primitives-3.4.4 → cap-primitives-3.4.5}/src/windows/mod.rs +0 -0
  945. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/COPYRIGHT +0 -0
  946. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-APACHE +0 -0
  947. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -0
  948. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/LICENSE-MIT +0 -0
  949. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/README.md +0 -0
  950. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/build.rs +0 -0
  951. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/dir.rs +0 -0
  952. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/dir_entry.rs +0 -0
  953. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/file.rs +0 -0
  954. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/mod.rs +0 -0
  955. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs/read_dir.rs +0 -0
  956. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/dir.rs +0 -0
  957. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/dir_entry.rs +0 -0
  958. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/file.rs +0 -0
  959. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/mod.rs +0 -0
  960. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/fs_utf8/read_dir.rs +0 -0
  961. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/lib.rs +0 -0
  962. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/incoming.rs +0 -0
  963. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/mod.rs +0 -0
  964. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/pool.rs +0 -0
  965. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/tcp_stream.rs +0 -0
  966. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/net/udp_socket.rs +0 -0
  967. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/mod.rs +0 -0
  968. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/mod.rs +0 -0
  969. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/incoming.rs +0 -0
  970. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/mod.rs +0 -0
  971. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/unix_datagram.rs +0 -0
  972. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/os/unix/net/unix_stream.rs +0 -0
  973. /data/ext/cargo-vendor/{cap-std-3.4.4 → cap-std-3.4.5}/src/time/mod.rs +0 -0
  974. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/README.md +0 -0
  975. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/build.rs +0 -0
  976. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/api.rs +0 -0
  977. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/custom.rs +0 -0
  978. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/evex.rs +0 -0
  979. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/features.rs +0 -0
  980. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/fixed.rs +0 -0
  981. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/fuzz.rs +0 -0
  982. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/gpr.rs +0 -0
  983. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/imm.rs +0 -0
  984. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/inst.rs +0 -0
  985. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/lib.rs +0 -0
  986. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/main.rs +0 -0
  987. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/mem.rs +0 -0
  988. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/vex.rs +0 -0
  989. /data/ext/cargo-vendor/{cranelift-assembler-x64-0.124.2 → cranelift-assembler-x64-0.125.4}/src/xmm.rs +0 -0
  990. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/README.md +0 -0
  991. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/custom.rs +0 -0
  992. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/encoding.rs +0 -0
  993. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/features.rs +0 -0
  994. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl/format.rs +0 -0
  995. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/dsl.rs +0 -0
  996. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/features.rs +0 -0
  997. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/format.rs +0 -0
  998. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/generate/operand.rs +0 -0
  999. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/abs.rs +0 -0
  1000. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/add.rs +0 -0
  1001. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/align.rs +0 -0
  1002. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/and.rs +0 -0
  1003. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/atomic.rs +0 -0
  1004. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/avg.rs +0 -0
  1005. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/bitmanip.rs +0 -0
  1006. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cmov.rs +0 -0
  1007. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cmp.rs +0 -0
  1008. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/cvt.rs +0 -0
  1009. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/div.rs +0 -0
  1010. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/fma.rs +0 -0
  1011. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/jmp.rs +0 -0
  1012. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/lanes.rs +0 -0
  1013. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/max.rs +0 -0
  1014. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/min.rs +0 -0
  1015. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/misc.rs +0 -0
  1016. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/mov.rs +0 -0
  1017. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/mul.rs +0 -0
  1018. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/neg.rs +0 -0
  1019. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/nop.rs +0 -0
  1020. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/or.rs +0 -0
  1021. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/pack.rs +0 -0
  1022. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/pma.rs +0 -0
  1023. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/recip.rs +0 -0
  1024. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/round.rs +0 -0
  1025. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/setcc.rs +0 -0
  1026. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/shift.rs +0 -0
  1027. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/sqrt.rs +0 -0
  1028. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/stack.rs +0 -0
  1029. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/sub.rs +0 -0
  1030. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/unpack.rs +0 -0
  1031. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions/xor.rs +0 -0
  1032. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/instructions.rs +0 -0
  1033. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/lib.rs +0 -0
  1034. /data/ext/cargo-vendor/{cranelift-assembler-x64-meta-0.124.2 → cranelift-assembler-x64-meta-0.125.4}/src/main.rs +0 -0
  1035. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/LICENSE +0 -0
  1036. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/README.md +0 -0
  1037. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/lib.rs +0 -0
  1038. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/map.rs +0 -0
  1039. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/node.rs +0 -0
  1040. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/path.rs +0 -0
  1041. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/pool.rs +0 -0
  1042. /data/ext/cargo-vendor/{cranelift-bforest-0.124.2 → cranelift-bforest-0.125.4}/src/set.rs +0 -0
  1043. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/compound.rs +0 -0
  1044. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/lib.rs +0 -0
  1045. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/src/scalar.rs +0 -0
  1046. /data/ext/cargo-vendor/{cranelift-bitset-0.124.2 → cranelift-bitset-0.125.4}/tests/bitset.rs +0 -0
  1047. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/LICENSE +0 -0
  1048. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/README.md +0 -0
  1049. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/build.rs +0 -0
  1050. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/alias_analysis.rs +0 -0
  1051. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/binemit/mod.rs +0 -0
  1052. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/cfg_printer.rs +0 -0
  1053. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/constant_hash.rs +0 -0
  1054. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/context.rs +0 -0
  1055. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ctxhash.rs +0 -0
  1056. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/cursor.rs +0 -0
  1057. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/data_value.rs +0 -0
  1058. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dbg.rs +0 -0
  1059. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dominator_tree/simple.rs +0 -0
  1060. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/dominator_tree.rs +0 -0
  1061. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph/cost.rs +0 -0
  1062. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph/elaborate.rs +0 -0
  1063. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/egraph.rs +0 -0
  1064. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/flowgraph.rs +0 -0
  1065. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/incremental_cache.rs +0 -0
  1066. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/inst_predicates.rs +0 -0
  1067. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/inst_specs.isle +0 -0
  1068. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/atomic_rmw_op.rs +0 -0
  1069. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/builder.rs +0 -0
  1070. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/condcodes.rs +0 -0
  1071. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/constant.rs +0 -0
  1072. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/dfg.rs +0 -0
  1073. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/dynamic_type.rs +0 -0
  1074. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/entities.rs +0 -0
  1075. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/exception_table.rs +0 -0
  1076. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/extfunc.rs +0 -0
  1077. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/extname.rs +0 -0
  1078. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/function.rs +0 -0
  1079. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/globalvalue.rs +0 -0
  1080. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/immediates.rs +0 -0
  1081. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/jumptable.rs +0 -0
  1082. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/known_symbol.rs +0 -0
  1083. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/layout.rs +0 -0
  1084. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/libcall.rs +0 -0
  1085. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/memflags.rs +0 -0
  1086. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/memtype.rs +0 -0
  1087. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/mod.rs +0 -0
  1088. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/pcc.rs +0 -0
  1089. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/progpoint.rs +0 -0
  1090. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/sourceloc.rs +0 -0
  1091. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/stackslot.rs +0 -0
  1092. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/trapcode.rs +0 -0
  1093. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/types.rs +0 -0
  1094. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ir/user_stack_maps.rs +0 -0
  1095. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  1096. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/imms.rs +0 -0
  1097. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/regs.rs +0 -0
  1098. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  1099. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst/unwind.rs +0 -0
  1100. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/inst_neon.isle +0 -0
  1101. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1102. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower/isle.rs +0 -0
  1103. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower.rs +0 -0
  1104. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1105. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/mod.rs +0 -0
  1106. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/pcc.rs +0 -0
  1107. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/aarch64/settings.rs +0 -0
  1108. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/mod.rs +0 -0
  1109. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley32.rs +0 -0
  1110. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley64.rs +0 -0
  1111. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/abi.rs +0 -0
  1112. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/inst/args.rs +0 -0
  1113. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/inst/regs.rs +0 -0
  1114. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower/isle/generated_code.rs +0 -0
  1115. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower/isle.rs +0 -0
  1116. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/lower.rs +0 -0
  1117. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/mod.rs +0 -0
  1118. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/pulley_shared/settings.rs +0 -0
  1119. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/abi.rs +0 -0
  1120. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/args.rs +0 -0
  1121. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  1122. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/encode.rs +0 -0
  1123. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/imms.rs +0 -0
  1124. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/regs.rs +0 -0
  1125. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  1126. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/unwind.rs +0 -0
  1127. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst/vector.rs +0 -0
  1128. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/inst_vector.isle +0 -0
  1129. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1130. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower/isle.rs +0 -0
  1131. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/lower.rs +0 -0
  1132. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/riscv64/settings.rs +0 -0
  1133. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/args.rs +0 -0
  1134. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/emit_tests.rs +0 -0
  1135. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/imms.rs +0 -0
  1136. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/regs.rs +0 -0
  1137. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  1138. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/inst/unwind.rs +0 -0
  1139. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1140. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower/isle.rs +0 -0
  1141. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/lower.rs +0 -0
  1142. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/mod.rs +0 -0
  1143. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/s390x/settings.rs +0 -0
  1144. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/systemv.rs +0 -0
  1145. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/winarm64.rs +0 -0
  1146. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind/winx64.rs +0 -0
  1147. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/unwind.rs +0 -0
  1148. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/winch.rs +0 -0
  1149. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/emit_state.rs +0 -0
  1150. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/emit_tests.rs +0 -0
  1151. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/external.rs +0 -0
  1152. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/regs.rs +0 -0
  1153. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/stack_switch.rs +0 -0
  1154. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  1155. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1156. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/inst/unwind.rs +0 -0
  1157. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1158. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/lower.rs +0 -0
  1159. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isa/x64/settings.rs +0 -0
  1160. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/isle_prelude.rs +0 -0
  1161. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/branch_to_trap.rs +0 -0
  1162. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/globalvalue.rs +0 -0
  1163. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/legalizer/mod.rs +0 -0
  1164. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/loop_analysis.rs +0 -0
  1165. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/buffer.rs +0 -0
  1166. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/compile.rs +0 -0
  1167. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/helpers.rs +0 -0
  1168. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/inst_common.rs +0 -0
  1169. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/mod.rs +0 -0
  1170. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/pcc.rs +0 -0
  1171. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/reg.rs +0 -0
  1172. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/valueregs.rs +0 -0
  1173. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/machinst/vcode.rs +0 -0
  1174. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/nan_canonicalization.rs +0 -0
  1175. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/README.md +0 -0
  1176. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/cprop.isle +0 -0
  1177. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/div_const.rs +0 -0
  1178. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/extends.isle +0 -0
  1179. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/generated_code.rs +0 -0
  1180. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/remat.isle +0 -0
  1181. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/skeleton.isle +0 -0
  1182. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/spaceship.isle +0 -0
  1183. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/spectre.isle +0 -0
  1184. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts/vector.isle +0 -0
  1185. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/opts.rs +0 -0
  1186. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/prelude.isle +0 -0
  1187. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/prelude_opt.isle +0 -0
  1188. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/print_errors.rs +0 -0
  1189. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/ranges.rs +0 -0
  1190. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/remove_constant_phis.rs +0 -0
  1191. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/result.rs +0 -0
  1192. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/scoped_hash_map.rs +0 -0
  1193. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/souper_harvest.rs +0 -0
  1194. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/take_and_replace.rs +0 -0
  1195. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/timing.rs +0 -0
  1196. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/traversals.rs +0 -0
  1197. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/unreachable_code.rs +0 -0
  1198. /data/ext/cargo-vendor/{cranelift-codegen-0.124.2 → cranelift-codegen-0.125.4}/src/value_label.rs +0 -0
  1199. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/LICENSE +0 -0
  1200. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/README.md +0 -0
  1201. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/isa.rs +0 -0
  1202. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/types.rs +0 -0
  1203. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/cdsl/typevar.rs +0 -0
  1204. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/constant_hash.rs +0 -0
  1205. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/gen_types.rs +0 -0
  1206. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/arm64.rs +0 -0
  1207. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/mod.rs +0 -0
  1208. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/pulley.rs +0 -0
  1209. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isa/s390x.rs +0 -0
  1210. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/isle.rs +0 -0
  1211. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/lib.rs +0 -0
  1212. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/pulley.rs +0 -0
  1213. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/immediates.rs +0 -0
  1214. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/mod.rs +0 -0
  1215. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/shared/types.rs +0 -0
  1216. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.124.2 → cranelift-codegen-meta-0.125.4}/src/unique_table.rs +0 -0
  1217. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/LICENSE +0 -0
  1218. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/README.md +0 -0
  1219. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/constant_hash.rs +0 -0
  1220. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/constants.rs +0 -0
  1221. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.124.2 → cranelift-codegen-shared-0.125.4}/src/lib.rs +0 -0
  1222. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/LICENSE +0 -0
  1223. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/README.md +0 -0
  1224. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/chaos.rs +0 -0
  1225. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/lib.rs +0 -0
  1226. /data/ext/cargo-vendor/{cranelift-control-0.124.2 → cranelift-control-0.125.4}/src/zero_sized.rs +0 -0
  1227. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/LICENSE +0 -0
  1228. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/README.md +0 -0
  1229. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/boxed_slice.rs +0 -0
  1230. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/iter.rs +0 -0
  1231. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/keys.rs +0 -0
  1232. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/lib.rs +0 -0
  1233. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/list.rs +0 -0
  1234. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/map.rs +0 -0
  1235. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/packed_option.rs +0 -0
  1236. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/set.rs +0 -0
  1237. /data/ext/cargo-vendor/{cranelift-entity-0.124.2 → cranelift-entity-0.125.4}/src/sparse.rs +0 -0
  1238. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/LICENSE +0 -0
  1239. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/README.md +0 -0
  1240. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/frontend/safepoints.rs +0 -0
  1241. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/lib.rs +0 -0
  1242. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/ssa.rs +0 -0
  1243. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/switch.rs +0 -0
  1244. /data/ext/cargo-vendor/{cranelift-frontend-0.124.2 → cranelift-frontend-0.125.4}/src/variable.rs +0 -0
  1245. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/README.md +0 -0
  1246. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/build.rs +0 -0
  1247. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/bad_converters.isle +0 -0
  1248. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1249. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1250. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/error1.isle +0 -0
  1251. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/extra_parens.isle +0 -0
  1252. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/impure_expression.isle +0 -0
  1253. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/impure_rhs.isle +0 -0
  1254. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1255. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/fail/multi_prio.isle +0 -0
  1256. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/borrows.isle +0 -0
  1257. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/borrows_main.rs +0 -0
  1258. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/iflets.isle +0 -0
  1259. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/iflets_main.rs +0 -0
  1260. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_constructor.isle +0 -0
  1261. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_constructor_main.rs +0 -0
  1262. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_extractor.isle +0 -0
  1263. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/multi_extractor_main.rs +0 -0
  1264. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/test.isle +0 -0
  1265. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/link/test_main.rs +0 -0
  1266. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/bound_var.isle +0 -0
  1267. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/construct_and_extract.isle +0 -0
  1268. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/conversions.isle +0 -0
  1269. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/conversions_extern.isle +0 -0
  1270. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/let.isle +0 -0
  1271. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/nodebug.isle +0 -0
  1272. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1273. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test2.isle +0 -0
  1274. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test3.isle +0 -0
  1275. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/test4.isle +0 -0
  1276. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/tutorial.isle +0 -0
  1277. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/pass/veri_spec.isle +0 -0
  1278. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/iconst.isle +0 -0
  1279. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/iconst_main.rs +0 -0
  1280. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/let_shadowing.isle +0 -0
  1281. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/isle_examples/run/let_shadowing_main.rs +0 -0
  1282. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/ast.rs +0 -0
  1283. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/codegen.rs +0 -0
  1284. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/compile.rs +0 -0
  1285. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/disjointsets.rs +0 -0
  1286. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/error.rs +0 -0
  1287. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/files.rs +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/lexer.rs +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/lib.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/log.rs +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/overlap.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/parser.rs +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/printer.rs +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/sema.rs +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/serialize.rs +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/stablemapset.rs +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/src/trie_again.rs +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-isle-0.124.2 → cranelift-isle-0.125.4}/tests/run_tests.rs +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/LICENSE +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/README.md +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/src/lib.rs +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-native-0.124.2 → cranelift-native-0.125.4}/src/riscv.rs +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-srcgen-0.124.2 → cranelift-srcgen-0.125.4}/src/error.rs +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-srcgen-0.124.2 → cranelift-srcgen-0.125.4}/src/lib.rs +0 -0
  1305. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/README.md +0 -0
  1306. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/clocks.rs +0 -0
  1307. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/lib.rs +0 -0
  1308. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/src/scheduling.rs +0 -0
  1309. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/clocks.rs +0 -0
  1310. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/common/mod.rs +0 -0
  1311. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/random.rs +0 -0
  1312. /data/ext/cargo-vendor/{deterministic-wasi-ctx-3.0.2 → deterministic-wasi-ctx-3.0.3}/tests/scheduler.rs +0 -0
  1313. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/CONTRIBUTING.md +0 -0
  1314. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/Cargo.toml.orig +0 -0
  1315. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/README.md +0 -0
  1316. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/examples/profiler-html.rs +0 -0
  1317. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/decode.rs +0 -0
  1318. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/disas.rs +0 -0
  1319. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/encode.rs +0 -0
  1320. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/imms.rs +0 -0
  1321. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/debug.rs +0 -0
  1322. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/match_loop.rs +0 -0
  1323. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp/tail_loop.rs +0 -0
  1324. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/interp.rs +0 -0
  1325. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/op.rs +0 -0
  1326. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/opcode.rs +0 -0
  1327. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/profile.rs +0 -0
  1328. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/profile_disabled.rs +0 -0
  1329. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/src/regs.rs +0 -0
  1330. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/disas.rs +0 -0
  1331. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/interp.rs +0 -0
  1332. /data/ext/cargo-vendor/{pulley-interpreter-37.0.2 → pulley-interpreter-38.0.4}/tests/all/main.rs +0 -0
  1333. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/Cargo.toml.orig +0 -0
  1334. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/src/interp_disable_if_cfg.rs +0 -0
  1335. /data/ext/cargo-vendor/{pulley-macros-37.0.2 → pulley-macros-38.0.4}/src/lib.rs +0 -0
  1336. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/LICENSE +0 -0
  1337. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/README.md +0 -0
  1338. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1339. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/call_graph.rs +0 -0
  1340. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/code_builder.rs +0 -0
  1341. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/runtime.rs +0 -0
  1342. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/scc.rs +0 -0
  1343. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/compile/stratify.rs +0 -0
  1344. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/jitdump.rs +0 -0
  1345. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/perfmap.rs +0 -0
  1346. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/pulley.rs +0 -0
  1347. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent/vtune.rs +0 -0
  1348. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/profiling_agent.rs +0 -0
  1349. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/code.rs +0 -0
  1350. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/code_memory.rs +0 -0
  1351. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1352. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1353. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1354. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1355. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1356. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  1357. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1358. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_7_async.rs +0 -0
  1359. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/_8_store_in_imports.rs +0 -0
  1360. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/bindgen_examples/mod.rs +0 -0
  1361. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/abort.rs +0 -0
  1362. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/error_contexts.rs +0 -0
  1363. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/futures_and_streams/buffers.rs +0 -0
  1364. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/table.rs +0 -0
  1365. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent/tls.rs +0 -0
  1366. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/concurrent_disabled.rs +0 -0
  1367. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/func/options.rs +0 -0
  1368. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/has_data.rs +0 -0
  1369. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/linker.rs +0 -0
  1370. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/matching.rs +0 -0
  1371. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/resource_table.rs +0 -0
  1372. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/resources.rs +0 -0
  1373. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/storage.rs +0 -0
  1374. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/store.rs +0 -0
  1375. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/types.rs +0 -0
  1376. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/component/values.rs +0 -0
  1377. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/debug.rs +0 -0
  1378. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/exception.rs +0 -0
  1379. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/global.rs +0 -0
  1380. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/table.rs +0 -0
  1381. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals/tag.rs +0 -0
  1382. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/externals.rs +0 -0
  1383. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/fiber.rs +0 -0
  1384. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/func/typed.rs +0 -0
  1385. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/anyref.rs +0 -0
  1386. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/arrayref.rs +0 -0
  1387. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/eqref.rs +0 -0
  1388. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/exnref.rs +0 -0
  1389. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/externref.rs +0 -0
  1390. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/i31.rs +0 -0
  1391. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/rooting.rs +0 -0
  1392. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled/structref.rs +0 -0
  1393. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/disabled.rs +0 -0
  1394. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/anyref.rs +0 -0
  1395. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/arrayref.rs +0 -0
  1396. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/eqref.rs +0 -0
  1397. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/exnref.rs +0 -0
  1398. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/externref.rs +0 -0
  1399. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/i31.rs +0 -0
  1400. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/rooting.rs +0 -0
  1401. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled/structref.rs +0 -0
  1402. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/enabled.rs +0 -0
  1403. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/noextern.rs +0 -0
  1404. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc/none_ref.rs +0 -0
  1405. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/gc.rs +0 -0
  1406. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/instance.rs +0 -0
  1407. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/limits.rs +0 -0
  1408. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/linker.rs +0 -0
  1409. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/module/registry.rs +0 -0
  1410. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/resources.rs +0 -0
  1411. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/stack.rs +0 -0
  1412. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/async_.rs +0 -0
  1413. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/context.rs +0 -0
  1414. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/data.rs +0 -0
  1415. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/func_refs.rs +0 -0
  1416. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/gc.rs +0 -0
  1417. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/store/token.rs +0 -0
  1418. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline/func.rs +0 -0
  1419. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline/global.rs +0 -0
  1420. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/trampoline.rs +0 -0
  1421. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/type_registry.rs +0 -0
  1422. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/types/matching.rs +0 -0
  1423. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/types.rs +0 -0
  1424. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/uninhabited.rs +0 -0
  1425. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/unix.rs +0 -0
  1426. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/v128.rs +0 -0
  1427. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/values.rs +0 -0
  1428. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/always_mut.rs +0 -0
  1429. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/async_yield.rs +0 -0
  1430. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/byte_count.rs +0 -0
  1431. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/component/handle_table.rs +0 -0
  1432. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/component/resources.rs +0 -0
  1433. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/const_expr.rs +0 -0
  1434. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/cow.rs +0 -0
  1435. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/cow_disabled.rs +0 -0
  1436. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/debug_builtins.rs +0 -0
  1437. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/export.rs +0 -0
  1438. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/disabled.rs +0 -0
  1439. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/arrayref.rs +0 -0
  1440. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/data.rs +0 -0
  1441. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/drc.rs +0 -0
  1442. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/exnref.rs +0 -0
  1443. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1444. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1445. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/null.rs +0 -0
  1446. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled/structref.rs +0 -0
  1447. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/enabled.rs +0 -0
  1448. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/func_ref.rs +0 -0
  1449. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/gc_ref.rs +0 -0
  1450. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/gc_runtime.rs +0 -0
  1451. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/host_data.rs +0 -0
  1452. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc/i31.rs +0 -0
  1453. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/gc.rs +0 -0
  1454. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/imports.rs +0 -0
  1455. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
  1456. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
  1457. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -0
  1458. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
  1459. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -0
  1460. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -0
  1461. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/metrics.rs +0 -0
  1462. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
  1463. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
  1464. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator/pooling.rs +0 -0
  1465. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/instance/allocator.rs +0 -0
  1466. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/libcalls.rs +0 -0
  1467. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/malloc.rs +0 -0
  1468. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/mmap.rs +0 -0
  1469. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/shared_memory.rs +0 -0
  1470. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/shared_memory_disabled.rs +0 -0
  1471. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory/static_.rs +0 -0
  1472. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/memory.rs +0 -0
  1473. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mmap.rs +0 -0
  1474. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mmap_vec.rs +0 -0
  1475. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/module_id.rs +0 -0
  1476. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/disabled.rs +0 -0
  1477. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/enabled.rs +0 -0
  1478. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/mod.rs +0 -0
  1479. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/pkru.rs +0 -0
  1480. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/mpk/sys.rs +0 -0
  1481. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/pagemap_disabled.rs +0 -0
  1482. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/parking_spot.rs +0 -0
  1483. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/provenance.rs +0 -0
  1484. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1485. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/send_sync_unsafe_cell.rs +0 -0
  1486. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/stack_switching/stack/dummy.rs +0 -0
  1487. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/stack_switching/stack.rs +0 -0
  1488. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/store_box.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1490. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1491. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/custom/vm.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/mod.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/mmap.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/pagemap.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/unwind64.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1507. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/table.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/traphandlers/signals.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/vm.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave/component.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave/core.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/wave.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime/windows.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/runtime.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/sync_nostd.rs +0 -0
  1520. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/src/sync_std.rs +0 -0
  1521. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/custom_signal_handler.rs +0 -0
  1522. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/engine_across_forks.rs +0 -0
  1523. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/host_segfault.rs +0 -0
  1524. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/pooling_alloc_near_oom.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasmtime-37.0.2 → wasmtime-38.0.4}/tests/unload-engine.rs +0 -0
  1526. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/LICENSE +0 -0
  1527. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/examples/factc.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/address_map.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/module_types.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/stack_maps.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/compile/trap_encoding.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/names.rs +0 -0
  1533. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/translate/adapt.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/translate.rs +0 -0
  1535. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types_builder/resources.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/types_builder.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/component/vmcomponent_offsets.rs +0 -0
  1539. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/demangling.rs +0 -0
  1540. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/error.rs +0 -0
  1541. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/ext.rs +0 -0
  1542. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/core_types.rs +0 -0
  1543. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/signature.rs +0 -0
  1544. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/trampoline.rs +0 -0
  1545. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/transcode.rs +0 -0
  1546. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact/traps.rs +0 -0
  1547. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/fact.rs +0 -0
  1548. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc/drc.rs +0 -0
  1549. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc/null.rs +0 -0
  1550. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/gc.rs +0 -0
  1551. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/module_types.rs +0 -0
  1552. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/obj.rs +0 -0
  1553. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/prelude.rs +0 -0
  1554. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/ref_bits.rs +0 -0
  1555. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/scopevec.rs +0 -0
  1556. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/stack_map.rs +0 -0
  1557. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/stack_switching.rs +0 -0
  1558. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/tunables.rs +0 -0
  1559. /data/ext/cargo-vendor/{wasmtime-environ-37.0.2 → wasmtime-environ-38.0.4}/src/types.rs +0 -0
  1560. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/Cargo.toml.orig +0 -0
  1561. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/LICENSE +0 -0
  1562. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/build.rs +0 -0
  1563. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/config/tests.rs +0 -0
  1564. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/config.rs +0 -0
  1565. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/lib.rs +0 -0
  1566. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/tests.rs +0 -0
  1567. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker/tests/system_time_stub.rs +0 -0
  1568. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker/tests.rs +0 -0
  1569. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/src/worker.rs +0 -0
  1570. /data/ext/cargo-vendor/{wasmtime-internal-cache-37.0.2 → wasmtime-internal-cache-38.0.4}/tests/cache_write_default_config.rs +0 -0
  1571. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/Cargo.toml.orig +0 -0
  1572. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/build.rs +0 -0
  1573. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/bindgen.rs +0 -0
  1574. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/component.rs +0 -0
  1575. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/src/lib.rs +0 -0
  1576. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/char.wit +0 -0
  1577. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/conventions.wit +0 -0
  1578. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/dead-code.wit +0 -0
  1579. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/direct-import.wit +0 -0
  1580. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/empty.wit +0 -0
  1581. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/flags.wit +0 -0
  1582. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/floats.wit +0 -0
  1583. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/function-new.wit +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/host-world.wit +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/integers.wit +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/lists.wit +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/many-arguments.wit +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/multiversion/root.wit +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/path1/world.wit +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/path2/world.wit +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/records.wit +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/rename.wit +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/resources-export.wit +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/resources-import.wit +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/share-types.wit +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-functions.wit +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-lists.wit +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/simple-wasi.wit +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/small-anonymous.wit +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke-default.wit +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke-export.wit +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/smoke.wit +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/strings.wit +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/unstable-features.wit +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/unversioned-foo.wit +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/use-paths.wit +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/variants.wit +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/wat.wit +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen/worlds-with-types.wit +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/codegen_no_std.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char.rs +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_async.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_concurrent.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/char_tracing_async.rs +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions.rs +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_async.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_concurrent.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/conventions_tracing_async.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_async.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_concurrent.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/dead-code_tracing_async.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_async.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_concurrent.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/direct-import_tracing_async.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_async.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_concurrent.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/empty_tracing_async.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_async.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_concurrent.rs +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/flags_tracing_async.rs +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats.rs +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_async.rs +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_concurrent.rs +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/floats_tracing_async.rs +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new.rs +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_async.rs +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_concurrent.rs +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/function-new_tracing_async.rs +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world.rs +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_async.rs +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_concurrent.rs +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/host-world_tracing_async.rs +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers.rs +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_async.rs +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_concurrent.rs +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/integers_tracing_async.rs +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists.rs +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_async.rs +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_concurrent.rs +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/lists_tracing_async.rs +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments.rs +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_async.rs +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_concurrent.rs +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/many-arguments_tracing_async.rs +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multi-return.rs +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion.rs +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_async.rs +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_concurrent.rs +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/multiversion_tracing_async.rs +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/path1.rs +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/path2.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records.rs +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_async.rs +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_concurrent.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/records_tracing_async.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_async.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_concurrent.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/rename_tracing_async.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_async.rs +0 -0
  1678. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_concurrent.rs +0 -0
  1679. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-export_tracing_async.rs +0 -0
  1680. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import.rs +0 -0
  1681. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_async.rs +0 -0
  1682. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_concurrent.rs +0 -0
  1683. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/resources-import_tracing_async.rs +0 -0
  1684. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_async.rs +0 -0
  1686. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_concurrent.rs +0 -0
  1687. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/share-types_tracing_async.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_async.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_concurrent.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-functions_tracing_async.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_async.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_concurrent.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-lists_tracing_async.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_async.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_concurrent.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/simple-wasi_tracing_async.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_async.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_concurrent.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/small-anonymous_tracing_async.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_async.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_concurrent.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-default_tracing_async.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export.rs +0 -0
  1709. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_async.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_concurrent.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke-export_tracing_async.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_async.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_concurrent.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/smoke_tracing_async.rs +0 -0
  1716. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings.rs +0 -0
  1717. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_async.rs +0 -0
  1718. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_concurrent.rs +0 -0
  1719. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/strings_tracing_async.rs +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features.rs +0 -0
  1721. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_async.rs +0 -0
  1722. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_concurrent.rs +0 -0
  1723. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unstable-features_tracing_async.rs +0 -0
  1724. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo.rs +0 -0
  1725. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_async.rs +0 -0
  1726. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_concurrent.rs +0 -0
  1727. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/unversioned-foo_tracing_async.rs +0 -0
  1728. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths.rs +0 -0
  1729. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_async.rs +0 -0
  1730. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_concurrent.rs +0 -0
  1731. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/use-paths_tracing_async.rs +0 -0
  1732. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants.rs +0 -0
  1733. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_async.rs +0 -0
  1734. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_concurrent.rs +0 -0
  1735. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/variants_tracing_async.rs +0 -0
  1736. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat.rs +0 -0
  1737. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_async.rs +0 -0
  1738. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_concurrent.rs +0 -0
  1739. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/wat_tracing_async.rs +0 -0
  1740. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded/worlds-with-types.rs +0 -0
  1741. /data/ext/cargo-vendor/{wasmtime-internal-component-macro-37.0.2 → wasmtime-internal-component-macro-38.0.4}/tests/expanded.rs +0 -0
  1742. /data/ext/cargo-vendor/{wasmtime-internal-component-util-37.0.2 → wasmtime-internal-component-util-38.0.4}/Cargo.toml.orig +0 -0
  1743. /data/ext/cargo-vendor/{wasmtime-internal-component-util-37.0.2 → wasmtime-internal-component-util-38.0.4}/src/lib.rs +0 -0
  1744. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/Cargo.toml.orig +0 -0
  1745. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/LICENSE +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/SECURITY.md +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/bounds_checks.rs +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/builder.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/compiled_function.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/gc.rs +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/address_transform.rs +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/attr.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/debug_transform_logging.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/expression.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/line_program.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/mod.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/range_info_builder.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/refs.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/simulate.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/synthetic.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/unit.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/transform/utils.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug/write_debuginfo.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/debug.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/disabled.rs +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled/drc.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled/null.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc/enabled.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/gc.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/control_effect.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/fatpointer.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/func_environ/stack_switching/mod.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/isa_builder.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/obj.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/code_translator.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/environ/mod.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/environ/spec.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/func_translator.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/heap.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/mod.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/stack.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/table.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-internal-cranelift-37.0.2 → wasmtime-internal-cranelift-38.0.4}/src/translate/translation_utils.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/LICENSE +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/miri.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/nostd.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/unix.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/windows.c +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-internal-fiber-37.0.2 → wasmtime-internal-fiber-38.0.4}/src/windows.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/Cargo.toml.orig +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/README.md +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/build.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/gdbjit.c +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/gdb_jit_int.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/lib.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-internal-jit-debug-37.0.2 → wasmtime-internal-jit-debug-38.0.4}/src/perf_jitdump.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/Cargo.toml.orig +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/lib.rs +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/libc.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/miri.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-internal-jit-icache-coherence-37.0.2 → wasmtime-internal-jit-icache-coherence-38.0.4}/src/win.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-internal-math-37.0.2 → wasmtime-internal-math-38.0.4}/Cargo.toml.orig +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-internal-math-37.0.2 → wasmtime-internal-math-38.0.4}/src/lib.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-internal-slab-37.0.2 → wasmtime-internal-slab-38.0.4}/Cargo.toml.orig +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-internal-slab-37.0.2 → wasmtime-internal-slab-38.0.4}/src/lib.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/Cargo.toml.orig +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/LICENSE +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/README.md +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/build.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/aarch64.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/mod.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/riscv64.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/s390x.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/arch/x86.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/exception_table.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/lib.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-internal-unwinder-37.0.2 → wasmtime-internal-unwinder-38.0.4}/src/throw.rs +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-37.0.2 → wasmtime-internal-versioned-export-macros-38.0.4}/Cargo.toml.orig +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-internal-versioned-export-macros-37.0.2 → wasmtime-internal-versioned-export-macros-38.0.4}/src/lib.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/Cargo.toml.orig +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/LICENSE +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/src/builder.rs +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-internal-winch-37.0.2 → wasmtime-internal-winch-38.0.4}/src/lib.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/Cargo.toml.orig +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/rust.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/source.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-internal-wit-bindgen-37.0.2 → wasmtime-internal-wit-bindgen-38.0.4}/src/types.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/Cargo.toml.orig +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/LICENSE +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/README.md +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/empty.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/file.rs +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/locked_async.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/mem.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/stdout.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli/worker_thread_stdin.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/cli.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/clocks.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/ctx.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/error.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/filesystem.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p0.rs +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p1.rs +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/bindings.rs +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/filesystem.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/clocks.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/env.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/exit.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/filesystem/sync.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/filesystem.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/instance_network.rs +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/io.rs +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/mod.rs +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/network.rs +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/random.rs +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/tcp.rs +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/tcp_create_socket.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/udp.rs +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/host/udp_create_socket.rs +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/ip_name_lookup.rs +0 -0
  1861. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/mod.rs +0 -0
  1862. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/network.rs +0 -0
  1863. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/pipe.rs +0 -0
  1864. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/poll.rs +0 -0
  1865. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/stdio.rs +0 -0
  1866. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/tcp.rs +0 -0
  1867. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/udp.rs +0 -0
  1868. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/command.wit +0 -0
  1869. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/environment.wit +0 -0
  1870. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/exit.wit +0 -0
  1871. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/imports.wit +0 -0
  1872. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/run.wit +0 -0
  1873. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/stdio.wit +0 -0
  1874. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/cli/terminal.wit +0 -0
  1875. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/monotonic-clock.wit +0 -0
  1876. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/timezone.wit +0 -0
  1877. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/wall-clock.wit +0 -0
  1878. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/clocks/world.wit +0 -0
  1879. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/preopens.wit +0 -0
  1880. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/types.wit +0 -0
  1881. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/filesystem/world.wit +0 -0
  1882. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/error.wit +0 -0
  1883. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/poll.wit +0 -0
  1884. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/streams.wit +0 -0
  1885. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/io/world.wit +0 -0
  1886. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/insecure-seed.wit +0 -0
  1887. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/insecure.wit +0 -0
  1888. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/random.wit +0 -0
  1889. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/random/world.wit +0 -0
  1890. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/instance-network.wit +0 -0
  1891. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1892. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/network.wit +0 -0
  1893. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1894. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/tcp.wit +0 -0
  1895. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/udp-create-socket.wit +0 -0
  1896. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/udp.wit +0 -0
  1897. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/deps/sockets/world.wit +0 -0
  1898. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/test.wit +0 -0
  1899. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/wit/world.wit +0 -0
  1900. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p2/write_stream.rs +0 -0
  1901. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/bindings.rs +0 -0
  1902. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/cli/host.rs +0 -0
  1903. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/cli/mod.rs +0 -0
  1904. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/clocks/host.rs +0 -0
  1905. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/clocks/mod.rs +0 -0
  1906. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/filesystem/host.rs +0 -0
  1907. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/filesystem/mod.rs +0 -0
  1908. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/mod.rs +0 -0
  1909. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/random/host.rs +0 -0
  1910. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/random/mod.rs +0 -0
  1911. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/conv.rs +0 -0
  1912. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/ip_name_lookup.rs +0 -0
  1913. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/mod.rs +0 -0
  1914. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/mod.rs +0 -0
  1915. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/tcp.rs +0 -0
  1916. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/host/types/udp.rs +0 -0
  1917. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/sockets/mod.rs +0 -0
  1918. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/command.wit +0 -0
  1919. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/environment.wit +0 -0
  1920. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/exit.wit +0 -0
  1921. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/imports.wit +0 -0
  1922. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/run.wit +0 -0
  1923. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/stdio.wit +0 -0
  1924. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/cli/terminal.wit +0 -0
  1925. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/monotonic-clock.wit +0 -0
  1926. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/timezone.wit +0 -0
  1927. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/types.wit +0 -0
  1928. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/wall-clock.wit +0 -0
  1929. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/clocks/world.wit +0 -0
  1930. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/preopens.wit +0 -0
  1931. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/types.wit +0 -0
  1932. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/filesystem/world.wit +0 -0
  1933. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/insecure-seed.wit +0 -0
  1934. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/insecure.wit +0 -0
  1935. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/random.wit +0 -0
  1936. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/random/world.wit +0 -0
  1937. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1938. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/types.wit +0 -0
  1939. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/deps/sockets/world.wit +0 -0
  1940. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/p3/wit/package.wit +0 -0
  1941. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/random.rs +0 -0
  1942. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/runtime.rs +0 -0
  1943. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/mod.rs +0 -0
  1944. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/udp.rs +0 -0
  1945. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/src/sockets/util.rs +0 -0
  1946. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/main.rs +0 -0
  1947. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p1.rs +0 -0
  1948. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/api.rs +0 -0
  1949. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/async_.rs +0 -0
  1950. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/mod.rs +0 -0
  1951. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/all/p2/sync.rs +0 -0
  1952. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/tests/process_stdin.rs +0 -0
  1953. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p0/typenames.witx +0 -0
  1954. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p0/wasi_unstable.witx +0 -0
  1955. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p1/typenames.witx +0 -0
  1956. /data/ext/cargo-vendor/{wasmtime-wasi-37.0.2 → wasmtime-wasi-38.0.4}/witx/p1/wasi_snapshot_preview1.witx +0 -0
  1957. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/Cargo.toml.orig +0 -0
  1958. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/bindings.rs +0 -0
  1959. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/impls.rs +0 -0
  1960. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/lib.rs +0 -0
  1961. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/poll.rs +0 -0
  1962. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/src/streams.rs +0 -0
  1963. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/error.wit +0 -0
  1964. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/poll.wit +0 -0
  1965. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/streams.wit +0 -0
  1966. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/deps/io/world.wit +0 -0
  1967. /data/ext/cargo-vendor/{wasmtime-wasi-io-37.0.2 → wasmtime-wasi-io-38.0.4}/wit/world.wit +0 -0
  1968. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/Cargo.toml.orig +0 -0
  1969. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/LICENSE +0 -0
  1970. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/README.md +0 -0
  1971. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/error.rs +0 -0
  1972. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/guest_type.rs +0 -0
  1973. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/lib.rs +0 -0
  1974. /data/ext/cargo-vendor/{wiggle-37.0.2 → wiggle-38.0.4}/src/region.rs +0 -0
  1975. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/Cargo.toml.orig +0 -0
  1976. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/LICENSE +0 -0
  1977. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/README.md +0 -0
  1978. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/codegen_settings.rs +0 -0
  1979. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/config.rs +0 -0
  1980. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/funcs.rs +0 -0
  1981. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/lib.rs +0 -0
  1982. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/lifetimes.rs +0 -0
  1983. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/module_trait.rs +0 -0
  1984. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/names.rs +0 -0
  1985. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/error.rs +0 -0
  1986. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/flags.rs +0 -0
  1987. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/handle.rs +0 -0
  1988. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/mod.rs +0 -0
  1989. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/record.rs +0 -0
  1990. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/types/variant.rs +0 -0
  1991. /data/ext/cargo-vendor/{wiggle-generate-37.0.2 → wiggle-generate-38.0.4}/src/wasmtime.rs +0 -0
  1992. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/Cargo.toml.orig +0 -0
  1993. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/LICENSE +0 -0
  1994. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/build.rs +0 -0
  1995. /data/ext/cargo-vendor/{wiggle-macro-37.0.2 → wiggle-macro-38.0.4}/src/lib.rs +0 -0
  1996. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/Cargo.toml.orig +0 -0
  1997. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/LICENSE +0 -0
  1998. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/build.rs +0 -0
  1999. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/abi/local.rs +0 -0
  2000. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/abi/mod.rs +0 -0
  2001. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/bounds.rs +0 -0
  2002. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/builtin.rs +0 -0
  2003. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/call.rs +0 -0
  2004. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/context.rs +0 -0
  2005. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/control.rs +0 -0
  2006. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/error.rs +0 -0
  2007. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/mod.rs +0 -0
  2008. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/codegen/phase.rs +0 -0
  2009. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/constant_pool.rs +0 -0
  2010. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/frame/mod.rs +0 -0
  2011. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/abi.rs +0 -0
  2012. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/address.rs +0 -0
  2013. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/asm.rs +0 -0
  2014. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/masm.rs +0 -0
  2015. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/mod.rs +0 -0
  2016. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/aarch64/regs.rs +0 -0
  2017. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/mod.rs +0 -0
  2018. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/reg.rs +0 -0
  2019. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/abi.rs +0 -0
  2020. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/address.rs +0 -0
  2021. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/asm.rs +0 -0
  2022. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/masm.rs +0 -0
  2023. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/mod.rs +0 -0
  2024. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/isa/x64/regs.rs +0 -0
  2025. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/lib.rs +0 -0
  2026. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/masm.rs +0 -0
  2027. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/regalloc.rs +0 -0
  2028. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/regset.rs +0 -0
  2029. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/stack.rs +0 -0
  2030. /data/ext/cargo-vendor/{winch-codegen-37.0.2 → winch-codegen-38.0.4}/src/visitor.rs +0 -0
@@ -1,3792 +0,0 @@
1
- use crate::prelude::*;
2
- use alloc::sync::Arc;
3
- use bitflags::Flags;
4
- use core::fmt;
5
- use core::str::FromStr;
6
- #[cfg(any(feature = "cache", feature = "cranelift", feature = "winch"))]
7
- use std::path::Path;
8
- use wasmparser::WasmFeatures;
9
- use wasmtime_environ::{ConfigTunables, TripleExt, Tunables};
10
-
11
- #[cfg(feature = "runtime")]
12
- use crate::memory::MemoryCreator;
13
- #[cfg(feature = "runtime")]
14
- use crate::profiling_agent::{self, ProfilingAgent};
15
- #[cfg(feature = "runtime")]
16
- use crate::runtime::vm::{
17
- GcRuntime, InstanceAllocator, OnDemandInstanceAllocator, RuntimeMemoryCreator,
18
- };
19
- #[cfg(feature = "runtime")]
20
- use crate::trampoline::MemoryCreatorProxy;
21
-
22
- #[cfg(feature = "async")]
23
- use crate::stack::{StackCreator, StackCreatorProxy};
24
- #[cfg(feature = "async")]
25
- use wasmtime_fiber::RuntimeFiberStackCreator;
26
-
27
- #[cfg(feature = "runtime")]
28
- pub use crate::runtime::code_memory::CustomCodeMemory;
29
- #[cfg(feature = "cache")]
30
- pub use wasmtime_cache::{Cache, CacheConfig};
31
- #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
32
- pub use wasmtime_environ::CacheStore;
33
-
34
- /// Represents the module instance allocation strategy to use.
35
- #[derive(Clone)]
36
- #[non_exhaustive]
37
- pub enum InstanceAllocationStrategy {
38
- /// The on-demand instance allocation strategy.
39
- ///
40
- /// Resources related to a module instance are allocated at instantiation time and
41
- /// immediately deallocated when the `Store` referencing the instance is dropped.
42
- ///
43
- /// This is the default allocation strategy for Wasmtime.
44
- OnDemand,
45
- /// The pooling instance allocation strategy.
46
- ///
47
- /// A pool of resources is created in advance and module instantiation reuses resources
48
- /// from the pool. Resources are returned to the pool when the `Store` referencing the instance
49
- /// is dropped.
50
- #[cfg(feature = "pooling-allocator")]
51
- Pooling(PoolingAllocationConfig),
52
- }
53
-
54
- impl InstanceAllocationStrategy {
55
- /// The default pooling instance allocation strategy.
56
- #[cfg(feature = "pooling-allocator")]
57
- pub fn pooling() -> Self {
58
- Self::Pooling(Default::default())
59
- }
60
- }
61
-
62
- impl Default for InstanceAllocationStrategy {
63
- fn default() -> Self {
64
- Self::OnDemand
65
- }
66
- }
67
-
68
- #[cfg(feature = "pooling-allocator")]
69
- impl From<PoolingAllocationConfig> for InstanceAllocationStrategy {
70
- fn from(cfg: PoolingAllocationConfig) -> InstanceAllocationStrategy {
71
- InstanceAllocationStrategy::Pooling(cfg)
72
- }
73
- }
74
-
75
- #[derive(Clone)]
76
- /// Configure the strategy used for versioning in serializing and deserializing [`crate::Module`].
77
- pub enum ModuleVersionStrategy {
78
- /// Use the wasmtime crate's Cargo package version.
79
- WasmtimeVersion,
80
- /// Use a custom version string. Must be at most 255 bytes.
81
- Custom(String),
82
- /// Emit no version string in serialization, and accept all version strings in deserialization.
83
- None,
84
- }
85
-
86
- impl Default for ModuleVersionStrategy {
87
- fn default() -> Self {
88
- ModuleVersionStrategy::WasmtimeVersion
89
- }
90
- }
91
-
92
- impl core::hash::Hash for ModuleVersionStrategy {
93
- fn hash<H: core::hash::Hasher>(&self, hasher: &mut H) {
94
- match self {
95
- Self::WasmtimeVersion => env!("CARGO_PKG_VERSION").hash(hasher),
96
- Self::Custom(s) => s.hash(hasher),
97
- Self::None => {}
98
- };
99
- }
100
- }
101
-
102
- /// Global configuration options used to create an [`Engine`](crate::Engine)
103
- /// and customize its behavior.
104
- ///
105
- /// This structure exposed a builder-like interface and is primarily consumed by
106
- /// [`Engine::new()`](crate::Engine::new).
107
- ///
108
- /// The validation of `Config` is deferred until the engine is being built, thus
109
- /// a problematic config may cause `Engine::new` to fail.
110
- ///
111
- /// # Defaults
112
- ///
113
- /// The `Default` trait implementation and the return value from
114
- /// [`Config::new()`] are the same and represent the default set of
115
- /// configuration for an engine. The exact set of defaults will differ based on
116
- /// properties such as enabled Cargo features at compile time and the configured
117
- /// target (see [`Config::target`]). Configuration options document their
118
- /// default values and what the conditional value of the default is where
119
- /// applicable.
120
- #[derive(Clone)]
121
- pub struct Config {
122
- #[cfg(any(feature = "cranelift", feature = "winch"))]
123
- compiler_config: CompilerConfig,
124
- target: Option<target_lexicon::Triple>,
125
- #[cfg(feature = "gc")]
126
- collector: Collector,
127
- profiling_strategy: ProfilingStrategy,
128
- tunables: ConfigTunables,
129
-
130
- #[cfg(feature = "cache")]
131
- pub(crate) cache: Option<Cache>,
132
- #[cfg(feature = "runtime")]
133
- pub(crate) mem_creator: Option<Arc<dyn RuntimeMemoryCreator>>,
134
- #[cfg(feature = "runtime")]
135
- pub(crate) custom_code_memory: Option<Arc<dyn CustomCodeMemory>>,
136
- pub(crate) allocation_strategy: InstanceAllocationStrategy,
137
- pub(crate) max_wasm_stack: usize,
138
- /// Explicitly enabled features via `Config::wasm_*` methods. This is a
139
- /// signal that the embedder specifically wants something turned on
140
- /// regardless of the defaults that Wasmtime might otherwise have enabled.
141
- ///
142
- /// Note that this, and `disabled_features` below, start as the empty set of
143
- /// features to only track explicit user requests.
144
- pub(crate) enabled_features: WasmFeatures,
145
- /// Same as `enabled_features`, but for those that are explicitly disabled.
146
- pub(crate) disabled_features: WasmFeatures,
147
- pub(crate) wasm_backtrace: bool,
148
- pub(crate) wasm_backtrace_details_env_used: bool,
149
- pub(crate) native_unwind_info: Option<bool>,
150
- #[cfg(any(feature = "async", feature = "stack-switching"))]
151
- pub(crate) async_stack_size: usize,
152
- #[cfg(feature = "async")]
153
- pub(crate) async_stack_zeroing: bool,
154
- #[cfg(feature = "async")]
155
- pub(crate) stack_creator: Option<Arc<dyn RuntimeFiberStackCreator>>,
156
- pub(crate) async_support: bool,
157
- pub(crate) module_version: ModuleVersionStrategy,
158
- pub(crate) parallel_compilation: bool,
159
- pub(crate) memory_guaranteed_dense_image_size: u64,
160
- pub(crate) force_memory_init_memfd: bool,
161
- pub(crate) wmemcheck: bool,
162
- #[cfg(feature = "coredump")]
163
- pub(crate) coredump_on_trap: bool,
164
- pub(crate) macos_use_mach_ports: bool,
165
- pub(crate) detect_host_feature: Option<fn(&str) -> Option<bool>>,
166
- pub(crate) x86_float_abi_ok: Option<bool>,
167
- }
168
-
169
- /// User-provided configuration for the compiler.
170
- #[cfg(any(feature = "cranelift", feature = "winch"))]
171
- #[derive(Debug, Clone)]
172
- struct CompilerConfig {
173
- strategy: Option<Strategy>,
174
- settings: crate::hash_map::HashMap<String, String>,
175
- flags: crate::hash_set::HashSet<String>,
176
- #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
177
- cache_store: Option<Arc<dyn CacheStore>>,
178
- clif_dir: Option<std::path::PathBuf>,
179
- wmemcheck: bool,
180
- }
181
-
182
- #[cfg(any(feature = "cranelift", feature = "winch"))]
183
- impl CompilerConfig {
184
- fn new() -> Self {
185
- Self {
186
- strategy: Strategy::Auto.not_auto(),
187
- settings: Default::default(),
188
- flags: Default::default(),
189
- #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
190
- cache_store: None,
191
- clif_dir: None,
192
- wmemcheck: false,
193
- }
194
- }
195
-
196
- /// Ensures that the key is not set or equals to the given value.
197
- /// If the key is not set, it will be set to the given value.
198
- ///
199
- /// # Returns
200
- ///
201
- /// Returns true if successfully set or already had the given setting
202
- /// value, or false if the setting was explicitly set to something
203
- /// else previously.
204
- fn ensure_setting_unset_or_given(&mut self, k: &str, v: &str) -> bool {
205
- if let Some(value) = self.settings.get(k) {
206
- if value != v {
207
- return false;
208
- }
209
- } else {
210
- self.settings.insert(k.to_string(), v.to_string());
211
- }
212
- true
213
- }
214
- }
215
-
216
- #[cfg(any(feature = "cranelift", feature = "winch"))]
217
- impl Default for CompilerConfig {
218
- fn default() -> Self {
219
- Self::new()
220
- }
221
- }
222
-
223
- impl Config {
224
- /// Creates a new configuration object with the default configuration
225
- /// specified.
226
- pub fn new() -> Self {
227
- let mut ret = Self {
228
- tunables: ConfigTunables::default(),
229
- #[cfg(any(feature = "cranelift", feature = "winch"))]
230
- compiler_config: CompilerConfig::default(),
231
- target: None,
232
- #[cfg(feature = "gc")]
233
- collector: Collector::default(),
234
- #[cfg(feature = "cache")]
235
- cache: None,
236
- profiling_strategy: ProfilingStrategy::None,
237
- #[cfg(feature = "runtime")]
238
- mem_creator: None,
239
- #[cfg(feature = "runtime")]
240
- custom_code_memory: None,
241
- allocation_strategy: InstanceAllocationStrategy::OnDemand,
242
- // 512k of stack -- note that this is chosen currently to not be too
243
- // big, not be too small, and be a good default for most platforms.
244
- // One platform of particular note is Windows where the stack size
245
- // of the main thread seems to, by default, be smaller than that of
246
- // Linux and macOS. This 512k value at least lets our current test
247
- // suite pass on the main thread of Windows (using `--test-threads
248
- // 1` forces this), or at least it passed when this change was
249
- // committed.
250
- max_wasm_stack: 512 * 1024,
251
- wasm_backtrace: true,
252
- wasm_backtrace_details_env_used: false,
253
- native_unwind_info: None,
254
- enabled_features: WasmFeatures::empty(),
255
- disabled_features: WasmFeatures::empty(),
256
- #[cfg(any(feature = "async", feature = "stack-switching"))]
257
- async_stack_size: 2 << 20,
258
- #[cfg(feature = "async")]
259
- async_stack_zeroing: false,
260
- #[cfg(feature = "async")]
261
- stack_creator: None,
262
- async_support: false,
263
- module_version: ModuleVersionStrategy::default(),
264
- parallel_compilation: !cfg!(miri),
265
- memory_guaranteed_dense_image_size: 16 << 20,
266
- force_memory_init_memfd: false,
267
- wmemcheck: false,
268
- #[cfg(feature = "coredump")]
269
- coredump_on_trap: false,
270
- macos_use_mach_ports: !cfg!(miri),
271
- #[cfg(feature = "std")]
272
- detect_host_feature: Some(detect_host_feature),
273
- #[cfg(not(feature = "std"))]
274
- detect_host_feature: None,
275
- x86_float_abi_ok: None,
276
- };
277
- #[cfg(any(feature = "cranelift", feature = "winch"))]
278
- {
279
- ret.cranelift_debug_verifier(false);
280
- ret.cranelift_opt_level(OptLevel::Speed);
281
-
282
- // When running under MIRI try to optimize for compile time of wasm
283
- // code itself as much as possible. Disable optimizations by
284
- // default and use the fastest regalloc available to us.
285
- if cfg!(miri) {
286
- ret.cranelift_opt_level(OptLevel::None);
287
- ret.cranelift_regalloc_algorithm(RegallocAlgorithm::SinglePass);
288
- }
289
- }
290
-
291
- ret.wasm_backtrace_details(WasmBacktraceDetails::Environment);
292
-
293
- ret
294
- }
295
-
296
- /// Configures the target platform of this [`Config`].
297
- ///
298
- /// This method is used to configure the output of compilation in an
299
- /// [`Engine`](crate::Engine). This can be used, for example, to
300
- /// cross-compile from one platform to another. By default, the host target
301
- /// triple is used meaning compiled code is suitable to run on the host.
302
- ///
303
- /// Note that the [`Module`](crate::Module) type can only be created if the
304
- /// target configured here matches the host. Otherwise if a cross-compile is
305
- /// being performed where the host doesn't match the target then
306
- /// [`Engine::precompile_module`](crate::Engine::precompile_module) must be
307
- /// used instead.
308
- ///
309
- /// Target-specific flags (such as CPU features) will not be inferred by
310
- /// default for the target when one is provided here. This means that this
311
- /// can also be used, for example, with the host architecture to disable all
312
- /// host-inferred feature flags. Configuring target-specific flags can be
313
- /// done with [`Config::cranelift_flag_set`] and
314
- /// [`Config::cranelift_flag_enable`].
315
- ///
316
- /// # Errors
317
- ///
318
- /// This method will error if the given target triple is not supported.
319
- pub fn target(&mut self, target: &str) -> Result<&mut Self> {
320
- self.target =
321
- Some(target_lexicon::Triple::from_str(target).map_err(|e| anyhow::anyhow!(e))?);
322
-
323
- Ok(self)
324
- }
325
-
326
- /// Enables the incremental compilation cache in Cranelift, using the provided `CacheStore`
327
- /// backend for storage.
328
- #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
329
- pub fn enable_incremental_compilation(
330
- &mut self,
331
- cache_store: Arc<dyn CacheStore>,
332
- ) -> Result<&mut Self> {
333
- self.compiler_config.cache_store = Some(cache_store);
334
- Ok(self)
335
- }
336
-
337
- /// Whether or not to enable support for asynchronous functions in Wasmtime.
338
- ///
339
- /// When enabled, the config can optionally define host functions with `async`.
340
- /// Instances created and functions called with this `Config` *must* be called
341
- /// through their asynchronous APIs, however. For example using
342
- /// [`Func::call`](crate::Func::call) will panic when used with this config.
343
- ///
344
- /// # Asynchronous Wasm
345
- ///
346
- /// WebAssembly does not currently have a way to specify at the bytecode
347
- /// level what is and isn't async. Host-defined functions, however, may be
348
- /// defined as `async`. WebAssembly imports always appear synchronous, which
349
- /// gives rise to a bit of an impedance mismatch here. To solve this
350
- /// Wasmtime supports "asynchronous configs" which enables calling these
351
- /// asynchronous functions in a way that looks synchronous to the executing
352
- /// WebAssembly code.
353
- ///
354
- /// An asynchronous config must always invoke wasm code asynchronously,
355
- /// meaning we'll always represent its computation as a
356
- /// [`Future`](std::future::Future). The `poll` method of the futures
357
- /// returned by Wasmtime will perform the actual work of calling the
358
- /// WebAssembly. Wasmtime won't manage its own thread pools or similar,
359
- /// that's left up to the embedder.
360
- ///
361
- /// To implement futures in a way that WebAssembly sees asynchronous host
362
- /// functions as synchronous, all async Wasmtime futures will execute on a
363
- /// separately allocated native stack from the thread otherwise executing
364
- /// Wasmtime. This separate native stack can then be switched to and from.
365
- /// Using this whenever an `async` host function returns a future that
366
- /// resolves to `Pending` we switch away from the temporary stack back to
367
- /// the main stack and propagate the `Pending` status.
368
- ///
369
- /// In general it's encouraged that the integration with `async` and
370
- /// wasmtime is designed early on in your embedding of Wasmtime to ensure
371
- /// that it's planned that WebAssembly executes in the right context of your
372
- /// application.
373
- ///
374
- /// # Execution in `poll`
375
- ///
376
- /// The [`Future::poll`](std::future::Future::poll) method is the main
377
- /// driving force behind Rust's futures. That method's own documentation
378
- /// states "an implementation of `poll` should strive to return quickly, and
379
- /// should not block". This, however, can be at odds with executing
380
- /// WebAssembly code as part of the `poll` method itself. If your
381
- /// WebAssembly is untrusted then this could allow the `poll` method to take
382
- /// arbitrarily long in the worst case, likely blocking all other
383
- /// asynchronous tasks.
384
- ///
385
- /// To remedy this situation you have a few possible ways to solve this:
386
- ///
387
- /// * The most efficient solution is to enable
388
- /// [`Config::epoch_interruption`] in conjunction with
389
- /// [`crate::Store::epoch_deadline_async_yield_and_update`]. Coupled with
390
- /// periodic calls to [`crate::Engine::increment_epoch`] this will cause
391
- /// executing WebAssembly to periodically yield back according to the
392
- /// epoch configuration settings. This enables `Future::poll` to take at
393
- /// most a certain amount of time according to epoch configuration
394
- /// settings and when increments happen. The benefit of this approach is
395
- /// that the instrumentation in compiled code is quite lightweight, but a
396
- /// downside can be that the scheduling is somewhat nondeterministic since
397
- /// increments are usually timer-based which are not always deterministic.
398
- ///
399
- /// Note that to prevent infinite execution of wasm it's recommended to
400
- /// place a timeout on the entire future representing executing wasm code
401
- /// and the periodic yields with epochs should ensure that when the
402
- /// timeout is reached it's appropriately recognized.
403
- ///
404
- /// * Alternatively you can enable the
405
- /// [`Config::consume_fuel`](crate::Config::consume_fuel) method as well
406
- /// as [`crate::Store::fuel_async_yield_interval`] When doing so this will
407
- /// configure Wasmtime futures to yield periodically while they're
408
- /// executing WebAssembly code. After consuming the specified amount of
409
- /// fuel wasm futures will return `Poll::Pending` from their `poll`
410
- /// method, and will get automatically re-polled later. This enables the
411
- /// `Future::poll` method to take roughly a fixed amount of time since
412
- /// fuel is guaranteed to get consumed while wasm is executing. Unlike
413
- /// epoch-based preemption this is deterministic since wasm always
414
- /// consumes a fixed amount of fuel per-operation. The downside of this
415
- /// approach, however, is that the compiled code instrumentation is
416
- /// significantly more expensive than epoch checks.
417
- ///
418
- /// Note that to prevent infinite execution of wasm it's recommended to
419
- /// place a timeout on the entire future representing executing wasm code
420
- /// and the periodic yields with epochs should ensure that when the
421
- /// timeout is reached it's appropriately recognized.
422
- ///
423
- /// In all cases special care needs to be taken when integrating
424
- /// asynchronous wasm into your application. You should carefully plan where
425
- /// WebAssembly will execute and what compute resources will be allotted to
426
- /// it. If Wasmtime doesn't support exactly what you'd like just yet, please
427
- /// feel free to open an issue!
428
- #[cfg(feature = "async")]
429
- pub fn async_support(&mut self, enable: bool) -> &mut Self {
430
- self.async_support = enable;
431
- self
432
- }
433
-
434
- /// Configures whether DWARF debug information will be emitted during
435
- /// compilation.
436
- ///
437
- /// Note that the `debug-builtins` compile-time Cargo feature must also be
438
- /// enabled for native debuggers such as GDB or LLDB to be able to debug
439
- /// guest WebAssembly programs.
440
- ///
441
- /// By default this option is `false`.
442
- /// **Note** Enabling this option is not compatible with the Winch compiler.
443
- pub fn debug_info(&mut self, enable: bool) -> &mut Self {
444
- self.tunables.generate_native_debuginfo = Some(enable);
445
- self
446
- }
447
-
448
- /// Configures whether [`WasmBacktrace`] will be present in the context of
449
- /// errors returned from Wasmtime.
450
- ///
451
- /// A backtrace may be collected whenever an error is returned from a host
452
- /// function call through to WebAssembly or when WebAssembly itself hits a
453
- /// trap condition, such as an out-of-bounds memory access. This flag
454
- /// indicates, in these conditions, whether the backtrace is collected or
455
- /// not.
456
- ///
457
- /// Currently wasm backtraces are implemented through frame pointer walking.
458
- /// This means that collecting a backtrace is expected to be a fast and
459
- /// relatively cheap operation. Additionally backtrace collection is
460
- /// suitable in concurrent environments since one thread capturing a
461
- /// backtrace won't block other threads.
462
- ///
463
- /// Collected backtraces are attached via [`anyhow::Error::context`] to
464
- /// errors returned from host functions. The [`WasmBacktrace`] type can be
465
- /// acquired via [`anyhow::Error::downcast_ref`] to inspect the backtrace.
466
- /// When this option is disabled then this context is never applied to
467
- /// errors coming out of wasm.
468
- ///
469
- /// This option is `true` by default.
470
- ///
471
- /// [`WasmBacktrace`]: crate::WasmBacktrace
472
- pub fn wasm_backtrace(&mut self, enable: bool) -> &mut Self {
473
- self.wasm_backtrace = enable;
474
- self
475
- }
476
-
477
- /// Configures whether backtraces in `Trap` will parse debug info in the wasm file to
478
- /// have filename/line number information.
479
- ///
480
- /// When enabled this will causes modules to retain debugging information
481
- /// found in wasm binaries. This debug information will be used when a trap
482
- /// happens to symbolicate each stack frame and attempt to print a
483
- /// filename/line number for each wasm frame in the stack trace.
484
- ///
485
- /// By default this option is `WasmBacktraceDetails::Environment`, meaning
486
- /// that wasm will read `WASMTIME_BACKTRACE_DETAILS` to indicate whether
487
- /// details should be parsed. Note that the `std` feature of this crate must
488
- /// be active to read environment variables, otherwise this is disabled by
489
- /// default.
490
- pub fn wasm_backtrace_details(&mut self, enable: WasmBacktraceDetails) -> &mut Self {
491
- self.wasm_backtrace_details_env_used = false;
492
- self.tunables.parse_wasm_debuginfo = match enable {
493
- WasmBacktraceDetails::Enable => Some(true),
494
- WasmBacktraceDetails::Disable => Some(false),
495
- WasmBacktraceDetails::Environment => {
496
- #[cfg(feature = "std")]
497
- {
498
- self.wasm_backtrace_details_env_used = true;
499
- std::env::var("WASMTIME_BACKTRACE_DETAILS")
500
- .map(|s| Some(s == "1"))
501
- .unwrap_or(Some(false))
502
- }
503
- #[cfg(not(feature = "std"))]
504
- {
505
- Some(false)
506
- }
507
- }
508
- };
509
- self
510
- }
511
-
512
- /// Configures whether to generate native unwind information
513
- /// (e.g. `.eh_frame` on Linux).
514
- ///
515
- /// This configuration option only exists to help third-party stack
516
- /// capturing mechanisms, such as the system's unwinder or the `backtrace`
517
- /// crate, determine how to unwind through Wasm frames. It does not affect
518
- /// whether Wasmtime can capture Wasm backtraces or not. The presence of
519
- /// [`WasmBacktrace`] is controlled by the [`Config::wasm_backtrace`]
520
- /// option.
521
- ///
522
- /// Native unwind information is included:
523
- /// - When targeting Windows, since the Windows ABI requires it.
524
- /// - By default.
525
- ///
526
- /// Note that systems loading many modules may wish to disable this
527
- /// configuration option instead of leaving it on-by-default. Some platforms
528
- /// exhibit quadratic behavior when registering/unregistering unwinding
529
- /// information which can greatly slow down the module loading/unloading
530
- /// process.
531
- ///
532
- /// [`WasmBacktrace`]: crate::WasmBacktrace
533
- pub fn native_unwind_info(&mut self, enable: bool) -> &mut Self {
534
- self.native_unwind_info = Some(enable);
535
- self
536
- }
537
-
538
- /// Configures whether execution of WebAssembly will "consume fuel" to
539
- /// either halt or yield execution as desired.
540
- ///
541
- /// This can be used to deterministically prevent infinitely-executing
542
- /// WebAssembly code by instrumenting generated code to consume fuel as it
543
- /// executes. When fuel runs out a trap is raised, however [`Store`] can be
544
- /// configured to yield execution periodically via
545
- /// [`crate::Store::fuel_async_yield_interval`].
546
- ///
547
- /// Note that a [`Store`] starts with no fuel, so if you enable this option
548
- /// you'll have to be sure to pour some fuel into [`Store`] before
549
- /// executing some code.
550
- ///
551
- /// By default this option is `false`.
552
- ///
553
- /// **Note** Enabling this option is not compatible with the Winch compiler.
554
- ///
555
- /// [`Store`]: crate::Store
556
- pub fn consume_fuel(&mut self, enable: bool) -> &mut Self {
557
- self.tunables.consume_fuel = Some(enable);
558
- self
559
- }
560
-
561
- /// Enables epoch-based interruption.
562
- ///
563
- /// When executing code in async mode, we sometimes want to
564
- /// implement a form of cooperative timeslicing: long-running Wasm
565
- /// guest code should periodically yield to the executor
566
- /// loop. This yielding could be implemented by using "fuel" (see
567
- /// [`consume_fuel`](Config::consume_fuel)). However, fuel
568
- /// instrumentation is somewhat expensive: it modifies the
569
- /// compiled form of the Wasm code so that it maintains a precise
570
- /// instruction count, frequently checking this count against the
571
- /// remaining fuel. If one does not need this precise count or
572
- /// deterministic interruptions, and only needs a periodic
573
- /// interrupt of some form, then It would be better to have a more
574
- /// lightweight mechanism.
575
- ///
576
- /// Epoch-based interruption is that mechanism. There is a global
577
- /// "epoch", which is a counter that divides time into arbitrary
578
- /// periods (or epochs). This counter lives on the
579
- /// [`Engine`](crate::Engine) and can be incremented by calling
580
- /// [`Engine::increment_epoch`](crate::Engine::increment_epoch).
581
- /// Epoch-based instrumentation works by setting a "deadline
582
- /// epoch". The compiled code knows the deadline, and at certain
583
- /// points, checks the current epoch against that deadline. It
584
- /// will yield if the deadline has been reached.
585
- ///
586
- /// The idea is that checking an infrequently-changing counter is
587
- /// cheaper than counting and frequently storing a precise metric
588
- /// (instructions executed) locally. The interruptions are not
589
- /// deterministic, but if the embedder increments the epoch in a
590
- /// periodic way (say, every regular timer tick by a thread or
591
- /// signal handler), then we can ensure that all async code will
592
- /// yield to the executor within a bounded time.
593
- ///
594
- /// The deadline check cannot be avoided by malicious wasm code. It is safe
595
- /// to use epoch deadlines to limit the execution time of untrusted
596
- /// code.
597
- ///
598
- /// The [`Store`](crate::Store) tracks the deadline, and controls
599
- /// what happens when the deadline is reached during
600
- /// execution. Several behaviors are possible:
601
- ///
602
- /// - Trap if code is executing when the epoch deadline is
603
- /// met. See
604
- /// [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap).
605
- ///
606
- /// - Call an arbitrary function. This function may chose to trap or
607
- /// increment the epoch. See
608
- /// [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback).
609
- ///
610
- /// - Yield to the executor loop, then resume when the future is
611
- /// next polled. See
612
- /// [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update).
613
- ///
614
- /// Trapping is the default. The yielding behaviour may be used for
615
- /// the timeslicing behavior described above.
616
- ///
617
- /// This feature is available with or without async support.
618
- /// However, without async support, the timeslicing behaviour is
619
- /// not available. This means epoch-based interruption can only
620
- /// serve as a simple external-interruption mechanism.
621
- ///
622
- /// An initial deadline must be set before executing code by calling
623
- /// [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline). If this
624
- /// deadline is not configured then wasm will immediately trap.
625
- ///
626
- /// ## Interaction with blocking host calls
627
- ///
628
- /// Epochs (and fuel) do not assist in handling WebAssembly code blocked in
629
- /// a call to the host. For example if the WebAssembly function calls
630
- /// `wasi:io/poll/poll` to sleep epochs will not assist in waking this up or
631
- /// timing it out. Epochs intentionally only affect running WebAssembly code
632
- /// itself and it's left to the embedder to determine how best to wake up
633
- /// indefinitely blocking code in the host.
634
- ///
635
- /// The typical solution for this, however, is to use
636
- /// [`Config::async_support(true)`](Config::async_support) and the `async`
637
- /// variant of WASI host functions. This models computation as a Rust
638
- /// `Future` which means that when blocking happens the future is only
639
- /// suspended and control yields back to the main event loop. This gives the
640
- /// embedder the opportunity to use `tokio::time::timeout` for example on a
641
- /// wasm computation and have the desired effect of cancelling a blocking
642
- /// operation when a timeout expires.
643
- ///
644
- /// ## When to use fuel vs. epochs
645
- ///
646
- /// In general, epoch-based interruption results in faster
647
- /// execution. This difference is sometimes significant: in some
648
- /// measurements, up to 2-3x. This is because epoch-based
649
- /// interruption does less work: it only watches for a global
650
- /// rarely-changing counter to increment, rather than keeping a
651
- /// local frequently-changing counter and comparing it to a
652
- /// deadline.
653
- ///
654
- /// Fuel, in contrast, should be used when *deterministic*
655
- /// yielding or trapping is needed. For example, if it is required
656
- /// that the same function call with the same starting state will
657
- /// always either complete or trap with an out-of-fuel error,
658
- /// deterministically, then fuel with a fixed bound should be
659
- /// used.
660
- ///
661
- /// **Note** Enabling this option is not compatible with the Winch compiler.
662
- ///
663
- /// # See Also
664
- ///
665
- /// - [`Engine::increment_epoch`](crate::Engine::increment_epoch)
666
- /// - [`Store::set_epoch_deadline`](crate::Store::set_epoch_deadline)
667
- /// - [`Store::epoch_deadline_trap`](crate::Store::epoch_deadline_trap)
668
- /// - [`Store::epoch_deadline_callback`](crate::Store::epoch_deadline_callback)
669
- /// - [`Store::epoch_deadline_async_yield_and_update`](crate::Store::epoch_deadline_async_yield_and_update)
670
- pub fn epoch_interruption(&mut self, enable: bool) -> &mut Self {
671
- self.tunables.epoch_interruption = Some(enable);
672
- self
673
- }
674
-
675
- /// Configures the maximum amount of stack space available for
676
- /// executing WebAssembly code.
677
- ///
678
- /// WebAssembly has well-defined semantics on stack overflow. This is
679
- /// intended to be a knob which can help configure how much stack space
680
- /// wasm execution is allowed to consume. Note that the number here is not
681
- /// super-precise, but rather wasm will take at most "pretty close to this
682
- /// much" stack space.
683
- ///
684
- /// If a wasm call (or series of nested wasm calls) take more stack space
685
- /// than the `size` specified then a stack overflow trap will be raised.
686
- ///
687
- /// Caveat: this knob only limits the stack space consumed by wasm code.
688
- /// More importantly, it does not ensure that this much stack space is
689
- /// available on the calling thread stack. Exhausting the thread stack
690
- /// typically leads to an **abort** of the process.
691
- ///
692
- /// Here are some examples of how that could happen:
693
- ///
694
- /// - Let's assume this option is set to 2 MiB and then a thread that has
695
- /// a stack with 512 KiB left.
696
- ///
697
- /// If wasm code consumes more than 512 KiB then the process will be aborted.
698
- ///
699
- /// - Assuming the same conditions, but this time wasm code does not consume
700
- /// any stack but calls into a host function. The host function consumes
701
- /// more than 512 KiB of stack space. The process will be aborted.
702
- ///
703
- /// There's another gotcha related to recursive calling into wasm: the stack
704
- /// space consumed by a host function is counted towards this limit. The
705
- /// host functions are not prevented from consuming more than this limit.
706
- /// However, if the host function that used more than this limit and called
707
- /// back into wasm, then the execution will trap immediately because of
708
- /// stack overflow.
709
- ///
710
- /// When the `async` feature is enabled, this value cannot exceed the
711
- /// `async_stack_size` option. Be careful not to set this value too close
712
- /// to `async_stack_size` as doing so may limit how much stack space
713
- /// is available for host functions.
714
- ///
715
- /// By default this option is 512 KiB.
716
- ///
717
- /// # Errors
718
- ///
719
- /// The `Engine::new` method will fail if the `size` specified here is
720
- /// either 0 or larger than the [`Config::async_stack_size`] configuration.
721
- pub fn max_wasm_stack(&mut self, size: usize) -> &mut Self {
722
- self.max_wasm_stack = size;
723
- self
724
- }
725
-
726
- /// Configures the size of the stacks used for asynchronous execution.
727
- ///
728
- /// This setting configures the size of the stacks that are allocated for
729
- /// asynchronous execution. The value cannot be less than `max_wasm_stack`.
730
- ///
731
- /// The amount of stack space guaranteed for host functions is
732
- /// `async_stack_size - max_wasm_stack`, so take care not to set these two values
733
- /// close to one another; doing so may cause host functions to overflow the
734
- /// stack and abort the process.
735
- ///
736
- /// By default this option is 2 MiB.
737
- ///
738
- /// # Errors
739
- ///
740
- /// The `Engine::new` method will fail if the value for this option is
741
- /// smaller than the [`Config::max_wasm_stack`] option.
742
- #[cfg(any(feature = "async", feature = "stack-switching"))]
743
- pub fn async_stack_size(&mut self, size: usize) -> &mut Self {
744
- self.async_stack_size = size;
745
- self
746
- }
747
-
748
- /// Configures whether or not stacks used for async futures are zeroed
749
- /// before (re)use.
750
- ///
751
- /// When the [`async_support`](Config::async_support) method is enabled for
752
- /// Wasmtime and the [`call_async`] variant of calling WebAssembly is used
753
- /// then Wasmtime will create a separate runtime execution stack for each
754
- /// future produced by [`call_async`]. By default upon allocation, depending
755
- /// on the platform, these stacks might be filled with uninitialized
756
- /// memory. This is safe and correct because, modulo bugs in Wasmtime,
757
- /// compiled Wasm code will never read from a stack slot before it
758
- /// initializes the stack slot.
759
- ///
760
- /// However, as a defense-in-depth mechanism, you may configure Wasmtime to
761
- /// ensure that these stacks are zeroed before they are used. Notably, if
762
- /// you are using the pooling allocator, stacks can be pooled and reused
763
- /// across different Wasm guests; ensuring that stacks are zeroed can
764
- /// prevent data leakage between Wasm guests even in the face of potential
765
- /// read-of-stack-slot-before-initialization bugs in Wasmtime's compiler.
766
- ///
767
- /// Stack zeroing can be a costly operation in highly concurrent
768
- /// environments due to modifications of the virtual address space requiring
769
- /// process-wide synchronization. It can also be costly in `no-std`
770
- /// environments that must manually zero memory, and cannot rely on an OS
771
- /// and virtual memory to provide zeroed pages.
772
- ///
773
- /// This option defaults to `false`.
774
- ///
775
- /// [`call_async`]: crate::TypedFunc::call_async
776
- #[cfg(feature = "async")]
777
- pub fn async_stack_zeroing(&mut self, enable: bool) -> &mut Self {
778
- self.async_stack_zeroing = enable;
779
- self
780
- }
781
-
782
- fn wasm_feature(&mut self, flag: WasmFeatures, enable: bool) -> &mut Self {
783
- self.enabled_features.set(flag, enable);
784
- self.disabled_features.set(flag, !enable);
785
- self
786
- }
787
-
788
- /// Configures whether the WebAssembly tail calls proposal will be enabled
789
- /// for compilation or not.
790
- ///
791
- /// The [WebAssembly tail calls proposal] introduces the `return_call` and
792
- /// `return_call_indirect` instructions. These instructions allow for Wasm
793
- /// programs to implement some recursive algorithms with *O(1)* stack space
794
- /// usage.
795
- ///
796
- /// This is `true` by default except when the Winch compiler is enabled.
797
- ///
798
- /// [WebAssembly tail calls proposal]: https://github.com/WebAssembly/tail-call
799
- pub fn wasm_tail_call(&mut self, enable: bool) -> &mut Self {
800
- self.wasm_feature(WasmFeatures::TAIL_CALL, enable);
801
- self
802
- }
803
-
804
- /// Configures whether the WebAssembly custom-page-sizes proposal will be
805
- /// enabled for compilation or not.
806
- ///
807
- /// The [WebAssembly custom-page-sizes proposal] allows a memory to
808
- /// customize its page sizes. By default, Wasm page sizes are 64KiB
809
- /// large. This proposal allows the memory to opt into smaller page sizes
810
- /// instead, allowing Wasm to run in environments with less than 64KiB RAM
811
- /// available, for example.
812
- ///
813
- /// Note that the page size is part of the memory's type, and because
814
- /// different memories may have different types, they may also have
815
- /// different page sizes.
816
- ///
817
- /// Currently the only valid page sizes are 64KiB (the default) and 1
818
- /// byte. Future extensions may relax this constraint and allow all powers
819
- /// of two.
820
- ///
821
- /// Support for this proposal is disabled by default.
822
- ///
823
- /// [WebAssembly custom-page-sizes proposal]: https://github.com/WebAssembly/custom-page-sizes
824
- pub fn wasm_custom_page_sizes(&mut self, enable: bool) -> &mut Self {
825
- self.wasm_feature(WasmFeatures::CUSTOM_PAGE_SIZES, enable);
826
- self
827
- }
828
-
829
- /// Configures whether the WebAssembly [threads] proposal will be enabled
830
- /// for compilation.
831
- ///
832
- /// This feature gates items such as shared memories and atomic
833
- /// instructions. Note that the threads feature depends on the bulk memory
834
- /// feature, which is enabled by default. Additionally note that while the
835
- /// wasm feature is called "threads" it does not actually include the
836
- /// ability to spawn threads. Spawning threads is part of the [wasi-threads]
837
- /// proposal which is a separately gated feature in Wasmtime.
838
- ///
839
- /// Embeddings of Wasmtime are able to build their own custom threading
840
- /// scheme on top of the core wasm threads proposal, however.
841
- ///
842
- /// The default value for this option is whether the `threads`
843
- /// crate feature of Wasmtime is enabled or not. By default this crate
844
- /// feature is enabled.
845
- ///
846
- /// [threads]: https://github.com/webassembly/threads
847
- /// [wasi-threads]: https://github.com/webassembly/wasi-threads
848
- #[cfg(feature = "threads")]
849
- pub fn wasm_threads(&mut self, enable: bool) -> &mut Self {
850
- self.wasm_feature(WasmFeatures::THREADS, enable);
851
- self
852
- }
853
-
854
- /// Configures whether the WebAssembly [shared-everything-threads] proposal
855
- /// will be enabled for compilation.
856
- ///
857
- /// This feature gates extended use of the `shared` attribute on items other
858
- /// than memories, extra atomic instructions, and new component model
859
- /// intrinsics for spawning threads. It depends on the
860
- /// [`wasm_threads`][Self::wasm_threads] being enabled.
861
- ///
862
- /// [shared-everything-threads]:
863
- /// https://github.com/webassembly/shared-everything-threads
864
- pub fn wasm_shared_everything_threads(&mut self, enable: bool) -> &mut Self {
865
- self.wasm_feature(WasmFeatures::SHARED_EVERYTHING_THREADS, enable);
866
- self
867
- }
868
-
869
- /// Configures whether the [WebAssembly reference types proposal][proposal]
870
- /// will be enabled for compilation.
871
- ///
872
- /// This feature gates items such as the `externref` and `funcref` types as
873
- /// well as allowing a module to define multiple tables.
874
- ///
875
- /// Note that the reference types proposal depends on the bulk memory proposal.
876
- ///
877
- /// This feature is `true` by default.
878
- ///
879
- /// # Errors
880
- ///
881
- /// The validation of this feature are deferred until the engine is being built,
882
- /// and thus may cause `Engine::new` fail if the `bulk_memory` feature is disabled.
883
- ///
884
- /// [proposal]: https://github.com/webassembly/reference-types
885
- #[cfg(feature = "gc")]
886
- pub fn wasm_reference_types(&mut self, enable: bool) -> &mut Self {
887
- self.wasm_feature(WasmFeatures::REFERENCE_TYPES, enable);
888
- self
889
- }
890
-
891
- /// Configures whether the [WebAssembly function references
892
- /// proposal][proposal] will be enabled for compilation.
893
- ///
894
- /// This feature gates non-nullable reference types, function reference
895
- /// types, `call_ref`, `ref.func`, and non-nullable reference related
896
- /// instructions.
897
- ///
898
- /// Note that the function references proposal depends on the reference
899
- /// types proposal.
900
- ///
901
- /// This feature is `false` by default.
902
- ///
903
- /// [proposal]: https://github.com/WebAssembly/function-references
904
- #[cfg(feature = "gc")]
905
- pub fn wasm_function_references(&mut self, enable: bool) -> &mut Self {
906
- self.wasm_feature(WasmFeatures::FUNCTION_REFERENCES, enable);
907
- self
908
- }
909
-
910
- /// Configures whether the [WebAssembly wide-arithmetic][proposal] will be
911
- /// enabled for compilation.
912
- ///
913
- /// This feature is `false` by default.
914
- ///
915
- /// [proposal]: https://github.com/WebAssembly/wide-arithmetic
916
- pub fn wasm_wide_arithmetic(&mut self, enable: bool) -> &mut Self {
917
- self.wasm_feature(WasmFeatures::WIDE_ARITHMETIC, enable);
918
- self
919
- }
920
-
921
- /// Configures whether the [WebAssembly Garbage Collection
922
- /// proposal][proposal] will be enabled for compilation.
923
- ///
924
- /// This feature gates `struct` and `array` type definitions and references,
925
- /// the `i31ref` type, and all related instructions.
926
- ///
927
- /// Note that the function references proposal depends on the typed function
928
- /// references proposal.
929
- ///
930
- /// This feature is `false` by default.
931
- ///
932
- /// **Warning: Wasmtime's implementation of the GC proposal is still in
933
- /// progress and generally not ready for primetime.**
934
- ///
935
- /// [proposal]: https://github.com/WebAssembly/gc
936
- #[cfg(feature = "gc")]
937
- pub fn wasm_gc(&mut self, enable: bool) -> &mut Self {
938
- self.wasm_feature(WasmFeatures::GC, enable);
939
- self
940
- }
941
-
942
- /// Configures whether the WebAssembly SIMD proposal will be
943
- /// enabled for compilation.
944
- ///
945
- /// The [WebAssembly SIMD proposal][proposal]. This feature gates items such
946
- /// as the `v128` type and all of its operators being in a module. Note that
947
- /// this does not enable the [relaxed simd proposal].
948
- ///
949
- /// **Note**
950
- ///
951
- /// On x86_64 platforms the base CPU feature requirement for SIMD
952
- /// is SSE2 for the Cranelift compiler and AVX for the Winch compiler.
953
- ///
954
- /// This is `true` by default.
955
- ///
956
- /// [proposal]: https://github.com/webassembly/simd
957
- /// [relaxed simd proposal]: https://github.com/WebAssembly/relaxed-simd
958
- pub fn wasm_simd(&mut self, enable: bool) -> &mut Self {
959
- self.wasm_feature(WasmFeatures::SIMD, enable);
960
- self
961
- }
962
-
963
- /// Configures whether the WebAssembly Relaxed SIMD proposal will be
964
- /// enabled for compilation.
965
- ///
966
- /// The relaxed SIMD proposal adds new instructions to WebAssembly which,
967
- /// for some specific inputs, are allowed to produce different results on
968
- /// different hosts. More-or-less this proposal enables exposing
969
- /// platform-specific semantics of SIMD instructions in a controlled
970
- /// fashion to a WebAssembly program. From an embedder's perspective this
971
- /// means that WebAssembly programs may execute differently depending on
972
- /// whether the host is x86_64 or AArch64, for example.
973
- ///
974
- /// By default Wasmtime lowers relaxed SIMD instructions to the fastest
975
- /// lowering for the platform it's running on. This means that, by default,
976
- /// some relaxed SIMD instructions may have different results for the same
977
- /// inputs across x86_64 and AArch64. This behavior can be disabled through
978
- /// the [`Config::relaxed_simd_deterministic`] option which will force
979
- /// deterministic behavior across all platforms, as classified by the
980
- /// specification, at the cost of performance.
981
- ///
982
- /// This is `true` by default.
983
- ///
984
- /// [proposal]: https://github.com/webassembly/relaxed-simd
985
- pub fn wasm_relaxed_simd(&mut self, enable: bool) -> &mut Self {
986
- self.wasm_feature(WasmFeatures::RELAXED_SIMD, enable);
987
- self
988
- }
989
-
990
- /// This option can be used to control the behavior of the [relaxed SIMD
991
- /// proposal's][proposal] instructions.
992
- ///
993
- /// The relaxed SIMD proposal introduces instructions that are allowed to
994
- /// have different behavior on different architectures, primarily to afford
995
- /// an efficient implementation on all architectures. This means, however,
996
- /// that the same module may execute differently on one host than another,
997
- /// which typically is not otherwise the case. This option is provided to
998
- /// force Wasmtime to generate deterministic code for all relaxed simd
999
- /// instructions, at the cost of performance, for all architectures. When
1000
- /// this option is enabled then the deterministic behavior of all
1001
- /// instructions in the relaxed SIMD proposal is selected.
1002
- ///
1003
- /// This is `false` by default.
1004
- ///
1005
- /// [proposal]: https://github.com/webassembly/relaxed-simd
1006
- pub fn relaxed_simd_deterministic(&mut self, enable: bool) -> &mut Self {
1007
- self.tunables.relaxed_simd_deterministic = Some(enable);
1008
- self
1009
- }
1010
-
1011
- /// Configures whether the [WebAssembly bulk memory operations
1012
- /// proposal][proposal] will be enabled for compilation.
1013
- ///
1014
- /// This feature gates items such as the `memory.copy` instruction, passive
1015
- /// data/table segments, etc, being in a module.
1016
- ///
1017
- /// This is `true` by default.
1018
- ///
1019
- /// Feature `reference_types`, which is also `true` by default, requires
1020
- /// this feature to be enabled. Thus disabling this feature must also disable
1021
- /// `reference_types` as well using [`wasm_reference_types`](crate::Config::wasm_reference_types).
1022
- ///
1023
- /// # Errors
1024
- ///
1025
- /// Disabling this feature without disabling `reference_types` will cause
1026
- /// `Engine::new` to fail.
1027
- ///
1028
- /// [proposal]: https://github.com/webassembly/bulk-memory-operations
1029
- pub fn wasm_bulk_memory(&mut self, enable: bool) -> &mut Self {
1030
- self.wasm_feature(WasmFeatures::BULK_MEMORY, enable);
1031
- self
1032
- }
1033
-
1034
- /// Configures whether the WebAssembly multi-value [proposal] will
1035
- /// be enabled for compilation.
1036
- ///
1037
- /// This feature gates functions and blocks returning multiple values in a
1038
- /// module, for example.
1039
- ///
1040
- /// This is `true` by default.
1041
- ///
1042
- /// [proposal]: https://github.com/webassembly/multi-value
1043
- pub fn wasm_multi_value(&mut self, enable: bool) -> &mut Self {
1044
- self.wasm_feature(WasmFeatures::MULTI_VALUE, enable);
1045
- self
1046
- }
1047
-
1048
- /// Configures whether the WebAssembly multi-memory [proposal] will
1049
- /// be enabled for compilation.
1050
- ///
1051
- /// This feature gates modules having more than one linear memory
1052
- /// declaration or import.
1053
- ///
1054
- /// This is `true` by default.
1055
- ///
1056
- /// [proposal]: https://github.com/webassembly/multi-memory
1057
- pub fn wasm_multi_memory(&mut self, enable: bool) -> &mut Self {
1058
- self.wasm_feature(WasmFeatures::MULTI_MEMORY, enable);
1059
- self
1060
- }
1061
-
1062
- /// Configures whether the WebAssembly memory64 [proposal] will
1063
- /// be enabled for compilation.
1064
- ///
1065
- /// Note that this the upstream specification is not finalized and Wasmtime
1066
- /// may also have bugs for this feature since it hasn't been exercised
1067
- /// much.
1068
- ///
1069
- /// This is `false` by default.
1070
- ///
1071
- /// [proposal]: https://github.com/webassembly/memory64
1072
- pub fn wasm_memory64(&mut self, enable: bool) -> &mut Self {
1073
- self.wasm_feature(WasmFeatures::MEMORY64, enable);
1074
- self
1075
- }
1076
-
1077
- /// Configures whether the WebAssembly extended-const [proposal] will
1078
- /// be enabled for compilation.
1079
- ///
1080
- /// This is `true` by default.
1081
- ///
1082
- /// [proposal]: https://github.com/webassembly/extended-const
1083
- pub fn wasm_extended_const(&mut self, enable: bool) -> &mut Self {
1084
- self.wasm_feature(WasmFeatures::EXTENDED_CONST, enable);
1085
- self
1086
- }
1087
-
1088
- /// Configures whether the [WebAssembly stack switching
1089
- /// proposal][proposal] will be enabled for compilation.
1090
- ///
1091
- /// This feature gates the use of control tags.
1092
- ///
1093
- /// This feature depends on the `function_reference_types` and
1094
- /// `exceptions` features.
1095
- ///
1096
- /// This feature is `false` by default.
1097
- ///
1098
- /// # Errors
1099
- ///
1100
- /// [proposal]: https://github.com/webassembly/stack-switching
1101
- pub fn wasm_stack_switching(&mut self, enable: bool) -> &mut Self {
1102
- self.wasm_feature(WasmFeatures::STACK_SWITCHING, enable);
1103
- self
1104
- }
1105
-
1106
- /// Configures whether the WebAssembly component-model [proposal] will
1107
- /// be enabled for compilation.
1108
- ///
1109
- /// This flag can be used to blanket disable all components within Wasmtime.
1110
- /// Otherwise usage of components requires statically using
1111
- /// [`Component`](crate::component::Component) instead of
1112
- /// [`Module`](crate::Module) for example anyway.
1113
- ///
1114
- /// The default value for this option is whether the `component-model`
1115
- /// crate feature of Wasmtime is enabled or not. By default this crate
1116
- /// feature is enabled.
1117
- ///
1118
- /// [proposal]: https://github.com/webassembly/component-model
1119
- #[cfg(feature = "component-model")]
1120
- pub fn wasm_component_model(&mut self, enable: bool) -> &mut Self {
1121
- self.wasm_feature(WasmFeatures::COMPONENT_MODEL, enable);
1122
- self
1123
- }
1124
-
1125
- /// Configures whether components support the async ABI [proposal] for
1126
- /// lifting and lowering functions, as well as `stream`, `future`, and
1127
- /// `error-context` types.
1128
- ///
1129
- /// Please note that Wasmtime's support for this feature is _very_
1130
- /// incomplete.
1131
- ///
1132
- /// [proposal]:
1133
- /// https://github.com/WebAssembly/component-model/blob/main/design/mvp/Async.md
1134
- #[cfg(feature = "component-model-async")]
1135
- pub fn wasm_component_model_async(&mut self, enable: bool) -> &mut Self {
1136
- self.wasm_feature(WasmFeatures::CM_ASYNC, enable);
1137
- self
1138
- }
1139
-
1140
- /// This corresponds to the 🚝 emoji in the component model specification.
1141
- ///
1142
- /// Please note that Wasmtime's support for this feature is _very_
1143
- /// incomplete.
1144
- ///
1145
- /// [proposal]:
1146
- /// https://github.com/WebAssembly/component-model/blob/main/design/mvp/Async.md
1147
- #[cfg(feature = "component-model-async")]
1148
- pub fn wasm_component_model_async_builtins(&mut self, enable: bool) -> &mut Self {
1149
- self.wasm_feature(WasmFeatures::CM_ASYNC_BUILTINS, enable);
1150
- self
1151
- }
1152
-
1153
- /// This corresponds to the 🚟 emoji in the component model specification.
1154
- ///
1155
- /// Please note that Wasmtime's support for this feature is _very_
1156
- /// incomplete.
1157
- ///
1158
- /// [proposal]: https://github.com/WebAssembly/component-model/blob/main/design/mvp/Async.md
1159
- #[cfg(feature = "component-model-async")]
1160
- pub fn wasm_component_model_async_stackful(&mut self, enable: bool) -> &mut Self {
1161
- self.wasm_feature(WasmFeatures::CM_ASYNC_STACKFUL, enable);
1162
- self
1163
- }
1164
-
1165
- /// This corresponds to the 📝 emoji in the component model specification.
1166
- ///
1167
- /// Please note that Wasmtime's support for this feature is _very_
1168
- /// incomplete.
1169
- ///
1170
- /// [proposal]: https://github.com/WebAssembly/component-model/blob/main/design/mvp/Async.md
1171
- #[cfg(feature = "component-model")]
1172
- pub fn wasm_component_model_error_context(&mut self, enable: bool) -> &mut Self {
1173
- self.wasm_feature(WasmFeatures::CM_ERROR_CONTEXT, enable);
1174
- self
1175
- }
1176
-
1177
- /// Configures whether the [GC extension to the component-model
1178
- /// proposal][proposal] is enabled or not.
1179
- ///
1180
- /// This corresponds to the 🛸 emoji in the component model specification.
1181
- ///
1182
- /// Please note that Wasmtime's support for this feature is _very_
1183
- /// incomplete.
1184
- ///
1185
- /// [proposal]: https://github.com/WebAssembly/component-model/issues/525
1186
- #[cfg(feature = "component-model")]
1187
- pub fn wasm_component_model_gc(&mut self, enable: bool) -> &mut Self {
1188
- self.wasm_feature(WasmFeatures::CM_GC, enable);
1189
- self
1190
- }
1191
-
1192
- /// Configures whether the [Exception-handling proposal][proposal] is enabled or not.
1193
- ///
1194
- /// [proposal]: https://github.com/WebAssembly/exception-handling
1195
- #[cfg(feature = "gc")]
1196
- pub fn wasm_exceptions(&mut self, enable: bool) -> &mut Self {
1197
- self.wasm_feature(WasmFeatures::EXCEPTIONS, enable);
1198
- self
1199
- }
1200
-
1201
- #[doc(hidden)] // FIXME(#3427) - if/when implemented then un-hide this
1202
- #[deprecated = "This configuration option only exists for internal \
1203
- usage with the spec testsuite. It may be removed at \
1204
- any time and without warning. Do not rely on it!"]
1205
- pub fn wasm_legacy_exceptions(&mut self, enable: bool) -> &mut Self {
1206
- self.wasm_feature(WasmFeatures::LEGACY_EXCEPTIONS, enable);
1207
- self
1208
- }
1209
-
1210
- /// Configures which compilation strategy will be used for wasm modules.
1211
- ///
1212
- /// This method can be used to configure which compiler is used for wasm
1213
- /// modules, and for more documentation consult the [`Strategy`] enumeration
1214
- /// and its documentation.
1215
- ///
1216
- /// The default value for this is `Strategy::Auto`.
1217
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1218
- pub fn strategy(&mut self, strategy: Strategy) -> &mut Self {
1219
- self.compiler_config.strategy = strategy.not_auto();
1220
- self
1221
- }
1222
-
1223
- /// Configures which garbage collector will be used for Wasm modules.
1224
- ///
1225
- /// This method can be used to configure which garbage collector
1226
- /// implementation is used for Wasm modules. For more documentation, consult
1227
- /// the [`Collector`] enumeration and its documentation.
1228
- ///
1229
- /// The default value for this is `Collector::Auto`.
1230
- #[cfg(feature = "gc")]
1231
- pub fn collector(&mut self, collector: Collector) -> &mut Self {
1232
- self.collector = collector;
1233
- self
1234
- }
1235
-
1236
- /// Creates a default profiler based on the profiling strategy chosen.
1237
- ///
1238
- /// Profiler creation calls the type's default initializer where the purpose is
1239
- /// really just to put in place the type used for profiling.
1240
- ///
1241
- /// Some [`ProfilingStrategy`] require specific platforms or particular feature
1242
- /// to be enabled, such as `ProfilingStrategy::JitDump` requires the `jitdump`
1243
- /// feature.
1244
- ///
1245
- /// # Errors
1246
- ///
1247
- /// The validation of this field is deferred until the engine is being built, and thus may
1248
- /// cause `Engine::new` fail if the required feature is disabled, or the platform is not
1249
- /// supported.
1250
- pub fn profiler(&mut self, profile: ProfilingStrategy) -> &mut Self {
1251
- self.profiling_strategy = profile;
1252
- self
1253
- }
1254
-
1255
- /// Configures whether the debug verifier of Cranelift is enabled or not.
1256
- ///
1257
- /// When Cranelift is used as a code generation backend this will configure
1258
- /// it to have the `enable_verifier` flag which will enable a number of debug
1259
- /// checks inside of Cranelift. This is largely only useful for the
1260
- /// developers of wasmtime itself.
1261
- ///
1262
- /// The default value for this is `false`
1263
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1264
- pub fn cranelift_debug_verifier(&mut self, enable: bool) -> &mut Self {
1265
- let val = if enable { "true" } else { "false" };
1266
- self.compiler_config
1267
- .settings
1268
- .insert("enable_verifier".to_string(), val.to_string());
1269
- self
1270
- }
1271
-
1272
- /// Configures whether extra debug checks are inserted into
1273
- /// Wasmtime-generated code by Cranelift.
1274
- ///
1275
- /// The default value for this is `false`
1276
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1277
- pub fn cranelift_wasmtime_debug_checks(&mut self, enable: bool) -> &mut Self {
1278
- unsafe { self.cranelift_flag_set("wasmtime_debug_checks", &enable.to_string()) }
1279
- }
1280
-
1281
- /// Configures the Cranelift code generator optimization level.
1282
- ///
1283
- /// When the Cranelift code generator is used you can configure the
1284
- /// optimization level used for generated code in a few various ways. For
1285
- /// more information see the documentation of [`OptLevel`].
1286
- ///
1287
- /// The default value for this is `OptLevel::Speed`.
1288
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1289
- pub fn cranelift_opt_level(&mut self, level: OptLevel) -> &mut Self {
1290
- let val = match level {
1291
- OptLevel::None => "none",
1292
- OptLevel::Speed => "speed",
1293
- OptLevel::SpeedAndSize => "speed_and_size",
1294
- };
1295
- self.compiler_config
1296
- .settings
1297
- .insert("opt_level".to_string(), val.to_string());
1298
- self
1299
- }
1300
-
1301
- /// Configures the regalloc algorithm used by the Cranelift code generator.
1302
- ///
1303
- /// Cranelift can select any of several register allocator algorithms. Each
1304
- /// of these algorithms generates correct code, but they represent different
1305
- /// tradeoffs between compile speed (how expensive the compilation process
1306
- /// is) and run-time speed (how fast the generated code runs).
1307
- /// For more information see the documentation of [`RegallocAlgorithm`].
1308
- ///
1309
- /// The default value for this is `RegallocAlgorithm::Backtracking`.
1310
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1311
- pub fn cranelift_regalloc_algorithm(&mut self, algo: RegallocAlgorithm) -> &mut Self {
1312
- let val = match algo {
1313
- RegallocAlgorithm::Backtracking => "backtracking",
1314
- RegallocAlgorithm::SinglePass => "single_pass",
1315
- };
1316
- self.compiler_config
1317
- .settings
1318
- .insert("regalloc_algorithm".to_string(), val.to_string());
1319
- self
1320
- }
1321
-
1322
- /// Configures whether Cranelift should perform a NaN-canonicalization pass.
1323
- ///
1324
- /// When Cranelift is used as a code generation backend this will configure
1325
- /// it to replace NaNs with a single canonical value. This is useful for
1326
- /// users requiring entirely deterministic WebAssembly computation. This is
1327
- /// not required by the WebAssembly spec, so it is not enabled by default.
1328
- ///
1329
- /// Note that this option affects not only WebAssembly's `f32` and `f64`
1330
- /// types but additionally the `v128` type. This option will cause
1331
- /// operations using any of these types to have extra checks placed after
1332
- /// them to normalize NaN values as needed.
1333
- ///
1334
- /// The default value for this is `false`
1335
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1336
- pub fn cranelift_nan_canonicalization(&mut self, enable: bool) -> &mut Self {
1337
- let val = if enable { "true" } else { "false" };
1338
- self.compiler_config
1339
- .settings
1340
- .insert("enable_nan_canonicalization".to_string(), val.to_string());
1341
- self
1342
- }
1343
-
1344
- /// Controls whether proof-carrying code (PCC) is used to validate
1345
- /// lowering of Wasm sandbox checks.
1346
- ///
1347
- /// Proof-carrying code carries "facts" about program values from
1348
- /// the IR all the way to machine code, and checks those facts
1349
- /// against known machine-instruction semantics. This guards
1350
- /// against bugs in instruction lowering that might create holes
1351
- /// in the Wasm sandbox.
1352
- ///
1353
- /// PCC is designed to be fast: it does not require complex
1354
- /// solvers or logic engines to verify, but only a linear pass
1355
- /// over a trail of "breadcrumbs" or facts at each intermediate
1356
- /// value. Thus, it is appropriate to enable in production.
1357
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1358
- pub fn cranelift_pcc(&mut self, enable: bool) -> &mut Self {
1359
- let val = if enable { "true" } else { "false" };
1360
- self.compiler_config
1361
- .settings
1362
- .insert("enable_pcc".to_string(), val.to_string());
1363
- self
1364
- }
1365
-
1366
- /// Allows setting a Cranelift boolean flag or preset. This allows
1367
- /// fine-tuning of Cranelift settings.
1368
- ///
1369
- /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1370
- /// either; other `Config` functions should be preferred for stability.
1371
- ///
1372
- /// # Safety
1373
- ///
1374
- /// This is marked as unsafe, because setting the wrong flag might break invariants,
1375
- /// resulting in execution hazards.
1376
- ///
1377
- /// # Errors
1378
- ///
1379
- /// The validation of the flags are deferred until the engine is being built, and thus may
1380
- /// cause `Engine::new` fail if the flag's name does not exist, or the value is not appropriate
1381
- /// for the flag type.
1382
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1383
- pub unsafe fn cranelift_flag_enable(&mut self, flag: &str) -> &mut Self {
1384
- self.compiler_config.flags.insert(flag.to_string());
1385
- self
1386
- }
1387
-
1388
- /// Allows settings another Cranelift flag defined by a flag name and value. This allows
1389
- /// fine-tuning of Cranelift settings.
1390
- ///
1391
- /// Since Cranelift flags may be unstable, this method should not be considered to be stable
1392
- /// either; other `Config` functions should be preferred for stability.
1393
- ///
1394
- /// # Safety
1395
- ///
1396
- /// This is marked as unsafe, because setting the wrong flag might break invariants,
1397
- /// resulting in execution hazards.
1398
- ///
1399
- /// # Errors
1400
- ///
1401
- /// The validation of the flags are deferred until the engine is being built, and thus may
1402
- /// cause `Engine::new` fail if the flag's name does not exist, or incompatible with other
1403
- /// settings.
1404
- ///
1405
- /// For example, feature `wasm_backtrace` will set `unwind_info` to `true`, but if it's
1406
- /// manually set to false then it will fail.
1407
- #[cfg(any(feature = "cranelift", feature = "winch"))]
1408
- pub unsafe fn cranelift_flag_set(&mut self, name: &str, value: &str) -> &mut Self {
1409
- self.compiler_config
1410
- .settings
1411
- .insert(name.to_string(), value.to_string());
1412
- self
1413
- }
1414
-
1415
- /// Set a custom [`Cache`].
1416
- ///
1417
- /// To load a cache configuration from a file, use [`Cache::from_file`]. Otherwise, you can
1418
- /// create a new cache config using [`CacheConfig::new`] and passing that to [`Cache::new`].
1419
- ///
1420
- /// If you want to disable the cache, you can call this method with `None`.
1421
- ///
1422
- /// By default, new configs do not have caching enabled.
1423
- /// Every call to [`Module::new(my_wasm)`][crate::Module::new] will recompile `my_wasm`,
1424
- /// even when it is unchanged, unless an enabled `CacheConfig` is provided.
1425
- ///
1426
- /// This method is only available when the `cache` feature of this crate is
1427
- /// enabled.
1428
- ///
1429
- /// [docs]: https://bytecodealliance.github.io/wasmtime/cli-cache.html
1430
- #[cfg(feature = "cache")]
1431
- pub fn cache(&mut self, cache: Option<Cache>) -> &mut Self {
1432
- self.cache = cache;
1433
- self
1434
- }
1435
-
1436
- /// Sets a custom memory creator.
1437
- ///
1438
- /// Custom memory creators are used when creating host `Memory` objects or when
1439
- /// creating instance linear memories for the on-demand instance allocation strategy.
1440
- #[cfg(feature = "runtime")]
1441
- pub fn with_host_memory(&mut self, mem_creator: Arc<dyn MemoryCreator>) -> &mut Self {
1442
- self.mem_creator = Some(Arc::new(MemoryCreatorProxy(mem_creator)));
1443
- self
1444
- }
1445
-
1446
- /// Sets a custom stack creator.
1447
- ///
1448
- /// Custom memory creators are used when creating creating async instance stacks for
1449
- /// the on-demand instance allocation strategy.
1450
- #[cfg(feature = "async")]
1451
- pub fn with_host_stack(&mut self, stack_creator: Arc<dyn StackCreator>) -> &mut Self {
1452
- self.stack_creator = Some(Arc::new(StackCreatorProxy(stack_creator)));
1453
- self
1454
- }
1455
-
1456
- /// Sets a custom executable-memory publisher.
1457
- ///
1458
- /// Custom executable-memory publishers are hooks that allow
1459
- /// Wasmtime to make certain regions of memory executable when
1460
- /// loading precompiled modules or compiling new modules
1461
- /// in-process. In most modern operating systems, memory allocated
1462
- /// for heap usage is readable and writable by default but not
1463
- /// executable. To jump to machine code stored in that memory, we
1464
- /// need to make it executable. For security reasons, we usually
1465
- /// also make it read-only at the same time, so the executing code
1466
- /// can't be modified later.
1467
- ///
1468
- /// By default, Wasmtime will use the appropriate system calls on
1469
- /// the host platform for this work. However, it also allows
1470
- /// plugging in a custom implementation via this configuration
1471
- /// option. This may be useful on custom or `no_std` platforms,
1472
- /// for example, especially where virtual memory is not otherwise
1473
- /// used by Wasmtime (no `signals-and-traps` feature).
1474
- #[cfg(feature = "runtime")]
1475
- pub fn with_custom_code_memory(
1476
- &mut self,
1477
- custom_code_memory: Option<Arc<dyn CustomCodeMemory>>,
1478
- ) -> &mut Self {
1479
- self.custom_code_memory = custom_code_memory;
1480
- self
1481
- }
1482
-
1483
- /// Sets the instance allocation strategy to use.
1484
- ///
1485
- /// This is notably used in conjunction with
1486
- /// [`InstanceAllocationStrategy::Pooling`] and [`PoolingAllocationConfig`].
1487
- pub fn allocation_strategy(
1488
- &mut self,
1489
- strategy: impl Into<InstanceAllocationStrategy>,
1490
- ) -> &mut Self {
1491
- self.allocation_strategy = strategy.into();
1492
- self
1493
- }
1494
-
1495
- /// Specifies the capacity of linear memories, in bytes, in their initial
1496
- /// allocation.
1497
- ///
1498
- /// > Note: this value has important performance ramifications, be sure to
1499
- /// > benchmark when setting this to a non-default value and read over this
1500
- /// > documentation.
1501
- ///
1502
- /// This function will change the size of the initial memory allocation made
1503
- /// for linear memories. This setting is only applicable when the initial
1504
- /// size of a linear memory is below this threshold. Linear memories are
1505
- /// allocated in the virtual address space of the host process with OS APIs
1506
- /// such as `mmap` and this setting affects how large the allocation will
1507
- /// be.
1508
- ///
1509
- /// ## Background: WebAssembly Linear Memories
1510
- ///
1511
- /// WebAssembly linear memories always start with a minimum size and can
1512
- /// possibly grow up to a maximum size. The minimum size is always specified
1513
- /// in a WebAssembly module itself and the maximum size can either be
1514
- /// optionally specified in the module or inherently limited by the index
1515
- /// type. For example for this module:
1516
- ///
1517
- /// ```wasm
1518
- /// (module
1519
- /// (memory $a 4)
1520
- /// (memory $b 4096 4096 (pagesize 1))
1521
- /// (memory $c i64 10)
1522
- /// )
1523
- /// ```
1524
- ///
1525
- /// * Memory `$a` initially allocates 4 WebAssembly pages (256KiB) and can
1526
- /// grow up to 4GiB, the limit of the 32-bit index space.
1527
- /// * Memory `$b` initially allocates 4096 WebAssembly pages, but in this
1528
- /// case its page size is 1, so it's 4096 bytes. Memory can also grow no
1529
- /// further meaning that it will always be 4096 bytes.
1530
- /// * Memory `$c` is a 64-bit linear memory which starts with 640KiB of
1531
- /// memory and can theoretically grow up to 2^64 bytes, although most
1532
- /// hosts will run out of memory long before that.
1533
- ///
1534
- /// All operations on linear memories done by wasm are required to be
1535
- /// in-bounds. Any access beyond the end of a linear memory is considered a
1536
- /// trap.
1537
- ///
1538
- /// ## What this setting affects: Virtual Memory
1539
- ///
1540
- /// This setting is used to configure the behavior of the size of the linear
1541
- /// memory allocation performed for each of these memories. For example the
1542
- /// initial linear memory allocation looks like this:
1543
- ///
1544
- /// ```text
1545
- /// memory_reservation
1546
- /// |
1547
- /// ◄─────────┴────────────────►
1548
- /// ┌───────┬─────────┬──────────────────┬───────┐
1549
- /// │ guard │ initial │ ... capacity ... │ guard │
1550
- /// └───────┴─────────┴──────────────────┴───────┘
1551
- /// ◄──┬──► ◄──┬──►
1552
- /// │ │
1553
- /// │ memory_guard_size
1554
- /// │
1555
- /// │
1556
- /// memory_guard_size (if guard_before_linear_memory)
1557
- /// ```
1558
- ///
1559
- /// Memory in the `initial` range is accessible to the instance and can be
1560
- /// read/written by wasm code. Memory in the `guard` regions is never
1561
- /// accessible to wasm code and memory in `capacity` is initially
1562
- /// inaccessible but may become accessible through `memory.grow` instructions
1563
- /// for example.
1564
- ///
1565
- /// This means that this setting is the size of the initial chunk of virtual
1566
- /// memory that a linear memory may grow into.
1567
- ///
1568
- /// ## What this setting affects: Runtime Speed
1569
- ///
1570
- /// This is a performance-sensitive setting which is taken into account
1571
- /// during the compilation process of a WebAssembly module. For example if a
1572
- /// 32-bit WebAssembly linear memory has a `memory_reservation` size of 4GiB
1573
- /// then bounds checks can be elided because `capacity` will be guaranteed
1574
- /// to be unmapped for all addressable bytes that wasm can access (modulo a
1575
- /// few details).
1576
- ///
1577
- /// If `memory_reservation` was something smaller like 256KiB then that
1578
- /// would have a much smaller impact on virtual memory but the compile code
1579
- /// would then need to have explicit bounds checks to ensure that
1580
- /// loads/stores are in-bounds.
1581
- ///
1582
- /// The goal of this setting is to enable skipping bounds checks in most
1583
- /// modules by default. Some situations which require explicit bounds checks
1584
- /// though are:
1585
- ///
1586
- /// * When `memory_reservation` is smaller than the addressable size of the
1587
- /// linear memory. For example if 64-bit linear memories always need
1588
- /// bounds checks as they can address the entire virtual address spacce.
1589
- /// For 32-bit linear memories a `memory_reservation` minimum size of 4GiB
1590
- /// is required to elide bounds checks.
1591
- ///
1592
- /// * When linear memories have a page size of 1 then bounds checks are
1593
- /// required. In this situation virtual memory can't be relied upon
1594
- /// because that operates at the host page size granularity where wasm
1595
- /// requires a per-byte level granularity.
1596
- ///
1597
- /// * Configuration settings such as [`Config::signals_based_traps`] can be
1598
- /// used to disable the use of signal handlers and virtual memory so
1599
- /// explicit bounds checks are required.
1600
- ///
1601
- /// * When [`Config::memory_guard_size`] is too small a bounds check may be
1602
- /// required. For 32-bit wasm addresses are actually 33-bit effective
1603
- /// addresses because loads/stores have a 32-bit static offset to add to
1604
- /// the dynamic 32-bit address. If the static offset is larger than the
1605
- /// size of the guard region then an explicit bounds check is required.
1606
- ///
1607
- /// ## What this setting affects: Memory Growth Behavior
1608
- ///
1609
- /// In addition to affecting bounds checks emitted in compiled code this
1610
- /// setting also affects how WebAssembly linear memories are grown. The
1611
- /// `memory.grow` instruction can be used to make a linear memory larger and
1612
- /// this is also affected by APIs such as
1613
- /// [`Memory::grow`](crate::Memory::grow).
1614
- ///
1615
- /// In these situations when the amount being grown is small enough to fit
1616
- /// within the remaining capacity then the linear memory doesn't have to be
1617
- /// moved at runtime. If the capacity runs out though then a new linear
1618
- /// memory allocation must be made and the contents of linear memory is
1619
- /// copied over.
1620
- ///
1621
- /// For example here's a situation where a copy happens:
1622
- ///
1623
- /// * The `memory_reservation` setting is configured to 128KiB.
1624
- /// * A WebAssembly linear memory starts with a single 64KiB page.
1625
- /// * This memory can be grown by one page to contain the full 128KiB of
1626
- /// memory.
1627
- /// * If grown by one more page, though, then a 192KiB allocation must be
1628
- /// made and the previous 128KiB of contents are copied into the new
1629
- /// allocation.
1630
- ///
1631
- /// This growth behavior can have a significant performance impact if lots
1632
- /// of data needs to be copied on growth. Conversely if memory growth never
1633
- /// needs to happen because the capacity will always be large enough then
1634
- /// optimizations can be applied to cache the base pointer of linear memory.
1635
- ///
1636
- /// When memory is grown then the
1637
- /// [`Config::memory_reservation_for_growth`] is used for the new
1638
- /// memory allocation to have memory to grow into.
1639
- ///
1640
- /// When using the pooling allocator via [`PoolingAllocationConfig`] then
1641
- /// memories are never allowed to move so requests for growth are instead
1642
- /// rejected with an error.
1643
- ///
1644
- /// ## When this setting is not used
1645
- ///
1646
- /// This setting is ignored and unused when the initial size of linear
1647
- /// memory is larger than this threshold. For example if this setting is set
1648
- /// to 1MiB but a wasm module requires a 2MiB minimum allocation then this
1649
- /// setting is ignored. In this situation the minimum size of memory will be
1650
- /// allocated along with [`Config::memory_reservation_for_growth`]
1651
- /// after it to grow into.
1652
- ///
1653
- /// That means that this value can be set to zero. That can be useful in
1654
- /// benchmarking to see the overhead of bounds checks for example.
1655
- /// Additionally it can be used to minimize the virtual memory allocated by
1656
- /// Wasmtime.
1657
- ///
1658
- /// ## Default Value
1659
- ///
1660
- /// The default value for this property depends on the host platform. For
1661
- /// 64-bit platforms there's lots of address space available, so the default
1662
- /// configured here is 4GiB. When coupled with the default size of
1663
- /// [`Config::memory_guard_size`] this means that 32-bit WebAssembly linear
1664
- /// memories with 64KiB page sizes will skip almost all bounds checks by
1665
- /// default.
1666
- ///
1667
- /// For 32-bit platforms this value defaults to 10MiB. This means that
1668
- /// bounds checks will be required on 32-bit platforms.
1669
- pub fn memory_reservation(&mut self, bytes: u64) -> &mut Self {
1670
- self.tunables.memory_reservation = Some(bytes);
1671
- self
1672
- }
1673
-
1674
- /// Indicates whether linear memories may relocate their base pointer at
1675
- /// runtime.
1676
- ///
1677
- /// WebAssembly linear memories either have a maximum size that's explicitly
1678
- /// listed in the type of a memory or inherently limited by the index type
1679
- /// of the memory (e.g. 4GiB for 32-bit linear memories). Depending on how
1680
- /// the linear memory is allocated (see [`Config::memory_reservation`]) it
1681
- /// may be necessary to move the memory in the host's virtual address space
1682
- /// during growth. This option controls whether this movement is allowed or
1683
- /// not.
1684
- ///
1685
- /// An example of a linear memory needing to move is when
1686
- /// [`Config::memory_reservation`] is 0 then a linear memory will be
1687
- /// allocated as the minimum size of the memory plus
1688
- /// [`Config::memory_reservation_for_growth`]. When memory grows beyond the
1689
- /// reservation for growth then the memory needs to be relocated.
1690
- ///
1691
- /// When this option is set to `false` then it can have a number of impacts
1692
- /// on how memories work at runtime:
1693
- ///
1694
- /// * Modules can be compiled with static knowledge the base pointer of
1695
- /// linear memory never changes to enable optimizations such as
1696
- /// loop invariant code motion (hoisting the base pointer out of a loop).
1697
- ///
1698
- /// * Memories cannot grow in excess of their original allocation. This
1699
- /// means that [`Config::memory_reservation`] and
1700
- /// [`Config::memory_reservation_for_growth`] may need tuning to ensure
1701
- /// the memory configuration works at runtime.
1702
- ///
1703
- /// The default value for this option is `true`.
1704
- pub fn memory_may_move(&mut self, enable: bool) -> &mut Self {
1705
- self.tunables.memory_may_move = Some(enable);
1706
- self
1707
- }
1708
-
1709
- /// Configures the size, in bytes, of the guard region used at the end of a
1710
- /// linear memory's address space reservation.
1711
- ///
1712
- /// > Note: this value has important performance ramifications, be sure to
1713
- /// > understand what this value does before tweaking it and benchmarking.
1714
- ///
1715
- /// This setting controls how many bytes are guaranteed to be unmapped after
1716
- /// the virtual memory allocation of a linear memory. When
1717
- /// combined with sufficiently large values of
1718
- /// [`Config::memory_reservation`] (e.g. 4GiB for 32-bit linear memories)
1719
- /// then a guard region can be used to eliminate bounds checks in generated
1720
- /// code.
1721
- ///
1722
- /// This setting additionally can be used to help deduplicate bounds checks
1723
- /// in code that otherwise requires bounds checks. For example with a 4KiB
1724
- /// guard region then a 64-bit linear memory which accesses addresses `x+8`
1725
- /// and `x+16` only needs to perform a single bounds check on `x`. If that
1726
- /// bounds check passes then the offset is guaranteed to either reside in
1727
- /// linear memory or the guard region, resulting in deterministic behavior
1728
- /// either way.
1729
- ///
1730
- /// ## How big should the guard be?
1731
- ///
1732
- /// In general, like with configuring [`Config::memory_reservation`], you
1733
- /// probably don't want to change this value from the defaults. Removing
1734
- /// bounds checks is dependent on a number of factors where the size of the
1735
- /// guard region is only one piece of the equation. Other factors include:
1736
- ///
1737
- /// * [`Config::memory_reservation`]
1738
- /// * The index type of the linear memory (e.g. 32-bit or 64-bit)
1739
- /// * The page size of the linear memory
1740
- /// * Other settings such as [`Config::signals_based_traps`]
1741
- ///
1742
- /// Embeddings using virtual memory almost always want at least some guard
1743
- /// region, but otherwise changes from the default should be profiled
1744
- /// locally to see the performance impact.
1745
- ///
1746
- /// ## Default
1747
- ///
1748
- /// The default value for this property is 32MiB on 64-bit platforms. This
1749
- /// allows eliminating almost all bounds checks on loads/stores with an
1750
- /// immediate offset of less than 32MiB. On 32-bit platforms this defaults
1751
- /// to 64KiB.
1752
- pub fn memory_guard_size(&mut self, bytes: u64) -> &mut Self {
1753
- self.tunables.memory_guard_size = Some(bytes);
1754
- self
1755
- }
1756
-
1757
- /// Configures the size, in bytes, of the extra virtual memory space
1758
- /// reserved after a linear memory is relocated.
1759
- ///
1760
- /// This setting is used in conjunction with [`Config::memory_reservation`]
1761
- /// to configure what happens after a linear memory is relocated in the host
1762
- /// address space. If the initial size of a linear memory exceeds
1763
- /// [`Config::memory_reservation`] or if it grows beyond that size
1764
- /// throughout its lifetime then this setting will be used.
1765
- ///
1766
- /// When a linear memory is relocated it will initially look like this:
1767
- ///
1768
- /// ```text
1769
- /// memory.size
1770
- /// │
1771
- /// ◄──────┴─────►
1772
- /// ┌───────┬──────────────┬───────┐
1773
- /// │ guard │ accessible │ guard │
1774
- /// └───────┴──────────────┴───────┘
1775
- /// ◄──┬──►
1776
- /// │
1777
- /// memory_guard_size
1778
- /// ```
1779
- ///
1780
- /// where `accessible` needs to be grown but there's no more memory to grow
1781
- /// into. A new region of the virtual address space will be allocated that
1782
- /// looks like this:
1783
- ///
1784
- /// ```text
1785
- /// memory_reservation_for_growth
1786
- /// │
1787
- /// memory.size │
1788
- /// │ │
1789
- /// ◄──────┴─────► ◄─────────────┴───────────►
1790
- /// ┌───────┬──────────────┬───────────────────────────┬───────┐
1791
- /// │ guard │ accessible │ .. reserved for growth .. │ guard │
1792
- /// └───────┴──────────────┴───────────────────────────┴───────┘
1793
- /// ◄──┬──►
1794
- /// │
1795
- /// memory_guard_size
1796
- /// ```
1797
- ///
1798
- /// This means that up to `memory_reservation_for_growth` bytes can be
1799
- /// allocated again before the entire linear memory needs to be moved again
1800
- /// when another `memory_reservation_for_growth` bytes will be appended to
1801
- /// the size of the allocation.
1802
- ///
1803
- /// Note that this is a currently simple heuristic for optimizing the growth
1804
- /// of dynamic memories, primarily implemented for the memory64 proposal
1805
- /// where the maximum size of memory is larger than 4GiB. This setting is
1806
- /// unlikely to be a one-size-fits-all style approach and if you're an
1807
- /// embedder running into issues with growth and are interested in having
1808
- /// other growth strategies available here please feel free to [open an
1809
- /// issue on the Wasmtime repository][issue]!
1810
- ///
1811
- /// [issue]: https://github.com/bytecodealliance/wasmtime/issues/new
1812
- ///
1813
- /// ## Default
1814
- ///
1815
- /// For 64-bit platforms this defaults to 2GiB, and for 32-bit platforms
1816
- /// this defaults to 1MiB.
1817
- pub fn memory_reservation_for_growth(&mut self, bytes: u64) -> &mut Self {
1818
- self.tunables.memory_reservation_for_growth = Some(bytes);
1819
- self
1820
- }
1821
-
1822
- /// Indicates whether a guard region is present before allocations of
1823
- /// linear memory.
1824
- ///
1825
- /// Guard regions before linear memories are never used during normal
1826
- /// operation of WebAssembly modules, even if they have out-of-bounds
1827
- /// loads. The only purpose for a preceding guard region in linear memory
1828
- /// is extra protection against possible bugs in code generators like
1829
- /// Cranelift. This setting does not affect performance in any way, but will
1830
- /// result in larger virtual memory reservations for linear memories (it
1831
- /// won't actually ever use more memory, just use more of the address
1832
- /// space).
1833
- ///
1834
- /// The size of the guard region before linear memory is the same as the
1835
- /// guard size that comes after linear memory, which is configured by
1836
- /// [`Config::memory_guard_size`].
1837
- ///
1838
- /// ## Default
1839
- ///
1840
- /// This value defaults to `true`.
1841
- pub fn guard_before_linear_memory(&mut self, enable: bool) -> &mut Self {
1842
- self.tunables.guard_before_linear_memory = Some(enable);
1843
- self
1844
- }
1845
-
1846
- /// Indicates whether to initialize tables lazily, so that instantiation
1847
- /// is fast but indirect calls are a little slower. If false, tables
1848
- /// are initialized eagerly during instantiation from any active element
1849
- /// segments that apply to them.
1850
- ///
1851
- /// **Note** Disabling this option is not compatible with the Winch compiler.
1852
- ///
1853
- /// ## Default
1854
- ///
1855
- /// This value defaults to `true`.
1856
- pub fn table_lazy_init(&mut self, table_lazy_init: bool) -> &mut Self {
1857
- self.tunables.table_lazy_init = Some(table_lazy_init);
1858
- self
1859
- }
1860
-
1861
- /// Configure the version information used in serialized and deserialized [`crate::Module`]s.
1862
- /// This effects the behavior of [`crate::Module::serialize()`], as well as
1863
- /// [`crate::Module::deserialize()`] and related functions.
1864
- ///
1865
- /// The default strategy is to use the wasmtime crate's Cargo package version.
1866
- pub fn module_version(&mut self, strategy: ModuleVersionStrategy) -> Result<&mut Self> {
1867
- match strategy {
1868
- // This case requires special precondition for assertion in SerializedModule::to_bytes
1869
- ModuleVersionStrategy::Custom(ref v) => {
1870
- if v.as_bytes().len() > 255 {
1871
- bail!("custom module version cannot be more than 255 bytes: {}", v);
1872
- }
1873
- }
1874
- _ => {}
1875
- }
1876
- self.module_version = strategy;
1877
- Ok(self)
1878
- }
1879
-
1880
- /// Configure whether wasmtime should compile a module using multiple
1881
- /// threads.
1882
- ///
1883
- /// Disabling this will result in a single thread being used to compile
1884
- /// the wasm bytecode.
1885
- ///
1886
- /// By default parallel compilation is enabled.
1887
- #[cfg(feature = "parallel-compilation")]
1888
- pub fn parallel_compilation(&mut self, parallel: bool) -> &mut Self {
1889
- self.parallel_compilation = parallel;
1890
- self
1891
- }
1892
-
1893
- /// Configures whether compiled artifacts will contain information to map
1894
- /// native program addresses back to the original wasm module.
1895
- ///
1896
- /// This configuration option is `true` by default and, if enabled,
1897
- /// generates the appropriate tables in compiled modules to map from native
1898
- /// address back to wasm source addresses. This is used for displaying wasm
1899
- /// program counters in backtraces as well as generating filenames/line
1900
- /// numbers if so configured as well (and the original wasm module has DWARF
1901
- /// debugging information present).
1902
- pub fn generate_address_map(&mut self, generate: bool) -> &mut Self {
1903
- self.tunables.generate_address_map = Some(generate);
1904
- self
1905
- }
1906
-
1907
- /// Configures whether copy-on-write memory-mapped data is used to
1908
- /// initialize a linear memory.
1909
- ///
1910
- /// Initializing linear memory via a copy-on-write mapping can drastically
1911
- /// improve instantiation costs of a WebAssembly module because copying
1912
- /// memory is deferred. Additionally if a page of memory is only ever read
1913
- /// from WebAssembly and never written too then the same underlying page of
1914
- /// data will be reused between all instantiations of a module meaning that
1915
- /// if a module is instantiated many times this can lower the overall memory
1916
- /// required needed to run that module.
1917
- ///
1918
- /// The main disadvantage of copy-on-write initialization, however, is that
1919
- /// it may be possible for highly-parallel scenarios to be less scalable. If
1920
- /// a page is read initially by a WebAssembly module then that page will be
1921
- /// mapped to a read-only copy shared between all WebAssembly instances. If
1922
- /// the same page is then written, however, then a private copy is created
1923
- /// and swapped out from the read-only version. This also requires an [IPI],
1924
- /// however, which can be a significant bottleneck in high-parallelism
1925
- /// situations.
1926
- ///
1927
- /// This feature is only applicable when a WebAssembly module meets specific
1928
- /// criteria to be initialized in this fashion, such as:
1929
- ///
1930
- /// * Only memories defined in the module can be initialized this way.
1931
- /// * Data segments for memory must use statically known offsets.
1932
- /// * Data segments for memory must all be in-bounds.
1933
- ///
1934
- /// Modules which do not meet these criteria will fall back to
1935
- /// initialization of linear memory based on copying memory.
1936
- ///
1937
- /// This feature of Wasmtime is also platform-specific:
1938
- ///
1939
- /// * Linux - this feature is supported for all instances of [`Module`].
1940
- /// Modules backed by an existing mmap (such as those created by
1941
- /// [`Module::deserialize_file`]) will reuse that mmap to cow-initialize
1942
- /// memory. Other instance of [`Module`] may use the `memfd_create`
1943
- /// syscall to create an initialization image to `mmap`.
1944
- /// * Unix (not Linux) - this feature is only supported when loading modules
1945
- /// from a precompiled file via [`Module::deserialize_file`] where there
1946
- /// is a file descriptor to use to map data into the process. Note that
1947
- /// the module must have been compiled with this setting enabled as well.
1948
- /// * Windows - there is no support for this feature at this time. Memory
1949
- /// initialization will always copy bytes.
1950
- ///
1951
- /// By default this option is enabled.
1952
- ///
1953
- /// [`Module::deserialize_file`]: crate::Module::deserialize_file
1954
- /// [`Module`]: crate::Module
1955
- /// [IPI]: https://en.wikipedia.org/wiki/Inter-processor_interrupt
1956
- pub fn memory_init_cow(&mut self, enable: bool) -> &mut Self {
1957
- self.tunables.memory_init_cow = Some(enable);
1958
- self
1959
- }
1960
-
1961
- /// A configuration option to force the usage of `memfd_create` on Linux to
1962
- /// be used as the backing source for a module's initial memory image.
1963
- ///
1964
- /// When [`Config::memory_init_cow`] is enabled, which is enabled by
1965
- /// default, module memory initialization images are taken from a module's
1966
- /// original mmap if possible. If a precompiled module was loaded from disk
1967
- /// this means that the disk's file is used as an mmap source for the
1968
- /// initial linear memory contents. This option can be used to force, on
1969
- /// Linux, that instead of using the original file on disk a new in-memory
1970
- /// file is created with `memfd_create` to hold the contents of the initial
1971
- /// image.
1972
- ///
1973
- /// This option can be used to avoid possibly loading the contents of memory
1974
- /// from disk through a page fault. Instead with `memfd_create` the contents
1975
- /// of memory are always in RAM, meaning that even page faults which
1976
- /// initially populate a wasm linear memory will only work with RAM instead
1977
- /// of ever hitting the disk that the original precompiled module is stored
1978
- /// on.
1979
- ///
1980
- /// This option is disabled by default.
1981
- pub fn force_memory_init_memfd(&mut self, enable: bool) -> &mut Self {
1982
- self.force_memory_init_memfd = enable;
1983
- self
1984
- }
1985
-
1986
- /// Configures whether or not a coredump should be generated and attached to
1987
- /// the anyhow::Error when a trap is raised.
1988
- ///
1989
- /// This option is disabled by default.
1990
- #[cfg(feature = "coredump")]
1991
- pub fn coredump_on_trap(&mut self, enable: bool) -> &mut Self {
1992
- self.coredump_on_trap = enable;
1993
- self
1994
- }
1995
-
1996
- /// Enables memory error checking for wasm programs.
1997
- ///
1998
- /// This option is disabled by default.
1999
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2000
- pub fn wmemcheck(&mut self, enable: bool) -> &mut Self {
2001
- self.wmemcheck = enable;
2002
- self.compiler_config.wmemcheck = enable;
2003
- self
2004
- }
2005
-
2006
- /// Configures the "guaranteed dense image size" for copy-on-write
2007
- /// initialized memories.
2008
- ///
2009
- /// When using the [`Config::memory_init_cow`] feature to initialize memory
2010
- /// efficiently (which is enabled by default), compiled modules contain an
2011
- /// image of the module's initial heap. If the module has a fairly sparse
2012
- /// initial heap, with just a few data segments at very different offsets,
2013
- /// this could result in a large region of zero bytes in the image. In
2014
- /// other words, it's not very memory-efficient.
2015
- ///
2016
- /// We normally use a heuristic to avoid this: if less than half
2017
- /// of the initialized range (first non-zero to last non-zero
2018
- /// byte) of any memory in the module has pages with nonzero
2019
- /// bytes, then we avoid creating a memory image for the entire module.
2020
- ///
2021
- /// However, if the embedder always needs the instantiation-time efficiency
2022
- /// of copy-on-write initialization, and is otherwise carefully controlling
2023
- /// parameters of the modules (for example, by limiting the maximum heap
2024
- /// size of the modules), then it may be desirable to ensure a memory image
2025
- /// is created even if this could go against the heuristic above. Thus, we
2026
- /// add another condition: there is a size of initialized data region up to
2027
- /// which we *always* allow a memory image. The embedder can set this to a
2028
- /// known maximum heap size if they desire to always get the benefits of
2029
- /// copy-on-write images.
2030
- ///
2031
- /// In the future we may implement a "best of both worlds"
2032
- /// solution where we have a dense image up to some limit, and
2033
- /// then support a sparse list of initializers beyond that; this
2034
- /// would get most of the benefit of copy-on-write and pay the incremental
2035
- /// cost of eager initialization only for those bits of memory
2036
- /// that are out-of-bounds. However, for now, an embedder desiring
2037
- /// fast instantiation should ensure that this setting is as large
2038
- /// as the maximum module initial memory content size.
2039
- ///
2040
- /// By default this value is 16 MiB.
2041
- pub fn memory_guaranteed_dense_image_size(&mut self, size_in_bytes: u64) -> &mut Self {
2042
- self.memory_guaranteed_dense_image_size = size_in_bytes;
2043
- self
2044
- }
2045
-
2046
- /// Whether to enable function inlining during compilation or not.
2047
- ///
2048
- /// This may result in faster execution at runtime, but adds additional
2049
- /// compilation time. Inlining may also enlarge the size of compiled
2050
- /// artifacts (for example, the size of the result of
2051
- /// [`Engine::precompile_component`](crate::Engine::precompile_component)).
2052
- ///
2053
- /// Inlining is not supported by all of Wasmtime's compilation strategies;
2054
- /// currently, it only Cranelift supports it. This setting will be ignored
2055
- /// when using a compilation strategy that does not support inlining, like
2056
- /// Winch.
2057
- ///
2058
- /// Note that inlining is still somewhat experimental at the moment (as of
2059
- /// the Wasmtime version 36).
2060
- pub fn compiler_inlining(&mut self, inlining: bool) -> &mut Self {
2061
- self.tunables.inlining = Some(inlining);
2062
- self
2063
- }
2064
-
2065
- /// Returns the set of features that the currently selected compiler backend
2066
- /// does not support at all and may panic on.
2067
- ///
2068
- /// Wasmtime strives to reject unknown modules or unsupported modules with
2069
- /// first-class errors instead of panics. Not all compiler backends have the
2070
- /// same level of feature support on all platforms as well. This method
2071
- /// returns a set of features that the currently selected compiler
2072
- /// configuration is known to not support and may panic on. This acts as a
2073
- /// first-level filter on incoming wasm modules/configuration to fail-fast
2074
- /// instead of panicking later on.
2075
- ///
2076
- /// Note that if a feature is not listed here it does not mean that the
2077
- /// backend fully supports the proposal. Instead that means that the backend
2078
- /// doesn't ever panic on the proposal, but errors during compilation may
2079
- /// still be returned. This means that features listed here are definitely
2080
- /// not supported at all, but features not listed here may still be
2081
- /// partially supported. For example at the time of this writing the Winch
2082
- /// backend partially supports simd so it's not listed here. Winch doesn't
2083
- /// fully support simd but unimplemented instructions just return errors.
2084
- fn compiler_panicking_wasm_features(&self) -> WasmFeatures {
2085
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2086
- match self.compiler_config.strategy {
2087
- None | Some(Strategy::Cranelift) => {
2088
- let mut unsupported = WasmFeatures::empty();
2089
-
2090
- // Pulley at this time fundamentally doesn't support the
2091
- // `threads` proposal, notably shared memory, because Rust can't
2092
- // safely implement loads/stores in the face of shared memory.
2093
- // Stack switching is not implemented, either.
2094
- if self.compiler_target().is_pulley() {
2095
- unsupported |= WasmFeatures::THREADS;
2096
- unsupported |= WasmFeatures::STACK_SWITCHING;
2097
- }
2098
-
2099
- // FIXME(#11602) temporarily disabled
2100
- if self.compiler_target().architecture == target_lexicon::Architecture::S390x {
2101
- unsupported |= WasmFeatures::EXCEPTIONS;
2102
- }
2103
-
2104
- use target_lexicon::*;
2105
- match self.compiler_target() {
2106
- Triple {
2107
- architecture: Architecture::X86_64 | Architecture::X86_64h,
2108
- operating_system:
2109
- OperatingSystem::Linux
2110
- | OperatingSystem::MacOSX(_)
2111
- | OperatingSystem::Darwin(_),
2112
- ..
2113
- } => {
2114
- // Stack switching supported on (non-Pulley) Cranelift.
2115
- }
2116
-
2117
- _ => {
2118
- // On platforms other than x64 Unix-like, we don't
2119
- // support stack switching.
2120
- unsupported |= WasmFeatures::STACK_SWITCHING;
2121
- }
2122
- }
2123
- unsupported
2124
- }
2125
- Some(Strategy::Winch) => {
2126
- let mut unsupported = WasmFeatures::GC
2127
- | WasmFeatures::FUNCTION_REFERENCES
2128
- | WasmFeatures::RELAXED_SIMD
2129
- | WasmFeatures::TAIL_CALL
2130
- | WasmFeatures::GC_TYPES
2131
- | WasmFeatures::EXCEPTIONS
2132
- | WasmFeatures::LEGACY_EXCEPTIONS
2133
- | WasmFeatures::STACK_SWITCHING;
2134
- match self.compiler_target().architecture {
2135
- target_lexicon::Architecture::Aarch64(_) => {
2136
- unsupported |= WasmFeatures::THREADS;
2137
- unsupported |= WasmFeatures::WIDE_ARITHMETIC;
2138
- }
2139
-
2140
- // Winch doesn't support other non-x64 architectures at this
2141
- // time either but will return an first-class error for
2142
- // them.
2143
- _ => {}
2144
- }
2145
- unsupported
2146
- }
2147
- Some(Strategy::Auto) => unreachable!(),
2148
- }
2149
- #[cfg(not(any(feature = "cranelift", feature = "winch")))]
2150
- return WasmFeatures::empty();
2151
- }
2152
-
2153
- /// Calculates the set of features that are enabled for this `Config`.
2154
- ///
2155
- /// This method internally will start with the an empty set of features to
2156
- /// avoid being tied to wasmparser's defaults. Next Wasmtime's set of
2157
- /// default features are added to this set, some of which are conditional
2158
- /// depending on crate features. Finally explicitly requested features via
2159
- /// `wasm_*` methods on `Config` are applied. Everything is then validated
2160
- /// later in `Config::validate`.
2161
- fn features(&self) -> WasmFeatures {
2162
- // Wasmtime by default supports all of the wasm 2.0 version of the
2163
- // specification.
2164
- let mut features = WasmFeatures::WASM2;
2165
-
2166
- // On-by-default features that wasmtime has. Note that these are all
2167
- // subject to the criteria at
2168
- // https://docs.wasmtime.dev/contributing-implementing-wasm-proposals.html
2169
- // and
2170
- // https://docs.wasmtime.dev/stability-wasm-proposals.html
2171
- features |= WasmFeatures::MULTI_MEMORY;
2172
- features |= WasmFeatures::RELAXED_SIMD;
2173
- features |= WasmFeatures::TAIL_CALL;
2174
- features |= WasmFeatures::EXTENDED_CONST;
2175
- features |= WasmFeatures::MEMORY64;
2176
- // NB: if you add a feature above this line please double-check
2177
- // https://docs.wasmtime.dev/stability-wasm-proposals.html
2178
- // to ensure all requirements are met and/or update the documentation
2179
- // there too.
2180
-
2181
- // Set some features to their conditionally-enabled defaults depending
2182
- // on crate compile-time features.
2183
- features.set(WasmFeatures::GC_TYPES, cfg!(feature = "gc"));
2184
- features.set(WasmFeatures::THREADS, cfg!(feature = "threads"));
2185
- features.set(
2186
- WasmFeatures::COMPONENT_MODEL,
2187
- cfg!(feature = "component-model"),
2188
- );
2189
-
2190
- // From the default set of proposals remove any that the current
2191
- // compiler backend may panic on if the module contains them.
2192
- features = features & !self.compiler_panicking_wasm_features();
2193
-
2194
- // After wasmtime's defaults are configured then factor in user requests
2195
- // and disable/enable features. Note that the enable/disable sets should
2196
- // be disjoint.
2197
- debug_assert!((self.enabled_features & self.disabled_features).is_empty());
2198
- features &= !self.disabled_features;
2199
- features |= self.enabled_features;
2200
-
2201
- features
2202
- }
2203
-
2204
- /// Returns the configured compiler target for this `Config`.
2205
- pub(crate) fn compiler_target(&self) -> target_lexicon::Triple {
2206
- // If a target is explicitly configured, always use that.
2207
- if let Some(target) = self.target.clone() {
2208
- return target;
2209
- }
2210
-
2211
- // If the `build.rs` script determined that this platform uses pulley by
2212
- // default, then use Pulley.
2213
- if cfg!(default_target_pulley) {
2214
- return target_lexicon::Triple::pulley_host();
2215
- }
2216
-
2217
- // And at this point the target is for sure the host.
2218
- target_lexicon::Triple::host()
2219
- }
2220
-
2221
- pub(crate) fn validate(&self) -> Result<(Tunables, WasmFeatures)> {
2222
- let features = self.features();
2223
-
2224
- // First validate that the selected compiler backend and configuration
2225
- // supports the set of `features` that are enabled. This will help
2226
- // provide more first class errors instead of panics about unsupported
2227
- // features and configurations.
2228
- let unsupported = features & self.compiler_panicking_wasm_features();
2229
- if !unsupported.is_empty() {
2230
- for flag in WasmFeatures::FLAGS.iter() {
2231
- if !unsupported.contains(*flag.value()) {
2232
- continue;
2233
- }
2234
- bail!(
2235
- "the wasm_{} feature is not supported on this compiler configuration",
2236
- flag.name().to_lowercase()
2237
- );
2238
- }
2239
-
2240
- panic!("should have returned an error by now")
2241
- }
2242
-
2243
- #[cfg(any(feature = "async", feature = "stack-switching"))]
2244
- if self.async_support && self.max_wasm_stack > self.async_stack_size {
2245
- bail!("max_wasm_stack size cannot exceed the async_stack_size");
2246
- }
2247
- if self.max_wasm_stack == 0 {
2248
- bail!("max_wasm_stack size cannot be zero");
2249
- }
2250
- if !cfg!(feature = "wmemcheck") && self.wmemcheck {
2251
- bail!("wmemcheck (memory checker) was requested but is not enabled in this build");
2252
- }
2253
-
2254
- if !cfg!(feature = "gc") && features.gc_types() {
2255
- bail!("support for GC was disabled at compile time")
2256
- }
2257
-
2258
- if !cfg!(feature = "gc") && features.contains(WasmFeatures::EXCEPTIONS) {
2259
- bail!("exceptions support requires garbage collection (GC) to be enabled in the build");
2260
- }
2261
-
2262
- let mut tunables = Tunables::default_for_target(&self.compiler_target())?;
2263
-
2264
- // If no target is explicitly specified then further refine `tunables`
2265
- // for the configuration of this host depending on what platform
2266
- // features were found available at compile time. This means that anyone
2267
- // cross-compiling for a customized host will need to further refine
2268
- // compilation options.
2269
- if self.target.is_none() {
2270
- // If this platform doesn't have native signals then change some
2271
- // defaults to account for that. Note that VM guards are turned off
2272
- // here because that's primarily a feature of eliding
2273
- // bounds-checks.
2274
- if !cfg!(has_native_signals) {
2275
- tunables.signals_based_traps = cfg!(has_native_signals);
2276
- tunables.memory_guard_size = 0;
2277
- }
2278
-
2279
- // When virtual memory is not available use slightly different
2280
- // defaults for tunables to be more amenable to `MallocMemory`.
2281
- // Note that these can still be overridden by config options.
2282
- if !cfg!(has_virtual_memory) {
2283
- tunables.memory_reservation = 0;
2284
- tunables.memory_reservation_for_growth = 1 << 20; // 1MB
2285
- tunables.memory_init_cow = false;
2286
- }
2287
- }
2288
-
2289
- self.tunables.configure(&mut tunables);
2290
-
2291
- // If we're going to compile with winch, we must use the winch calling convention.
2292
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2293
- {
2294
- tunables.winch_callable = self.compiler_config.strategy == Some(Strategy::Winch);
2295
- }
2296
-
2297
- tunables.collector = if features.gc_types() {
2298
- #[cfg(feature = "gc")]
2299
- {
2300
- use wasmtime_environ::Collector as EnvCollector;
2301
- Some(match self.collector.try_not_auto()? {
2302
- Collector::DeferredReferenceCounting => EnvCollector::DeferredReferenceCounting,
2303
- Collector::Null => EnvCollector::Null,
2304
- Collector::Auto => unreachable!(),
2305
- })
2306
- }
2307
- #[cfg(not(feature = "gc"))]
2308
- bail!("cannot use GC types: the `gc` feature was disabled at compile time")
2309
- } else {
2310
- None
2311
- };
2312
-
2313
- Ok((tunables, features))
2314
- }
2315
-
2316
- #[cfg(feature = "runtime")]
2317
- pub(crate) fn build_allocator(
2318
- &self,
2319
- tunables: &Tunables,
2320
- ) -> Result<Box<dyn InstanceAllocator + Send + Sync>> {
2321
- #[cfg(feature = "async")]
2322
- let (stack_size, stack_zeroing) = (self.async_stack_size, self.async_stack_zeroing);
2323
-
2324
- #[cfg(not(feature = "async"))]
2325
- let (stack_size, stack_zeroing) = (0, false);
2326
-
2327
- let _ = tunables;
2328
-
2329
- match &self.allocation_strategy {
2330
- InstanceAllocationStrategy::OnDemand => {
2331
- let mut _allocator = Box::new(OnDemandInstanceAllocator::new(
2332
- self.mem_creator.clone(),
2333
- stack_size,
2334
- stack_zeroing,
2335
- ));
2336
- #[cfg(feature = "async")]
2337
- if let Some(stack_creator) = &self.stack_creator {
2338
- _allocator.set_stack_creator(stack_creator.clone());
2339
- }
2340
- Ok(_allocator)
2341
- }
2342
- #[cfg(feature = "pooling-allocator")]
2343
- InstanceAllocationStrategy::Pooling(config) => {
2344
- let mut config = config.config;
2345
- config.stack_size = stack_size;
2346
- config.async_stack_zeroing = stack_zeroing;
2347
- Ok(Box::new(crate::runtime::vm::PoolingInstanceAllocator::new(
2348
- &config, tunables,
2349
- )?))
2350
- }
2351
- }
2352
- }
2353
-
2354
- #[cfg(feature = "runtime")]
2355
- pub(crate) fn build_gc_runtime(&self) -> Result<Option<Arc<dyn GcRuntime>>> {
2356
- if !self.features().gc_types() {
2357
- return Ok(None);
2358
- }
2359
-
2360
- #[cfg(not(feature = "gc"))]
2361
- bail!("cannot create a GC runtime: the `gc` feature was disabled at compile time");
2362
-
2363
- #[cfg(feature = "gc")]
2364
- #[cfg_attr(
2365
- not(any(feature = "gc-null", feature = "gc-drc")),
2366
- expect(unreachable_code, reason = "definitions known to be dummy")
2367
- )]
2368
- {
2369
- Ok(Some(match self.collector.try_not_auto()? {
2370
- #[cfg(feature = "gc-drc")]
2371
- Collector::DeferredReferenceCounting => {
2372
- Arc::new(crate::runtime::vm::DrcCollector::default()) as Arc<dyn GcRuntime>
2373
- }
2374
- #[cfg(not(feature = "gc-drc"))]
2375
- Collector::DeferredReferenceCounting => unreachable!(),
2376
-
2377
- #[cfg(feature = "gc-null")]
2378
- Collector::Null => {
2379
- Arc::new(crate::runtime::vm::NullCollector::default()) as Arc<dyn GcRuntime>
2380
- }
2381
- #[cfg(not(feature = "gc-null"))]
2382
- Collector::Null => unreachable!(),
2383
-
2384
- Collector::Auto => unreachable!(),
2385
- }))
2386
- }
2387
- }
2388
-
2389
- #[cfg(feature = "runtime")]
2390
- pub(crate) fn build_profiler(&self) -> Result<Box<dyn ProfilingAgent>> {
2391
- Ok(match self.profiling_strategy {
2392
- ProfilingStrategy::PerfMap => profiling_agent::new_perfmap()?,
2393
- ProfilingStrategy::JitDump => profiling_agent::new_jitdump()?,
2394
- ProfilingStrategy::VTune => profiling_agent::new_vtune()?,
2395
- ProfilingStrategy::None => profiling_agent::new_null(),
2396
- ProfilingStrategy::Pulley => profiling_agent::new_pulley()?,
2397
- })
2398
- }
2399
-
2400
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2401
- pub(crate) fn build_compiler(
2402
- mut self,
2403
- tunables: &Tunables,
2404
- features: WasmFeatures,
2405
- ) -> Result<(Self, Box<dyn wasmtime_environ::Compiler>)> {
2406
- let target = self.compiler_target();
2407
-
2408
- // The target passed to the builders below is an `Option<Triple>` where
2409
- // `None` represents the current host with CPU features inferred from
2410
- // the host's CPU itself. The `target` above is not an `Option`, so
2411
- // switch it to `None` in the case that a target wasn't explicitly
2412
- // specified (which indicates no feature inference) and the target
2413
- // matches the host.
2414
- let target_for_builder =
2415
- if self.target.is_none() && target == target_lexicon::Triple::host() {
2416
- None
2417
- } else {
2418
- Some(target.clone())
2419
- };
2420
-
2421
- let mut compiler = match self.compiler_config.strategy {
2422
- #[cfg(feature = "cranelift")]
2423
- Some(Strategy::Cranelift) => wasmtime_cranelift::builder(target_for_builder)?,
2424
- #[cfg(not(feature = "cranelift"))]
2425
- Some(Strategy::Cranelift) => bail!("cranelift support not compiled in"),
2426
- #[cfg(feature = "winch")]
2427
- Some(Strategy::Winch) => wasmtime_winch::builder(target_for_builder)?,
2428
- #[cfg(not(feature = "winch"))]
2429
- Some(Strategy::Winch) => bail!("winch support not compiled in"),
2430
-
2431
- None | Some(Strategy::Auto) => unreachable!(),
2432
- };
2433
-
2434
- if let Some(path) = &self.compiler_config.clif_dir {
2435
- compiler.clif_dir(path)?;
2436
- }
2437
-
2438
- // If probestack is enabled for a target, Wasmtime will always use the
2439
- // inline strategy which doesn't require us to define a `__probestack`
2440
- // function or similar.
2441
- self.compiler_config
2442
- .settings
2443
- .insert("probestack_strategy".into(), "inline".into());
2444
-
2445
- // We enable stack probing by default on all targets.
2446
- // This is required on Windows because of the way Windows
2447
- // commits its stacks, but it's also a good idea on other
2448
- // platforms to ensure guard pages are hit for large frame
2449
- // sizes.
2450
- self.compiler_config
2451
- .flags
2452
- .insert("enable_probestack".into());
2453
-
2454
- // The current wasm multivalue implementation depends on this.
2455
- // FIXME(#9510) handle this in wasmtime-cranelift instead.
2456
- self.compiler_config
2457
- .flags
2458
- .insert("enable_multi_ret_implicit_sret".into());
2459
-
2460
- if let Some(unwind_requested) = self.native_unwind_info {
2461
- if !self
2462
- .compiler_config
2463
- .ensure_setting_unset_or_given("unwind_info", &unwind_requested.to_string())
2464
- {
2465
- bail!(
2466
- "incompatible settings requested for Cranelift and Wasmtime `unwind-info` settings"
2467
- );
2468
- }
2469
- }
2470
-
2471
- if target.operating_system == target_lexicon::OperatingSystem::Windows {
2472
- if !self
2473
- .compiler_config
2474
- .ensure_setting_unset_or_given("unwind_info", "true")
2475
- {
2476
- bail!("`native_unwind_info` cannot be disabled on Windows");
2477
- }
2478
- }
2479
-
2480
- // We require frame pointers for correct stack walking, which is safety
2481
- // critical in the presence of reference types, and otherwise it is just
2482
- // really bad developer experience to get wrong.
2483
- self.compiler_config
2484
- .settings
2485
- .insert("preserve_frame_pointers".into(), "true".into());
2486
-
2487
- if !tunables.signals_based_traps {
2488
- let mut ok = self
2489
- .compiler_config
2490
- .ensure_setting_unset_or_given("enable_table_access_spectre_mitigation", "false");
2491
- ok = ok
2492
- && self.compiler_config.ensure_setting_unset_or_given(
2493
- "enable_heap_access_spectre_mitigation",
2494
- "false",
2495
- );
2496
-
2497
- // Right now spectre-mitigated bounds checks will load from zero so
2498
- // if host-based signal handlers are disabled then that's a mismatch
2499
- // and doesn't work right now. Fixing this will require more thought
2500
- // of how to implement the bounds check in spectre-only mode.
2501
- if !ok {
2502
- bail!(
2503
- "when signals-based traps are disabled then spectre \
2504
- mitigations must also be disabled"
2505
- );
2506
- }
2507
- }
2508
-
2509
- // check for incompatible compiler options and set required values
2510
- if features.contains(WasmFeatures::REFERENCE_TYPES) {
2511
- if !self
2512
- .compiler_config
2513
- .ensure_setting_unset_or_given("enable_safepoints", "true")
2514
- {
2515
- bail!(
2516
- "compiler option 'enable_safepoints' must be enabled when 'reference types' is enabled"
2517
- );
2518
- }
2519
- }
2520
-
2521
- if features.contains(WasmFeatures::RELAXED_SIMD) && !features.contains(WasmFeatures::SIMD) {
2522
- bail!("cannot disable the simd proposal but enable the relaxed simd proposal");
2523
- }
2524
-
2525
- if features.contains(WasmFeatures::STACK_SWITCHING) {
2526
- use target_lexicon::OperatingSystem;
2527
- let model = match target.operating_system {
2528
- OperatingSystem::Windows => "update_windows_tib",
2529
- OperatingSystem::Linux
2530
- | OperatingSystem::MacOSX(_)
2531
- | OperatingSystem::Darwin(_) => "basic",
2532
- _ => bail!("stack-switching feature not supported on this platform "),
2533
- };
2534
-
2535
- if !self
2536
- .compiler_config
2537
- .ensure_setting_unset_or_given("stack_switch_model", model)
2538
- {
2539
- bail!(
2540
- "compiler option 'stack_switch_model' must be set to '{}' on this platform",
2541
- model
2542
- );
2543
- }
2544
- }
2545
-
2546
- // Apply compiler settings and flags
2547
- compiler.set_tunables(tunables.clone())?;
2548
- for (k, v) in self.compiler_config.settings.iter() {
2549
- compiler.set(k, v)?;
2550
- }
2551
- for flag in self.compiler_config.flags.iter() {
2552
- compiler.enable(flag)?;
2553
- }
2554
-
2555
- #[cfg(all(feature = "incremental-cache", feature = "cranelift"))]
2556
- if let Some(cache_store) = &self.compiler_config.cache_store {
2557
- compiler.enable_incremental_compilation(cache_store.clone())?;
2558
- }
2559
-
2560
- compiler.wmemcheck(self.compiler_config.wmemcheck);
2561
-
2562
- Ok((self, compiler.build()?))
2563
- }
2564
-
2565
- /// Internal setting for whether adapter modules for components will have
2566
- /// extra WebAssembly instructions inserted performing more debug checks
2567
- /// then are necessary.
2568
- #[cfg(feature = "component-model")]
2569
- pub fn debug_adapter_modules(&mut self, debug: bool) -> &mut Self {
2570
- self.tunables.debug_adapter_modules = Some(debug);
2571
- self
2572
- }
2573
-
2574
- /// Enables clif output when compiling a WebAssembly module.
2575
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2576
- pub fn emit_clif(&mut self, path: &Path) -> &mut Self {
2577
- self.compiler_config.clif_dir = Some(path.to_path_buf());
2578
- self
2579
- }
2580
-
2581
- /// Configures whether, when on macOS, Mach ports are used for exception
2582
- /// handling instead of traditional Unix-based signal handling.
2583
- ///
2584
- /// WebAssembly traps in Wasmtime are implemented with native faults, for
2585
- /// example a `SIGSEGV` will occur when a WebAssembly guest accesses
2586
- /// out-of-bounds memory. Handling this can be configured to either use Unix
2587
- /// signals or Mach ports on macOS. By default Mach ports are used.
2588
- ///
2589
- /// Mach ports enable Wasmtime to work by default with foreign
2590
- /// error-handling systems such as breakpad which also use Mach ports to
2591
- /// handle signals. In this situation Wasmtime will continue to handle guest
2592
- /// faults gracefully while any non-guest faults will get forwarded to
2593
- /// process-level handlers such as breakpad. Some more background on this
2594
- /// can be found in #2456.
2595
- ///
2596
- /// A downside of using mach ports, however, is that they don't interact
2597
- /// well with `fork()`. Forking a Wasmtime process on macOS will produce a
2598
- /// child process that cannot successfully run WebAssembly. In this
2599
- /// situation traditional Unix signal handling should be used as that's
2600
- /// inherited and works across forks.
2601
- ///
2602
- /// If your embedding wants to use a custom error handler which leverages
2603
- /// Mach ports and you additionally wish to `fork()` the process and use
2604
- /// Wasmtime in the child process that's not currently possible. Please
2605
- /// reach out to us if you're in this bucket!
2606
- ///
2607
- /// This option defaults to `true`, using Mach ports by default.
2608
- pub fn macos_use_mach_ports(&mut self, mach_ports: bool) -> &mut Self {
2609
- self.macos_use_mach_ports = mach_ports;
2610
- self
2611
- }
2612
-
2613
- /// Configures an embedder-provided function, `detect`, which is used to
2614
- /// determine if an ISA-specific feature is available on the current host.
2615
- ///
2616
- /// This function is used to verify that any features enabled for a compiler
2617
- /// backend, such as AVX support on x86\_64, are also available on the host.
2618
- /// It is undefined behavior to execute an AVX instruction on a host that
2619
- /// doesn't support AVX instructions, for example.
2620
- ///
2621
- /// When the `std` feature is active on this crate then this function is
2622
- /// configured to a default implementation that uses the standard library's
2623
- /// feature detection. When the `std` feature is disabled then there is no
2624
- /// default available and this method must be called to configure a feature
2625
- /// probing function.
2626
- ///
2627
- /// The `detect` function provided is given a string name of an ISA feature.
2628
- /// The function should then return:
2629
- ///
2630
- /// * `Some(true)` - indicates that the feature was found on the host and it
2631
- /// is supported.
2632
- /// * `Some(false)` - the feature name was recognized but it was not
2633
- /// detected on the host, for example the CPU is too old.
2634
- /// * `None` - the feature name was not recognized and it's not known
2635
- /// whether it's on the host or not.
2636
- ///
2637
- /// Feature names passed to `detect` match the same feature name used in the
2638
- /// Rust standard library. For example `"sse4.2"` is used on x86\_64.
2639
- ///
2640
- /// # Unsafety
2641
- ///
2642
- /// This function is `unsafe` because it is undefined behavior to execute
2643
- /// instructions that a host does not support. This means that the result of
2644
- /// `detect` must be correct for memory safe execution at runtime.
2645
- pub unsafe fn detect_host_feature(&mut self, detect: fn(&str) -> Option<bool>) -> &mut Self {
2646
- self.detect_host_feature = Some(detect);
2647
- self
2648
- }
2649
-
2650
- /// Configures Wasmtime to not use signals-based trap handlers, for example
2651
- /// disables `SIGILL` and `SIGSEGV` handler registration on Unix platforms.
2652
- ///
2653
- /// > **Note:** this option has important performance ramifications, be sure
2654
- /// > to understand the implications. Wasm programs have been measured to
2655
- /// > run up to 2x slower when signals-based traps are disabled.
2656
- ///
2657
- /// Wasmtime will by default leverage signals-based trap handlers (or the
2658
- /// platform equivalent, for example "vectored exception handlers" on
2659
- /// Windows) to make generated code more efficient. For example, when
2660
- /// Wasmtime can use signals-based traps, it can elide explicit bounds
2661
- /// checks for Wasm linear memory accesses, instead relying on virtual
2662
- /// memory guard pages to raise a `SIGSEGV` (on Unix) for out-of-bounds
2663
- /// accesses, which Wasmtime's runtime then catches and handles. Another
2664
- /// example is divide-by-zero: with signals-based traps, Wasmtime can let
2665
- /// the hardware raise a trap when the divisor is zero. Without
2666
- /// signals-based traps, Wasmtime must explicitly emit additional
2667
- /// instructions to check for zero and conditionally branch to a trapping
2668
- /// code path.
2669
- ///
2670
- /// Some environments however may not have access to signal handlers. For
2671
- /// example embedded scenarios may not support virtual memory. Other
2672
- /// environments where Wasmtime is embedded within the surrounding
2673
- /// environment may require that new signal handlers aren't registered due
2674
- /// to the global nature of signal handlers. This option exists to disable
2675
- /// the signal handler registration when required for these scenarios.
2676
- ///
2677
- /// When signals-based trap handlers are disabled, then Wasmtime and its
2678
- /// generated code will *never* rely on segfaults or other
2679
- /// signals. Generated code will be slower because bounds must be explicitly
2680
- /// checked along with other conditions like division by zero.
2681
- ///
2682
- /// The following additional factors can also affect Wasmtime's ability to
2683
- /// elide explicit bounds checks and leverage signals-based traps:
2684
- ///
2685
- /// * The [`Config::memory_reservation`] and [`Config::memory_guard_size`]
2686
- /// settings
2687
- /// * The index type of the linear memory (e.g. 32-bit or 64-bit)
2688
- /// * The page size of the linear memory
2689
- ///
2690
- /// When this option is disabled, the
2691
- /// `enable_heap_access_spectre_mitigation` and
2692
- /// `enable_table_access_spectre_mitigation` Cranelift settings must also be
2693
- /// disabled. This means that generated code must have spectre mitigations
2694
- /// disabled. This is because spectre mitigations rely on faults from
2695
- /// loading from the null address to implement bounds checks.
2696
- ///
2697
- /// This option defaults to `true`: signals-based trap handlers are enabled
2698
- /// by default.
2699
- ///
2700
- /// > **Note:** Disabling this option is not compatible with the Winch
2701
- /// > compiler.
2702
- pub fn signals_based_traps(&mut self, enable: bool) -> &mut Self {
2703
- self.tunables.signals_based_traps = Some(enable);
2704
- self
2705
- }
2706
-
2707
- /// Enable/disable GC support in Wasmtime entirely.
2708
- ///
2709
- /// This flag can be used to gate whether GC infrastructure is enabled or
2710
- /// initialized in Wasmtime at all. Wasmtime's GC implementation is required
2711
- /// for the [`Self::wasm_gc`] proposal, [`Self::wasm_function_references`],
2712
- /// and [`Self::wasm_exceptions`] at this time. None of those proposal can
2713
- /// be enabled without also having this option enabled.
2714
- ///
2715
- /// This option defaults to whether the crate `gc` feature is enabled or
2716
- /// not.
2717
- pub fn gc_support(&mut self, enable: bool) -> &mut Self {
2718
- self.wasm_feature(WasmFeatures::GC_TYPES, enable)
2719
- }
2720
-
2721
- /// Explicitly indicate or not whether the host is using a hardware float
2722
- /// ABI on x86 targets.
2723
- ///
2724
- /// This configuration option is only applicable on the
2725
- /// `x86_64-unknown-none` Rust target and has no effect on other host
2726
- /// targets. The `x86_64-unknown-none` Rust target does not support hardware
2727
- /// floats by default and uses a "soft float" implementation and ABI. This
2728
- /// means that `f32`, for example, is passed in a general-purpose register
2729
- /// between functions instead of a floating-point register. This does not
2730
- /// match Cranelift's ABI for `f32` where it's passed in floating-point
2731
- /// registers. Cranelift does not have support for a "soft float"
2732
- /// implementation where all floating-point operations are lowered to
2733
- /// libcalls.
2734
- ///
2735
- /// This means that for the `x86_64-unknown-none` target the ABI between
2736
- /// Wasmtime's libcalls and the host is incompatible when floats are used.
2737
- /// This further means that, by default, Wasmtime is unable to load native
2738
- /// code when compiled to the `x86_64-unknown-none` target. The purpose of
2739
- /// this option is to explicitly allow loading code and bypass this check.
2740
- ///
2741
- /// Setting this configuration option to `true` indicates that either:
2742
- /// (a) the Rust target is compiled with the hard-float ABI manually via
2743
- /// `-Zbuild-std` and a custom target JSON configuration, or (b) sufficient
2744
- /// x86 features have been enabled in the compiler such that float libcalls
2745
- /// will not be used in Wasmtime. For (a) there is no way in Rust at this
2746
- /// time to detect whether a hard-float or soft-float ABI is in use on
2747
- /// stable Rust, so this manual opt-in is required. For (b) the only
2748
- /// instance where Wasmtime passes a floating-point value in a register
2749
- /// between the host and compiled wasm code is with libcalls.
2750
- ///
2751
- /// Float-based libcalls are only used when the compilation target for a
2752
- /// wasm module has insufficient target features enabled for native
2753
- /// support. For example SSE4.1 is required for the `f32.ceil` WebAssembly
2754
- /// instruction to be compiled to a native instruction. If SSE4.1 is not
2755
- /// enabled then `f32.ceil` is translated to a "libcall" which is
2756
- /// implemented on the host. Float-based libcalls can be avoided with
2757
- /// sufficient target features enabled, for example:
2758
- ///
2759
- /// * `self.cranelift_flag_enable("has_sse3")`
2760
- /// * `self.cranelift_flag_enable("has_ssse3")`
2761
- /// * `self.cranelift_flag_enable("has_sse41")`
2762
- /// * `self.cranelift_flag_enable("has_sse42")`
2763
- /// * `self.cranelift_flag_enable("has_fma")`
2764
- ///
2765
- /// Note that when these features are enabled Wasmtime will perform a
2766
- /// runtime check to determine that the host actually has the feature
2767
- /// present.
2768
- ///
2769
- /// For some more discussion see [#11506].
2770
- ///
2771
- /// [#11506]: https://github.com/bytecodealliance/wasmtime/issues/11506
2772
- ///
2773
- /// # Safety
2774
- ///
2775
- /// This method is not safe because it cannot be detected in Rust right now
2776
- /// whether the host is compiled with a soft or hard float ABI. Additionally
2777
- /// if the host is compiled with a soft float ABI disabling this check does
2778
- /// not ensure that the wasm module in question has zero usage of floats
2779
- /// in the boundary to the host.
2780
- ///
2781
- /// Safely using this method requires one of:
2782
- ///
2783
- /// * The host target is compiled to use hardware floats.
2784
- /// * Wasm modules loaded are compiled with enough x86 Cranelift features
2785
- /// enabled to avoid float-related hostcalls.
2786
- pub unsafe fn x86_float_abi_ok(&mut self, enable: bool) -> &mut Self {
2787
- self.x86_float_abi_ok = Some(enable);
2788
- self
2789
- }
2790
- }
2791
-
2792
- impl Default for Config {
2793
- fn default() -> Config {
2794
- Config::new()
2795
- }
2796
- }
2797
-
2798
- impl fmt::Debug for Config {
2799
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2800
- let mut f = f.debug_struct("Config");
2801
-
2802
- // Not every flag in WasmFeatures can be enabled as part of creating
2803
- // a Config. This impl gives a complete picture of all WasmFeatures
2804
- // enabled, and doesn't require maintenance by hand (which has become out
2805
- // of date in the past), at the cost of possible confusion for why
2806
- // a flag in this set doesn't have a Config setter.
2807
- let features = self.features();
2808
- for flag in WasmFeatures::FLAGS.iter() {
2809
- f.field(
2810
- &format!("wasm_{}", flag.name().to_lowercase()),
2811
- &features.contains(*flag.value()),
2812
- );
2813
- }
2814
-
2815
- f.field("parallel_compilation", &self.parallel_compilation);
2816
- #[cfg(any(feature = "cranelift", feature = "winch"))]
2817
- {
2818
- f.field("compiler_config", &self.compiler_config);
2819
- }
2820
-
2821
- self.tunables.format(&mut f);
2822
- f.finish()
2823
- }
2824
- }
2825
-
2826
- /// Possible Compilation strategies for a wasm module.
2827
- ///
2828
- /// This is used as an argument to the [`Config::strategy`] method.
2829
- #[non_exhaustive]
2830
- #[derive(PartialEq, Eq, Clone, Debug, Copy)]
2831
- pub enum Strategy {
2832
- /// An indicator that the compilation strategy should be automatically
2833
- /// selected.
2834
- ///
2835
- /// This is generally what you want for most projects and indicates that the
2836
- /// `wasmtime` crate itself should make the decision about what the best
2837
- /// code generator for a wasm module is.
2838
- ///
2839
- /// Currently this always defaults to Cranelift, but the default value may
2840
- /// change over time.
2841
- Auto,
2842
-
2843
- /// Currently the default backend, Cranelift aims to be a reasonably fast
2844
- /// code generator which generates high quality machine code.
2845
- Cranelift,
2846
-
2847
- /// A baseline compiler for WebAssembly, currently under active development and not ready for
2848
- /// production applications.
2849
- Winch,
2850
- }
2851
-
2852
- #[cfg(any(feature = "winch", feature = "cranelift"))]
2853
- impl Strategy {
2854
- fn not_auto(&self) -> Option<Strategy> {
2855
- match self {
2856
- Strategy::Auto => {
2857
- if cfg!(feature = "cranelift") {
2858
- Some(Strategy::Cranelift)
2859
- } else if cfg!(feature = "winch") {
2860
- Some(Strategy::Winch)
2861
- } else {
2862
- None
2863
- }
2864
- }
2865
- other => Some(*other),
2866
- }
2867
- }
2868
- }
2869
-
2870
- /// Possible garbage collector implementations for Wasm.
2871
- ///
2872
- /// This is used as an argument to the [`Config::collector`] method.
2873
- ///
2874
- /// The properties of Wasmtime's available collectors are summarized in the
2875
- /// following table:
2876
- ///
2877
- /// | Collector | Collects Garbage[^1] | Latency[^2] | Throughput[^3] | Allocation Speed[^4] | Heap Utilization[^5] |
2878
- /// |-----------------------------|----------------------|-------------|----------------|----------------------|----------------------|
2879
- /// | `DeferredReferenceCounting` | Yes, but not cycles | 🙂 | 🙁 | 😐 | 😐 |
2880
- /// | `Null` | No | 🙂 | 🙂 | 🙂 | 🙂 |
2881
- ///
2882
- /// [^1]: Whether or not the collector is capable of collecting garbage and cyclic garbage.
2883
- ///
2884
- /// [^2]: How long the Wasm program is paused during garbage
2885
- /// collections. Shorter is better. In general, better latency implies
2886
- /// worse throughput and vice versa.
2887
- ///
2888
- /// [^3]: How fast the Wasm program runs when using this collector. Roughly
2889
- /// equivalent to the number of Wasm instructions executed per
2890
- /// second. Faster is better. In general, better throughput implies worse
2891
- /// latency and vice versa.
2892
- ///
2893
- /// [^4]: How fast can individual objects be allocated?
2894
- ///
2895
- /// [^5]: How many objects can the collector fit into N bytes of memory? That
2896
- /// is, how much space for bookkeeping and metadata does this collector
2897
- /// require? Less space taken up by metadata means more space for
2898
- /// additional objects. Reference counts are larger than mark bits and
2899
- /// free lists are larger than bump pointers, for example.
2900
- #[non_exhaustive]
2901
- #[derive(PartialEq, Eq, Clone, Debug, Copy)]
2902
- pub enum Collector {
2903
- /// An indicator that the garbage collector should be automatically
2904
- /// selected.
2905
- ///
2906
- /// This is generally what you want for most projects and indicates that the
2907
- /// `wasmtime` crate itself should make the decision about what the best
2908
- /// collector for a wasm module is.
2909
- ///
2910
- /// Currently this always defaults to the deferred reference-counting
2911
- /// collector, but the default value may change over time.
2912
- Auto,
2913
-
2914
- /// The deferred reference-counting collector.
2915
- ///
2916
- /// A reference-counting collector, generally trading improved latency for
2917
- /// worsened throughput. However, to avoid the largest overheads of
2918
- /// reference counting, it avoids manipulating reference counts for Wasm
2919
- /// objects on the stack. Instead, it will hold a reference count for an
2920
- /// over-approximation of all objects that are currently on the stack, trace
2921
- /// the stack during collection to find the precise set of on-stack roots,
2922
- /// and decrement the reference count of any object that was in the
2923
- /// over-approximation but not the precise set. This improves throughput,
2924
- /// compared to "pure" reference counting, by performing many fewer
2925
- /// refcount-increment and -decrement operations. The cost is the increased
2926
- /// latency associated with tracing the stack.
2927
- ///
2928
- /// This collector cannot currently collect cycles; they will leak until the
2929
- /// GC heap's store is dropped.
2930
- DeferredReferenceCounting,
2931
-
2932
- /// The null collector.
2933
- ///
2934
- /// This collector does not actually collect any garbage. It simply
2935
- /// allocates objects until it runs out of memory, at which point further
2936
- /// objects allocation attempts will trap.
2937
- ///
2938
- /// This collector is useful for incredibly short-running Wasm instances
2939
- /// where additionally you would rather halt an over-allocating Wasm program
2940
- /// than spend time collecting its garbage to allow it to keep running. It
2941
- /// is also useful for measuring the overheads associated with other
2942
- /// collectors, as this collector imposes as close to zero throughput and
2943
- /// latency overhead as possible.
2944
- Null,
2945
- }
2946
-
2947
- impl Default for Collector {
2948
- fn default() -> Collector {
2949
- Collector::Auto
2950
- }
2951
- }
2952
-
2953
- #[cfg(feature = "gc")]
2954
- impl Collector {
2955
- fn not_auto(&self) -> Option<Collector> {
2956
- match self {
2957
- Collector::Auto => {
2958
- if cfg!(feature = "gc-drc") {
2959
- Some(Collector::DeferredReferenceCounting)
2960
- } else if cfg!(feature = "gc-null") {
2961
- Some(Collector::Null)
2962
- } else {
2963
- None
2964
- }
2965
- }
2966
- other => Some(*other),
2967
- }
2968
- }
2969
-
2970
- fn try_not_auto(&self) -> Result<Self> {
2971
- match self.not_auto() {
2972
- #[cfg(feature = "gc-drc")]
2973
- Some(c @ Collector::DeferredReferenceCounting) => Ok(c),
2974
- #[cfg(not(feature = "gc-drc"))]
2975
- Some(Collector::DeferredReferenceCounting) => bail!(
2976
- "cannot create an engine using the deferred reference-counting \
2977
- collector because the `gc-drc` feature was not enabled at \
2978
- compile time",
2979
- ),
2980
-
2981
- #[cfg(feature = "gc-null")]
2982
- Some(c @ Collector::Null) => Ok(c),
2983
- #[cfg(not(feature = "gc-null"))]
2984
- Some(Collector::Null) => bail!(
2985
- "cannot create an engine using the null collector because \
2986
- the `gc-null` feature was not enabled at compile time",
2987
- ),
2988
-
2989
- Some(Collector::Auto) => unreachable!(),
2990
-
2991
- None => bail!(
2992
- "cannot create an engine with GC support when none of the \
2993
- collectors are available; enable one of the following \
2994
- features: `gc-drc`, `gc-null`",
2995
- ),
2996
- }
2997
- }
2998
- }
2999
-
3000
- /// Possible optimization levels for the Cranelift codegen backend.
3001
- #[non_exhaustive]
3002
- #[derive(Copy, Clone, Debug, Eq, PartialEq)]
3003
- pub enum OptLevel {
3004
- /// No optimizations performed, minimizes compilation time by disabling most
3005
- /// optimizations.
3006
- None,
3007
- /// Generates the fastest possible code, but may take longer.
3008
- Speed,
3009
- /// Similar to `speed`, but also performs transformations aimed at reducing
3010
- /// code size.
3011
- SpeedAndSize,
3012
- }
3013
-
3014
- /// Possible register allocator algorithms for the Cranelift codegen backend.
3015
- #[non_exhaustive]
3016
- #[derive(Copy, Clone, Debug, Eq, PartialEq)]
3017
- pub enum RegallocAlgorithm {
3018
- /// Generates the fastest possible code, but may take longer.
3019
- ///
3020
- /// This algorithm performs "backtracking", which means that it may
3021
- /// undo its earlier work and retry as it discovers conflicts. This
3022
- /// results in better register utilization, producing fewer spills
3023
- /// and moves, but can cause super-linear compile runtime.
3024
- Backtracking,
3025
- /// Generates acceptable code very quickly.
3026
- ///
3027
- /// This algorithm performs a single pass through the code,
3028
- /// guaranteed to work in linear time. (Note that the rest of
3029
- /// Cranelift is not necessarily guaranteed to run in linear time,
3030
- /// however.) It cannot undo earlier decisions, however, and it
3031
- /// cannot foresee constraints or issues that may occur further
3032
- /// ahead in the code, so the code may have more spills and moves as
3033
- /// a result.
3034
- SinglePass,
3035
- }
3036
-
3037
- /// Select which profiling technique to support.
3038
- #[derive(Debug, Clone, Copy, PartialEq)]
3039
- pub enum ProfilingStrategy {
3040
- /// No profiler support.
3041
- None,
3042
-
3043
- /// Collect function name information as the "perf map" file format, used with `perf` on Linux.
3044
- PerfMap,
3045
-
3046
- /// Collect profiling info for "jitdump" file format, used with `perf` on
3047
- /// Linux.
3048
- JitDump,
3049
-
3050
- /// Collect profiling info using the "ittapi", used with `VTune` on Linux.
3051
- VTune,
3052
-
3053
- /// Support for profiling Pulley, Wasmtime's interpreter. Note that enabling
3054
- /// this at runtime requires enabling the `profile-pulley` Cargo feature at
3055
- /// compile time.
3056
- Pulley,
3057
- }
3058
-
3059
- /// Select how wasm backtrace detailed information is handled.
3060
- #[derive(Debug, Clone, Copy)]
3061
- pub enum WasmBacktraceDetails {
3062
- /// Support is unconditionally enabled and wasmtime will parse and read
3063
- /// debug information.
3064
- Enable,
3065
-
3066
- /// Support is disabled, and wasmtime will not parse debug information for
3067
- /// backtrace details.
3068
- Disable,
3069
-
3070
- /// Support for backtrace details is conditional on the
3071
- /// `WASMTIME_BACKTRACE_DETAILS` environment variable.
3072
- Environment,
3073
- }
3074
-
3075
- /// Describe the tri-state configuration of keys such as MPK or PAGEMAP_SCAN.
3076
- #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
3077
- pub enum Enabled {
3078
- /// Enable this feature if it's detected on the host system, otherwise leave
3079
- /// it disabled.
3080
- Auto,
3081
- /// Enable this feature and fail configuration if the feature is not
3082
- /// detected on the host system.
3083
- Yes,
3084
- /// Do not enable this feature, even if the host system supports it.
3085
- No,
3086
- }
3087
-
3088
- /// Configuration options used with [`InstanceAllocationStrategy::Pooling`] to
3089
- /// change the behavior of the pooling instance allocator.
3090
- ///
3091
- /// This structure has a builder-style API in the same manner as [`Config`] and
3092
- /// is configured with [`Config::allocation_strategy`].
3093
- ///
3094
- /// Note that usage of the pooling allocator does not affect compiled
3095
- /// WebAssembly code. Compiled `*.cwasm` files, for example, are usable both
3096
- /// with and without the pooling allocator.
3097
- ///
3098
- /// ## Advantages of Pooled Allocation
3099
- ///
3100
- /// The main benefit of the pooling allocator is to make WebAssembly
3101
- /// instantiation both faster and more scalable in terms of parallelism.
3102
- /// Allocation is faster because virtual memory is already configured and ready
3103
- /// to go within the pool, there's no need to [`mmap`] (for example on Unix) a
3104
- /// new region and configure it with guard pages. By avoiding [`mmap`] this
3105
- /// avoids whole-process virtual memory locks which can improve scalability and
3106
- /// performance through avoiding this.
3107
- ///
3108
- /// Additionally with pooled allocation it's possible to create "affine slots"
3109
- /// to a particular WebAssembly module or component over time. For example if
3110
- /// the same module is multiple times over time the pooling allocator will, by
3111
- /// default, attempt to reuse the same slot. This mean that the slot has been
3112
- /// pre-configured and can retain virtual memory mappings for a copy-on-write
3113
- /// image, for example (see [`Config::memory_init_cow`] for more information.
3114
- /// This means that in a steady state instance deallocation is a single
3115
- /// [`madvise`] to reset linear memory to its original contents followed by a
3116
- /// single (optional) [`mprotect`] during the next instantiation to shrink
3117
- /// memory back to its original size. Compared to non-pooled allocation this
3118
- /// avoids the need to [`mmap`] a new region of memory, [`munmap`] it, and
3119
- /// [`mprotect`] regions too.
3120
- ///
3121
- /// Another benefit of pooled allocation is that it's possible to configure
3122
- /// things such that no virtual memory management is required at all in a steady
3123
- /// state. For example a pooling allocator can be configured with:
3124
- ///
3125
- /// * [`Config::memory_init_cow`] disabled
3126
- /// * [`Config::memory_guard_size`] disabled
3127
- /// * [`Config::memory_reservation`] shrunk to minimal size
3128
- /// * [`PoolingAllocationConfig::table_keep_resident`] sufficiently large
3129
- /// * [`PoolingAllocationConfig::linear_memory_keep_resident`] sufficiently large
3130
- ///
3131
- /// With all these options in place no virtual memory tricks are used at all and
3132
- /// everything is manually managed by Wasmtime (for example resetting memory is
3133
- /// a `memset(0)`). This is not as fast in a single-threaded scenario but can
3134
- /// provide benefits in high-parallelism situations as no virtual memory locks
3135
- /// or IPIs need happen.
3136
- ///
3137
- /// ## Disadvantages of Pooled Allocation
3138
- ///
3139
- /// Despite the above advantages to instantiation performance the pooling
3140
- /// allocator is not enabled by default in Wasmtime. One reason is that the
3141
- /// performance advantages are not necessarily portable, for example while the
3142
- /// pooling allocator works on Windows it has not been tuned for performance on
3143
- /// Windows in the same way it has on Linux.
3144
- ///
3145
- /// Additionally the main cost of the pooling allocator is that it requires a
3146
- /// very large reservation of virtual memory (on the order of most of the
3147
- /// addressable virtual address space). WebAssembly 32-bit linear memories in
3148
- /// Wasmtime are, by default 4G address space reservations with a small guard
3149
- /// region both before and after the linear memory. Memories in the pooling
3150
- /// allocator are contiguous which means that we only need a guard after linear
3151
- /// memory because the previous linear memory's slot post-guard is our own
3152
- /// pre-guard. This means that, by default, the pooling allocator uses roughly
3153
- /// 4G of virtual memory per WebAssembly linear memory slot. 4G of virtual
3154
- /// memory is 32 bits of a 64-bit address. Many 64-bit systems can only
3155
- /// actually use 48-bit addresses by default (although this can be extended on
3156
- /// architectures nowadays too), and of those 48 bits one of them is reserved
3157
- /// to indicate kernel-vs-userspace. This leaves 47-32=15 bits left,
3158
- /// meaning you can only have at most 32k slots of linear memories on many
3159
- /// systems by default. This is a relatively small number and shows how the
3160
- /// pooling allocator can quickly exhaust all of virtual memory.
3161
- ///
3162
- /// Another disadvantage of the pooling allocator is that it may keep memory
3163
- /// alive when nothing is using it. A previously used slot for an instance might
3164
- /// have paged-in memory that will not get paged out until the
3165
- /// [`Engine`](crate::Engine) owning the pooling allocator is dropped. While
3166
- /// suitable for some applications this behavior may not be suitable for all
3167
- /// applications.
3168
- ///
3169
- /// Finally the last disadvantage of the pooling allocator is that the
3170
- /// configuration values for the maximum number of instances, memories, tables,
3171
- /// etc, must all be fixed up-front. There's not always a clear answer as to
3172
- /// what these values should be so not all applications may be able to work
3173
- /// with this constraint.
3174
- ///
3175
- /// [`madvise`]: https://man7.org/linux/man-pages/man2/madvise.2.html
3176
- /// [`mprotect`]: https://man7.org/linux/man-pages/man2/mprotect.2.html
3177
- /// [`mmap`]: https://man7.org/linux/man-pages/man2/mmap.2.html
3178
- /// [`munmap`]: https://man7.org/linux/man-pages/man2/munmap.2.html
3179
- #[cfg(feature = "pooling-allocator")]
3180
- #[derive(Debug, Clone, Default)]
3181
- pub struct PoolingAllocationConfig {
3182
- config: crate::runtime::vm::PoolingInstanceAllocatorConfig,
3183
- }
3184
-
3185
- #[cfg(feature = "pooling-allocator")]
3186
- impl PoolingAllocationConfig {
3187
- /// Returns a new configuration builder with all default settings
3188
- /// configured.
3189
- pub fn new() -> PoolingAllocationConfig {
3190
- PoolingAllocationConfig::default()
3191
- }
3192
-
3193
- /// Configures the maximum number of "unused warm slots" to retain in the
3194
- /// pooling allocator.
3195
- ///
3196
- /// The pooling allocator operates over slots to allocate from, and each
3197
- /// slot is considered "cold" if it's never been used before or "warm" if
3198
- /// it's been used by some module in the past. Slots in the pooling
3199
- /// allocator additionally track an "affinity" flag to a particular core
3200
- /// wasm module. When a module is instantiated into a slot then the slot is
3201
- /// considered affine to that module, even after the instance has been
3202
- /// deallocated.
3203
- ///
3204
- /// When a new instance is created then a slot must be chosen, and the
3205
- /// current algorithm for selecting a slot is:
3206
- ///
3207
- /// * If there are slots that are affine to the module being instantiated,
3208
- /// then the most recently used slot is selected to be allocated from.
3209
- /// This is done to improve reuse of resources such as memory mappings and
3210
- /// additionally try to benefit from temporal locality for things like
3211
- /// caches.
3212
- ///
3213
- /// * Otherwise if there are more than N affine slots to other modules, then
3214
- /// one of those affine slots is chosen to be allocated. The slot chosen
3215
- /// is picked on a least-recently-used basis.
3216
- ///
3217
- /// * Finally, if there are less than N affine slots to other modules, then
3218
- /// the non-affine slots are allocated from.
3219
- ///
3220
- /// This setting, `max_unused_warm_slots`, is the value for N in the above
3221
- /// algorithm. The purpose of this setting is to have a knob over the RSS
3222
- /// impact of "unused slots" for a long-running wasm server.
3223
- ///
3224
- /// If this setting is set to 0, for example, then affine slots are
3225
- /// aggressively reused on a least-recently-used basis. A "cold" slot is
3226
- /// only used if there are no affine slots available to allocate from. This
3227
- /// means that the set of slots used over the lifetime of a program is the
3228
- /// same as the maximum concurrent number of wasm instances.
3229
- ///
3230
- /// If this setting is set to infinity, however, then cold slots are
3231
- /// prioritized to be allocated from. This means that the set of slots used
3232
- /// over the lifetime of a program will approach
3233
- /// [`PoolingAllocationConfig::total_memories`], or the maximum number of
3234
- /// slots in the pooling allocator.
3235
- ///
3236
- /// Wasmtime does not aggressively decommit all resources associated with a
3237
- /// slot when the slot is not in use. For example the
3238
- /// [`PoolingAllocationConfig::linear_memory_keep_resident`] option can be
3239
- /// used to keep memory associated with a slot, even when it's not in use.
3240
- /// This means that the total set of used slots in the pooling instance
3241
- /// allocator can impact the overall RSS usage of a program.
3242
- ///
3243
- /// The default value for this option is `100`.
3244
- pub fn max_unused_warm_slots(&mut self, max: u32) -> &mut Self {
3245
- self.config.max_unused_warm_slots = max;
3246
- self
3247
- }
3248
-
3249
- /// The target number of decommits to do per batch.
3250
- ///
3251
- /// This is not precise, as we can queue up decommits at times when we
3252
- /// aren't prepared to immediately flush them, and so we may go over this
3253
- /// target size occasionally.
3254
- ///
3255
- /// A batch size of one effectively disables batching.
3256
- ///
3257
- /// Defaults to `1`.
3258
- pub fn decommit_batch_size(&mut self, batch_size: usize) -> &mut Self {
3259
- self.config.decommit_batch_size = batch_size;
3260
- self
3261
- }
3262
-
3263
- /// How much memory, in bytes, to keep resident for async stacks allocated
3264
- /// with the pooling allocator.
3265
- ///
3266
- /// When [`PoolingAllocationConfig::async_stack_zeroing`] is enabled then
3267
- /// Wasmtime will reset the contents of async stacks back to zero upon
3268
- /// deallocation. This option can be used to perform the zeroing operation
3269
- /// with `memset` up to a certain threshold of bytes instead of using system
3270
- /// calls to reset the stack to zero.
3271
- ///
3272
- /// Note that when using this option the memory with async stacks will
3273
- /// never be decommitted.
3274
- #[cfg(feature = "async")]
3275
- pub fn async_stack_keep_resident(&mut self, size: usize) -> &mut Self {
3276
- self.config.async_stack_keep_resident = size;
3277
- self
3278
- }
3279
-
3280
- /// How much memory, in bytes, to keep resident for each linear memory
3281
- /// after deallocation.
3282
- ///
3283
- /// This option is only applicable on Linux and has no effect on other
3284
- /// platforms.
3285
- ///
3286
- /// By default Wasmtime will use `madvise` to reset the entire contents of
3287
- /// linear memory back to zero when a linear memory is deallocated. This
3288
- /// option can be used to use `memset` instead to set memory back to zero
3289
- /// which can, in some configurations, reduce the number of page faults
3290
- /// taken when a slot is reused.
3291
- pub fn linear_memory_keep_resident(&mut self, size: usize) -> &mut Self {
3292
- self.config.linear_memory_keep_resident = size;
3293
- self
3294
- }
3295
-
3296
- /// How much memory, in bytes, to keep resident for each table after
3297
- /// deallocation.
3298
- ///
3299
- /// This option is only applicable on Linux and has no effect on other
3300
- /// platforms.
3301
- ///
3302
- /// This option is the same as
3303
- /// [`PoolingAllocationConfig::linear_memory_keep_resident`] except that it
3304
- /// is applicable to tables instead.
3305
- pub fn table_keep_resident(&mut self, size: usize) -> &mut Self {
3306
- self.config.table_keep_resident = size;
3307
- self
3308
- }
3309
-
3310
- /// The maximum number of concurrent component instances supported (default
3311
- /// is `1000`).
3312
- ///
3313
- /// This provides an upper-bound on the total size of component
3314
- /// metadata-related allocations, along with
3315
- /// [`PoolingAllocationConfig::max_component_instance_size`]. The upper bound is
3316
- ///
3317
- /// ```text
3318
- /// total_component_instances * max_component_instance_size
3319
- /// ```
3320
- ///
3321
- /// where `max_component_instance_size` is rounded up to the size and alignment
3322
- /// of the internal representation of the metadata.
3323
- pub fn total_component_instances(&mut self, count: u32) -> &mut Self {
3324
- self.config.limits.total_component_instances = count;
3325
- self
3326
- }
3327
-
3328
- /// The maximum size, in bytes, allocated for a component instance's
3329
- /// `VMComponentContext` metadata.
3330
- ///
3331
- /// The [`wasmtime::component::Instance`][crate::component::Instance] type
3332
- /// has a static size but its internal `VMComponentContext` is dynamically
3333
- /// sized depending on the component being instantiated. This size limit
3334
- /// loosely correlates to the size of the component, taking into account
3335
- /// factors such as:
3336
- ///
3337
- /// * number of lifted and lowered functions,
3338
- /// * number of memories
3339
- /// * number of inner instances
3340
- /// * number of resources
3341
- ///
3342
- /// If the allocated size per instance is too small then instantiation of a
3343
- /// module will fail at runtime with an error indicating how many bytes were
3344
- /// needed.
3345
- ///
3346
- /// The default value for this is 1MiB.
3347
- ///
3348
- /// This provides an upper-bound on the total size of component
3349
- /// metadata-related allocations, along with
3350
- /// [`PoolingAllocationConfig::total_component_instances`]. The upper bound is
3351
- ///
3352
- /// ```text
3353
- /// total_component_instances * max_component_instance_size
3354
- /// ```
3355
- ///
3356
- /// where `max_component_instance_size` is rounded up to the size and alignment
3357
- /// of the internal representation of the metadata.
3358
- pub fn max_component_instance_size(&mut self, size: usize) -> &mut Self {
3359
- self.config.limits.component_instance_size = size;
3360
- self
3361
- }
3362
-
3363
- /// The maximum number of core instances a single component may contain
3364
- /// (default is unlimited).
3365
- ///
3366
- /// This method (along with
3367
- /// [`PoolingAllocationConfig::max_memories_per_component`],
3368
- /// [`PoolingAllocationConfig::max_tables_per_component`], and
3369
- /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
3370
- /// the amount of resources a single component allocation consumes.
3371
- ///
3372
- /// If a component will instantiate more core instances than `count`, then
3373
- /// the component will fail to instantiate.
3374
- pub fn max_core_instances_per_component(&mut self, count: u32) -> &mut Self {
3375
- self.config.limits.max_core_instances_per_component = count;
3376
- self
3377
- }
3378
-
3379
- /// The maximum number of Wasm linear memories that a single component may
3380
- /// transitively contain (default is unlimited).
3381
- ///
3382
- /// This method (along with
3383
- /// [`PoolingAllocationConfig::max_core_instances_per_component`],
3384
- /// [`PoolingAllocationConfig::max_tables_per_component`], and
3385
- /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
3386
- /// the amount of resources a single component allocation consumes.
3387
- ///
3388
- /// If a component transitively contains more linear memories than `count`,
3389
- /// then the component will fail to instantiate.
3390
- pub fn max_memories_per_component(&mut self, count: u32) -> &mut Self {
3391
- self.config.limits.max_memories_per_component = count;
3392
- self
3393
- }
3394
-
3395
- /// The maximum number of tables that a single component may transitively
3396
- /// contain (default is unlimited).
3397
- ///
3398
- /// This method (along with
3399
- /// [`PoolingAllocationConfig::max_core_instances_per_component`],
3400
- /// [`PoolingAllocationConfig::max_memories_per_component`],
3401
- /// [`PoolingAllocationConfig::max_component_instance_size`]) allows you to cap
3402
- /// the amount of resources a single component allocation consumes.
3403
- ///
3404
- /// If a component will transitively contains more tables than `count`, then
3405
- /// the component will fail to instantiate.
3406
- pub fn max_tables_per_component(&mut self, count: u32) -> &mut Self {
3407
- self.config.limits.max_tables_per_component = count;
3408
- self
3409
- }
3410
-
3411
- /// The maximum number of concurrent Wasm linear memories supported (default
3412
- /// is `1000`).
3413
- ///
3414
- /// This value has a direct impact on the amount of memory allocated by the pooling
3415
- /// instance allocator.
3416
- ///
3417
- /// The pooling instance allocator allocates a memory pool, where each entry
3418
- /// in the pool contains the reserved address space for each linear memory
3419
- /// supported by an instance.
3420
- ///
3421
- /// The memory pool will reserve a large quantity of host process address
3422
- /// space to elide the bounds checks required for correct WebAssembly memory
3423
- /// semantics. Even with 64-bit address spaces, the address space is limited
3424
- /// when dealing with a large number of linear memories.
3425
- ///
3426
- /// For example, on Linux x86_64, the userland address space limit is 128
3427
- /// TiB. That might seem like a lot, but each linear memory will *reserve* 6
3428
- /// GiB of space by default.
3429
- pub fn total_memories(&mut self, count: u32) -> &mut Self {
3430
- self.config.limits.total_memories = count;
3431
- self
3432
- }
3433
-
3434
- /// The maximum number of concurrent tables supported (default is `1000`).
3435
- ///
3436
- /// This value has a direct impact on the amount of memory allocated by the
3437
- /// pooling instance allocator.
3438
- ///
3439
- /// The pooling instance allocator allocates a table pool, where each entry
3440
- /// in the pool contains the space needed for each WebAssembly table
3441
- /// supported by an instance (see `table_elements` to control the size of
3442
- /// each table).
3443
- pub fn total_tables(&mut self, count: u32) -> &mut Self {
3444
- self.config.limits.total_tables = count;
3445
- self
3446
- }
3447
-
3448
- /// The maximum number of execution stacks allowed for asynchronous
3449
- /// execution, when enabled (default is `1000`).
3450
- ///
3451
- /// This value has a direct impact on the amount of memory allocated by the
3452
- /// pooling instance allocator.
3453
- #[cfg(feature = "async")]
3454
- pub fn total_stacks(&mut self, count: u32) -> &mut Self {
3455
- self.config.limits.total_stacks = count;
3456
- self
3457
- }
3458
-
3459
- /// The maximum number of concurrent core instances supported (default is
3460
- /// `1000`).
3461
- ///
3462
- /// This provides an upper-bound on the total size of core instance
3463
- /// metadata-related allocations, along with
3464
- /// [`PoolingAllocationConfig::max_core_instance_size`]. The upper bound is
3465
- ///
3466
- /// ```text
3467
- /// total_core_instances * max_core_instance_size
3468
- /// ```
3469
- ///
3470
- /// where `max_core_instance_size` is rounded up to the size and alignment of
3471
- /// the internal representation of the metadata.
3472
- pub fn total_core_instances(&mut self, count: u32) -> &mut Self {
3473
- self.config.limits.total_core_instances = count;
3474
- self
3475
- }
3476
-
3477
- /// The maximum size, in bytes, allocated for a core instance's `VMContext`
3478
- /// metadata.
3479
- ///
3480
- /// The [`Instance`][crate::Instance] type has a static size but its
3481
- /// `VMContext` metadata is dynamically sized depending on the module being
3482
- /// instantiated. This size limit loosely correlates to the size of the Wasm
3483
- /// module, taking into account factors such as:
3484
- ///
3485
- /// * number of functions
3486
- /// * number of globals
3487
- /// * number of memories
3488
- /// * number of tables
3489
- /// * number of function types
3490
- ///
3491
- /// If the allocated size per instance is too small then instantiation of a
3492
- /// module will fail at runtime with an error indicating how many bytes were
3493
- /// needed.
3494
- ///
3495
- /// The default value for this is 1MiB.
3496
- ///
3497
- /// This provides an upper-bound on the total size of core instance
3498
- /// metadata-related allocations, along with
3499
- /// [`PoolingAllocationConfig::total_core_instances`]. The upper bound is
3500
- ///
3501
- /// ```text
3502
- /// total_core_instances * max_core_instance_size
3503
- /// ```
3504
- ///
3505
- /// where `max_core_instance_size` is rounded up to the size and alignment of
3506
- /// the internal representation of the metadata.
3507
- pub fn max_core_instance_size(&mut self, size: usize) -> &mut Self {
3508
- self.config.limits.core_instance_size = size;
3509
- self
3510
- }
3511
-
3512
- /// The maximum number of defined tables for a core module (default is `1`).
3513
- ///
3514
- /// This value controls the capacity of the `VMTableDefinition` table in
3515
- /// each instance's `VMContext` structure.
3516
- ///
3517
- /// The allocated size of the table will be `tables *
3518
- /// sizeof(VMTableDefinition)` for each instance regardless of how many
3519
- /// tables are defined by an instance's module.
3520
- pub fn max_tables_per_module(&mut self, tables: u32) -> &mut Self {
3521
- self.config.limits.max_tables_per_module = tables;
3522
- self
3523
- }
3524
-
3525
- /// The maximum table elements for any table defined in a module (default is
3526
- /// `20000`).
3527
- ///
3528
- /// If a table's minimum element limit is greater than this value, the
3529
- /// module will fail to instantiate.
3530
- ///
3531
- /// If a table's maximum element limit is unbounded or greater than this
3532
- /// value, the maximum will be `table_elements` for the purpose of any
3533
- /// `table.grow` instruction.
3534
- ///
3535
- /// This value is used to reserve the maximum space for each supported
3536
- /// table; table elements are pointer-sized in the Wasmtime runtime.
3537
- /// Therefore, the space reserved for each instance is `tables *
3538
- /// table_elements * sizeof::<*const ()>`.
3539
- pub fn table_elements(&mut self, elements: usize) -> &mut Self {
3540
- self.config.limits.table_elements = elements;
3541
- self
3542
- }
3543
-
3544
- /// The maximum number of defined linear memories for a module (default is
3545
- /// `1`).
3546
- ///
3547
- /// This value controls the capacity of the `VMMemoryDefinition` table in
3548
- /// each core instance's `VMContext` structure.
3549
- ///
3550
- /// The allocated size of the table will be `memories *
3551
- /// sizeof(VMMemoryDefinition)` for each core instance regardless of how
3552
- /// many memories are defined by the core instance's module.
3553
- pub fn max_memories_per_module(&mut self, memories: u32) -> &mut Self {
3554
- self.config.limits.max_memories_per_module = memories;
3555
- self
3556
- }
3557
-
3558
- /// The maximum byte size that any WebAssembly linear memory may grow to.
3559
- ///
3560
- /// This option defaults to 4 GiB meaning that for 32-bit linear memories
3561
- /// there is no restrictions. 64-bit linear memories will not be allowed to
3562
- /// grow beyond 4 GiB by default.
3563
- ///
3564
- /// If a memory's minimum size is greater than this value, the module will
3565
- /// fail to instantiate.
3566
- ///
3567
- /// If a memory's maximum size is unbounded or greater than this value, the
3568
- /// maximum will be `max_memory_size` for the purpose of any `memory.grow`
3569
- /// instruction.
3570
- ///
3571
- /// This value is used to control the maximum accessible space for each
3572
- /// linear memory of a core instance. This can be thought of as a simple
3573
- /// mechanism like [`Store::limiter`](crate::Store::limiter) to limit memory
3574
- /// at runtime. This value can also affect striping/coloring behavior when
3575
- /// used in conjunction with
3576
- /// [`memory_protection_keys`](PoolingAllocationConfig::memory_protection_keys).
3577
- ///
3578
- /// The virtual memory reservation size of each linear memory is controlled
3579
- /// by the [`Config::memory_reservation`] setting and this method's
3580
- /// configuration cannot exceed [`Config::memory_reservation`].
3581
- pub fn max_memory_size(&mut self, bytes: usize) -> &mut Self {
3582
- self.config.limits.max_memory_size = bytes;
3583
- self
3584
- }
3585
-
3586
- /// Configures whether memory protection keys (MPK) should be used for more
3587
- /// efficient layout of pool-allocated memories.
3588
- ///
3589
- /// When using the pooling allocator (see [`Config::allocation_strategy`],
3590
- /// [`InstanceAllocationStrategy::Pooling`]), memory protection keys can
3591
- /// reduce the total amount of allocated virtual memory by eliminating guard
3592
- /// regions between WebAssembly memories in the pool. It does so by
3593
- /// "coloring" memory regions with different memory keys and setting which
3594
- /// regions are accessible each time executions switches from host to guest
3595
- /// (or vice versa).
3596
- ///
3597
- /// Leveraging MPK requires configuring a smaller-than-default
3598
- /// [`max_memory_size`](PoolingAllocationConfig::max_memory_size) to enable
3599
- /// this coloring/striping behavior. For example embeddings might want to
3600
- /// reduce the default 4G allowance to 128M.
3601
- ///
3602
- /// MPK is only available on Linux (called `pku` there) and recent x86
3603
- /// systems; we check for MPK support at runtime by examining the `CPUID`
3604
- /// register. This configuration setting can be in three states:
3605
- ///
3606
- /// - `auto`: if MPK support is available the guard regions are removed; if
3607
- /// not, the guard regions remain
3608
- /// - `yes`: use MPK to eliminate guard regions; fail if MPK is not
3609
- /// supported
3610
- /// - `no`: never use MPK
3611
- ///
3612
- /// By default this value is `no`, but may become `auto` in future
3613
- /// releases.
3614
- ///
3615
- /// __WARNING__: this configuration options is still experimental--use at
3616
- /// your own risk! MPK uses kernel and CPU features to protect memory
3617
- /// regions; you may observe segmentation faults if anything is
3618
- /// misconfigured.
3619
- #[cfg(feature = "memory-protection-keys")]
3620
- pub fn memory_protection_keys(&mut self, enable: Enabled) -> &mut Self {
3621
- self.config.memory_protection_keys = enable;
3622
- self
3623
- }
3624
-
3625
- /// Sets an upper limit on how many memory protection keys (MPK) Wasmtime
3626
- /// will use.
3627
- ///
3628
- /// This setting is only applicable when
3629
- /// [`PoolingAllocationConfig::memory_protection_keys`] is set to `enable`
3630
- /// or `auto`. Configuring this above the HW and OS limits (typically 15)
3631
- /// has no effect.
3632
- ///
3633
- /// If multiple Wasmtime engines are used in the same process, note that all
3634
- /// engines will share the same set of allocated keys; this setting will
3635
- /// limit how many keys are allocated initially and thus available to all
3636
- /// other engines.
3637
- #[cfg(feature = "memory-protection-keys")]
3638
- pub fn max_memory_protection_keys(&mut self, max: usize) -> &mut Self {
3639
- self.config.max_memory_protection_keys = max;
3640
- self
3641
- }
3642
-
3643
- /// Check if memory protection keys (MPK) are available on the current host.
3644
- ///
3645
- /// This is a convenience method for determining MPK availability using the
3646
- /// same method that [`Enabled::Auto`] does. See
3647
- /// [`PoolingAllocationConfig::memory_protection_keys`] for more
3648
- /// information.
3649
- #[cfg(feature = "memory-protection-keys")]
3650
- pub fn are_memory_protection_keys_available() -> bool {
3651
- crate::runtime::vm::mpk::is_supported()
3652
- }
3653
-
3654
- /// The maximum number of concurrent GC heaps supported (default is `1000`).
3655
- ///
3656
- /// This value has a direct impact on the amount of memory allocated by the
3657
- /// pooling instance allocator.
3658
- ///
3659
- /// The pooling instance allocator allocates a GC heap pool, where each
3660
- /// entry in the pool contains the space needed for each GC heap used by a
3661
- /// store.
3662
- #[cfg(feature = "gc")]
3663
- pub fn total_gc_heaps(&mut self, count: u32) -> &mut Self {
3664
- self.config.limits.total_gc_heaps = count;
3665
- self
3666
- }
3667
-
3668
- /// Configures whether the Linux-specific [`PAGEMAP_SCAN` ioctl][ioctl] is
3669
- /// used to help reset linear memory.
3670
- ///
3671
- /// When [`Self::linear_memory_keep_resident`] or
3672
- /// [`Self::table_keep_resident`] options are configured to nonzero values
3673
- /// the default behavior is to `memset` the lowest addresses of a table or
3674
- /// memory back to their original contents. With the `PAGEMAP_SCAN` ioctl on
3675
- /// Linux this can be done to more intelligently scan for resident pages in
3676
- /// the region and only reset those pages back to their original contents
3677
- /// with `memset` rather than assuming the low addresses are all resident.
3678
- ///
3679
- /// This ioctl has the potential to provide a number of performance benefits
3680
- /// in high-reuse and high concurrency scenarios. Notably this enables
3681
- /// Wasmtime to scan the entire region of WebAssembly linear memory and
3682
- /// manually reset memory back to its original contents, up to
3683
- /// [`Self::linear_memory_keep_resident`] bytes, possibly skipping an
3684
- /// `madvise` entirely. This can be more efficient by avoiding removing
3685
- /// pages from the address space entirely and additionally ensuring that
3686
- /// future use of the linear memory doesn't incur page faults as the pages
3687
- /// remain resident.
3688
- ///
3689
- /// At this time this configuration option is still being evaluated as to
3690
- /// how appropriate it is for all use cases. It currently defaults to
3691
- /// `no` or disabled but may change to `auto`, enable if supported, in the
3692
- /// future. This option is only supported on Linux and requires a kernel
3693
- /// version of 6.7 or higher.
3694
- ///
3695
- /// [ioctl]: https://www.man7.org/linux/man-pages/man2/PAGEMAP_SCAN.2const.html
3696
- pub fn pagemap_scan(&mut self, enable: Enabled) -> &mut Self {
3697
- self.config.pagemap_scan = enable;
3698
- self
3699
- }
3700
-
3701
- /// Tests whether [`Self::pagemap_scan`] is available or not on the host
3702
- /// system.
3703
- pub fn is_pagemap_scan_available() -> bool {
3704
- crate::runtime::vm::PoolingInstanceAllocatorConfig::is_pagemap_scan_available()
3705
- }
3706
- }
3707
-
3708
- #[cfg(feature = "std")]
3709
- fn detect_host_feature(feature: &str) -> Option<bool> {
3710
- #[cfg(target_arch = "aarch64")]
3711
- {
3712
- return match feature {
3713
- "lse" => Some(std::arch::is_aarch64_feature_detected!("lse")),
3714
- "paca" => Some(std::arch::is_aarch64_feature_detected!("paca")),
3715
- "fp16" => Some(std::arch::is_aarch64_feature_detected!("fp16")),
3716
-
3717
- _ => None,
3718
- };
3719
- }
3720
-
3721
- // `is_s390x_feature_detected` is nightly only for now, so use the
3722
- // STORE FACILITY LIST EXTENDED instruction as a temporary measure.
3723
- #[cfg(target_arch = "s390x")]
3724
- {
3725
- let mut facility_list: [u64; 4] = [0; 4];
3726
- unsafe {
3727
- core::arch::asm!(
3728
- "stfle 0({})",
3729
- in(reg_addr) facility_list.as_mut_ptr() ,
3730
- inout("r0") facility_list.len() as u64 - 1 => _,
3731
- options(nostack)
3732
- );
3733
- }
3734
- let get_facility_bit = |n: usize| {
3735
- // NOTE: bits are numbered from the left.
3736
- facility_list[n / 64] & (1 << (63 - (n % 64))) != 0
3737
- };
3738
-
3739
- return match feature {
3740
- "mie3" => Some(get_facility_bit(61)),
3741
- "mie4" => Some(get_facility_bit(84)),
3742
- "vxrs_ext2" => Some(get_facility_bit(148)),
3743
- "vxrs_ext3" => Some(get_facility_bit(198)),
3744
-
3745
- _ => None,
3746
- };
3747
- }
3748
-
3749
- #[cfg(target_arch = "riscv64")]
3750
- {
3751
- return match feature {
3752
- // due to `is_riscv64_feature_detected` is not stable.
3753
- // we cannot use it. For now lie and say all features are always
3754
- // found to keep tests working.
3755
- _ => Some(true),
3756
- };
3757
- }
3758
-
3759
- #[cfg(target_arch = "x86_64")]
3760
- {
3761
- return match feature {
3762
- "cmpxchg16b" => Some(std::is_x86_feature_detected!("cmpxchg16b")),
3763
- "sse3" => Some(std::is_x86_feature_detected!("sse3")),
3764
- "ssse3" => Some(std::is_x86_feature_detected!("ssse3")),
3765
- "sse4.1" => Some(std::is_x86_feature_detected!("sse4.1")),
3766
- "sse4.2" => Some(std::is_x86_feature_detected!("sse4.2")),
3767
- "popcnt" => Some(std::is_x86_feature_detected!("popcnt")),
3768
- "avx" => Some(std::is_x86_feature_detected!("avx")),
3769
- "avx2" => Some(std::is_x86_feature_detected!("avx2")),
3770
- "fma" => Some(std::is_x86_feature_detected!("fma")),
3771
- "bmi1" => Some(std::is_x86_feature_detected!("bmi1")),
3772
- "bmi2" => Some(std::is_x86_feature_detected!("bmi2")),
3773
- "avx512bitalg" => Some(std::is_x86_feature_detected!("avx512bitalg")),
3774
- "avx512dq" => Some(std::is_x86_feature_detected!("avx512dq")),
3775
- "avx512f" => Some(std::is_x86_feature_detected!("avx512f")),
3776
- "avx512vl" => Some(std::is_x86_feature_detected!("avx512vl")),
3777
- "avx512vbmi" => Some(std::is_x86_feature_detected!("avx512vbmi")),
3778
- "lzcnt" => Some(std::is_x86_feature_detected!("lzcnt")),
3779
-
3780
- _ => None,
3781
- };
3782
- }
3783
-
3784
- #[allow(
3785
- unreachable_code,
3786
- reason = "reachable or not depending on if a target above matches"
3787
- )]
3788
- {
3789
- let _ = feature;
3790
- return None;
3791
- }
3792
- }