wasmtime 15.0.1 → 16.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1212) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +83 -103
  3. data/ext/Cargo.toml +6 -6
  4. data/ext/cargo-vendor/cranelift-bforest-0.103.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.103.0/Cargo.toml +40 -0
  6. data/ext/cargo-vendor/cranelift-bforest-0.103.0/src/lib.rs +183 -0
  7. data/ext/cargo-vendor/cranelift-codegen-0.103.0/.cargo-checksum.json +1 -0
  8. data/ext/cargo-vendor/cranelift-codegen-0.103.0/Cargo.toml +175 -0
  9. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/binemit/mod.rs +171 -0
  10. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/egraph/cost.rs +171 -0
  11. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/egraph/elaborate.rs +750 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/egraph.rs +703 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/ir/dfg.rs +1735 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/ir/pcc.rs +1682 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/aarch64/lower/isle.rs +874 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/riscv64/inst/mod.rs +2041 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/riscv64/inst.isle +2928 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/riscv64/lower.isle +2864 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/s390x/lower/isle.rs +1029 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/x64/lower/isle.rs +1064 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isa/x64/pcc.rs +916 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/isle_prelude.rs +977 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/lib.rs +106 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/machinst/isle.rs +896 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/arithmetic.isle +152 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/cprop.isle +237 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/icmp.isle +199 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts/selects.isle +76 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/opts.rs +172 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/prelude.isle +649 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/timing.rs +297 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.103.0/src/unionfind.rs +75 -0
  33. data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/.cargo-checksum.json +1 -0
  34. data/ext/cargo-vendor/cranelift-codegen-meta-0.103.0/Cargo.toml +35 -0
  35. data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/.cargo-checksum.json +1 -0
  36. data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/Cargo.toml +22 -0
  37. data/ext/cargo-vendor/cranelift-codegen-shared-0.103.0/src/lib.rs +10 -0
  38. data/ext/cargo-vendor/cranelift-control-0.103.0/.cargo-checksum.json +1 -0
  39. data/ext/cargo-vendor/cranelift-control-0.103.0/Cargo.toml +30 -0
  40. data/ext/cargo-vendor/cranelift-entity-0.103.0/.cargo-checksum.json +1 -0
  41. data/ext/cargo-vendor/cranelift-entity-0.103.0/Cargo.toml +50 -0
  42. data/ext/cargo-vendor/cranelift-entity-0.103.0/src/lib.rs +317 -0
  43. data/ext/cargo-vendor/cranelift-entity-0.103.0/src/primary.rs +516 -0
  44. data/ext/cargo-vendor/cranelift-entity-0.103.0/src/unsigned.rs +71 -0
  45. data/ext/cargo-vendor/cranelift-frontend-0.103.0/.cargo-checksum.json +1 -0
  46. data/ext/cargo-vendor/cranelift-frontend-0.103.0/Cargo.toml +68 -0
  47. data/ext/cargo-vendor/cranelift-frontend-0.103.0/src/lib.rs +189 -0
  48. data/ext/cargo-vendor/cranelift-isle-0.103.0/.cargo-checksum.json +1 -0
  49. data/ext/cargo-vendor/cranelift-isle-0.103.0/Cargo.toml +46 -0
  50. data/ext/cargo-vendor/cranelift-isle-0.103.0/isle_examples/link/multi_constructor_main.rs +88 -0
  51. data/ext/cargo-vendor/cranelift-isle-0.103.0/isle_examples/link/multi_extractor_main.rs +63 -0
  52. data/ext/cargo-vendor/cranelift-isle-0.103.0/src/codegen.rs +886 -0
  53. data/ext/cargo-vendor/cranelift-native-0.103.0/.cargo-checksum.json +1 -0
  54. data/ext/cargo-vendor/cranelift-native-0.103.0/Cargo.toml +43 -0
  55. data/ext/cargo-vendor/cranelift-native-0.103.0/src/lib.rs +184 -0
  56. data/ext/cargo-vendor/cranelift-wasm-0.103.0/.cargo-checksum.json +1 -0
  57. data/ext/cargo-vendor/cranelift-wasm-0.103.0/Cargo.toml +106 -0
  58. data/ext/cargo-vendor/cranelift-wasm-0.103.0/src/environ/dummy.rs +953 -0
  59. data/ext/cargo-vendor/cranelift-wasm-0.103.0/src/lib.rs +62 -0
  60. data/ext/cargo-vendor/cranelift-wasm-0.103.0/src/translation_utils.rs +89 -0
  61. data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/.cargo-checksum.json +1 -0
  62. data/ext/cargo-vendor/wasi-cap-std-sync-16.0.0/Cargo.toml +102 -0
  63. data/ext/cargo-vendor/wasi-common-16.0.0/.cargo-checksum.json +1 -0
  64. data/ext/cargo-vendor/wasi-common-16.0.0/Cargo.toml +131 -0
  65. data/ext/cargo-vendor/wasi-common-16.0.0/src/lib.rs +76 -0
  66. data/ext/cargo-vendor/wasi-common-16.0.0/src/snapshots/preview_1.rs +1492 -0
  67. data/ext/cargo-vendor/wasmtime-16.0.0/.cargo-checksum.json +1 -0
  68. data/ext/cargo-vendor/wasmtime-16.0.0/Cargo.toml +211 -0
  69. data/ext/cargo-vendor/wasmtime-16.0.0/src/compiler.rs +682 -0
  70. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/component.rs +505 -0
  71. data/ext/cargo-vendor/wasmtime-16.0.0/src/component/func/typed.rs +2400 -0
  72. data/ext/cargo-vendor/wasmtime-16.0.0/src/config.rs +2422 -0
  73. data/ext/cargo-vendor/wasmtime-16.0.0/src/func.rs +2391 -0
  74. data/ext/cargo-vendor/wasmtime-16.0.0/src/lib.rs +520 -0
  75. data/ext/cargo-vendor/wasmtime-16.0.0/src/memory.rs +998 -0
  76. data/ext/cargo-vendor/wasmtime-16.0.0/src/module.rs +1370 -0
  77. data/ext/cargo-vendor/wasmtime-16.0.0/src/stack.rs +73 -0
  78. data/ext/cargo-vendor/wasmtime-16.0.0/src/v128.rs +122 -0
  79. data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/.cargo-checksum.json +1 -0
  80. data/ext/cargo-vendor/wasmtime-asm-macros-16.0.0/Cargo.toml +22 -0
  81. data/ext/cargo-vendor/wasmtime-cache-16.0.0/.cargo-checksum.json +1 -0
  82. data/ext/cargo-vendor/wasmtime-cache-16.0.0/Cargo.toml +81 -0
  83. data/ext/cargo-vendor/wasmtime-cache-16.0.0/src/lib.rs +235 -0
  84. data/ext/cargo-vendor/wasmtime-cache-16.0.0/src/worker.rs +890 -0
  85. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/wasmtime-component-macro-16.0.0/Cargo.toml +67 -0
  87. data/ext/cargo-vendor/wasmtime-component-util-16.0.0/.cargo-checksum.json +1 -0
  88. data/ext/cargo-vendor/wasmtime-component-util-16.0.0/Cargo.toml +25 -0
  89. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/.cargo-checksum.json +1 -0
  90. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/Cargo.toml +112 -0
  91. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/compiler/component.rs +959 -0
  92. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/compiler.rs +1317 -0
  93. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/debug/transform/expression.rs +1252 -0
  94. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/debug/transform/simulate.rs +410 -0
  95. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/debug.rs +18 -0
  96. data/ext/cargo-vendor/wasmtime-cranelift-16.0.0/src/func_environ.rs +2750 -0
  97. data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/.cargo-checksum.json +1 -0
  98. data/ext/cargo-vendor/wasmtime-cranelift-shared-16.0.0/Cargo.toml +71 -0
  99. data/ext/cargo-vendor/wasmtime-environ-16.0.0/.cargo-checksum.json +1 -0
  100. data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.lock +660 -0
  101. data/ext/cargo-vendor/wasmtime-environ-16.0.0/Cargo.toml +125 -0
  102. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/compilation.rs +402 -0
  103. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/component/compiler.rs +47 -0
  104. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/component/translate.rs +951 -0
  105. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/component/types.rs +1876 -0
  106. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/lib.rs +59 -0
  107. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/module.rs +1075 -0
  108. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/module_environ.rs +892 -0
  109. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/module_types.rs +120 -0
  110. data/ext/cargo-vendor/wasmtime-environ-16.0.0/src/scopevec.rs +78 -0
  111. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/.cargo-checksum.json +1 -0
  112. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/Cargo.toml +63 -0
  113. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/src/lib.rs +328 -0
  114. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/src/unix.rs +265 -0
  115. data/ext/cargo-vendor/wasmtime-fiber-16.0.0/src/windows.c +9 -0
  116. data/ext/cargo-vendor/wasmtime-jit-16.0.0/.cargo-checksum.json +1 -0
  117. data/ext/cargo-vendor/wasmtime-jit-16.0.0/Cargo.toml +125 -0
  118. data/ext/cargo-vendor/wasmtime-jit-16.0.0/src/code_memory.rs +319 -0
  119. data/ext/cargo-vendor/wasmtime-jit-16.0.0/src/instantiate.rs +772 -0
  120. data/ext/cargo-vendor/wasmtime-jit-16.0.0/src/lib.rs +21 -0
  121. data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/.cargo-checksum.json +1 -0
  122. data/ext/cargo-vendor/wasmtime-jit-debug-16.0.0/Cargo.toml +67 -0
  123. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-16.0.0/Cargo.toml +46 -0
  125. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/.cargo-checksum.json +1 -0
  126. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/Cargo.toml +139 -0
  127. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/build.rs +28 -0
  128. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/proptest-regressions/instance/allocator/pooling/memory_pool.txt +9 -0
  129. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/arch/aarch64.rs +120 -0
  130. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/arch/mod.rs +32 -0
  131. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/arch/riscv64.rs +88 -0
  132. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/arch/s390x.rs +61 -0
  133. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/arch/x86_64.rs +106 -0
  134. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/cow.rs +888 -0
  135. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/helpers.c +113 -0
  136. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling/memory_pool.rs +1005 -0
  137. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling/stack_pool.rs +242 -0
  138. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling/table_pool.rs +227 -0
  139. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/instance/allocator/pooling.rs +698 -0
  140. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/lib.rs +264 -0
  141. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/libcalls.rs +776 -0
  142. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/mmap.rs +214 -0
  143. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/mpk/enabled.rs +204 -0
  144. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/mpk/pkru.rs +102 -0
  145. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/miri/mod.rs +10 -0
  146. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/miri/traphandlers.rs +42 -0
  147. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/miri/unwind.rs +17 -0
  148. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/miri/vm.rs +63 -0
  149. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/mod.rs +30 -0
  150. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/machports.rs +487 -0
  151. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/macos_traphandlers.rs +28 -0
  152. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/mod.rs +21 -0
  153. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/signals.rs +402 -0
  154. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/unwind.rs +91 -0
  155. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/unix/vm.rs +208 -0
  156. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/mod.rs +6 -0
  157. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/traphandlers.rs +105 -0
  158. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/unwind.rs +46 -0
  159. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/sys/windows/vm.rs +79 -0
  160. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/traphandlers/backtrace.rs +265 -0
  161. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/traphandlers.rs +733 -0
  162. data/ext/cargo-vendor/wasmtime-runtime-16.0.0/src/vmcontext.rs +1197 -0
  163. data/ext/cargo-vendor/wasmtime-types-16.0.0/.cargo-checksum.json +1 -0
  164. data/ext/cargo-vendor/wasmtime-types-16.0.0/Cargo.toml +36 -0
  165. data/ext/cargo-vendor/wasmtime-types-16.0.0/src/lib.rs +504 -0
  166. data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/.cargo-checksum.json +1 -0
  167. data/ext/cargo-vendor/wasmtime-versioned-export-macros-16.0.0/Cargo.toml +32 -0
  168. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/.cargo-checksum.json +1 -0
  169. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/Cargo.toml +261 -0
  170. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/lib.rs +137 -0
  171. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/io.rs +368 -0
  172. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/network.rs +570 -0
  173. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/tcp.rs +632 -0
  174. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/host/udp.rs +550 -0
  175. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/mod.rs +328 -0
  176. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/preview0.rs +870 -0
  177. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/preview1.rs +2348 -0
  178. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/stdio.rs +259 -0
  179. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/stream.rs +182 -0
  180. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/src/preview2/table.rs +337 -0
  181. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/api.rs +218 -0
  182. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/async_.rs +360 -0
  183. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/main.rs +113 -0
  184. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/preview1.rs +239 -0
  185. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/all/sync.rs +299 -0
  186. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/tests/process_stdin.rs +165 -0
  187. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/command-extended.wit +6 -0
  188. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/command.wit +7 -0
  189. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/cli/imports.wit +20 -0
  190. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/proxy.wit +32 -0
  191. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/deps/http/types.wit +570 -0
  192. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/wit/test.wit +22 -0
  193. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/witx/preview0/typenames.witx +746 -0
  194. data/ext/cargo-vendor/wasmtime-wasi-16.0.0/witx/preview0/wasi_unstable.witx +513 -0
  195. data/ext/cargo-vendor/wasmtime-winch-16.0.0/.cargo-checksum.json +1 -0
  196. data/ext/cargo-vendor/wasmtime-winch-16.0.0/Cargo.toml +77 -0
  197. data/ext/cargo-vendor/wasmtime-winch-16.0.0/src/compiler.rs +243 -0
  198. data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/.cargo-checksum.json +1 -0
  199. data/ext/cargo-vendor/wasmtime-wit-bindgen-16.0.0/Cargo.toml +41 -0
  200. data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/.cargo-checksum.json +1 -0
  201. data/ext/cargo-vendor/wasmtime-wmemcheck-16.0.0/Cargo.toml +29 -0
  202. data/ext/cargo-vendor/wiggle-16.0.0/.cargo-checksum.json +1 -0
  203. data/ext/cargo-vendor/wiggle-16.0.0/Cargo.toml +115 -0
  204. data/ext/cargo-vendor/wiggle-16.0.0/src/lib.rs +1198 -0
  205. data/ext/cargo-vendor/wiggle-generate-16.0.0/.cargo-checksum.json +1 -0
  206. data/ext/cargo-vendor/wiggle-generate-16.0.0/Cargo.toml +65 -0
  207. data/ext/cargo-vendor/wiggle-generate-16.0.0/src/types/handle.rs +84 -0
  208. data/ext/cargo-vendor/wiggle-generate-16.0.0/src/types/record.rs +132 -0
  209. data/ext/cargo-vendor/wiggle-generate-16.0.0/src/types/variant.rs +191 -0
  210. data/ext/cargo-vendor/wiggle-macro-16.0.0/.cargo-checksum.json +1 -0
  211. data/ext/cargo-vendor/wiggle-macro-16.0.0/Cargo.toml +55 -0
  212. data/ext/cargo-vendor/winch-codegen-0.14.0/.cargo-checksum.json +1 -0
  213. data/ext/cargo-vendor/winch-codegen-0.14.0/Cargo.toml +76 -0
  214. data/ext/cargo-vendor/winch-codegen-0.14.0/src/abi/local.rs +81 -0
  215. data/ext/cargo-vendor/winch-codegen-0.14.0/src/abi/mod.rs +614 -0
  216. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/call.rs +345 -0
  217. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/context.rs +545 -0
  218. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/control.rs +497 -0
  219. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/env.rs +251 -0
  220. data/ext/cargo-vendor/winch-codegen-0.14.0/src/codegen/mod.rs +428 -0
  221. data/ext/cargo-vendor/winch-codegen-0.14.0/src/frame/mod.rs +221 -0
  222. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/aarch64/abi.rs +313 -0
  223. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/aarch64/masm.rs +444 -0
  224. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/aarch64/mod.rs +137 -0
  225. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/mod.rs +225 -0
  226. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/abi.rs +524 -0
  227. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/asm.rs +1117 -0
  228. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/masm.rs +994 -0
  229. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/mod.rs +172 -0
  230. data/ext/cargo-vendor/winch-codegen-0.14.0/src/isa/x64/regs.rs +247 -0
  231. data/ext/cargo-vendor/winch-codegen-0.14.0/src/masm.rs +679 -0
  232. data/ext/cargo-vendor/winch-codegen-0.14.0/src/stack.rs +436 -0
  233. data/ext/cargo-vendor/winch-codegen-0.14.0/src/trampoline.rs +734 -0
  234. data/ext/cargo-vendor/winch-codegen-0.14.0/src/visitor.rs +1383 -0
  235. data/lib/wasmtime/version.rb +1 -1
  236. metadata +903 -977
  237. data/ext/cargo-vendor/cranelift-bforest-0.102.1/.cargo-checksum.json +0 -1
  238. data/ext/cargo-vendor/cranelift-bforest-0.102.1/Cargo.toml +0 -31
  239. data/ext/cargo-vendor/cranelift-bforest-0.102.1/src/lib.rs +0 -184
  240. data/ext/cargo-vendor/cranelift-codegen-0.102.1/.cargo-checksum.json +0 -1
  241. data/ext/cargo-vendor/cranelift-codegen-0.102.1/Cargo.toml +0 -164
  242. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/binemit/mod.rs +0 -171
  243. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/egraph/cost.rs +0 -91
  244. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/egraph/elaborate.rs +0 -731
  245. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/egraph.rs +0 -678
  246. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/ir/dfg.rs +0 -1730
  247. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/ir/pcc.rs +0 -1682
  248. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/aarch64/lower/isle.rs +0 -875
  249. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/riscv64/inst/mod.rs +0 -2041
  250. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/riscv64/inst.isle +0 -2909
  251. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/riscv64/lower.isle +0 -2860
  252. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/s390x/lower/isle.rs +0 -1029
  253. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/x64/lower/isle.rs +0 -1070
  254. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isa/x64/pcc.rs +0 -884
  255. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/isle_prelude.rs +0 -972
  256. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/lib.rs +0 -108
  257. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/machinst/isle.rs +0 -897
  258. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/opts/arithmetic.isle +0 -128
  259. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/opts/cprop.isle +0 -210
  260. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/opts/icmp.isle +0 -177
  261. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/opts/selects.isle +0 -59
  262. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/opts.rs +0 -138
  263. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/prelude.isle +0 -646
  264. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/timing.rs +0 -271
  265. data/ext/cargo-vendor/cranelift-codegen-0.102.1/src/unionfind.rs +0 -74
  266. data/ext/cargo-vendor/cranelift-codegen-meta-0.102.1/.cargo-checksum.json +0 -1
  267. data/ext/cargo-vendor/cranelift-codegen-meta-0.102.1/Cargo.toml +0 -26
  268. data/ext/cargo-vendor/cranelift-codegen-shared-0.102.1/.cargo-checksum.json +0 -1
  269. data/ext/cargo-vendor/cranelift-codegen-shared-0.102.1/Cargo.toml +0 -22
  270. data/ext/cargo-vendor/cranelift-codegen-shared-0.102.1/src/lib.rs +0 -12
  271. data/ext/cargo-vendor/cranelift-control-0.102.1/.cargo-checksum.json +0 -1
  272. data/ext/cargo-vendor/cranelift-control-0.102.1/Cargo.toml +0 -30
  273. data/ext/cargo-vendor/cranelift-entity-0.102.1/.cargo-checksum.json +0 -1
  274. data/ext/cargo-vendor/cranelift-entity-0.102.1/Cargo.toml +0 -41
  275. data/ext/cargo-vendor/cranelift-entity-0.102.1/src/lib.rs +0 -316
  276. data/ext/cargo-vendor/cranelift-entity-0.102.1/src/primary.rs +0 -456
  277. data/ext/cargo-vendor/cranelift-frontend-0.102.1/.cargo-checksum.json +0 -1
  278. data/ext/cargo-vendor/cranelift-frontend-0.102.1/Cargo.toml +0 -59
  279. data/ext/cargo-vendor/cranelift-frontend-0.102.1/src/lib.rs +0 -191
  280. data/ext/cargo-vendor/cranelift-isle-0.102.1/.cargo-checksum.json +0 -1
  281. data/ext/cargo-vendor/cranelift-isle-0.102.1/Cargo.toml +0 -37
  282. data/ext/cargo-vendor/cranelift-isle-0.102.1/isle_examples/link/multi_constructor_main.rs +0 -71
  283. data/ext/cargo-vendor/cranelift-isle-0.102.1/isle_examples/link/multi_extractor_main.rs +0 -50
  284. data/ext/cargo-vendor/cranelift-isle-0.102.1/src/codegen.rs +0 -763
  285. data/ext/cargo-vendor/cranelift-native-0.102.1/.cargo-checksum.json +0 -1
  286. data/ext/cargo-vendor/cranelift-native-0.102.1/Cargo.toml +0 -43
  287. data/ext/cargo-vendor/cranelift-native-0.102.1/src/lib.rs +0 -190
  288. data/ext/cargo-vendor/cranelift-wasm-0.102.1/.cargo-checksum.json +0 -1
  289. data/ext/cargo-vendor/cranelift-wasm-0.102.1/Cargo.toml +0 -97
  290. data/ext/cargo-vendor/cranelift-wasm-0.102.1/src/environ/dummy.rs +0 -953
  291. data/ext/cargo-vendor/cranelift-wasm-0.102.1/src/lib.rs +0 -64
  292. data/ext/cargo-vendor/cranelift-wasm-0.102.1/src/translation_utils.rs +0 -97
  293. data/ext/cargo-vendor/wasi-cap-std-sync-15.0.1/.cargo-checksum.json +0 -1
  294. data/ext/cargo-vendor/wasi-cap-std-sync-15.0.1/Cargo.toml +0 -93
  295. data/ext/cargo-vendor/wasi-common-15.0.1/.cargo-checksum.json +0 -1
  296. data/ext/cargo-vendor/wasi-common-15.0.1/Cargo.toml +0 -122
  297. data/ext/cargo-vendor/wasi-common-15.0.1/src/lib.rs +0 -73
  298. data/ext/cargo-vendor/wasi-common-15.0.1/src/snapshots/preview_1.rs +0 -1490
  299. data/ext/cargo-vendor/wasm-encoder-0.36.2/.cargo-checksum.json +0 -1
  300. data/ext/cargo-vendor/wasm-encoder-0.36.2/Cargo.toml +0 -37
  301. data/ext/cargo-vendor/wasm-encoder-0.36.2/README.md +0 -80
  302. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/aliases.rs +0 -160
  303. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/builder.rs +0 -455
  304. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/canonicals.rs +0 -159
  305. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/components.rs +0 -29
  306. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/exports.rs +0 -124
  307. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/imports.rs +0 -175
  308. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/instances.rs +0 -200
  309. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/modules.rs +0 -29
  310. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/names.rs +0 -149
  311. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/start.rs +0 -52
  312. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component/types.rs +0 -771
  313. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/component.rs +0 -168
  314. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/code.rs +0 -2989
  315. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/custom.rs +0 -73
  316. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/data.rs +0 -185
  317. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/dump.rs +0 -627
  318. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/elements.rs +0 -220
  319. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/exports.rs +0 -98
  320. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/functions.rs +0 -63
  321. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/globals.rs +0 -100
  322. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/imports.rs +0 -155
  323. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/linking.rs +0 -263
  324. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/memories.rs +0 -111
  325. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/names.rs +0 -265
  326. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/producers.rs +0 -180
  327. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/start.rs +0 -39
  328. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/tables.rs +0 -115
  329. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/tags.rs +0 -104
  330. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core/types.rs +0 -584
  331. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/core.rs +0 -168
  332. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/lib.rs +0 -215
  333. data/ext/cargo-vendor/wasm-encoder-0.36.2/src/raw.rs +0 -30
  334. data/ext/cargo-vendor/wasmparser-0.116.1/.cargo-checksum.json +0 -1
  335. data/ext/cargo-vendor/wasmparser-0.116.1/Cargo.lock +0 -674
  336. data/ext/cargo-vendor/wasmparser-0.116.1/Cargo.toml +0 -60
  337. data/ext/cargo-vendor/wasmparser-0.116.1/README.md +0 -36
  338. data/ext/cargo-vendor/wasmparser-0.116.1/benches/benchmark.rs +0 -370
  339. data/ext/cargo-vendor/wasmparser-0.116.1/examples/simple.rs +0 -37
  340. data/ext/cargo-vendor/wasmparser-0.116.1/src/binary_reader.rs +0 -1706
  341. data/ext/cargo-vendor/wasmparser-0.116.1/src/define_types.rs +0 -782
  342. data/ext/cargo-vendor/wasmparser-0.116.1/src/lib.rs +0 -729
  343. data/ext/cargo-vendor/wasmparser-0.116.1/src/limits.rs +0 -58
  344. data/ext/cargo-vendor/wasmparser-0.116.1/src/parser.rs +0 -1612
  345. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/aliases.rs +0 -119
  346. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/canonicals.rs +0 -120
  347. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/exports.rs +0 -135
  348. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/imports.rs +0 -129
  349. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/instances.rs +0 -163
  350. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/names.rs +0 -102
  351. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/start.rs +0 -30
  352. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component/types.rs +0 -549
  353. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/component.rs +0 -17
  354. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/code.rs +0 -146
  355. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/coredumps.rs +0 -243
  356. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/custom.rs +0 -63
  357. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/data.rs +0 -96
  358. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/dylink0.rs +0 -132
  359. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/elements.rs +0 -152
  360. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/exports.rs +0 -65
  361. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/functions.rs +0 -17
  362. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/globals.rs +0 -49
  363. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/imports.rs +0 -76
  364. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/init.rs +0 -51
  365. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/memories.rs +0 -56
  366. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/names.rs +0 -153
  367. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/operators.rs +0 -354
  368. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/producers.rs +0 -83
  369. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/tables.rs +0 -87
  370. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/tags.rs +0 -32
  371. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core/types.rs +0 -544
  372. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers/core.rs +0 -37
  373. data/ext/cargo-vendor/wasmparser-0.116.1/src/readers.rs +0 -316
  374. data/ext/cargo-vendor/wasmparser-0.116.1/src/resources.rs +0 -398
  375. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/component.rs +0 -3203
  376. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/core.rs +0 -1341
  377. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/func.rs +0 -348
  378. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/names.rs +0 -859
  379. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/operators.rs +0 -3466
  380. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator/types.rs +0 -4011
  381. data/ext/cargo-vendor/wasmparser-0.116.1/src/validator.rs +0 -1603
  382. data/ext/cargo-vendor/wasmparser-0.116.1/tests/big-module.rs +0 -33
  383. data/ext/cargo-vendor/wasmtime-15.0.1/.cargo-checksum.json +0 -1
  384. data/ext/cargo-vendor/wasmtime-15.0.1/Cargo.toml +0 -202
  385. data/ext/cargo-vendor/wasmtime-15.0.1/src/compiler.rs +0 -682
  386. data/ext/cargo-vendor/wasmtime-15.0.1/src/component/component.rs +0 -505
  387. data/ext/cargo-vendor/wasmtime-15.0.1/src/component/func/typed.rs +0 -2398
  388. data/ext/cargo-vendor/wasmtime-15.0.1/src/config.rs +0 -2422
  389. data/ext/cargo-vendor/wasmtime-15.0.1/src/func.rs +0 -2428
  390. data/ext/cargo-vendor/wasmtime-15.0.1/src/lib.rs +0 -518
  391. data/ext/cargo-vendor/wasmtime-15.0.1/src/memory.rs +0 -996
  392. data/ext/cargo-vendor/wasmtime-15.0.1/src/module.rs +0 -1370
  393. data/ext/cargo-vendor/wasmtime-15.0.1/src/stack.rs +0 -73
  394. data/ext/cargo-vendor/wasmtime-15.0.1/src/v128.rs +0 -151
  395. data/ext/cargo-vendor/wasmtime-asm-macros-15.0.1/.cargo-checksum.json +0 -1
  396. data/ext/cargo-vendor/wasmtime-asm-macros-15.0.1/Cargo.toml +0 -22
  397. data/ext/cargo-vendor/wasmtime-cache-15.0.1/.cargo-checksum.json +0 -1
  398. data/ext/cargo-vendor/wasmtime-cache-15.0.1/Cargo.toml +0 -72
  399. data/ext/cargo-vendor/wasmtime-cache-15.0.1/src/lib.rs +0 -238
  400. data/ext/cargo-vendor/wasmtime-cache-15.0.1/src/worker.rs +0 -894
  401. data/ext/cargo-vendor/wasmtime-component-macro-15.0.1/.cargo-checksum.json +0 -1
  402. data/ext/cargo-vendor/wasmtime-component-macro-15.0.1/Cargo.toml +0 -58
  403. data/ext/cargo-vendor/wasmtime-component-util-15.0.1/.cargo-checksum.json +0 -1
  404. data/ext/cargo-vendor/wasmtime-component-util-15.0.1/Cargo.toml +0 -25
  405. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/.cargo-checksum.json +0 -1
  406. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/Cargo.toml +0 -103
  407. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/compiler/component.rs +0 -959
  408. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/compiler.rs +0 -1317
  409. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/debug/transform/expression.rs +0 -1250
  410. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/debug/transform/simulate.rs +0 -410
  411. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/debug.rs +0 -18
  412. data/ext/cargo-vendor/wasmtime-cranelift-15.0.1/src/func_environ.rs +0 -2746
  413. data/ext/cargo-vendor/wasmtime-cranelift-shared-15.0.1/.cargo-checksum.json +0 -1
  414. data/ext/cargo-vendor/wasmtime-cranelift-shared-15.0.1/Cargo.toml +0 -62
  415. data/ext/cargo-vendor/wasmtime-environ-15.0.1/.cargo-checksum.json +0 -1
  416. data/ext/cargo-vendor/wasmtime-environ-15.0.1/Cargo.lock +0 -677
  417. data/ext/cargo-vendor/wasmtime-environ-15.0.1/Cargo.toml +0 -116
  418. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/compilation.rs +0 -402
  419. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/component/compiler.rs +0 -47
  420. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/component/translate.rs +0 -951
  421. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/component/types.rs +0 -1870
  422. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/lib.rs +0 -59
  423. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/module.rs +0 -1083
  424. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/module_environ.rs +0 -876
  425. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/module_types.rs +0 -78
  426. data/ext/cargo-vendor/wasmtime-environ-15.0.1/src/scopevec.rs +0 -57
  427. data/ext/cargo-vendor/wasmtime-fiber-15.0.1/.cargo-checksum.json +0 -1
  428. data/ext/cargo-vendor/wasmtime-fiber-15.0.1/Cargo.toml +0 -54
  429. data/ext/cargo-vendor/wasmtime-fiber-15.0.1/src/lib.rs +0 -327
  430. data/ext/cargo-vendor/wasmtime-fiber-15.0.1/src/unix.rs +0 -265
  431. data/ext/cargo-vendor/wasmtime-fiber-15.0.1/src/windows.c +0 -9
  432. data/ext/cargo-vendor/wasmtime-jit-15.0.1/.cargo-checksum.json +0 -1
  433. data/ext/cargo-vendor/wasmtime-jit-15.0.1/Cargo.toml +0 -115
  434. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/code_memory.rs +0 -321
  435. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/instantiate.rs +0 -766
  436. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/lib.rs +0 -22
  437. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/unwind/miri.rs +0 -15
  438. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/unwind/systemv.rs +0 -90
  439. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/unwind/winx64.rs +0 -44
  440. data/ext/cargo-vendor/wasmtime-jit-15.0.1/src/unwind.rs +0 -14
  441. data/ext/cargo-vendor/wasmtime-jit-debug-15.0.1/.cargo-checksum.json +0 -1
  442. data/ext/cargo-vendor/wasmtime-jit-debug-15.0.1/Cargo.toml +0 -58
  443. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-15.0.1/.cargo-checksum.json +0 -1
  444. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-15.0.1/Cargo.toml +0 -37
  445. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/.cargo-checksum.json +0 -1
  446. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/Cargo.toml +0 -126
  447. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/build.rs +0 -19
  448. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/proptest-regressions/instance/allocator/pooling/memory_pool.txt +0 -8
  449. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/cow.rs +0 -1060
  450. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/helpers.c +0 -108
  451. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling/memory_pool.rs +0 -999
  452. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling/stack_pool.rs +0 -242
  453. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling/table_pool.rs +0 -225
  454. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling/unix.rs +0 -56
  455. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling/windows.rs +0 -38
  456. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/instance/allocator/pooling.rs +0 -708
  457. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/lib.rs +0 -279
  458. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/libcalls.rs +0 -775
  459. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/mmap.rs +0 -226
  460. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/mpk/enabled.rs +0 -201
  461. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/mpk/pkru.rs +0 -93
  462. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/trampolines/aarch64.rs +0 -42
  463. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/trampolines/riscv64.rs +0 -45
  464. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/trampolines/s390x.rs +0 -25
  465. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/trampolines/x86_64.rs +0 -64
  466. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/trampolines.rs +0 -19
  467. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/backtrace/aarch64.rs +0 -55
  468. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/backtrace/riscv64.rs +0 -18
  469. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/backtrace/s390x.rs +0 -22
  470. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/backtrace/x86_64.rs +0 -20
  471. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/backtrace.rs +0 -291
  472. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/macos.rs +0 -492
  473. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/unix.rs +0 -402
  474. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers/windows.rs +0 -89
  475. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/traphandlers.rs +0 -815
  476. data/ext/cargo-vendor/wasmtime-runtime-15.0.1/src/vmcontext.rs +0 -1197
  477. data/ext/cargo-vendor/wasmtime-types-15.0.1/.cargo-checksum.json +0 -1
  478. data/ext/cargo-vendor/wasmtime-types-15.0.1/Cargo.toml +0 -36
  479. data/ext/cargo-vendor/wasmtime-types-15.0.1/src/lib.rs +0 -504
  480. data/ext/cargo-vendor/wasmtime-versioned-export-macros-15.0.1/.cargo-checksum.json +0 -1
  481. data/ext/cargo-vendor/wasmtime-versioned-export-macros-15.0.1/Cargo.toml +0 -32
  482. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/.cargo-checksum.json +0 -1
  483. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/Cargo.toml +0 -248
  484. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/lib.rs +0 -135
  485. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/host/io.rs +0 -368
  486. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/host/network.rs +0 -515
  487. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/host/tcp.rs +0 -630
  488. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/host/udp.rs +0 -543
  489. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/mod.rs +0 -326
  490. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/preview1.rs +0 -2342
  491. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/stdio.rs +0 -450
  492. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/stream.rs +0 -182
  493. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/src/preview2/table.rs +0 -258
  494. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/command-extended.wit +0 -6
  495. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/deps/cli/command.wit +0 -7
  496. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/deps/cli/reactor.wit +0 -31
  497. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/deps/http/proxy.wit +0 -33
  498. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/deps/http/types.wit +0 -559
  499. data/ext/cargo-vendor/wasmtime-wasi-15.0.1/wit/test.wit +0 -22
  500. data/ext/cargo-vendor/wasmtime-winch-15.0.1/.cargo-checksum.json +0 -1
  501. data/ext/cargo-vendor/wasmtime-winch-15.0.1/Cargo.toml +0 -68
  502. data/ext/cargo-vendor/wasmtime-winch-15.0.1/src/compiler.rs +0 -242
  503. data/ext/cargo-vendor/wasmtime-wit-bindgen-15.0.1/.cargo-checksum.json +0 -1
  504. data/ext/cargo-vendor/wasmtime-wit-bindgen-15.0.1/Cargo.toml +0 -32
  505. data/ext/cargo-vendor/wasmtime-wmemcheck-15.0.1/.cargo-checksum.json +0 -1
  506. data/ext/cargo-vendor/wasmtime-wmemcheck-15.0.1/Cargo.toml +0 -22
  507. data/ext/cargo-vendor/wiggle-15.0.1/.cargo-checksum.json +0 -1
  508. data/ext/cargo-vendor/wiggle-15.0.1/Cargo.toml +0 -106
  509. data/ext/cargo-vendor/wiggle-15.0.1/src/lib.rs +0 -1198
  510. data/ext/cargo-vendor/wiggle-generate-15.0.1/.cargo-checksum.json +0 -1
  511. data/ext/cargo-vendor/wiggle-generate-15.0.1/Cargo.toml +0 -58
  512. data/ext/cargo-vendor/wiggle-generate-15.0.1/LICENSE +0 -220
  513. data/ext/cargo-vendor/wiggle-generate-15.0.1/src/types/handle.rs +0 -84
  514. data/ext/cargo-vendor/wiggle-generate-15.0.1/src/types/record.rs +0 -132
  515. data/ext/cargo-vendor/wiggle-generate-15.0.1/src/types/variant.rs +0 -191
  516. data/ext/cargo-vendor/wiggle-macro-15.0.1/.cargo-checksum.json +0 -1
  517. data/ext/cargo-vendor/wiggle-macro-15.0.1/Cargo.toml +0 -55
  518. data/ext/cargo-vendor/wiggle-macro-15.0.1/LICENSE +0 -220
  519. data/ext/cargo-vendor/winch-codegen-0.13.1/.cargo-checksum.json +0 -1
  520. data/ext/cargo-vendor/winch-codegen-0.13.1/Cargo.toml +0 -67
  521. data/ext/cargo-vendor/winch-codegen-0.13.1/src/abi/local.rs +0 -70
  522. data/ext/cargo-vendor/winch-codegen-0.13.1/src/abi/mod.rs +0 -304
  523. data/ext/cargo-vendor/winch-codegen-0.13.1/src/codegen/call.rs +0 -353
  524. data/ext/cargo-vendor/winch-codegen-0.13.1/src/codegen/context.rs +0 -465
  525. data/ext/cargo-vendor/winch-codegen-0.13.1/src/codegen/control.rs +0 -456
  526. data/ext/cargo-vendor/winch-codegen-0.13.1/src/codegen/env.rs +0 -181
  527. data/ext/cargo-vendor/winch-codegen-0.13.1/src/codegen/mod.rs +0 -436
  528. data/ext/cargo-vendor/winch-codegen-0.13.1/src/frame/mod.rs +0 -189
  529. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/aarch64/abi.rs +0 -267
  530. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/aarch64/masm.rs +0 -436
  531. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/aarch64/mod.rs +0 -136
  532. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/mod.rs +0 -218
  533. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/x64/abi.rs +0 -410
  534. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/x64/asm.rs +0 -1106
  535. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/x64/masm.rs +0 -953
  536. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/x64/mod.rs +0 -172
  537. data/ext/cargo-vendor/winch-codegen-0.13.1/src/isa/x64/regs.rs +0 -247
  538. data/ext/cargo-vendor/winch-codegen-0.13.1/src/masm.rs +0 -592
  539. data/ext/cargo-vendor/winch-codegen-0.13.1/src/stack.rs +0 -366
  540. data/ext/cargo-vendor/winch-codegen-0.13.1/src/trampoline.rs +0 -489
  541. data/ext/cargo-vendor/winch-codegen-0.13.1/src/visitor.rs +0 -1339
  542. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/LICENSE +0 -0
  543. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/README.md +0 -0
  544. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/src/map.rs +0 -0
  545. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/src/node.rs +0 -0
  546. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/src/path.rs +0 -0
  547. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/src/pool.rs +0 -0
  548. /data/ext/cargo-vendor/{cranelift-bforest-0.102.1 → cranelift-bforest-0.103.0}/src/set.rs +0 -0
  549. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/LICENSE +0 -0
  550. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/README.md +0 -0
  551. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/benches/x64-evex-encoding.rs +0 -0
  552. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/build.rs +0 -0
  553. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/alias_analysis.rs +0 -0
  554. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/binemit/stack_map.rs +0 -0
  555. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/bitset.rs +0 -0
  556. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/cfg_printer.rs +0 -0
  557. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/constant_hash.rs +0 -0
  558. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/context.rs +0 -0
  559. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ctxhash.rs +0 -0
  560. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/cursor.rs +0 -0
  561. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/data_value.rs +0 -0
  562. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/dbg.rs +0 -0
  563. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/dce.rs +0 -0
  564. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/dominator_tree.rs +0 -0
  565. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/egraph/domtree.rs +0 -0
  566. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/flowgraph.rs +0 -0
  567. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/fx.rs +0 -0
  568. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/incremental_cache.rs +0 -0
  569. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/inst_predicates.rs +0 -0
  570. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/atomic_rmw_op.rs +0 -0
  571. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/builder.rs +0 -0
  572. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/condcodes.rs +0 -0
  573. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/constant.rs +0 -0
  574. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/dynamic_type.rs +0 -0
  575. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/entities.rs +0 -0
  576. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/extfunc.rs +0 -0
  577. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/extname.rs +0 -0
  578. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/function.rs +0 -0
  579. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/globalvalue.rs +0 -0
  580. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/immediates.rs +0 -0
  581. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/instructions.rs +0 -0
  582. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/jumptable.rs +0 -0
  583. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/known_symbol.rs +0 -0
  584. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/layout.rs +0 -0
  585. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/libcall.rs +0 -0
  586. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/memflags.rs +0 -0
  587. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/memtype.rs +0 -0
  588. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/mod.rs +0 -0
  589. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/progpoint.rs +0 -0
  590. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/sourceloc.rs +0 -0
  591. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/stackslot.rs +0 -0
  592. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/table.rs +0 -0
  593. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/trapcode.rs +0 -0
  594. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/ir/types.rs +0 -0
  595. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/abi.rs +0 -0
  596. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/args.rs +0 -0
  597. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/emit.rs +0 -0
  598. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/emit_tests.rs +0 -0
  599. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/imms.rs +0 -0
  600. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/mod.rs +0 -0
  601. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/regs.rs +0 -0
  602. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/unwind/systemv.rs +0 -0
  603. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  604. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst.isle +0 -0
  605. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/inst_neon.isle +0 -0
  606. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  607. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/lower.isle +0 -0
  608. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/lower.rs +0 -0
  609. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  610. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/mod.rs +0 -0
  611. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/pcc.rs +0 -0
  612. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/aarch64/settings.rs +0 -0
  613. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/call_conv.rs +0 -0
  614. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/mod.rs +0 -0
  615. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/abi.rs +0 -0
  616. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/args.rs +0 -0
  617. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/emit.rs +0 -0
  618. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/emit_tests.rs +0 -0
  619. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/encode.rs +0 -0
  620. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/imms.rs +0 -0
  621. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/regs.rs +0 -0
  622. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/unwind/systemv.rs +0 -0
  623. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  624. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst/vector.rs +0 -0
  625. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/inst_vector.isle +0 -0
  626. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  627. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/lower/isle.rs +0 -0
  628. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/lower.rs +0 -0
  629. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/mod.rs +0 -0
  630. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/riscv64/settings.rs +0 -0
  631. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/abi.rs +0 -0
  632. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/args.rs +0 -0
  633. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/emit.rs +0 -0
  634. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/emit_tests.rs +0 -0
  635. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/imms.rs +0 -0
  636. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/mod.rs +0 -0
  637. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/regs.rs +0 -0
  638. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/unwind/systemv.rs +0 -0
  639. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst/unwind.rs +0 -0
  640. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/inst.isle +0 -0
  641. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  642. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/lower.isle +0 -0
  643. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/lower.rs +0 -0
  644. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/mod.rs +0 -0
  645. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/s390x/settings.rs +0 -0
  646. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/unwind/systemv.rs +0 -0
  647. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/unwind/winx64.rs +0 -0
  648. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/unwind.rs +0 -0
  649. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/abi.rs +0 -0
  650. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/encoding/evex.rs +0 -0
  651. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/encoding/mod.rs +0 -0
  652. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/encoding/rex.rs +0 -0
  653. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/encoding/vex.rs +0 -0
  654. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/args.rs +0 -0
  655. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/emit.rs +0 -0
  656. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/emit_state.rs +0 -0
  657. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/emit_tests.rs +0 -0
  658. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/mod.rs +0 -0
  659. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/regs.rs +0 -0
  660. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/unwind/systemv.rs +0 -0
  661. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  662. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst/unwind.rs +0 -0
  663. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/inst.isle +0 -0
  664. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  665. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/lower.isle +0 -0
  666. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/lower.rs +0 -0
  667. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/mod.rs +0 -0
  668. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/isa/x64/settings.rs +0 -0
  669. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/iterators.rs +0 -0
  670. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/legalizer/globalvalue.rs +0 -0
  671. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/legalizer/mod.rs +0 -0
  672. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/legalizer/table.rs +0 -0
  673. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/loop_analysis.rs +0 -0
  674. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/abi.rs +0 -0
  675. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/blockorder.rs +0 -0
  676. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/buffer.rs +0 -0
  677. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/compile.rs +0 -0
  678. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/helpers.rs +0 -0
  679. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/inst_common.rs +0 -0
  680. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/lower.rs +0 -0
  681. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/mod.rs +0 -0
  682. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/pcc.rs +0 -0
  683. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/reg.rs +0 -0
  684. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/valueregs.rs +0 -0
  685. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/machinst/vcode.rs +0 -0
  686. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/nan_canonicalization.rs +0 -0
  687. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/README.md +0 -0
  688. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/bitops.isle +0 -0
  689. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/extends.isle +0 -0
  690. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/generated_code.rs +0 -0
  691. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/remat.isle +0 -0
  692. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/shifts.isle +0 -0
  693. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/opts/vector.isle +0 -0
  694. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/prelude_lower.isle +0 -0
  695. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/prelude_opt.isle +0 -0
  696. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/print_errors.rs +0 -0
  697. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/remove_constant_phis.rs +0 -0
  698. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/result.rs +0 -0
  699. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/scoped_hash_map.rs +0 -0
  700. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/settings.rs +0 -0
  701. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/souper_harvest.rs +0 -0
  702. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/unreachable_code.rs +0 -0
  703. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/value_label.rs +0 -0
  704. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/verifier/mod.rs +0 -0
  705. /data/ext/cargo-vendor/{cranelift-codegen-0.102.1 → cranelift-codegen-0.103.0}/src/write.rs +0 -0
  706. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/LICENSE +0 -0
  707. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/README.md +0 -0
  708. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/formats.rs +0 -0
  709. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/instructions.rs +0 -0
  710. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/isa.rs +0 -0
  711. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/mod.rs +0 -0
  712. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/operands.rs +0 -0
  713. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/settings.rs +0 -0
  714. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/types.rs +0 -0
  715. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/cdsl/typevar.rs +0 -0
  716. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/constant_hash.rs +0 -0
  717. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/error.rs +0 -0
  718. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/gen_inst.rs +0 -0
  719. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/gen_settings.rs +0 -0
  720. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/gen_types.rs +0 -0
  721. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/isa/arm64.rs +0 -0
  722. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/isa/mod.rs +0 -0
  723. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/isa/riscv64.rs +0 -0
  724. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/isa/s390x.rs +0 -0
  725. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/isa/x86.rs +0 -0
  726. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/lib.rs +0 -0
  727. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/entities.rs +0 -0
  728. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/formats.rs +0 -0
  729. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/immediates.rs +0 -0
  730. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/instructions.rs +0 -0
  731. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/mod.rs +0 -0
  732. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/settings.rs +0 -0
  733. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/shared/types.rs +0 -0
  734. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/srcgen.rs +0 -0
  735. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.102.1 → cranelift-codegen-meta-0.103.0}/src/unique_table.rs +0 -0
  736. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.102.1 → cranelift-codegen-shared-0.103.0}/LICENSE +0 -0
  737. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.102.1 → cranelift-codegen-shared-0.103.0}/README.md +0 -0
  738. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.102.1 → cranelift-codegen-shared-0.103.0}/src/constant_hash.rs +0 -0
  739. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.102.1 → cranelift-codegen-shared-0.103.0}/src/constants.rs +0 -0
  740. /data/ext/cargo-vendor/{cranelift-control-0.102.1 → cranelift-control-0.103.0}/LICENSE +0 -0
  741. /data/ext/cargo-vendor/{cranelift-control-0.102.1 → cranelift-control-0.103.0}/README.md +0 -0
  742. /data/ext/cargo-vendor/{cranelift-control-0.102.1 → cranelift-control-0.103.0}/src/chaos.rs +0 -0
  743. /data/ext/cargo-vendor/{cranelift-control-0.102.1 → cranelift-control-0.103.0}/src/lib.rs +0 -0
  744. /data/ext/cargo-vendor/{cranelift-control-0.102.1 → cranelift-control-0.103.0}/src/zero_sized.rs +0 -0
  745. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/LICENSE +0 -0
  746. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/README.md +0 -0
  747. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/boxed_slice.rs +0 -0
  748. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/iter.rs +0 -0
  749. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/keys.rs +0 -0
  750. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/list.rs +0 -0
  751. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/map.rs +0 -0
  752. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/packed_option.rs +0 -0
  753. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/set.rs +0 -0
  754. /data/ext/cargo-vendor/{cranelift-entity-0.102.1 → cranelift-entity-0.103.0}/src/sparse.rs +0 -0
  755. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/LICENSE +0 -0
  756. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/README.md +0 -0
  757. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/src/frontend.rs +0 -0
  758. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/src/ssa.rs +0 -0
  759. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/src/switch.rs +0 -0
  760. /data/ext/cargo-vendor/{cranelift-frontend-0.102.1 → cranelift-frontend-0.103.0}/src/variable.rs +0 -0
  761. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/README.md +0 -0
  762. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/build.rs +0 -0
  763. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/bad_converters.isle +0 -0
  764. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  765. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  766. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/error1.isle +0 -0
  767. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/extra_parens.isle +0 -0
  768. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/impure_expression.isle +0 -0
  769. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/impure_rhs.isle +0 -0
  770. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  771. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/fail/multi_prio.isle +0 -0
  772. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/borrows.isle +0 -0
  773. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/borrows_main.rs +0 -0
  774. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/iflets.isle +0 -0
  775. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/iflets_main.rs +0 -0
  776. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/multi_constructor.isle +0 -0
  777. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/multi_extractor.isle +0 -0
  778. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/test.isle +0 -0
  779. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/link/test_main.rs +0 -0
  780. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/bound_var.isle +0 -0
  781. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  782. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/conversions.isle +0 -0
  783. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/conversions_extern.isle +0 -0
  784. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/let.isle +0 -0
  785. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/nodebug.isle +0 -0
  786. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  787. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/test2.isle +0 -0
  788. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/test3.isle +0 -0
  789. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/test4.isle +0 -0
  790. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/pass/tutorial.isle +0 -0
  791. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/run/iconst.isle +0 -0
  792. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/run/iconst_main.rs +0 -0
  793. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/run/let_shadowing.isle +0 -0
  794. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  795. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/ast.rs +0 -0
  796. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/compile.rs +0 -0
  797. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/error.rs +0 -0
  798. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/lexer.rs +0 -0
  799. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/lib.rs +0 -0
  800. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/log.rs +0 -0
  801. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/overlap.rs +0 -0
  802. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/parser.rs +0 -0
  803. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/sema.rs +0 -0
  804. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/serialize.rs +0 -0
  805. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/src/trie_again.rs +0 -0
  806. /data/ext/cargo-vendor/{cranelift-isle-0.102.1 → cranelift-isle-0.103.0}/tests/run_tests.rs +0 -0
  807. /data/ext/cargo-vendor/{cranelift-native-0.102.1 → cranelift-native-0.103.0}/LICENSE +0 -0
  808. /data/ext/cargo-vendor/{cranelift-native-0.102.1 → cranelift-native-0.103.0}/README.md +0 -0
  809. /data/ext/cargo-vendor/{cranelift-native-0.102.1 → cranelift-native-0.103.0}/src/riscv.rs +0 -0
  810. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/LICENSE +0 -0
  811. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/README.md +0 -0
  812. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/code_translator/bounds_checks.rs +0 -0
  813. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/code_translator.rs +0 -0
  814. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/environ/mod.rs +0 -0
  815. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/environ/spec.rs +0 -0
  816. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/func_translator.rs +0 -0
  817. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/heap.rs +0 -0
  818. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/module_translator.rs +0 -0
  819. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/sections_translator.rs +0 -0
  820. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/src/state.rs +0 -0
  821. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/tests/wasm_testsuite.rs +0 -0
  822. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/arith.wat +0 -0
  823. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/br_table.wat +0 -0
  824. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/call-simd.wat +0 -0
  825. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/call.wat +0 -0
  826. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/embenchen_fannkuch.wat +0 -0
  827. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/embenchen_fasta.wat +0 -0
  828. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/embenchen_ifs.wat +0 -0
  829. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/embenchen_primes.wat +0 -0
  830. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/fac-multi-value.wat +0 -0
  831. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/fibonacci.wat +0 -0
  832. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/globals.wat +0 -0
  833. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/icall-simd.wat +0 -0
  834. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/icall.wat +0 -0
  835. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-0.wat +0 -0
  836. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-1.wat +0 -0
  837. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-2.wat +0 -0
  838. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-3.wat +0 -0
  839. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-4.wat +0 -0
  840. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-5.wat +0 -0
  841. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-reachability-translation-6.wat +0 -0
  842. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-unreachable-else-params-2.wat +0 -0
  843. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/if-unreachable-else-params.wat +0 -0
  844. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/issue-1306-name-section-with-u32-max-function-index.wasm +0 -0
  845. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/memory.wat +0 -0
  846. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-0.wat +0 -0
  847. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-1.wat +0 -0
  848. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-10.wat +0 -0
  849. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-11.wat +0 -0
  850. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-12.wat +0 -0
  851. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-13.wat +0 -0
  852. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-14.wat +0 -0
  853. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-15.wat +0 -0
  854. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-16.wat +0 -0
  855. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-17.wat +0 -0
  856. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-2.wat +0 -0
  857. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-3.wat +0 -0
  858. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-4.wat +0 -0
  859. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-5.wat +0 -0
  860. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-6.wat +0 -0
  861. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-7.wat +0 -0
  862. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-8.wat +0 -0
  863. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/multi-9.wat +0 -0
  864. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/nullref.wat +0 -0
  865. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/passive-data.wat +0 -0
  866. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/pr2303.wat +0 -0
  867. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/pr2559.wat +0 -0
  868. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/ref-func-0.wat +0 -0
  869. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/rust_fannkuch.wat +0 -0
  870. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/select.wat +0 -0
  871. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/simd-store.wat +0 -0
  872. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/simd.wat +0 -0
  873. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/table-copy.wat +0 -0
  874. /data/ext/cargo-vendor/{cranelift-wasm-0.102.1 → cranelift-wasm-0.103.0}/wasmtests/unreachable_code.wat +0 -0
  875. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/LICENSE +0 -0
  876. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/README.md +0 -0
  877. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/clocks.rs +0 -0
  878. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/dir.rs +0 -0
  879. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/file.rs +0 -0
  880. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/lib.rs +0 -0
  881. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/net.rs +0 -0
  882. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/sched/unix.rs +0 -0
  883. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/sched/windows.rs +0 -0
  884. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/sched.rs +0 -0
  885. /data/ext/cargo-vendor/{wasi-cap-std-sync-15.0.1 → wasi-cap-std-sync-16.0.0}/src/stdio.rs +0 -0
  886. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/LICENSE +0 -0
  887. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/README.md +0 -0
  888. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/README.md +0 -0
  889. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/docs/README.md +0 -0
  890. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/README.md +0 -0
  891. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/docs.md +0 -0
  892. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/typenames.witx +0 -0
  893. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_args.witx +0 -0
  894. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_clock.witx +0 -0
  895. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_environ.witx +0 -0
  896. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_fd.witx +0 -0
  897. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_path.witx +0 -0
  898. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_poll.witx +0 -0
  899. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_proc.witx +0 -0
  900. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_random.witx +0 -0
  901. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sched.witx +0 -0
  902. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/ephemeral/witx/wasi_ephemeral_sock.witx +0 -0
  903. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/old/snapshot_0/docs.md +0 -0
  904. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/old/snapshot_0/witx/typenames.witx +0 -0
  905. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/old/snapshot_0/witx/wasi_unstable.witx +0 -0
  906. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/snapshot/docs.html +0 -0
  907. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/snapshot/docs.md +0 -0
  908. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/snapshot/witx/typenames.witx +0 -0
  909. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/phases/snapshot/witx/wasi_snapshot_preview1.witx +0 -0
  910. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/proposal-template/README.md +0 -0
  911. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/proposals/README.md +0 -0
  912. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/snapshots/README.md +0 -0
  913. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/WASI/standard/README.md +0 -0
  914. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/build.rs +0 -0
  915. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/clocks.rs +0 -0
  916. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/ctx.rs +0 -0
  917. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/dir.rs +0 -0
  918. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/error.rs +0 -0
  919. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/file.rs +0 -0
  920. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/pipe.rs +0 -0
  921. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/random.rs +0 -0
  922. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/sched/subscription.rs +0 -0
  923. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/sched.rs +0 -0
  924. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/snapshots/mod.rs +0 -0
  925. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/snapshots/preview_0.rs +0 -0
  926. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/snapshots/preview_1/error.rs +0 -0
  927. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/string_array.rs +0 -0
  928. /data/ext/cargo-vendor/{wasi-common-15.0.1 → wasi-common-16.0.0}/src/table.rs +0 -0
  929. /data/ext/cargo-vendor/{wasm-encoder-0.36.2 → wasmtime-16.0.0}/LICENSE +0 -0
  930. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/README.md +0 -0
  931. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/code.rs +0 -0
  932. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/func/host.rs +0 -0
  933. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/func/options.rs +0 -0
  934. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/func.rs +0 -0
  935. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/instance.rs +0 -0
  936. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/linker.rs +0 -0
  937. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/matching.rs +0 -0
  938. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/mod.rs +0 -0
  939. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/resources.rs +0 -0
  940. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/storage.rs +0 -0
  941. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/store.rs +0 -0
  942. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/types.rs +0 -0
  943. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/component/values.rs +0 -0
  944. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/coredump.rs +0 -0
  945. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/engine/serialization.rs +0 -0
  946. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/engine.rs +0 -0
  947. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/externals/global.rs +0 -0
  948. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/externals/table.rs +0 -0
  949. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/externals.rs +0 -0
  950. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/func/typed.rs +0 -0
  951. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/instance.rs +0 -0
  952. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/limits.rs +0 -0
  953. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/linker.rs +0 -0
  954. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/module/registry.rs +0 -0
  955. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/profiling.rs +0 -0
  956. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/ref.rs +0 -0
  957. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/resources.rs +0 -0
  958. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/signatures.rs +0 -0
  959. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/store/context.rs +0 -0
  960. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/store/data.rs +0 -0
  961. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/store/func_refs.rs +0 -0
  962. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/store.rs +0 -0
  963. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trampoline/func.rs +0 -0
  964. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trampoline/global.rs +0 -0
  965. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trampoline/memory.rs +0 -0
  966. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trampoline/table.rs +0 -0
  967. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trampoline.rs +0 -0
  968. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/trap.rs +0 -0
  969. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/types/matching.rs +0 -0
  970. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/types.rs +0 -0
  971. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/unix.rs +0 -0
  972. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/values.rs +0 -0
  973. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-16.0.0}/src/windows.rs +0 -0
  974. /data/ext/cargo-vendor/{wasmtime-asm-macros-15.0.1 → wasmtime-asm-macros-16.0.0}/src/lib.rs +0 -0
  975. /data/ext/cargo-vendor/{wasmparser-0.116.1 → wasmtime-cache-16.0.0}/LICENSE +0 -0
  976. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/build.rs +0 -0
  977. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/src/config/tests.rs +0 -0
  978. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/src/config.rs +0 -0
  979. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/src/tests.rs +0 -0
  980. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  981. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/src/worker/tests.rs +0 -0
  982. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-cache-16.0.0}/tests/cache_write_default_config.rs +0 -0
  983. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/src/bindgen.rs +0 -0
  984. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/src/component.rs +0 -0
  985. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/src/lib.rs +0 -0
  986. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/char.wit +0 -0
  987. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/conventions.wit +0 -0
  988. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/direct-import.wit +0 -0
  989. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/empty.wit +0 -0
  990. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/flags.wit +0 -0
  991. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/floats.wit +0 -0
  992. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/function-new.wit +0 -0
  993. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/integers.wit +0 -0
  994. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/lists.wit +0 -0
  995. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/many-arguments.wit +0 -0
  996. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/multi-return.wit +0 -0
  997. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  998. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  999. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/multiversion/root.wit +0 -0
  1000. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/records.wit +0 -0
  1001. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/rename.wit +0 -0
  1002. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/resources-export.wit +0 -0
  1003. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/resources-import.wit +0 -0
  1004. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/share-types.wit +0 -0
  1005. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/simple-functions.wit +0 -0
  1006. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/simple-lists.wit +0 -0
  1007. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/simple-wasi.wit +0 -0
  1008. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/small-anonymous.wit +0 -0
  1009. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/smoke-default.wit +0 -0
  1010. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/smoke-export.wit +0 -0
  1011. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/smoke.wit +0 -0
  1012. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/strings.wit +0 -0
  1013. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/use-paths.wit +0 -0
  1014. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/variants.wit +0 -0
  1015. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  1016. /data/ext/cargo-vendor/{wasmtime-component-macro-15.0.1 → wasmtime-component-macro-16.0.0}/tests/codegen.rs +0 -0
  1017. /data/ext/cargo-vendor/{wasmtime-component-util-15.0.1 → wasmtime-component-util-16.0.0}/src/lib.rs +0 -0
  1018. /data/ext/cargo-vendor/{wasmtime-15.0.1 → wasmtime-cranelift-16.0.0}/LICENSE +0 -0
  1019. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/SECURITY.md +0 -0
  1020. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/builder.rs +0 -0
  1021. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/gc.rs +0 -0
  1022. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/address_transform.rs +0 -0
  1023. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/attr.rs +0 -0
  1024. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/line_program.rs +0 -0
  1025. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/mod.rs +0 -0
  1026. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/range_info_builder.rs +0 -0
  1027. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/refs.rs +0 -0
  1028. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/unit.rs +0 -0
  1029. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/transform/utils.rs +0 -0
  1030. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/debug/write_debuginfo.rs +0 -0
  1031. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-cranelift-16.0.0}/src/lib.rs +0 -0
  1032. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-15.0.1 → wasmtime-cranelift-shared-16.0.0}/src/compiled_function.rs +0 -0
  1033. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-15.0.1 → wasmtime-cranelift-shared-16.0.0}/src/isa_builder.rs +0 -0
  1034. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-15.0.1 → wasmtime-cranelift-shared-16.0.0}/src/lib.rs +0 -0
  1035. /data/ext/cargo-vendor/{wasmtime-cranelift-shared-15.0.1 → wasmtime-cranelift-shared-16.0.0}/src/obj.rs +0 -0
  1036. /data/ext/cargo-vendor/{wasmtime-cache-15.0.1 → wasmtime-environ-16.0.0}/LICENSE +0 -0
  1037. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/examples/factc.rs +0 -0
  1038. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/address_map.rs +0 -0
  1039. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/builtin.rs +0 -0
  1040. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/dfg.rs +0 -0
  1041. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/info.rs +0 -0
  1042. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/translate/adapt.rs +0 -0
  1043. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/translate/inline.rs +0 -0
  1044. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/types/resources.rs +0 -0
  1045. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1046. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/component.rs +0 -0
  1047. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact/core_types.rs +0 -0
  1048. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact/signature.rs +0 -0
  1049. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact/trampoline.rs +0 -0
  1050. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact/transcode.rs +0 -0
  1051. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact/traps.rs +0 -0
  1052. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/fact.rs +0 -0
  1053. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/obj.rs +0 -0
  1054. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/ref_bits.rs +0 -0
  1055. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/stack_map.rs +0 -0
  1056. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/trap_encoding.rs +0 -0
  1057. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/tunables.rs +0 -0
  1058. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-environ-16.0.0}/src/vmoffsets.rs +0 -0
  1059. /data/ext/cargo-vendor/{wasmtime-cranelift-15.0.1 → wasmtime-fiber-16.0.0}/LICENSE +0 -0
  1060. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/build.rs +0 -0
  1061. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/aarch64.rs +0 -0
  1062. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/arm.rs +0 -0
  1063. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/riscv64.rs +0 -0
  1064. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/s390x.S +0 -0
  1065. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/x86.rs +0 -0
  1066. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/unix/x86_64.rs +0 -0
  1067. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-fiber-16.0.0}/src/windows.rs +0 -0
  1068. /data/ext/cargo-vendor/{wasmtime-environ-15.0.1 → wasmtime-jit-16.0.0}/LICENSE +0 -0
  1069. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/debug.rs +0 -0
  1070. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/demangling.rs +0 -0
  1071. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/profiling/jitdump.rs +0 -0
  1072. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/profiling/perfmap.rs +0 -0
  1073. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/profiling/vtune.rs +0 -0
  1074. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-jit-16.0.0}/src/profiling.rs +0 -0
  1075. /data/ext/cargo-vendor/{wasmtime-jit-debug-15.0.1 → wasmtime-jit-debug-16.0.0}/README.md +0 -0
  1076. /data/ext/cargo-vendor/{wasmtime-jit-debug-15.0.1 → wasmtime-jit-debug-16.0.0}/src/gdb_jit_int.rs +0 -0
  1077. /data/ext/cargo-vendor/{wasmtime-jit-debug-15.0.1 → wasmtime-jit-debug-16.0.0}/src/lib.rs +0 -0
  1078. /data/ext/cargo-vendor/{wasmtime-jit-debug-15.0.1 → wasmtime-jit-debug-16.0.0}/src/perf_jitdump.rs +0 -0
  1079. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-15.0.1 → wasmtime-jit-icache-coherence-16.0.0}/src/lib.rs +0 -0
  1080. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-15.0.1 → wasmtime-jit-icache-coherence-16.0.0}/src/libc.rs +0 -0
  1081. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-15.0.1 → wasmtime-jit-icache-coherence-16.0.0}/src/miri.rs +0 -0
  1082. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-15.0.1 → wasmtime-jit-icache-coherence-16.0.0}/src/win.rs +0 -0
  1083. /data/ext/cargo-vendor/{wasmtime-fiber-15.0.1 → wasmtime-runtime-16.0.0}/LICENSE +0 -0
  1084. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1/src/trampolines → wasmtime-runtime-16.0.0/src/arch}/s390x.S +0 -0
  1085. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/component/libcalls.rs +0 -0
  1086. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/component/resources.rs +0 -0
  1087. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/component.rs +0 -0
  1088. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/debug_builtins.rs +0 -0
  1089. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/export.rs +0 -0
  1090. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/externref.rs +0 -0
  1091. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/imports.rs +0 -0
  1092. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/instance/allocator/on_demand.rs +0 -0
  1093. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/instance/allocator/pooling/index_allocator.rs +0 -0
  1094. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/instance/allocator.rs +0 -0
  1095. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/instance.rs +0 -0
  1096. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/memory.rs +0 -0
  1097. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/mmap_vec.rs +0 -0
  1098. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/module_id.rs +0 -0
  1099. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/mpk/disabled.rs +0 -0
  1100. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/mpk/mod.rs +0 -0
  1101. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/mpk/sys.rs +0 -0
  1102. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/parking_spot.rs +0 -0
  1103. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/send_sync_ptr.rs +0 -0
  1104. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/store_box.rs +0 -0
  1105. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1/src/mmap/miri.rs → wasmtime-runtime-16.0.0/src/sys/miri/mmap.rs} +0 -0
  1106. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1/src/mmap/unix.rs → wasmtime-runtime-16.0.0/src/sys/unix/mmap.rs} +0 -0
  1107. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1/src/mmap/windows.rs → wasmtime-runtime-16.0.0/src/sys/windows/mmap.rs} +0 -0
  1108. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/table.rs +0 -0
  1109. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/traphandlers/coredump.rs +0 -0
  1110. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-runtime-16.0.0}/src/vmcontext/vm_host_func_context.rs +0 -0
  1111. /data/ext/cargo-vendor/{wasmtime-jit-15.0.1 → wasmtime-types-16.0.0}/LICENSE +0 -0
  1112. /data/ext/cargo-vendor/{wasmtime-types-15.0.1 → wasmtime-types-16.0.0}/src/error.rs +0 -0
  1113. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-15.0.1 → wasmtime-versioned-export-macros-16.0.0}/src/lib.rs +0 -0
  1114. /data/ext/cargo-vendor/{wasmtime-runtime-15.0.1 → wasmtime-wasi-16.0.0}/LICENSE +0 -0
  1115. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/README.md +0 -0
  1116. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/build.rs +0 -0
  1117. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/clocks/host.rs +0 -0
  1118. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/clocks.rs +0 -0
  1119. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/command.rs +0 -0
  1120. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/ctx.rs +0 -0
  1121. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/error.rs +0 -0
  1122. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/filesystem.rs +0 -0
  1123. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/clocks.rs +0 -0
  1124. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/env.rs +0 -0
  1125. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/exit.rs +0 -0
  1126. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/filesystem/sync.rs +0 -0
  1127. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/filesystem.rs +0 -0
  1128. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/instance_network.rs +0 -0
  1129. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/mod.rs +0 -0
  1130. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/random.rs +0 -0
  1131. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/tcp_create_socket.rs +0 -0
  1132. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/host/udp_create_socket.rs +0 -0
  1133. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/ip_name_lookup.rs +0 -0
  1134. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/network.rs +0 -0
  1135. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/pipe.rs +0 -0
  1136. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/poll.rs +0 -0
  1137. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/random.rs +0 -0
  1138. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/stdio/worker_thread_stdin.rs +0 -0
  1139. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/tcp.rs +0 -0
  1140. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/udp.rs +0 -0
  1141. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/src/preview2/write_stream.rs +0 -0
  1142. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/cli/environment.wit +0 -0
  1143. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/cli/exit.wit +0 -0
  1144. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/cli/run.wit +0 -0
  1145. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/cli/stdio.wit +0 -0
  1146. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/cli/terminal.wit +0 -0
  1147. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/clocks/monotonic-clock.wit +0 -0
  1148. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/clocks/wall-clock.wit +0 -0
  1149. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/clocks/world.wit +0 -0
  1150. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/filesystem/preopens.wit +0 -0
  1151. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/filesystem/types.wit +0 -0
  1152. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/filesystem/world.wit +0 -0
  1153. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/http/handler.wit +0 -0
  1154. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/io/error.wit +0 -0
  1155. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/io/poll.wit +0 -0
  1156. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/io/streams.wit +0 -0
  1157. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/io/world.wit +0 -0
  1158. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/random/insecure-seed.wit +0 -0
  1159. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/random/insecure.wit +0 -0
  1160. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/random/random.wit +0 -0
  1161. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/random/world.wit +0 -0
  1162. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/instance-network.wit +0 -0
  1163. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  1164. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/network.wit +0 -0
  1165. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  1166. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/tcp.wit +0 -0
  1167. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/udp-create-socket.wit +0 -0
  1168. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/udp.wit +0 -0
  1169. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wasmtime-wasi-16.0.0}/wit/deps/sockets/world.wit +0 -0
  1170. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1/witx → wasmtime-wasi-16.0.0/witx/preview1}/typenames.witx +0 -0
  1171. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1/witx → wasmtime-wasi-16.0.0/witx/preview1}/wasi_snapshot_preview1.witx +0 -0
  1172. /data/ext/cargo-vendor/{wasmtime-winch-15.0.1 → wasmtime-winch-16.0.0}/LICENSE +0 -0
  1173. /data/ext/cargo-vendor/{wasmtime-winch-15.0.1 → wasmtime-winch-16.0.0}/src/builder.rs +0 -0
  1174. /data/ext/cargo-vendor/{wasmtime-winch-15.0.1 → wasmtime-winch-16.0.0}/src/lib.rs +0 -0
  1175. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-15.0.1 → wasmtime-wit-bindgen-16.0.0}/src/lib.rs +0 -0
  1176. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-15.0.1 → wasmtime-wit-bindgen-16.0.0}/src/rust.rs +0 -0
  1177. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-15.0.1 → wasmtime-wit-bindgen-16.0.0}/src/source.rs +0 -0
  1178. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-15.0.1 → wasmtime-wit-bindgen-16.0.0}/src/types.rs +0 -0
  1179. /data/ext/cargo-vendor/{wasmtime-wmemcheck-15.0.1 → wasmtime-wmemcheck-16.0.0}/src/lib.rs +0 -0
  1180. /data/ext/cargo-vendor/{wasmtime-types-15.0.1 → wiggle-16.0.0}/LICENSE +0 -0
  1181. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/README.md +0 -0
  1182. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/src/borrow.rs +0 -0
  1183. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/src/error.rs +0 -0
  1184. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/src/guest_type.rs +0 -0
  1185. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/src/region.rs +0 -0
  1186. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-16.0.0}/src/wasmtime.rs +0 -0
  1187. /data/ext/cargo-vendor/{wasmtime-wasi-15.0.1 → wiggle-generate-16.0.0}/LICENSE +0 -0
  1188. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/README.md +0 -0
  1189. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/codegen_settings.rs +0 -0
  1190. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/config.rs +0 -0
  1191. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/funcs.rs +0 -0
  1192. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/lib.rs +0 -0
  1193. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/lifetimes.rs +0 -0
  1194. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/module_trait.rs +0 -0
  1195. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/names.rs +0 -0
  1196. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/types/error.rs +0 -0
  1197. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/types/flags.rs +0 -0
  1198. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/types/mod.rs +0 -0
  1199. /data/ext/cargo-vendor/{wiggle-generate-15.0.1 → wiggle-generate-16.0.0}/src/wasmtime.rs +0 -0
  1200. /data/ext/cargo-vendor/{wiggle-15.0.1 → wiggle-macro-16.0.0}/LICENSE +0 -0
  1201. /data/ext/cargo-vendor/{wiggle-macro-15.0.1 → wiggle-macro-16.0.0}/src/lib.rs +0 -0
  1202. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/LICENSE +0 -0
  1203. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/build.rs +0 -0
  1204. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/codegen/builtin.rs +0 -0
  1205. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/isa/aarch64/address.rs +0 -0
  1206. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/isa/aarch64/asm.rs +0 -0
  1207. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/isa/aarch64/regs.rs +0 -0
  1208. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/isa/reg.rs +0 -0
  1209. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/isa/x64/address.rs +0 -0
  1210. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/lib.rs +0 -0
  1211. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/regalloc.rs +0 -0
  1212. /data/ext/cargo-vendor/{winch-codegen-0.13.1 → winch-codegen-0.14.0}/src/regset.rs +0 -0
@@ -1,1870 +0,0 @@
1
- use crate::component::{MAX_FLAT_PARAMS, MAX_FLAT_RESULTS};
2
- use crate::{
3
- EntityType, ModuleTypes, ModuleTypesBuilder, PrimaryMap, SignatureIndex, TypeConvert,
4
- WasmHeapType, WasmType,
5
- };
6
- use anyhow::{bail, Result};
7
- use cranelift_entity::EntityRef;
8
- use indexmap::{IndexMap, IndexSet};
9
- use serde_derive::{Deserialize, Serialize};
10
- use std::collections::HashMap;
11
- use std::hash::Hash;
12
- use std::ops::Index;
13
- use wasmparser::names::KebabString;
14
- use wasmparser::types;
15
- use wasmtime_component_util::{DiscriminantSize, FlagsSize};
16
-
17
- pub use wasmtime_types::StaticModuleIndex;
18
-
19
- mod resources;
20
- pub use resources::ResourcesBuilder;
21
-
22
- /// Maximum nesting depth of a type allowed in Wasmtime.
23
- ///
24
- /// This constant isn't chosen via any scientific means and its main purpose is
25
- /// to enable most of Wasmtime to handle types via recursion without worrying
26
- /// about stack overflow.
27
- ///
28
- /// Some more information about this can be found in #4814
29
- const MAX_TYPE_DEPTH: u32 = 100;
30
-
31
- macro_rules! indices {
32
- ($(
33
- $(#[$a:meta])*
34
- pub struct $name:ident(u32);
35
- )*) => ($(
36
- $(#[$a])*
37
- #[derive(
38
- Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Debug,
39
- Serialize, Deserialize,
40
- )]
41
- #[repr(transparent)]
42
- pub struct $name(u32);
43
- cranelift_entity::entity_impl!($name);
44
- )*);
45
- }
46
-
47
- indices! {
48
- // ========================================================================
49
- // These indices are used during compile time only when we're translating a
50
- // component at this time. The actual indices are not persisted beyond the
51
- // compile phase to when we're actually working with the component at
52
- // runtime.
53
-
54
- /// Index within a component's component type index space.
55
- pub struct ComponentTypeIndex(u32);
56
-
57
- /// Index within a component's module index space.
58
- pub struct ModuleIndex(u32);
59
-
60
- /// Index within a component's component index space.
61
- pub struct ComponentIndex(u32);
62
-
63
- /// Index within a component's module instance index space.
64
- pub struct ModuleInstanceIndex(u32);
65
-
66
- /// Index within a component's component instance index space.
67
- pub struct ComponentInstanceIndex(u32);
68
-
69
- /// Index within a component's component function index space.
70
- pub struct ComponentFuncIndex(u32);
71
-
72
- // ========================================================================
73
- // These indices are used to lookup type information within a `TypeTables`
74
- // structure. These represent generally deduplicated type information across
75
- // an entire component and are a form of RTTI in a sense.
76
-
77
- /// Index pointing to a component's type (exports/imports with
78
- /// component-model types)
79
- pub struct TypeComponentIndex(u32);
80
-
81
- /// Index pointing to a component instance's type (exports with
82
- /// component-model types, no imports)
83
- pub struct TypeComponentInstanceIndex(u32);
84
-
85
- /// Index pointing to a core wasm module's type (exports/imports with
86
- /// core wasm types)
87
- pub struct TypeModuleIndex(u32);
88
-
89
- /// Index pointing to a component model function type with arguments/result
90
- /// as interface types.
91
- pub struct TypeFuncIndex(u32);
92
-
93
- /// Index pointing to a record type in the component model (aka a struct).
94
- pub struct TypeRecordIndex(u32);
95
- /// Index pointing to a variant type in the component model (aka an enum).
96
- pub struct TypeVariantIndex(u32);
97
- /// Index pointing to a tuple type in the component model.
98
- pub struct TypeTupleIndex(u32);
99
- /// Index pointing to a flags type in the component model.
100
- pub struct TypeFlagsIndex(u32);
101
- /// Index pointing to an enum type in the component model.
102
- pub struct TypeEnumIndex(u32);
103
- /// Index pointing to an option type in the component model (aka a
104
- /// `Option<T, E>`)
105
- pub struct TypeOptionIndex(u32);
106
- /// Index pointing to an result type in the component model (aka a
107
- /// `Result<T, E>`)
108
- pub struct TypeResultIndex(u32);
109
- /// Index pointing to a list type in the component model.
110
- pub struct TypeListIndex(u32);
111
-
112
- /// Index pointing to a resource table within a component.
113
- ///
114
- /// This is a Wasmtime-specific type index which isn't part of the component
115
- /// model per-se (or at least not the binary format). This index represents
116
- /// a pointer to a table of runtime information tracking state for resources
117
- /// within a component. Tables are generated per-resource-per-component
118
- /// meaning that if the exact same resource is imported into 4 subcomponents
119
- /// then that's 5 tables: one for the defining component and one for each
120
- /// subcomponent.
121
- ///
122
- /// All resource-related intrinsics operate on table-local indices which
123
- /// indicate which table the intrinsic is modifying. Each resource table has
124
- /// an origin resource type (defined by `ResourceIndex`) along with a
125
- /// component instance that it's recorded for.
126
- pub struct TypeResourceTableIndex(u32);
127
-
128
- /// Index pointing to a resource within a component.
129
- ///
130
- /// This index space covers all unique resource type definitions. For
131
- /// example all unique imports come first and then all locally-defined
132
- /// resources come next. Note that this does not count the number of runtime
133
- /// tables required to track resources (that's `TypeResourceTableIndex`
134
- /// instead). Instead this is a count of the number of unique
135
- /// `(type (resource (rep ..)))` declarations within a component, plus
136
- /// imports.
137
- ///
138
- /// This is then used for correlating various information such as
139
- /// destructors, origin information, etc.
140
- pub struct ResourceIndex(u32);
141
-
142
- /// Index pointing to a local resource defined within a component.
143
- ///
144
- /// This is similar to `FooIndex` and `DefinedFooIndex` for core wasm and
145
- /// the idea here is that this is guaranteed to be a wasm-defined resource
146
- /// which is connected to a component instance for example.
147
- pub struct DefinedResourceIndex(u32);
148
-
149
- // ========================================================================
150
- // Index types used to identify modules and components during compilation.
151
-
152
- /// Index into a "closed over variables" list for components used to
153
- /// implement outer aliases. For more information on this see the
154
- /// documentation for the `LexicalScope` structure.
155
- pub struct ModuleUpvarIndex(u32);
156
-
157
- /// Same as `ModuleUpvarIndex` but for components.
158
- pub struct ComponentUpvarIndex(u32);
159
-
160
- /// Same as `StaticModuleIndex` but for components.
161
- pub struct StaticComponentIndex(u32);
162
-
163
- // ========================================================================
164
- // These indices are actually used at runtime when managing a component at
165
- // this time.
166
-
167
- /// Index that represents a core wasm instance created at runtime.
168
- ///
169
- /// This is used to keep track of when instances are created and is able to
170
- /// refer back to previously created instances for exports and such.
171
- pub struct RuntimeInstanceIndex(u32);
172
-
173
- /// Same as `RuntimeInstanceIndex` but tracks component instances instead.
174
- pub struct RuntimeComponentInstanceIndex(u32);
175
-
176
- /// Used to index imports into a `Component`
177
- ///
178
- /// This does not correspond to anything in the binary format for the
179
- /// component model.
180
- pub struct ImportIndex(u32);
181
-
182
- /// Index that represents a leaf item imported into a component where a
183
- /// "leaf" means "not an instance".
184
- ///
185
- /// This does not correspond to anything in the binary format for the
186
- /// component model.
187
- pub struct RuntimeImportIndex(u32);
188
-
189
- /// Index that represents a lowered host function and is used to represent
190
- /// host function lowerings with options and such.
191
- ///
192
- /// This does not correspond to anything in the binary format for the
193
- /// component model.
194
- pub struct LoweredIndex(u32);
195
-
196
- /// Index representing a linear memory extracted from a wasm instance
197
- /// which is stored in a `VMComponentContext`. This is used to deduplicate
198
- /// references to the same linear memory where it's only stored once in a
199
- /// `VMComponentContext`.
200
- ///
201
- /// This does not correspond to anything in the binary format for the
202
- /// component model.
203
- pub struct RuntimeMemoryIndex(u32);
204
-
205
- /// Same as `RuntimeMemoryIndex` except for the `realloc` function.
206
- pub struct RuntimeReallocIndex(u32);
207
-
208
- /// Same as `RuntimeMemoryIndex` except for the `post-return` function.
209
- pub struct RuntimePostReturnIndex(u32);
210
-
211
- /// Index for all trampolines that are compiled in Cranelift for a
212
- /// component.
213
- ///
214
- /// This is used to point to various bits of metadata within a compiled
215
- /// component and is stored in the final compilation artifact. This does not
216
- /// have a direct corresponance to any wasm definition.
217
- pub struct TrampolineIndex(u32);
218
- }
219
-
220
- // Reexport for convenience some core-wasm indices which are also used in the
221
- // component model, typically for when aliasing exports of core wasm modules.
222
- pub use crate::{FuncIndex, GlobalIndex, MemoryIndex, TableIndex, TypeIndex};
223
-
224
- /// Equivalent of `EntityIndex` but for the component model instead of core
225
- /// wasm.
226
- #[derive(Debug, Clone, Copy)]
227
- #[allow(missing_docs)]
228
- pub enum ComponentItem {
229
- Func(ComponentFuncIndex),
230
- Module(ModuleIndex),
231
- Component(ComponentIndex),
232
- ComponentInstance(ComponentInstanceIndex),
233
- Type(types::ComponentAnyTypeId),
234
- }
235
-
236
- /// Runtime information about the type information contained within a component.
237
- ///
238
- /// One of these is created per top-level component which describes all of the
239
- /// types contained within the top-level component itself. Each sub-component
240
- /// will have a pointer to this value as well.
241
- #[derive(Default, Serialize, Deserialize)]
242
- pub struct ComponentTypes {
243
- modules: PrimaryMap<TypeModuleIndex, TypeModule>,
244
- components: PrimaryMap<TypeComponentIndex, TypeComponent>,
245
- component_instances: PrimaryMap<TypeComponentInstanceIndex, TypeComponentInstance>,
246
- functions: PrimaryMap<TypeFuncIndex, TypeFunc>,
247
- lists: PrimaryMap<TypeListIndex, TypeList>,
248
- records: PrimaryMap<TypeRecordIndex, TypeRecord>,
249
- variants: PrimaryMap<TypeVariantIndex, TypeVariant>,
250
- tuples: PrimaryMap<TypeTupleIndex, TypeTuple>,
251
- enums: PrimaryMap<TypeEnumIndex, TypeEnum>,
252
- flags: PrimaryMap<TypeFlagsIndex, TypeFlags>,
253
- options: PrimaryMap<TypeOptionIndex, TypeOption>,
254
- results: PrimaryMap<TypeResultIndex, TypeResult>,
255
- resource_tables: PrimaryMap<TypeResourceTableIndex, TypeResourceTable>,
256
-
257
- module_types: ModuleTypes,
258
- }
259
-
260
- impl ComponentTypes {
261
- /// Returns the core wasm module types known within this component.
262
- pub fn module_types(&self) -> &ModuleTypes {
263
- &self.module_types
264
- }
265
-
266
- /// Returns the canonical ABI information about the specified type.
267
- pub fn canonical_abi(&self, ty: &InterfaceType) -> &CanonicalAbiInfo {
268
- match ty {
269
- InterfaceType::U8 | InterfaceType::S8 | InterfaceType::Bool => {
270
- &CanonicalAbiInfo::SCALAR1
271
- }
272
-
273
- InterfaceType::U16 | InterfaceType::S16 => &CanonicalAbiInfo::SCALAR2,
274
-
275
- InterfaceType::U32
276
- | InterfaceType::S32
277
- | InterfaceType::Float32
278
- | InterfaceType::Char
279
- | InterfaceType::Own(_)
280
- | InterfaceType::Borrow(_) => &CanonicalAbiInfo::SCALAR4,
281
-
282
- InterfaceType::U64 | InterfaceType::S64 | InterfaceType::Float64 => {
283
- &CanonicalAbiInfo::SCALAR8
284
- }
285
-
286
- InterfaceType::String | InterfaceType::List(_) => &CanonicalAbiInfo::POINTER_PAIR,
287
-
288
- InterfaceType::Record(i) => &self[*i].abi,
289
- InterfaceType::Variant(i) => &self[*i].abi,
290
- InterfaceType::Tuple(i) => &self[*i].abi,
291
- InterfaceType::Flags(i) => &self[*i].abi,
292
- InterfaceType::Enum(i) => &self[*i].abi,
293
- InterfaceType::Option(i) => &self[*i].abi,
294
- InterfaceType::Result(i) => &self[*i].abi,
295
- }
296
- }
297
-
298
- /// Smaller helper method to find a `SignatureIndex` which corresponds to
299
- /// the `resource.drop` intrinsic in components, namely a core wasm function
300
- /// type which takes one `i32` argument and has no results.
301
- ///
302
- /// This is a bit of a hack right now as ideally this find operation
303
- /// wouldn't be needed and instead the `SignatureIndex` itself would be
304
- /// threaded through appropriately, but that's left for a future
305
- /// refactoring. Try not to lean too hard on this method though.
306
- pub fn find_resource_drop_signature(&self) -> Option<SignatureIndex> {
307
- self.module_types
308
- .wasm_signatures()
309
- .find(|(_, sig)| {
310
- sig.params().len() == 1
311
- && sig.returns().len() == 0
312
- && sig.params()[0] == WasmType::I32
313
- })
314
- .map(|(i, _)| i)
315
- }
316
- }
317
-
318
- macro_rules! impl_index {
319
- ($(impl Index<$ty:ident> for ComponentTypes { $output:ident => $field:ident })*) => ($(
320
- impl std::ops::Index<$ty> for ComponentTypes {
321
- type Output = $output;
322
- #[inline]
323
- fn index(&self, idx: $ty) -> &$output {
324
- &self.$field[idx]
325
- }
326
- }
327
- )*)
328
- }
329
-
330
- impl_index! {
331
- impl Index<TypeModuleIndex> for ComponentTypes { TypeModule => modules }
332
- impl Index<TypeComponentIndex> for ComponentTypes { TypeComponent => components }
333
- impl Index<TypeComponentInstanceIndex> for ComponentTypes { TypeComponentInstance => component_instances }
334
- impl Index<TypeFuncIndex> for ComponentTypes { TypeFunc => functions }
335
- impl Index<TypeRecordIndex> for ComponentTypes { TypeRecord => records }
336
- impl Index<TypeVariantIndex> for ComponentTypes { TypeVariant => variants }
337
- impl Index<TypeTupleIndex> for ComponentTypes { TypeTuple => tuples }
338
- impl Index<TypeEnumIndex> for ComponentTypes { TypeEnum => enums }
339
- impl Index<TypeFlagsIndex> for ComponentTypes { TypeFlags => flags }
340
- impl Index<TypeOptionIndex> for ComponentTypes { TypeOption => options }
341
- impl Index<TypeResultIndex> for ComponentTypes { TypeResult => results }
342
- impl Index<TypeListIndex> for ComponentTypes { TypeList => lists }
343
- impl Index<TypeResourceTableIndex> for ComponentTypes { TypeResourceTable => resource_tables }
344
- }
345
-
346
- // Additionally forward anything that can index `ModuleTypes` to `ModuleTypes`
347
- // (aka `SignatureIndex`)
348
- impl<T> Index<T> for ComponentTypes
349
- where
350
- ModuleTypes: Index<T>,
351
- {
352
- type Output = <ModuleTypes as Index<T>>::Output;
353
- fn index(&self, idx: T) -> &Self::Output {
354
- self.module_types.index(idx)
355
- }
356
- }
357
-
358
- /// Structured used to build a [`ComponentTypes`] during translation.
359
- ///
360
- /// This contains tables to intern any component types found as well as
361
- /// managing building up core wasm [`ModuleTypes`] as well.
362
- #[derive(Default)]
363
- pub struct ComponentTypesBuilder {
364
- functions: HashMap<TypeFunc, TypeFuncIndex>,
365
- lists: HashMap<TypeList, TypeListIndex>,
366
- records: HashMap<TypeRecord, TypeRecordIndex>,
367
- variants: HashMap<TypeVariant, TypeVariantIndex>,
368
- tuples: HashMap<TypeTuple, TypeTupleIndex>,
369
- enums: HashMap<TypeEnum, TypeEnumIndex>,
370
- flags: HashMap<TypeFlags, TypeFlagsIndex>,
371
- options: HashMap<TypeOption, TypeOptionIndex>,
372
- results: HashMap<TypeResult, TypeResultIndex>,
373
-
374
- component_types: ComponentTypes,
375
- module_types: ModuleTypesBuilder,
376
-
377
- // Cache of what the "flat" representation of all types are which is only
378
- // used at compile-time and not used at runtime, hence the location here
379
- // as opposed to `ComponentTypes`.
380
- type_info: TypeInformationCache,
381
-
382
- resources: ResourcesBuilder,
383
- }
384
-
385
- macro_rules! intern_and_fill_flat_types {
386
- ($me:ident, $name:ident, $val:ident) => {{
387
- if let Some(idx) = $me.$name.get(&$val) {
388
- return *idx;
389
- }
390
- let idx = $me.component_types.$name.push($val.clone());
391
- let mut info = TypeInformation::new();
392
- info.$name($me, &$val);
393
- let idx2 = $me.type_info.$name.push(info);
394
- assert_eq!(idx, idx2);
395
- $me.$name.insert($val, idx);
396
- return idx;
397
- }};
398
- }
399
-
400
- impl ComponentTypesBuilder {
401
- /// Finishes this list of component types and returns the finished
402
- /// structure.
403
- pub fn finish(mut self) -> ComponentTypes {
404
- self.component_types.module_types = self.module_types.finish();
405
- self.component_types
406
- }
407
-
408
- /// Returns the `ComponentTypes`-in-progress.
409
- pub fn component_types(&self) -> &ComponentTypes {
410
- &self.component_types
411
- }
412
-
413
- /// Returns the underlying builder used to build up core wasm module types.
414
- ///
415
- /// Note that this is shared across all modules found within a component to
416
- /// improve the wins from deduplicating function signatures.
417
- pub fn module_types_builder(&mut self) -> &mut ModuleTypesBuilder {
418
- &mut self.module_types
419
- }
420
-
421
- /// Returns the number of resource tables allocated so far, or the maximum
422
- /// `TypeResourceTableIndex`.
423
- pub fn num_resource_tables(&self) -> usize {
424
- self.component_types.resource_tables.len()
425
- }
426
-
427
- /// Returns a mutable reference to the underlying `ResourcesBuilder`.
428
- pub fn resources_mut(&mut self) -> &mut ResourcesBuilder {
429
- &mut self.resources
430
- }
431
-
432
- /// Work around the borrow checker to borrow two sub-fields simultaneously
433
- /// externally.
434
- pub fn resources_mut_and_types(&mut self) -> (&mut ResourcesBuilder, &ComponentTypes) {
435
- (&mut self.resources, &self.component_types)
436
- }
437
-
438
- /// Converts a wasmparser `ComponentFuncType` into Wasmtime's type
439
- /// representation.
440
- pub fn convert_component_func_type(
441
- &mut self,
442
- types: types::TypesRef<'_>,
443
- id: types::ComponentFuncTypeId,
444
- ) -> Result<TypeFuncIndex> {
445
- let ty = &types[id];
446
- let params = ty
447
- .params
448
- .iter()
449
- .map(|(_name, ty)| self.valtype(types, ty))
450
- .collect::<Result<_>>()?;
451
- let results = ty
452
- .results
453
- .iter()
454
- .map(|(_name, ty)| self.valtype(types, ty))
455
- .collect::<Result<_>>()?;
456
- let ty = TypeFunc {
457
- params: self.new_tuple_type(params),
458
- results: self.new_tuple_type(results),
459
- };
460
- Ok(self.add_func_type(ty))
461
- }
462
-
463
- /// Converts a wasmparser `ComponentEntityType` into Wasmtime's type
464
- /// representation.
465
- pub fn convert_component_entity_type(
466
- &mut self,
467
- types: types::TypesRef<'_>,
468
- ty: types::ComponentEntityType,
469
- ) -> Result<TypeDef> {
470
- Ok(match ty {
471
- types::ComponentEntityType::Module(id) => {
472
- TypeDef::Module(self.convert_module(types, id)?)
473
- }
474
- types::ComponentEntityType::Component(id) => {
475
- TypeDef::Component(self.convert_component(types, id)?)
476
- }
477
- types::ComponentEntityType::Instance(id) => {
478
- TypeDef::ComponentInstance(self.convert_instance(types, id)?)
479
- }
480
- types::ComponentEntityType::Func(id) => {
481
- TypeDef::ComponentFunc(self.convert_component_func_type(types, id)?)
482
- }
483
- types::ComponentEntityType::Type { created, .. } => match created {
484
- types::ComponentAnyTypeId::Defined(id) => {
485
- TypeDef::Interface(self.defined_type(types, id)?)
486
- }
487
- types::ComponentAnyTypeId::Resource(id) => {
488
- TypeDef::Resource(self.resource_id(id.resource()))
489
- }
490
- _ => bail!("unsupported type export"),
491
- },
492
- types::ComponentEntityType::Value(_) => bail!("values not supported"),
493
- })
494
- }
495
-
496
- /// Converts a wasmparser `Type` into Wasmtime's type representation.
497
- pub fn convert_type(
498
- &mut self,
499
- types: types::TypesRef<'_>,
500
- id: types::ComponentAnyTypeId,
501
- ) -> Result<TypeDef> {
502
- Ok(match id {
503
- types::ComponentAnyTypeId::Defined(id) => {
504
- TypeDef::Interface(self.defined_type(types, id)?)
505
- }
506
- types::ComponentAnyTypeId::Component(id) => {
507
- TypeDef::Component(self.convert_component(types, id)?)
508
- }
509
- types::ComponentAnyTypeId::Instance(id) => {
510
- TypeDef::ComponentInstance(self.convert_instance(types, id)?)
511
- }
512
- types::ComponentAnyTypeId::Func(id) => {
513
- TypeDef::ComponentFunc(self.convert_component_func_type(types, id)?)
514
- }
515
- types::ComponentAnyTypeId::Resource(id) => {
516
- TypeDef::Resource(self.resource_id(id.resource()))
517
- }
518
- })
519
- }
520
-
521
- fn convert_component(
522
- &mut self,
523
- types: types::TypesRef<'_>,
524
- id: types::ComponentTypeId,
525
- ) -> Result<TypeComponentIndex> {
526
- let ty = &types[id];
527
- let mut result = TypeComponent::default();
528
- for (name, ty) in ty.imports.iter() {
529
- result.imports.insert(
530
- name.clone(),
531
- self.convert_component_entity_type(types, *ty)?,
532
- );
533
- }
534
- for (name, ty) in ty.exports.iter() {
535
- result.exports.insert(
536
- name.clone(),
537
- self.convert_component_entity_type(types, *ty)?,
538
- );
539
- }
540
- Ok(self.component_types.components.push(result))
541
- }
542
-
543
- fn convert_instance(
544
- &mut self,
545
- types: types::TypesRef<'_>,
546
- id: types::ComponentInstanceTypeId,
547
- ) -> Result<TypeComponentInstanceIndex> {
548
- let ty = &types[id];
549
- let mut result = TypeComponentInstance::default();
550
- for (name, ty) in ty.exports.iter() {
551
- result.exports.insert(
552
- name.clone(),
553
- self.convert_component_entity_type(types, *ty)?,
554
- );
555
- }
556
- Ok(self.component_types.component_instances.push(result))
557
- }
558
-
559
- fn convert_module(
560
- &mut self,
561
- types: types::TypesRef<'_>,
562
- id: types::ComponentCoreModuleTypeId,
563
- ) -> Result<TypeModuleIndex> {
564
- let ty = &types[id];
565
- let mut result = TypeModule::default();
566
- for ((module, field), ty) in ty.imports.iter() {
567
- result.imports.insert(
568
- (module.clone(), field.clone()),
569
- self.entity_type(types, ty)?,
570
- );
571
- }
572
- for (name, ty) in ty.exports.iter() {
573
- result
574
- .exports
575
- .insert(name.clone(), self.entity_type(types, ty)?);
576
- }
577
- Ok(self.component_types.modules.push(result))
578
- }
579
-
580
- fn entity_type(
581
- &mut self,
582
- types: types::TypesRef<'_>,
583
- ty: &types::EntityType,
584
- ) -> Result<EntityType> {
585
- Ok(match ty {
586
- types::EntityType::Func(idx) => {
587
- let ty = types[*idx].unwrap_func();
588
- let ty = self.convert_func_type(ty);
589
- EntityType::Function(self.module_types_builder().wasm_func_type(ty))
590
- }
591
- types::EntityType::Table(ty) => EntityType::Table(self.convert_table_type(ty)),
592
- types::EntityType::Memory(ty) => EntityType::Memory(ty.clone().into()),
593
- types::EntityType::Global(ty) => EntityType::Global(self.convert_global_type(ty)),
594
- types::EntityType::Tag(_) => bail!("exceptions proposal not implemented"),
595
- })
596
- }
597
-
598
- fn defined_type(
599
- &mut self,
600
- types: types::TypesRef<'_>,
601
- id: types::ComponentDefinedTypeId,
602
- ) -> Result<InterfaceType> {
603
- let ret = match &types[id] {
604
- types::ComponentDefinedType::Primitive(ty) => ty.into(),
605
- types::ComponentDefinedType::Record(e) => {
606
- InterfaceType::Record(self.record_type(types, e)?)
607
- }
608
- types::ComponentDefinedType::Variant(e) => {
609
- InterfaceType::Variant(self.variant_type(types, e)?)
610
- }
611
- types::ComponentDefinedType::List(e) => InterfaceType::List(self.list_type(types, e)?),
612
- types::ComponentDefinedType::Tuple(e) => {
613
- InterfaceType::Tuple(self.tuple_type(types, e)?)
614
- }
615
- types::ComponentDefinedType::Flags(e) => InterfaceType::Flags(self.flags_type(e)),
616
- types::ComponentDefinedType::Enum(e) => InterfaceType::Enum(self.enum_type(e)),
617
- types::ComponentDefinedType::Option(e) => {
618
- InterfaceType::Option(self.option_type(types, e)?)
619
- }
620
- types::ComponentDefinedType::Result { ok, err } => {
621
- InterfaceType::Result(self.result_type(types, ok, err)?)
622
- }
623
- types::ComponentDefinedType::Own(r) => {
624
- InterfaceType::Own(self.resource_id(r.resource()))
625
- }
626
- types::ComponentDefinedType::Borrow(r) => {
627
- InterfaceType::Borrow(self.resource_id(r.resource()))
628
- }
629
- };
630
- let info = self.type_information(&ret);
631
- if info.depth > MAX_TYPE_DEPTH {
632
- bail!("type nesting is too deep");
633
- }
634
- Ok(ret)
635
- }
636
-
637
- fn valtype(
638
- &mut self,
639
- types: types::TypesRef<'_>,
640
- ty: &types::ComponentValType,
641
- ) -> Result<InterfaceType> {
642
- match ty {
643
- types::ComponentValType::Primitive(p) => Ok(p.into()),
644
- types::ComponentValType::Type(id) => self.defined_type(types, *id),
645
- }
646
- }
647
-
648
- fn record_type(
649
- &mut self,
650
- types: types::TypesRef<'_>,
651
- ty: &types::RecordType,
652
- ) -> Result<TypeRecordIndex> {
653
- let fields = ty
654
- .fields
655
- .iter()
656
- .map(|(name, ty)| {
657
- Ok(RecordField {
658
- name: name.to_string(),
659
- ty: self.valtype(types, ty)?,
660
- })
661
- })
662
- .collect::<Result<Box<[_]>>>()?;
663
- let abi = CanonicalAbiInfo::record(
664
- fields
665
- .iter()
666
- .map(|field| self.component_types.canonical_abi(&field.ty)),
667
- );
668
- Ok(self.add_record_type(TypeRecord { fields, abi }))
669
- }
670
-
671
- fn variant_type(
672
- &mut self,
673
- types: types::TypesRef<'_>,
674
- ty: &types::VariantType,
675
- ) -> Result<TypeVariantIndex> {
676
- let cases = ty
677
- .cases
678
- .iter()
679
- .map(|(name, case)| {
680
- // FIXME: need to implement `refines`, not sure what that
681
- // is at this time.
682
- if case.refines.is_some() {
683
- bail!("refines is not supported at this time");
684
- }
685
- Ok(VariantCase {
686
- name: name.to_string(),
687
- ty: match &case.ty.as_ref() {
688
- Some(ty) => Some(self.valtype(types, ty)?),
689
- None => None,
690
- },
691
- })
692
- })
693
- .collect::<Result<Box<[_]>>>()?;
694
- let (info, abi) = VariantInfo::new(cases.iter().map(|c| {
695
- c.ty.as_ref()
696
- .map(|ty| self.component_types.canonical_abi(ty))
697
- }));
698
- Ok(self.add_variant_type(TypeVariant { cases, abi, info }))
699
- }
700
-
701
- fn tuple_type(
702
- &mut self,
703
- types: types::TypesRef<'_>,
704
- ty: &types::TupleType,
705
- ) -> Result<TypeTupleIndex> {
706
- let types = ty
707
- .types
708
- .iter()
709
- .map(|ty| self.valtype(types, ty))
710
- .collect::<Result<Box<[_]>>>()?;
711
- Ok(self.new_tuple_type(types))
712
- }
713
-
714
- fn new_tuple_type(&mut self, types: Box<[InterfaceType]>) -> TypeTupleIndex {
715
- let abi = CanonicalAbiInfo::record(
716
- types
717
- .iter()
718
- .map(|ty| self.component_types.canonical_abi(ty)),
719
- );
720
- self.add_tuple_type(TypeTuple { types, abi })
721
- }
722
-
723
- fn flags_type(&mut self, flags: &IndexSet<KebabString>) -> TypeFlagsIndex {
724
- let flags = TypeFlags {
725
- names: flags.iter().map(|s| s.to_string()).collect(),
726
- abi: CanonicalAbiInfo::flags(flags.len()),
727
- };
728
- self.add_flags_type(flags)
729
- }
730
-
731
- fn enum_type(&mut self, variants: &IndexSet<KebabString>) -> TypeEnumIndex {
732
- let names = variants.iter().map(|s| s.to_string()).collect::<Box<[_]>>();
733
- let (info, abi) = VariantInfo::new(names.iter().map(|_| None));
734
- self.add_enum_type(TypeEnum { names, abi, info })
735
- }
736
-
737
- fn option_type(
738
- &mut self,
739
- types: types::TypesRef<'_>,
740
- ty: &types::ComponentValType,
741
- ) -> Result<TypeOptionIndex> {
742
- let ty = self.valtype(types, ty)?;
743
- let (info, abi) = VariantInfo::new([None, Some(self.component_types.canonical_abi(&ty))]);
744
- Ok(self.add_option_type(TypeOption { ty, abi, info }))
745
- }
746
-
747
- fn result_type(
748
- &mut self,
749
- types: types::TypesRef<'_>,
750
- ok: &Option<types::ComponentValType>,
751
- err: &Option<types::ComponentValType>,
752
- ) -> Result<TypeResultIndex> {
753
- let ok = match ok {
754
- Some(ty) => Some(self.valtype(types, ty)?),
755
- None => None,
756
- };
757
- let err = match err {
758
- Some(ty) => Some(self.valtype(types, ty)?),
759
- None => None,
760
- };
761
- let (info, abi) = VariantInfo::new([
762
- ok.as_ref().map(|t| self.component_types.canonical_abi(t)),
763
- err.as_ref().map(|t| self.component_types.canonical_abi(t)),
764
- ]);
765
- Ok(self.add_result_type(TypeResult { ok, err, abi, info }))
766
- }
767
-
768
- fn list_type(
769
- &mut self,
770
- types: types::TypesRef<'_>,
771
- ty: &types::ComponentValType,
772
- ) -> Result<TypeListIndex> {
773
- let element = self.valtype(types, ty)?;
774
- Ok(self.add_list_type(TypeList { element }))
775
- }
776
-
777
- /// Converts a wasmparser `id`, which must point to a resource, to its
778
- /// corresponding `TypeResourceTableIndex`.
779
- pub fn resource_id(&mut self, id: types::ResourceId) -> TypeResourceTableIndex {
780
- self.resources.convert(id, &mut self.component_types)
781
- }
782
-
783
- /// Interns a new function type within this type information.
784
- pub fn add_func_type(&mut self, ty: TypeFunc) -> TypeFuncIndex {
785
- intern(&mut self.functions, &mut self.component_types.functions, ty)
786
- }
787
-
788
- /// Interns a new record type within this type information.
789
- pub fn add_record_type(&mut self, ty: TypeRecord) -> TypeRecordIndex {
790
- intern_and_fill_flat_types!(self, records, ty)
791
- }
792
-
793
- /// Interns a new flags type within this type information.
794
- pub fn add_flags_type(&mut self, ty: TypeFlags) -> TypeFlagsIndex {
795
- intern_and_fill_flat_types!(self, flags, ty)
796
- }
797
-
798
- /// Interns a new tuple type within this type information.
799
- pub fn add_tuple_type(&mut self, ty: TypeTuple) -> TypeTupleIndex {
800
- intern_and_fill_flat_types!(self, tuples, ty)
801
- }
802
-
803
- /// Interns a new variant type within this type information.
804
- pub fn add_variant_type(&mut self, ty: TypeVariant) -> TypeVariantIndex {
805
- intern_and_fill_flat_types!(self, variants, ty)
806
- }
807
-
808
- /// Interns a new enum type within this type information.
809
- pub fn add_enum_type(&mut self, ty: TypeEnum) -> TypeEnumIndex {
810
- intern_and_fill_flat_types!(self, enums, ty)
811
- }
812
-
813
- /// Interns a new option type within this type information.
814
- pub fn add_option_type(&mut self, ty: TypeOption) -> TypeOptionIndex {
815
- intern_and_fill_flat_types!(self, options, ty)
816
- }
817
-
818
- /// Interns a new result type within this type information.
819
- pub fn add_result_type(&mut self, ty: TypeResult) -> TypeResultIndex {
820
- intern_and_fill_flat_types!(self, results, ty)
821
- }
822
-
823
- /// Interns a new type within this type information.
824
- pub fn add_list_type(&mut self, ty: TypeList) -> TypeListIndex {
825
- intern_and_fill_flat_types!(self, lists, ty)
826
- }
827
-
828
- /// Returns the canonical ABI information about the specified type.
829
- pub fn canonical_abi(&self, ty: &InterfaceType) -> &CanonicalAbiInfo {
830
- self.component_types.canonical_abi(ty)
831
- }
832
-
833
- /// Returns the "flat types" for the given interface type used in the
834
- /// canonical ABI.
835
- ///
836
- /// Returns `None` if the type is too large to be represented via flat types
837
- /// in the canonical abi.
838
- pub fn flat_types(&self, ty: &InterfaceType) -> Option<FlatTypes<'_>> {
839
- self.type_information(ty).flat.as_flat_types()
840
- }
841
-
842
- /// Returns whether the type specified contains any borrowed resources
843
- /// within it.
844
- pub fn ty_contains_borrow_resource(&self, ty: &InterfaceType) -> bool {
845
- self.type_information(ty).has_borrow
846
- }
847
-
848
- fn type_information(&self, ty: &InterfaceType) -> &TypeInformation {
849
- match ty {
850
- InterfaceType::U8
851
- | InterfaceType::S8
852
- | InterfaceType::Bool
853
- | InterfaceType::U16
854
- | InterfaceType::S16
855
- | InterfaceType::U32
856
- | InterfaceType::S32
857
- | InterfaceType::Char
858
- | InterfaceType::Own(_) => {
859
- static INFO: TypeInformation = TypeInformation::primitive(FlatType::I32);
860
- &INFO
861
- }
862
- InterfaceType::Borrow(_) => {
863
- static INFO: TypeInformation = {
864
- let mut info = TypeInformation::primitive(FlatType::I32);
865
- info.has_borrow = true;
866
- info
867
- };
868
- &INFO
869
- }
870
- InterfaceType::U64 | InterfaceType::S64 => {
871
- static INFO: TypeInformation = TypeInformation::primitive(FlatType::I64);
872
- &INFO
873
- }
874
- InterfaceType::Float32 => {
875
- static INFO: TypeInformation = TypeInformation::primitive(FlatType::F32);
876
- &INFO
877
- }
878
- InterfaceType::Float64 => {
879
- static INFO: TypeInformation = TypeInformation::primitive(FlatType::F64);
880
- &INFO
881
- }
882
- InterfaceType::String => {
883
- static INFO: TypeInformation = TypeInformation::string();
884
- &INFO
885
- }
886
-
887
- InterfaceType::List(i) => &self.type_info.lists[*i],
888
- InterfaceType::Record(i) => &self.type_info.records[*i],
889
- InterfaceType::Variant(i) => &self.type_info.variants[*i],
890
- InterfaceType::Tuple(i) => &self.type_info.tuples[*i],
891
- InterfaceType::Flags(i) => &self.type_info.flags[*i],
892
- InterfaceType::Enum(i) => &self.type_info.enums[*i],
893
- InterfaceType::Option(i) => &self.type_info.options[*i],
894
- InterfaceType::Result(i) => &self.type_info.results[*i],
895
- }
896
- }
897
- }
898
-
899
- impl TypeConvert for ComponentTypesBuilder {
900
- fn lookup_heap_type(&self, _index: TypeIndex) -> WasmHeapType {
901
- panic!("heap types are not supported yet")
902
- }
903
- }
904
-
905
- // Forward the indexing impl to the internal `TypeTables`
906
- impl<T> Index<T> for ComponentTypesBuilder
907
- where
908
- ComponentTypes: Index<T>,
909
- {
910
- type Output = <ComponentTypes as Index<T>>::Output;
911
-
912
- fn index(&self, sig: T) -> &Self::Output {
913
- &self.component_types[sig]
914
- }
915
- }
916
-
917
- fn intern<T, U>(map: &mut HashMap<T, U>, list: &mut PrimaryMap<U, T>, item: T) -> U
918
- where
919
- T: Hash + Clone + Eq,
920
- U: Copy + EntityRef,
921
- {
922
- if let Some(idx) = map.get(&item) {
923
- return *idx;
924
- }
925
- let idx = list.push(item.clone());
926
- map.insert(item, idx);
927
- return idx;
928
- }
929
-
930
- /// Types of imports and exports in the component model.
931
- ///
932
- /// These types are what's available for import and export in components. Note
933
- /// that all indirect indices contained here are intended to be looked up
934
- /// through a sibling `ComponentTypes` structure.
935
- #[derive(Copy, Clone, Debug, Serialize, Deserialize)]
936
- pub enum TypeDef {
937
- /// A component and its type.
938
- Component(TypeComponentIndex),
939
- /// An instance of a component.
940
- ComponentInstance(TypeComponentInstanceIndex),
941
- /// A component function, not to be confused with a core wasm function.
942
- ComponentFunc(TypeFuncIndex),
943
- /// An interface type.
944
- Interface(InterfaceType),
945
- /// A core wasm module and its type.
946
- Module(TypeModuleIndex),
947
- /// A core wasm function using only core wasm types.
948
- CoreFunc(SignatureIndex),
949
- /// A resource type which operates on the specified resource table.
950
- ///
951
- /// Note that different resource tables may point to the same underlying
952
- /// actual resource type, but that's a private detail.
953
- Resource(TypeResourceTableIndex),
954
- }
955
-
956
- // NB: Note that maps below are stored as an `IndexMap` now but the order
957
- // typically does not matter. As a minor implementation detail we want the
958
- // serialization of this type to always be deterministic and using `IndexMap`
959
- // gets us that over using a `HashMap` for example.
960
-
961
- /// The type of a module in the component model.
962
- ///
963
- /// Note that this is not to be confused with `TypeComponent` below. This is
964
- /// intended only for core wasm modules, not for components.
965
- #[derive(Serialize, Deserialize, Default)]
966
- pub struct TypeModule {
967
- /// The values that this module imports.
968
- ///
969
- /// Note that the value of this map is a core wasm `EntityType`, not a
970
- /// component model `TypeRef`. Additionally note that this reflects the
971
- /// two-level namespace of core WebAssembly, but unlike core wasm all import
972
- /// names are required to be unique to describe a module in the component
973
- /// model.
974
- pub imports: IndexMap<(String, String), EntityType>,
975
-
976
- /// The values that this module exports.
977
- ///
978
- /// Note that the value of this map is the core wasm `EntityType` to
979
- /// represent that core wasm items are being exported.
980
- pub exports: IndexMap<String, EntityType>,
981
- }
982
-
983
- /// The type of a component in the component model.
984
- #[derive(Serialize, Deserialize, Default)]
985
- pub struct TypeComponent {
986
- /// The named values that this component imports.
987
- pub imports: IndexMap<String, TypeDef>,
988
- /// The named values that this component exports.
989
- pub exports: IndexMap<String, TypeDef>,
990
- }
991
-
992
- /// The type of a component instance in the component model, or an instantiated
993
- /// component.
994
- ///
995
- /// Component instances only have exports of types in the component model.
996
- #[derive(Serialize, Deserialize, Default)]
997
- pub struct TypeComponentInstance {
998
- /// The list of exports that this component has along with their types.
999
- pub exports: IndexMap<String, TypeDef>,
1000
- }
1001
-
1002
- /// A component function type in the component model.
1003
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1004
- pub struct TypeFunc {
1005
- /// Parameters to the function represented as a tuple.
1006
- pub params: TypeTupleIndex,
1007
- /// Results of the function represented as a tuple.
1008
- pub results: TypeTupleIndex,
1009
- }
1010
-
1011
- /// All possible interface types that values can have.
1012
- ///
1013
- /// This list represents an exhaustive listing of interface types and the
1014
- /// shapes that they can take. Note that this enum is considered an "index" of
1015
- /// forms where for non-primitive types a `ComponentTypes` structure is used to
1016
- /// lookup further information based on the index found here.
1017
- #[derive(Serialize, Deserialize, Copy, Clone, Hash, Eq, PartialEq, Debug)]
1018
- #[allow(missing_docs)]
1019
- pub enum InterfaceType {
1020
- Bool,
1021
- S8,
1022
- U8,
1023
- S16,
1024
- U16,
1025
- S32,
1026
- U32,
1027
- S64,
1028
- U64,
1029
- Float32,
1030
- Float64,
1031
- Char,
1032
- String,
1033
- Record(TypeRecordIndex),
1034
- Variant(TypeVariantIndex),
1035
- List(TypeListIndex),
1036
- Tuple(TypeTupleIndex),
1037
- Flags(TypeFlagsIndex),
1038
- Enum(TypeEnumIndex),
1039
- Option(TypeOptionIndex),
1040
- Result(TypeResultIndex),
1041
- Own(TypeResourceTableIndex),
1042
- Borrow(TypeResourceTableIndex),
1043
- }
1044
-
1045
- impl From<&wasmparser::PrimitiveValType> for InterfaceType {
1046
- fn from(ty: &wasmparser::PrimitiveValType) -> InterfaceType {
1047
- match ty {
1048
- wasmparser::PrimitiveValType::Bool => InterfaceType::Bool,
1049
- wasmparser::PrimitiveValType::S8 => InterfaceType::S8,
1050
- wasmparser::PrimitiveValType::U8 => InterfaceType::U8,
1051
- wasmparser::PrimitiveValType::S16 => InterfaceType::S16,
1052
- wasmparser::PrimitiveValType::U16 => InterfaceType::U16,
1053
- wasmparser::PrimitiveValType::S32 => InterfaceType::S32,
1054
- wasmparser::PrimitiveValType::U32 => InterfaceType::U32,
1055
- wasmparser::PrimitiveValType::S64 => InterfaceType::S64,
1056
- wasmparser::PrimitiveValType::U64 => InterfaceType::U64,
1057
- wasmparser::PrimitiveValType::Float32 => InterfaceType::Float32,
1058
- wasmparser::PrimitiveValType::Float64 => InterfaceType::Float64,
1059
- wasmparser::PrimitiveValType::Char => InterfaceType::Char,
1060
- wasmparser::PrimitiveValType::String => InterfaceType::String,
1061
- }
1062
- }
1063
- }
1064
-
1065
- /// Bye information about a type in the canonical ABI, with metadata for both
1066
- /// memory32 and memory64-based types.
1067
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1068
- pub struct CanonicalAbiInfo {
1069
- /// The byte-size of this type in a 32-bit memory.
1070
- pub size32: u32,
1071
- /// The byte-alignment of this type in a 32-bit memory.
1072
- pub align32: u32,
1073
- /// The byte-size of this type in a 64-bit memory.
1074
- pub size64: u32,
1075
- /// The byte-alignment of this type in a 64-bit memory.
1076
- pub align64: u32,
1077
- /// The number of types it takes to represents this type in the "flat"
1078
- /// representation of the canonical abi where everything is passed as
1079
- /// immediate arguments or results.
1080
- ///
1081
- /// If this is `None` then this type is not representable in the flat ABI
1082
- /// because it is too large.
1083
- pub flat_count: Option<u8>,
1084
- }
1085
-
1086
- impl Default for CanonicalAbiInfo {
1087
- fn default() -> CanonicalAbiInfo {
1088
- CanonicalAbiInfo {
1089
- size32: 0,
1090
- align32: 1,
1091
- size64: 0,
1092
- align64: 1,
1093
- flat_count: Some(0),
1094
- }
1095
- }
1096
- }
1097
-
1098
- const fn align_to(a: u32, b: u32) -> u32 {
1099
- assert!(b.is_power_of_two());
1100
- (a + (b - 1)) & !(b - 1)
1101
- }
1102
-
1103
- const fn max(a: u32, b: u32) -> u32 {
1104
- if a > b {
1105
- a
1106
- } else {
1107
- b
1108
- }
1109
- }
1110
-
1111
- impl CanonicalAbiInfo {
1112
- /// ABI information for zero-sized types.
1113
- const ZERO: CanonicalAbiInfo = CanonicalAbiInfo {
1114
- size32: 0,
1115
- align32: 1,
1116
- size64: 0,
1117
- align64: 1,
1118
- flat_count: Some(0),
1119
- };
1120
-
1121
- /// ABI information for one-byte scalars.
1122
- pub const SCALAR1: CanonicalAbiInfo = CanonicalAbiInfo::scalar(1);
1123
- /// ABI information for two-byte scalars.
1124
- pub const SCALAR2: CanonicalAbiInfo = CanonicalAbiInfo::scalar(2);
1125
- /// ABI information for four-byte scalars.
1126
- pub const SCALAR4: CanonicalAbiInfo = CanonicalAbiInfo::scalar(4);
1127
- /// ABI information for eight-byte scalars.
1128
- pub const SCALAR8: CanonicalAbiInfo = CanonicalAbiInfo::scalar(8);
1129
-
1130
- const fn scalar(size: u32) -> CanonicalAbiInfo {
1131
- CanonicalAbiInfo {
1132
- size32: size,
1133
- align32: size,
1134
- size64: size,
1135
- align64: size,
1136
- flat_count: Some(1),
1137
- }
1138
- }
1139
-
1140
- /// ABI information for lists/strings which are "pointer pairs"
1141
- pub const POINTER_PAIR: CanonicalAbiInfo = CanonicalAbiInfo {
1142
- size32: 8,
1143
- align32: 4,
1144
- size64: 16,
1145
- align64: 8,
1146
- flat_count: Some(2),
1147
- };
1148
-
1149
- /// Returns the abi for a record represented by the specified fields.
1150
- pub fn record<'a>(fields: impl Iterator<Item = &'a CanonicalAbiInfo>) -> CanonicalAbiInfo {
1151
- // NB: this is basically a duplicate copy of
1152
- // `CanonicalAbiInfo::record_static` and the two should be kept in sync.
1153
-
1154
- let mut ret = CanonicalAbiInfo::default();
1155
- for field in fields {
1156
- ret.size32 = align_to(ret.size32, field.align32) + field.size32;
1157
- ret.align32 = ret.align32.max(field.align32);
1158
- ret.size64 = align_to(ret.size64, field.align64) + field.size64;
1159
- ret.align64 = ret.align64.max(field.align64);
1160
- ret.flat_count = add_flat(ret.flat_count, field.flat_count);
1161
- }
1162
- ret.size32 = align_to(ret.size32, ret.align32);
1163
- ret.size64 = align_to(ret.size64, ret.align64);
1164
- return ret;
1165
- }
1166
-
1167
- /// Same as `CanonicalAbiInfo::record` but in a `const`-friendly context.
1168
- pub const fn record_static(fields: &[CanonicalAbiInfo]) -> CanonicalAbiInfo {
1169
- // NB: this is basically a duplicate copy of `CanonicalAbiInfo::record`
1170
- // and the two should be kept in sync.
1171
-
1172
- let mut ret = CanonicalAbiInfo::ZERO;
1173
- let mut i = 0;
1174
- while i < fields.len() {
1175
- let field = &fields[i];
1176
- ret.size32 = align_to(ret.size32, field.align32) + field.size32;
1177
- ret.align32 = max(ret.align32, field.align32);
1178
- ret.size64 = align_to(ret.size64, field.align64) + field.size64;
1179
- ret.align64 = max(ret.align64, field.align64);
1180
- ret.flat_count = add_flat(ret.flat_count, field.flat_count);
1181
- i += 1;
1182
- }
1183
- ret.size32 = align_to(ret.size32, ret.align32);
1184
- ret.size64 = align_to(ret.size64, ret.align64);
1185
- return ret;
1186
- }
1187
-
1188
- /// Returns the delta from the current value of `offset` to align properly
1189
- /// and read the next record field of type `abi` for 32-bit memories.
1190
- pub fn next_field32(&self, offset: &mut u32) -> u32 {
1191
- *offset = align_to(*offset, self.align32) + self.size32;
1192
- *offset - self.size32
1193
- }
1194
-
1195
- /// Same as `next_field32`, but bumps a usize pointer
1196
- pub fn next_field32_size(&self, offset: &mut usize) -> usize {
1197
- let cur = u32::try_from(*offset).unwrap();
1198
- let cur = align_to(cur, self.align32) + self.size32;
1199
- *offset = usize::try_from(cur).unwrap();
1200
- usize::try_from(cur - self.size32).unwrap()
1201
- }
1202
-
1203
- /// Returns the delta from the current value of `offset` to align properly
1204
- /// and read the next record field of type `abi` for 64-bit memories.
1205
- pub fn next_field64(&self, offset: &mut u32) -> u32 {
1206
- *offset = align_to(*offset, self.align64) + self.size64;
1207
- *offset - self.size64
1208
- }
1209
-
1210
- /// Same as `next_field64`, but bumps a usize pointer
1211
- pub fn next_field64_size(&self, offset: &mut usize) -> usize {
1212
- let cur = u32::try_from(*offset).unwrap();
1213
- let cur = align_to(cur, self.align64) + self.size64;
1214
- *offset = usize::try_from(cur).unwrap();
1215
- usize::try_from(cur - self.size64).unwrap()
1216
- }
1217
-
1218
- /// Returns ABI information for a structure which contains `count` flags.
1219
- pub const fn flags(count: usize) -> CanonicalAbiInfo {
1220
- let (size, align, flat_count) = match FlagsSize::from_count(count) {
1221
- FlagsSize::Size0 => (0, 1, 0),
1222
- FlagsSize::Size1 => (1, 1, 1),
1223
- FlagsSize::Size2 => (2, 2, 1),
1224
- FlagsSize::Size4Plus(n) => ((n as u32) * 4, 4, n),
1225
- };
1226
- CanonicalAbiInfo {
1227
- size32: size,
1228
- align32: align,
1229
- size64: size,
1230
- align64: align,
1231
- flat_count: Some(flat_count),
1232
- }
1233
- }
1234
-
1235
- fn variant<'a, I>(cases: I) -> CanonicalAbiInfo
1236
- where
1237
- I: IntoIterator<Item = Option<&'a CanonicalAbiInfo>>,
1238
- I::IntoIter: ExactSizeIterator,
1239
- {
1240
- // NB: this is basically a duplicate definition of
1241
- // `CanonicalAbiInfo::variant_static`, these should be kept in sync.
1242
-
1243
- let cases = cases.into_iter();
1244
- let discrim_size = u32::from(DiscriminantSize::from_count(cases.len()).unwrap());
1245
- let mut max_size32 = 0;
1246
- let mut max_align32 = discrim_size;
1247
- let mut max_size64 = 0;
1248
- let mut max_align64 = discrim_size;
1249
- let mut max_case_count = Some(0);
1250
- for case in cases {
1251
- if let Some(case) = case {
1252
- max_size32 = max_size32.max(case.size32);
1253
- max_align32 = max_align32.max(case.align32);
1254
- max_size64 = max_size64.max(case.size64);
1255
- max_align64 = max_align64.max(case.align64);
1256
- max_case_count = max_flat(max_case_count, case.flat_count);
1257
- }
1258
- }
1259
- CanonicalAbiInfo {
1260
- size32: align_to(
1261
- align_to(discrim_size, max_align32) + max_size32,
1262
- max_align32,
1263
- ),
1264
- align32: max_align32,
1265
- size64: align_to(
1266
- align_to(discrim_size, max_align64) + max_size64,
1267
- max_align64,
1268
- ),
1269
- align64: max_align64,
1270
- flat_count: add_flat(max_case_count, Some(1)),
1271
- }
1272
- }
1273
-
1274
- /// Same as `CanonicalAbiInfo::variant` but `const`-safe
1275
- pub const fn variant_static(cases: &[Option<CanonicalAbiInfo>]) -> CanonicalAbiInfo {
1276
- // NB: this is basically a duplicate definition of
1277
- // `CanonicalAbiInfo::variant`, these should be kept in sync.
1278
-
1279
- let discrim_size = match DiscriminantSize::from_count(cases.len()) {
1280
- Some(size) => size.byte_size(),
1281
- None => unreachable!(),
1282
- };
1283
- let mut max_size32 = 0;
1284
- let mut max_align32 = discrim_size;
1285
- let mut max_size64 = 0;
1286
- let mut max_align64 = discrim_size;
1287
- let mut max_case_count = Some(0);
1288
- let mut i = 0;
1289
- while i < cases.len() {
1290
- let case = &cases[i];
1291
- if let Some(case) = case {
1292
- max_size32 = max(max_size32, case.size32);
1293
- max_align32 = max(max_align32, case.align32);
1294
- max_size64 = max(max_size64, case.size64);
1295
- max_align64 = max(max_align64, case.align64);
1296
- max_case_count = max_flat(max_case_count, case.flat_count);
1297
- }
1298
- i += 1;
1299
- }
1300
- CanonicalAbiInfo {
1301
- size32: align_to(
1302
- align_to(discrim_size, max_align32) + max_size32,
1303
- max_align32,
1304
- ),
1305
- align32: max_align32,
1306
- size64: align_to(
1307
- align_to(discrim_size, max_align64) + max_size64,
1308
- max_align64,
1309
- ),
1310
- align64: max_align64,
1311
- flat_count: add_flat(max_case_count, Some(1)),
1312
- }
1313
- }
1314
-
1315
- /// Returns the flat count of this ABI information so long as the count
1316
- /// doesn't exceed the `max` specified.
1317
- pub fn flat_count(&self, max: usize) -> Option<usize> {
1318
- let flat = usize::from(self.flat_count?);
1319
- if flat > max {
1320
- None
1321
- } else {
1322
- Some(flat)
1323
- }
1324
- }
1325
- }
1326
-
1327
- /// ABI information about the representation of a variant.
1328
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1329
- pub struct VariantInfo {
1330
- /// The size of the discriminant used.
1331
- #[serde(with = "serde_discrim_size")]
1332
- pub size: DiscriminantSize,
1333
- /// The offset of the payload from the start of the variant in 32-bit
1334
- /// memories.
1335
- pub payload_offset32: u32,
1336
- /// The offset of the payload from the start of the variant in 64-bit
1337
- /// memories.
1338
- pub payload_offset64: u32,
1339
- }
1340
-
1341
- impl VariantInfo {
1342
- /// Returns the abi information for a variant represented by the specified
1343
- /// cases.
1344
- pub fn new<'a, I>(cases: I) -> (VariantInfo, CanonicalAbiInfo)
1345
- where
1346
- I: IntoIterator<Item = Option<&'a CanonicalAbiInfo>>,
1347
- I::IntoIter: ExactSizeIterator,
1348
- {
1349
- let cases = cases.into_iter();
1350
- let size = DiscriminantSize::from_count(cases.len()).unwrap();
1351
- let abi = CanonicalAbiInfo::variant(cases);
1352
- (
1353
- VariantInfo {
1354
- size,
1355
- payload_offset32: align_to(u32::from(size), abi.align32),
1356
- payload_offset64: align_to(u32::from(size), abi.align64),
1357
- },
1358
- abi,
1359
- )
1360
- }
1361
- /// TODO
1362
- pub const fn new_static(cases: &[Option<CanonicalAbiInfo>]) -> VariantInfo {
1363
- let size = match DiscriminantSize::from_count(cases.len()) {
1364
- Some(size) => size,
1365
- None => unreachable!(),
1366
- };
1367
- let abi = CanonicalAbiInfo::variant_static(cases);
1368
- VariantInfo {
1369
- size,
1370
- payload_offset32: align_to(size.byte_size(), abi.align32),
1371
- payload_offset64: align_to(size.byte_size(), abi.align64),
1372
- }
1373
- }
1374
- }
1375
-
1376
- mod serde_discrim_size {
1377
- use super::DiscriminantSize;
1378
- use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
1379
-
1380
- pub fn serialize<S>(disc: &DiscriminantSize, ser: S) -> Result<S::Ok, S::Error>
1381
- where
1382
- S: Serializer,
1383
- {
1384
- u32::from(*disc).serialize(ser)
1385
- }
1386
-
1387
- pub fn deserialize<'de, D>(deser: D) -> Result<DiscriminantSize, D::Error>
1388
- where
1389
- D: Deserializer<'de>,
1390
- {
1391
- match u32::deserialize(deser)? {
1392
- 1 => Ok(DiscriminantSize::Size1),
1393
- 2 => Ok(DiscriminantSize::Size2),
1394
- 4 => Ok(DiscriminantSize::Size4),
1395
- _ => Err(D::Error::custom("invalid discriminant size")),
1396
- }
1397
- }
1398
- }
1399
-
1400
- /// Shape of a "record" type in interface types.
1401
- ///
1402
- /// This is equivalent to a `struct` in Rust.
1403
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1404
- pub struct TypeRecord {
1405
- /// The fields that are contained within this struct type.
1406
- pub fields: Box<[RecordField]>,
1407
- /// Byte information about this type in the canonical ABI.
1408
- pub abi: CanonicalAbiInfo,
1409
- }
1410
-
1411
- /// One field within a record.
1412
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1413
- pub struct RecordField {
1414
- /// The name of the field, unique amongst all fields in a record.
1415
- pub name: String,
1416
- /// The type that this field contains.
1417
- pub ty: InterfaceType,
1418
- }
1419
-
1420
- /// Shape of a "variant" type in interface types.
1421
- ///
1422
- /// Variants are close to Rust `enum` declarations where a value is one of many
1423
- /// cases and each case has a unique name and an optional payload associated
1424
- /// with it.
1425
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1426
- pub struct TypeVariant {
1427
- /// The list of cases that this variant can take.
1428
- pub cases: Box<[VariantCase]>,
1429
- /// Byte information about this type in the canonical ABI.
1430
- pub abi: CanonicalAbiInfo,
1431
- /// Byte information about this variant type.
1432
- pub info: VariantInfo,
1433
- }
1434
-
1435
- /// One case of a `variant` type which contains the name of the variant as well
1436
- /// as the payload.
1437
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1438
- pub struct VariantCase {
1439
- /// Name of the variant, unique amongst all cases in a variant.
1440
- pub name: String,
1441
- /// Optional type associated with this payload.
1442
- pub ty: Option<InterfaceType>,
1443
- }
1444
-
1445
- /// Shape of a "tuple" type in interface types.
1446
- ///
1447
- /// This is largely the same as a tuple in Rust, basically a record with
1448
- /// unnamed fields.
1449
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1450
- pub struct TypeTuple {
1451
- /// The types that are contained within this tuple.
1452
- pub types: Box<[InterfaceType]>,
1453
- /// Byte information about this type in the canonical ABI.
1454
- pub abi: CanonicalAbiInfo,
1455
- }
1456
-
1457
- /// Shape of a "flags" type in interface types.
1458
- ///
1459
- /// This can be thought of as a record-of-bools, although the representation is
1460
- /// more efficient as bitflags.
1461
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1462
- pub struct TypeFlags {
1463
- /// The names of all flags, all of which are unique.
1464
- pub names: Box<[String]>,
1465
- /// Byte information about this type in the canonical ABI.
1466
- pub abi: CanonicalAbiInfo,
1467
- }
1468
-
1469
- /// Shape of an "enum" type in interface types, not to be confused with a Rust
1470
- /// `enum` type.
1471
- ///
1472
- /// In interface types enums are simply a bag of names, and can be seen as a
1473
- /// variant where all payloads are `Unit`.
1474
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1475
- pub struct TypeEnum {
1476
- /// The names of this enum, all of which are unique.
1477
- pub names: Box<[String]>,
1478
- /// Byte information about this type in the canonical ABI.
1479
- pub abi: CanonicalAbiInfo,
1480
- /// Byte information about this variant type.
1481
- pub info: VariantInfo,
1482
- }
1483
-
1484
- /// Shape of an "option" interface type.
1485
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1486
- pub struct TypeOption {
1487
- /// The `T` in `Result<T, E>`
1488
- pub ty: InterfaceType,
1489
- /// Byte information about this type in the canonical ABI.
1490
- pub abi: CanonicalAbiInfo,
1491
- /// Byte information about this variant type.
1492
- pub info: VariantInfo,
1493
- }
1494
-
1495
- /// Shape of a "result" interface type.
1496
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1497
- pub struct TypeResult {
1498
- /// The `T` in `Result<T, E>`
1499
- pub ok: Option<InterfaceType>,
1500
- /// The `E` in `Result<T, E>`
1501
- pub err: Option<InterfaceType>,
1502
- /// Byte information about this type in the canonical ABI.
1503
- pub abi: CanonicalAbiInfo,
1504
- /// Byte information about this variant type.
1505
- pub info: VariantInfo,
1506
- }
1507
-
1508
- /// Metadata about a resource table added to a component.
1509
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1510
- pub struct TypeResourceTable {
1511
- /// The original resource that this table contains.
1512
- ///
1513
- /// This is used when destroying resources within this table since this
1514
- /// original definition will know how to execute destructors.
1515
- pub ty: ResourceIndex,
1516
-
1517
- /// The component instance that contains this resource table.
1518
- pub instance: RuntimeComponentInstanceIndex,
1519
- }
1520
-
1521
- /// Shape of a "list" interface type.
1522
- #[derive(Serialize, Deserialize, Clone, Hash, Eq, PartialEq, Debug)]
1523
- pub struct TypeList {
1524
- /// The element type of the list.
1525
- pub element: InterfaceType,
1526
- }
1527
-
1528
- const MAX_FLAT_TYPES: usize = if MAX_FLAT_PARAMS > MAX_FLAT_RESULTS {
1529
- MAX_FLAT_PARAMS
1530
- } else {
1531
- MAX_FLAT_RESULTS
1532
- };
1533
-
1534
- const fn add_flat(a: Option<u8>, b: Option<u8>) -> Option<u8> {
1535
- const MAX: u8 = MAX_FLAT_TYPES as u8;
1536
- let sum = match (a, b) {
1537
- (Some(a), Some(b)) => match a.checked_add(b) {
1538
- Some(c) => c,
1539
- None => return None,
1540
- },
1541
- _ => return None,
1542
- };
1543
- if sum > MAX {
1544
- None
1545
- } else {
1546
- Some(sum)
1547
- }
1548
- }
1549
-
1550
- const fn max_flat(a: Option<u8>, b: Option<u8>) -> Option<u8> {
1551
- match (a, b) {
1552
- (Some(a), Some(b)) => {
1553
- if a > b {
1554
- Some(a)
1555
- } else {
1556
- Some(b)
1557
- }
1558
- }
1559
- _ => None,
1560
- }
1561
- }
1562
-
1563
- /// Flat representation of a type in just core wasm types.
1564
- pub struct FlatTypes<'a> {
1565
- /// The flat representation of this type in 32-bit memories.
1566
- pub memory32: &'a [FlatType],
1567
- /// The flat representation of this type in 64-bit memories.
1568
- pub memory64: &'a [FlatType],
1569
- }
1570
-
1571
- #[allow(missing_docs)]
1572
- impl FlatTypes<'_> {
1573
- /// Returns the number of flat types used to represent this type.
1574
- ///
1575
- /// Note that this length is the same regardless to the size of memory.
1576
- pub fn len(&self) -> usize {
1577
- assert_eq!(self.memory32.len(), self.memory64.len());
1578
- self.memory32.len()
1579
- }
1580
- }
1581
-
1582
- // Note that this is intentionally duplicated here to keep the size to 1 byte
1583
- // irregardless to changes in the core wasm type system since this will only
1584
- // ever use integers/floats for the forseeable future.
1585
- #[derive(PartialEq, Eq, Copy, Clone)]
1586
- #[allow(missing_docs)]
1587
- pub enum FlatType {
1588
- I32,
1589
- I64,
1590
- F32,
1591
- F64,
1592
- }
1593
-
1594
- struct FlatTypesStorage {
1595
- // This could be represented as `Vec<FlatType>` but on 64-bit architectures
1596
- // that's 24 bytes. Otherwise `FlatType` is 1 byte large and
1597
- // `MAX_FLAT_TYPES` is 16, so it should ideally be more space-efficient to
1598
- // use a flat array instead of a heap-based vector.
1599
- memory32: [FlatType; MAX_FLAT_TYPES],
1600
- memory64: [FlatType; MAX_FLAT_TYPES],
1601
-
1602
- // Tracks the number of flat types pushed into this storage. If this is
1603
- // `MAX_FLAT_TYPES + 1` then this storage represents an un-reprsentable
1604
- // type in flat types.
1605
- len: u8,
1606
- }
1607
-
1608
- impl FlatTypesStorage {
1609
- const fn new() -> FlatTypesStorage {
1610
- FlatTypesStorage {
1611
- memory32: [FlatType::I32; MAX_FLAT_TYPES],
1612
- memory64: [FlatType::I32; MAX_FLAT_TYPES],
1613
- len: 0,
1614
- }
1615
- }
1616
-
1617
- fn as_flat_types(&self) -> Option<FlatTypes<'_>> {
1618
- let len = usize::from(self.len);
1619
- if len > MAX_FLAT_TYPES {
1620
- assert_eq!(len, MAX_FLAT_TYPES + 1);
1621
- None
1622
- } else {
1623
- Some(FlatTypes {
1624
- memory32: &self.memory32[..len],
1625
- memory64: &self.memory64[..len],
1626
- })
1627
- }
1628
- }
1629
-
1630
- /// Pushes a new flat type into this list using `t32` for 32-bit memories
1631
- /// and `t64` for 64-bit memories.
1632
- ///
1633
- /// Returns whether the type was actually pushed or whether this list of
1634
- /// flat types just exceeded the maximum meaning that it is now
1635
- /// unrepresentable with a flat list of types.
1636
- fn push(&mut self, t32: FlatType, t64: FlatType) -> bool {
1637
- let len = usize::from(self.len);
1638
- if len < MAX_FLAT_TYPES {
1639
- self.memory32[len] = t32;
1640
- self.memory64[len] = t64;
1641
- self.len += 1;
1642
- true
1643
- } else {
1644
- // If this was the first one to go over then flag the length as
1645
- // being incompatible with a flat representation.
1646
- if len == MAX_FLAT_TYPES {
1647
- self.len += 1;
1648
- }
1649
- false
1650
- }
1651
- }
1652
- }
1653
-
1654
- impl FlatType {
1655
- fn join(&mut self, other: FlatType) {
1656
- if *self == other {
1657
- return;
1658
- }
1659
- *self = match (*self, other) {
1660
- (FlatType::I32, FlatType::F32) | (FlatType::F32, FlatType::I32) => FlatType::I32,
1661
- _ => FlatType::I64,
1662
- };
1663
- }
1664
- }
1665
-
1666
- #[derive(Default)]
1667
- struct TypeInformationCache {
1668
- records: PrimaryMap<TypeRecordIndex, TypeInformation>,
1669
- variants: PrimaryMap<TypeVariantIndex, TypeInformation>,
1670
- tuples: PrimaryMap<TypeTupleIndex, TypeInformation>,
1671
- enums: PrimaryMap<TypeEnumIndex, TypeInformation>,
1672
- flags: PrimaryMap<TypeFlagsIndex, TypeInformation>,
1673
- options: PrimaryMap<TypeOptionIndex, TypeInformation>,
1674
- results: PrimaryMap<TypeResultIndex, TypeInformation>,
1675
- lists: PrimaryMap<TypeListIndex, TypeInformation>,
1676
- }
1677
-
1678
- struct TypeInformation {
1679
- depth: u32,
1680
- flat: FlatTypesStorage,
1681
- has_borrow: bool,
1682
- }
1683
-
1684
- impl TypeInformation {
1685
- const fn new() -> TypeInformation {
1686
- TypeInformation {
1687
- depth: 0,
1688
- flat: FlatTypesStorage::new(),
1689
- has_borrow: false,
1690
- }
1691
- }
1692
-
1693
- const fn primitive(flat: FlatType) -> TypeInformation {
1694
- let mut info = TypeInformation::new();
1695
- info.depth = 1;
1696
- info.flat.memory32[0] = flat;
1697
- info.flat.memory64[0] = flat;
1698
- info.flat.len = 1;
1699
- info
1700
- }
1701
-
1702
- const fn string() -> TypeInformation {
1703
- let mut info = TypeInformation::new();
1704
- info.depth = 1;
1705
- info.flat.memory32[0] = FlatType::I32;
1706
- info.flat.memory32[1] = FlatType::I32;
1707
- info.flat.memory64[0] = FlatType::I64;
1708
- info.flat.memory64[1] = FlatType::I64;
1709
- info.flat.len = 2;
1710
- info
1711
- }
1712
-
1713
- /// Builds up all flat types internally using the specified representation
1714
- /// for all of the component fields of the record.
1715
- fn build_record<'a>(&mut self, types: impl Iterator<Item = &'a TypeInformation>) {
1716
- self.depth = 1;
1717
- for info in types {
1718
- self.depth = self.depth.max(1 + info.depth);
1719
- self.has_borrow = self.has_borrow || info.has_borrow;
1720
- match info.flat.as_flat_types() {
1721
- Some(types) => {
1722
- for (t32, t64) in types.memory32.iter().zip(types.memory64) {
1723
- if !self.flat.push(*t32, *t64) {
1724
- break;
1725
- }
1726
- }
1727
- }
1728
- None => {
1729
- self.flat.len = u8::try_from(MAX_FLAT_TYPES + 1).unwrap();
1730
- }
1731
- }
1732
- }
1733
- }
1734
-
1735
- /// Builds up the flat types used to represent a `variant` which notably
1736
- /// handles "join"ing types together so each case is representable as a
1737
- /// single flat list of types.
1738
- ///
1739
- /// The iterator item is:
1740
- ///
1741
- /// * `None` - no payload for this case
1742
- /// * `Some(None)` - this case has a payload but can't be represented with
1743
- /// flat types
1744
- /// * `Some(Some(types))` - this case has a payload and is represented with
1745
- /// the types specified in the flat representation.
1746
- fn build_variant<'a, I>(&mut self, cases: I)
1747
- where
1748
- I: IntoIterator<Item = Option<&'a TypeInformation>>,
1749
- {
1750
- let cases = cases.into_iter();
1751
- self.flat.push(FlatType::I32, FlatType::I32);
1752
- self.depth = 1;
1753
-
1754
- for info in cases {
1755
- let info = match info {
1756
- Some(info) => info,
1757
- // If this case doesn't have a payload then it doesn't change
1758
- // the depth/flat representation
1759
- None => continue,
1760
- };
1761
- self.depth = self.depth.max(1 + info.depth);
1762
- self.has_borrow = self.has_borrow || info.has_borrow;
1763
-
1764
- // If this variant is already unrepresentable in a flat
1765
- // representation then this can be skipped.
1766
- if usize::from(self.flat.len) > MAX_FLAT_TYPES {
1767
- continue;
1768
- }
1769
-
1770
- let types = match info.flat.as_flat_types() {
1771
- Some(types) => types,
1772
- // If this case isn't representable with a flat list of types
1773
- // then this variant also isn't representable.
1774
- None => {
1775
- self.flat.len = u8::try_from(MAX_FLAT_TYPES + 1).unwrap();
1776
- continue;
1777
- }
1778
- };
1779
- // If the case used all of the flat types then the discriminant
1780
- // added for this variant means that this variant is no longer
1781
- // representable.
1782
- if types.memory32.len() >= MAX_FLAT_TYPES {
1783
- self.flat.len = u8::try_from(MAX_FLAT_TYPES + 1).unwrap();
1784
- continue;
1785
- }
1786
- let dst = self
1787
- .flat
1788
- .memory32
1789
- .iter_mut()
1790
- .zip(&mut self.flat.memory64)
1791
- .skip(1);
1792
- for (i, ((t32, t64), (dst32, dst64))) in types
1793
- .memory32
1794
- .iter()
1795
- .zip(types.memory64)
1796
- .zip(dst)
1797
- .enumerate()
1798
- {
1799
- if i + 1 < usize::from(self.flat.len) {
1800
- // If this index hs already been set by some previous case
1801
- // then the types are joined together.
1802
- dst32.join(*t32);
1803
- dst64.join(*t64);
1804
- } else {
1805
- // Otherwise if this is the first time that the
1806
- // representation has gotten this large then the destination
1807
- // is simply whatever the type is. The length is also
1808
- // increased here to indicate this.
1809
- self.flat.len += 1;
1810
- *dst32 = *t32;
1811
- *dst64 = *t64;
1812
- }
1813
- }
1814
- }
1815
- }
1816
-
1817
- fn records(&mut self, types: &ComponentTypesBuilder, ty: &TypeRecord) {
1818
- self.build_record(ty.fields.iter().map(|f| types.type_information(&f.ty)));
1819
- }
1820
-
1821
- fn tuples(&mut self, types: &ComponentTypesBuilder, ty: &TypeTuple) {
1822
- self.build_record(ty.types.iter().map(|t| types.type_information(t)));
1823
- }
1824
-
1825
- fn enums(&mut self, _types: &ComponentTypesBuilder, _ty: &TypeEnum) {
1826
- self.depth = 1;
1827
- self.flat.push(FlatType::I32, FlatType::I32);
1828
- }
1829
-
1830
- fn flags(&mut self, _types: &ComponentTypesBuilder, ty: &TypeFlags) {
1831
- self.depth = 1;
1832
- match FlagsSize::from_count(ty.names.len()) {
1833
- FlagsSize::Size0 => {}
1834
- FlagsSize::Size1 | FlagsSize::Size2 => {
1835
- self.flat.push(FlatType::I32, FlatType::I32);
1836
- }
1837
- FlagsSize::Size4Plus(n) => {
1838
- for _ in 0..n {
1839
- self.flat.push(FlatType::I32, FlatType::I32);
1840
- }
1841
- }
1842
- }
1843
- }
1844
-
1845
- fn variants(&mut self, types: &ComponentTypesBuilder, ty: &TypeVariant) {
1846
- self.build_variant(
1847
- ty.cases
1848
- .iter()
1849
- .map(|c| c.ty.as_ref().map(|ty| types.type_information(ty))),
1850
- )
1851
- }
1852
-
1853
- fn results(&mut self, types: &ComponentTypesBuilder, ty: &TypeResult) {
1854
- self.build_variant([
1855
- ty.ok.as_ref().map(|ty| types.type_information(ty)),
1856
- ty.err.as_ref().map(|ty| types.type_information(ty)),
1857
- ])
1858
- }
1859
-
1860
- fn options(&mut self, types: &ComponentTypesBuilder, ty: &TypeOption) {
1861
- self.build_variant([None, Some(types.type_information(&ty.ty))]);
1862
- }
1863
-
1864
- fn lists(&mut self, types: &ComponentTypesBuilder, ty: &TypeList) {
1865
- *self = TypeInformation::string();
1866
- let info = types.type_information(&ty.element);
1867
- self.depth += info.depth;
1868
- self.has_borrow = info.has_borrow;
1869
- }
1870
- }