@salang/sa 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/bin/sa.js +13 -1
  2. package/package.json +8 -7
  3. package/sa_std/alloc/layout.sal +12 -0
  4. package/sa_std/alloc/prelude.sa +1 -0
  5. package/sa_std/alloc/prelude.sal +1 -0
  6. package/sa_std/alloc/string.sa +3 -0
  7. package/sa_std/alloc/vec.sa +684 -0
  8. package/sa_std/alloc/vec.sal +4 -0
  9. package/sa_std/any.sa +130 -0
  10. package/sa_std/any.sal +23 -0
  11. package/sa_std/array.sa +1876 -0
  12. package/sa_std/ascii.sa +2 -0
  13. package/sa_std/ascii.sal +1 -0
  14. package/sa_std/async.sla +116 -0
  15. package/sa_std/binary_heap.sa +3003 -0
  16. package/sa_std/binary_heap.sal +7 -0
  17. package/sa_std/borrow.sa +171 -0
  18. package/sa_std/borrow.sal +13 -0
  19. package/sa_std/btree_map.sa +2210 -0
  20. package/sa_std/btree_map.sal +11 -0
  21. package/sa_std/btree_set.sa +1072 -0
  22. package/sa_std/btree_set.sal +6 -0
  23. package/sa_std/char.sa +1309 -0
  24. package/sa_std/char.sal +50 -0
  25. package/sa_std/cmp.sa +554 -0
  26. package/sa_std/cmp.sal +14 -0
  27. package/sa_std/collections/binary_heap.sa +1 -0
  28. package/sa_std/collections/btree_map.sa +1 -0
  29. package/sa_std/collections/btree_set.sa +1 -0
  30. package/sa_std/collections/hashmap.sa +1 -0
  31. package/sa_std/collections/hashset.sa +1 -0
  32. package/sa_std/collections/linked_list.sa +1120 -0
  33. package/sa_std/collections/linked_list.sal +10 -0
  34. package/sa_std/collections/prelude.sa +7 -0
  35. package/sa_std/collections/prelude.sal +1 -0
  36. package/sa_std/collections/vec_deque.sa +1 -0
  37. package/sa_std/collections.sal +13 -0
  38. package/sa_std/convert.sa +1115 -0
  39. package/sa_std/convert.sal +24 -0
  40. package/sa_std/core/arc.sa +233 -0
  41. package/sa_std/core/arc.sal +4 -0
  42. package/sa_std/core/ascii.sa +784 -0
  43. package/sa_std/core/ascii.sal +34 -0
  44. package/sa_std/core/bit.sa +41 -0
  45. package/sa_std/core/box.sa +1 -0
  46. package/sa_std/core/box.sal +2 -0
  47. package/sa_std/core/cell.sa +108 -0
  48. package/sa_std/core/cell.sal +5 -0
  49. package/sa_std/core/cleanup.sa +26 -0
  50. package/sa_std/core/control.sa +20 -0
  51. package/sa_std/core/derive.sa +60 -0
  52. package/sa_std/core/derive.sal +1 -0
  53. package/sa_std/core/dispatch.sa +7 -0
  54. package/sa_std/core/dispatch.sal +5 -0
  55. package/sa_std/core/future.sa +777 -0
  56. package/sa_std/core/future.sal +73 -0
  57. package/sa_std/core/hash.sa +48 -0
  58. package/sa_std/core/iter.sa +2805 -0
  59. package/sa_std/core/iter.sal +4 -0
  60. package/sa_std/core/loop.sa +60 -0
  61. package/sa_std/core/mem.sa +220 -0
  62. package/sa_std/core/option.sa +825 -0
  63. package/sa_std/core/option.sal +11 -0
  64. package/sa_std/core/panic.sa +23 -0
  65. package/sa_std/core/panic.sal +12 -0
  66. package/sa_std/core/prelude.sa +18 -0
  67. package/sa_std/core/prelude.sal +18 -0
  68. package/sa_std/core/rc.sa +225 -0
  69. package/sa_std/core/rc.sal +4 -0
  70. package/sa_std/core/refcell.sa +283 -0
  71. package/sa_std/core/refcell.sal +13 -0
  72. package/sa_std/core/result.sa +708 -0
  73. package/sa_std/core/result.sal +6 -0
  74. package/sa_std/core/rust_patterns.sal +295 -0
  75. package/sa_std/core/sa_core.sa +84 -0
  76. package/sa_std/core/slice.sa +4021 -0
  77. package/sa_std/core/slice.sal +7 -0
  78. package/sa_std/core/task.sa +112 -0
  79. package/sa_std/core/task.sal +15 -0
  80. package/sa_std/core/trait_object.sa +26 -0
  81. package/sa_std/core/trait_object.sal +4 -0
  82. package/sa_std/core/waker.sa +289 -0
  83. package/sa_std/core/waker.sal +31 -0
  84. package/sa_std/core/weak.sa +2 -0
  85. package/sa_std/core/weak.sal +4 -0
  86. package/sa_std/cow.sa +3 -0
  87. package/sa_std/cow.sal +2 -0
  88. package/sa_std/cstring.sa +3 -0
  89. package/sa_std/cstring.sal +2 -0
  90. package/sa_std/default.sa +99 -0
  91. package/sa_std/duration.sa +3 -0
  92. package/sa_std/duration.sal +2 -0
  93. package/sa_std/encoding/json.sa +259 -0
  94. package/sa_std/encoding/json.sai +54 -0
  95. package/sa_std/encoding/json.sal +35 -0
  96. package/sa_std/encoding/prelude.sa +1 -0
  97. package/sa_std/encoding/prelude.sal +0 -0
  98. package/sa_std/env.sa +390 -0
  99. package/sa_std/env.sai +25 -0
  100. package/sa_std/error.sa +253 -0
  101. package/sa_std/error.sal +44 -0
  102. package/sa_std/ffi/cstring.sa +3 -0
  103. package/sa_std/ffi/cstring.sal +1 -0
  104. package/sa_std/ffi/prelude.sa +2 -0
  105. package/sa_std/ffi/prelude.sal +2 -0
  106. package/sa_std/ffi.sa +635 -0
  107. package/sa_std/ffi.sal +51 -0
  108. package/sa_std/fmt.sa +2 -0
  109. package/sa_std/fmt.sai +18 -0
  110. package/sa_std/fmt.sal +35 -0
  111. package/sa_std/fs.sa +1023 -0
  112. package/sa_std/fs.sai +127 -0
  113. package/sa_std/fs.sal +51 -0
  114. package/sa_std/future.sa +2 -0
  115. package/sa_std/future.sal +1 -0
  116. package/sa_std/hash.sa +1486 -0
  117. package/sa_std/hash.sal +13 -0
  118. package/sa_std/hashmap.sa +1962 -0
  119. package/sa_std/hashmap.sal +20 -0
  120. package/sa_std/hashset.sa +1004 -0
  121. package/sa_std/hashset.sal +18 -0
  122. package/sa_std/http2.sa +78 -0
  123. package/sa_std/http2.sai +26 -0
  124. package/sa_std/http2.sal +36 -0
  125. package/sa_std/instant.sa +3 -0
  126. package/sa_std/instant.sal +2 -0
  127. package/sa_std/io/buf_reader.sa +43 -0
  128. package/sa_std/io/buf_writer.sa +35 -0
  129. package/sa_std/io/bufio.sa +4 -0
  130. package/sa_std/io/bufio.sal +4 -0
  131. package/sa_std/io/prelude.sa +1 -0
  132. package/sa_std/io/prelude.sal +1 -0
  133. package/sa_std/io/print.sa +2 -0
  134. package/sa_std/io/print.sai +3 -0
  135. package/sa_std/io.sa +925 -0
  136. package/sa_std/io.sai +25 -0
  137. package/sa_std/io.sal +84 -0
  138. package/sa_std/iter.sa +2 -0
  139. package/sa_std/iter.sal +1 -0
  140. package/sa_std/join_handle.sa +3 -0
  141. package/sa_std/join_handle.sal +2 -0
  142. package/sa_std/libsa_async.sa +80 -0
  143. package/sa_std/m_async.sa +137 -0
  144. package/sa_std/m_async.sal +30 -0
  145. package/sa_std/m_async.sla +2 -0
  146. package/sa_std/manually_drop.sa +3 -0
  147. package/sa_std/manually_drop.sal +2 -0
  148. package/sa_std/marker/phantom_data.sa +3 -0
  149. package/sa_std/marker/phantom_data.sal +1 -0
  150. package/sa_std/marker/prelude.sa +4 -0
  151. package/sa_std/marker/prelude.sal +4 -0
  152. package/sa_std/marker.sa +220 -0
  153. package/sa_std/marker.sal +15 -0
  154. package/sa_std/math.sa +84 -0
  155. package/sa_std/math.sai +10 -0
  156. package/sa_std/mem/manually_drop.sa +3 -0
  157. package/sa_std/mem/manually_drop.sal +1 -0
  158. package/sa_std/mem/prelude.sa +2 -0
  159. package/sa_std/mem/prelude.sal +2 -0
  160. package/sa_std/mem.sa +564 -0
  161. package/sa_std/mem.sal +40 -0
  162. package/sa_std/modstate.sai +19 -0
  163. package/sa_std/net.sa +4227 -0
  164. package/sa_std/net.sai +239 -0
  165. package/sa_std/net.sal +159 -0
  166. package/sa_std/netx.sa +85 -0
  167. package/sa_std/netx.sai +11 -0
  168. package/sa_std/netx.sal +39 -0
  169. package/sa_std/nonzero.sa +3 -0
  170. package/sa_std/nonzero.sal +2 -0
  171. package/sa_std/num/nonzero.sa +3 -0
  172. package/sa_std/num/nonzero.sal +1 -0
  173. package/sa_std/num/prelude.sa +3 -0
  174. package/sa_std/num/prelude.sal +3 -0
  175. package/sa_std/num.sa +17302 -0
  176. package/sa_std/num.sai +11 -0
  177. package/sa_std/num.sal +341 -0
  178. package/sa_std/ops.sa +1884 -0
  179. package/sa_std/ops.sal +68 -0
  180. package/sa_std/option.sa +2 -0
  181. package/sa_std/option.sal +1 -0
  182. package/sa_std/os/fd.sa +96 -0
  183. package/sa_std/os/fd.sai +7 -0
  184. package/sa_std/os/fd.sal +11 -0
  185. package/sa_std/os/prelude.sa +2 -0
  186. package/sa_std/os/prelude.sal +1 -0
  187. package/sa_std/os/unix_ffi.sa +271 -0
  188. package/sa_std/panic.sa +1 -0
  189. package/sa_std/panic.sal +1 -0
  190. package/sa_std/path.sa +3170 -0
  191. package/sa_std/path.sal +12 -0
  192. package/sa_std/phantom_data.sa +3 -0
  193. package/sa_std/phantom_data.sal +2 -0
  194. package/sa_std/pin.sa +79 -0
  195. package/sa_std/pin.sal +5 -0
  196. package/sa_std/plugin_async.sa +90 -0
  197. package/sa_std/plugin_async.sal +29 -0
  198. package/sa_std/plugin_async.sla +4 -0
  199. package/sa_std/plugin_http_async.sa +46 -0
  200. package/sa_std/plugin_http_server.sa +61 -0
  201. package/sa_std/plugin_http_server.sla +2 -0
  202. package/sa_std/plugin_sqlite.sa +106 -0
  203. package/sa_std/plugin_sqlite.sla +2 -0
  204. package/sa_std/prelude.sa +60 -0
  205. package/sa_std/prelude.sal +55 -0
  206. package/sa_std/process.sa +916 -0
  207. package/sa_std/process.sai +57 -0
  208. package/sa_std/process.sal +27 -0
  209. package/sa_std/ptr.sa +503 -0
  210. package/sa_std/ptr.sal +2 -0
  211. package/sa_std/result.sa +2 -0
  212. package/sa_std/result.sal +1 -0
  213. package/sa_std/rust_core.sa +51 -0
  214. package/sa_std/rust_core.sal +26 -0
  215. package/sa_std/sa.mod +7 -0
  216. package/sa_std/sort.sa +156 -0
  217. package/sa_std/str.sla +13 -0
  218. package/sa_std/string.sa +12240 -0
  219. package/sa_std/string.sai +25 -0
  220. package/sa_std/string.sal +17 -0
  221. package/sa_std/string_format.sa +269 -0
  222. package/sa_std/sync/atomic.sa +1500 -0
  223. package/sa_std/sync/atomic.sal +45 -0
  224. package/sa_std/sync/barrier.sa +105 -0
  225. package/sa_std/sync/barrier.sal +7 -0
  226. package/sa_std/sync/condvar.sa +240 -0
  227. package/sa_std/sync/condvar.sal +4 -0
  228. package/sa_std/sync/mpsc.sa +758 -0
  229. package/sa_std/sync/mpsc.sal +42 -0
  230. package/sa_std/sync/mpsc_list.sa +255 -0
  231. package/sa_std/sync/mpsc_list.sal +3 -0
  232. package/sa_std/sync/mutex.sa +182 -0
  233. package/sa_std/sync/mutex.sal +7 -0
  234. package/sa_std/sync/once.sa +371 -0
  235. package/sa_std/sync/once.sal +31 -0
  236. package/sa_std/sync/poison.sa +36 -0
  237. package/sa_std/sync/poison.sal +11 -0
  238. package/sa_std/sync/prelude.sa +8 -0
  239. package/sa_std/sync/prelude.sal +7 -0
  240. package/sa_std/sync/rwlock.sa +369 -0
  241. package/sa_std/sync/rwlock.sal +13 -0
  242. package/sa_std/task.sa +2 -0
  243. package/sa_std/task.sal +1 -0
  244. package/sa_std/term.sa +2 -0
  245. package/sa_std/term.sai +10 -0
  246. package/sa_std/term.sal +33 -0
  247. package/sa_std/testing/assert.sai +4 -0
  248. package/sa_std/testing/mock_io.sa +174 -0
  249. package/sa_std/testing/mock_io.sal +5 -0
  250. package/sa_std/testing/prelude.sa +2 -0
  251. package/sa_std/testing/prelude.sal +1 -0
  252. package/sa_std/text/prelude.sa +1 -0
  253. package/sa_std/text/prelude.sal +1 -0
  254. package/sa_std/text/regex.sa +2 -0
  255. package/sa_std/text/regex.sai +9 -0
  256. package/sa_std/text/regex.sal +33 -0
  257. package/sa_std/thread/join_handle.sa +3 -0
  258. package/sa_std/thread/join_handle.sal +1 -0
  259. package/sa_std/thread/prelude.sa +4 -0
  260. package/sa_std/thread/prelude.sal +3 -0
  261. package/sa_std/thread.sa +160 -0
  262. package/sa_std/thread.sai +11 -0
  263. package/sa_std/thread.sal +4 -0
  264. package/sa_std/thread_local.sa +45 -0
  265. package/sa_std/thread_local.sai +9 -0
  266. package/sa_std/time/duration.sa +3 -0
  267. package/sa_std/time/duration.sal +1 -0
  268. package/sa_std/time/instant.sa +3 -0
  269. package/sa_std/time/instant.sal +1 -0
  270. package/sa_std/time/prelude.sa +4 -0
  271. package/sa_std/time/prelude.sal +4 -0
  272. package/sa_std/time.sa +850 -0
  273. package/sa_std/time.sai +37 -0
  274. package/sa_std/time.sal +35 -0
  275. package/sa_std/time.sla +67 -0
  276. package/sa_std/tls_client.sai +39 -0
  277. package/sa_std/vec.sa +5754 -0
  278. package/sa_std/vec.sal +1 -0
  279. package/sa_std/vec_deque.sa +4925 -0
  280. package/sa_std/vec_deque.sal +8 -0
  281. package/sa_std/vec_runtime_macros.sa +11 -0
  282. package/sa_std/ws_client.sai +57 -0
package/sa_std/math.sa ADDED
@@ -0,0 +1,84 @@
1
+ [MACRO] MATH_ABS_I64 %out_value, %value
2
+ is_negative = slt %value, 0
3
+ br is_negative -> L_MATH_ABS_NEG_%i, L_MATH_ABS_POS_%i
4
+ L_MATH_ABS_NEG_%i:
5
+ neg_value = sub 0, %value
6
+ %out_value = add neg_value, 0
7
+ !neg_value
8
+ !is_negative
9
+ jmp L_MATH_ABS_END_%i
10
+ L_MATH_ABS_POS_%i:
11
+ %out_value = add %value, 0
12
+ !is_negative
13
+ L_MATH_ABS_END_%i:
14
+ !%value
15
+ [END_MACRO]
16
+
17
+ [MACRO] MATH_MIN_U64 %out_value, %lhs, %rhs
18
+ take_lhs = ult %lhs, %rhs
19
+ br take_lhs -> L_MATH_MIN_LHS_%i, L_MATH_MIN_RHS_%i
20
+ L_MATH_MIN_LHS_%i:
21
+ %out_value = add %lhs, 0
22
+ !take_lhs
23
+ jmp L_MATH_MIN_END_%i
24
+ L_MATH_MIN_RHS_%i:
25
+ %out_value = add %rhs, 0
26
+ !take_lhs
27
+ L_MATH_MIN_END_%i:
28
+ !%lhs
29
+ !%rhs
30
+ [END_MACRO]
31
+
32
+ // Rust method-name alias over MATH_MIN_U64.
33
+ [MACRO] MATH_MIN %out_value, %lhs, %rhs
34
+ EXPAND MATH_MIN_U64 %out_value, %lhs, %rhs
35
+ [END_MACRO]
36
+
37
+ [MACRO] MATH_MAX_U64 %out_value, %lhs, %rhs
38
+ take_lhs = ugt %lhs, %rhs
39
+ br take_lhs -> L_MATH_MAX_LHS_%i, L_MATH_MAX_RHS_%i
40
+ L_MATH_MAX_LHS_%i:
41
+ %out_value = add %lhs, 0
42
+ !take_lhs
43
+ jmp L_MATH_MAX_END_%i
44
+ L_MATH_MAX_RHS_%i:
45
+ %out_value = add %rhs, 0
46
+ !take_lhs
47
+ L_MATH_MAX_END_%i:
48
+ !%lhs
49
+ !%rhs
50
+ [END_MACRO]
51
+
52
+ // Rust method-name alias over MATH_MAX_U64.
53
+ [MACRO] MATH_MAX %out_value, %lhs, %rhs
54
+ EXPAND MATH_MAX_U64 %out_value, %lhs, %rhs
55
+ [END_MACRO]
56
+
57
+ [MACRO] MATH_CLAMP_U64 %out_value, %value, %min_value, %max_value
58
+ below_min = ult %value, %min_value
59
+ br below_min -> L_MATH_CLAMP_MIN_%i, L_MATH_CLAMP_CHECK_MAX_%i
60
+ L_MATH_CLAMP_MIN_%i:
61
+ %out_value = add %min_value, 0
62
+ !below_min
63
+ jmp L_MATH_CLAMP_END_%i
64
+ L_MATH_CLAMP_CHECK_MAX_%i:
65
+ above_max = ugt %value, %max_value
66
+ br above_max -> L_MATH_CLAMP_MAX_%i, L_MATH_CLAMP_VALUE_%i
67
+ L_MATH_CLAMP_MAX_%i:
68
+ %out_value = add %max_value, 0
69
+ !above_max
70
+ jmp L_MATH_CLAMP_END_%i
71
+ L_MATH_CLAMP_VALUE_%i:
72
+ %out_value = add %value, 0
73
+ !above_max
74
+ L_MATH_CLAMP_END_%i:
75
+ !below_min
76
+ !%value
77
+ !%min_value
78
+ !%max_value
79
+ [END_MACRO]
80
+
81
+ // Rust method-name alias over MATH_CLAMP_U64.
82
+ [MACRO] MATH_CLAMP %out_value, %value, %min_value, %max_value
83
+ EXPAND MATH_CLAMP_U64 %out_value, %value, %min_value, %max_value
84
+ [END_MACRO]
@@ -0,0 +1,10 @@
1
+ // SA-facing contracts for float math (v0.24a supplement for the Haxe
2
+ // SA target's Math.* surface; ts-plugin precedent for naming).
3
+ // Pure functions over f64; no handles, no failure modes.
4
+ @extern sa_math_floor(x: f64) -> f64
5
+ @extern sa_math_ceil(x: f64) -> f64
6
+ @extern sa_math_sqrt(x: f64) -> f64
7
+ @extern sa_math_sin(x: f64) -> f64
8
+ @extern sa_math_cos(x: f64) -> f64
9
+ @extern sa_math_pow(base: f64, exp: f64) -> f64
10
+ @extern sa_math_random() -> f64
@@ -0,0 +1,3 @@
1
+ // ManuallyDrop namespace facade.
2
+ @import "../mem.sal"
3
+ @import "../mem.sa"
@@ -0,0 +1 @@
1
+ @import "../mem.sal"
@@ -0,0 +1,2 @@
1
+ // Stable memory namespace aggregation.
2
+ @import "../mem.sa"
@@ -0,0 +1,2 @@
1
+ // ABI/layout companion for memory namespace aggregation.
2
+ @import "../mem.sal"
package/sa_std/mem.sa ADDED
@@ -0,0 +1,564 @@
1
+ @import "mem.sal"
2
+ @import "core/slice.sal"
3
+ @import "hash.sa"
4
+ @import "cmp.sal"
5
+
6
+ [MACRO] MEM_SIZE_OF_BOOL %out_size
7
+ %out_size = add 0, MEM_SIZE_BOOL
8
+ [END_MACRO]
9
+
10
+ [MACRO] MEM_SIZE_OF_U8 %out_size
11
+ %out_size = add 0, MEM_SIZE_U8
12
+ [END_MACRO]
13
+
14
+ [MACRO] MEM_SIZE_OF_U16 %out_size
15
+ %out_size = add 0, MEM_SIZE_U16
16
+ [END_MACRO]
17
+
18
+ [MACRO] MEM_SIZE_OF_U32 %out_size
19
+ %out_size = add 0, MEM_SIZE_U32
20
+ [END_MACRO]
21
+
22
+ [MACRO] MEM_SIZE_OF_U64 %out_size
23
+ %out_size = add 0, MEM_SIZE_U64
24
+ [END_MACRO]
25
+
26
+ // Rust method-name alias over MEM_SIZE_OF_U64.
27
+ [MACRO] MEM_SIZE_OF %out_size
28
+ EXPAND MEM_SIZE_OF_U64 %out_size
29
+ [END_MACRO]
30
+
31
+ [MACRO] MEM_SIZE_OF_USIZE %out_size
32
+ %out_size = add 0, MEM_SIZE_USIZE
33
+ [END_MACRO]
34
+
35
+ [MACRO] MEM_SIZE_OF_VAL_U64 %out_size, %value_ptr
36
+ %out_size = add 0, MEM_SIZE_U64
37
+ [END_MACRO]
38
+
39
+ // Rust method-name alias over MEM_SIZE_OF_VAL_U64.
40
+ [MACRO] MEM_SIZE_OF_VAL %out_size, %value_ptr
41
+ EXPAND MEM_SIZE_OF_VAL_U64 %out_size, %value_ptr
42
+ [END_MACRO]
43
+
44
+ [MACRO] MEM_SIZE_OF_VAL_RAW_U64 %out_size, %value_ptr
45
+ %out_size = add 0, MEM_SIZE_U64
46
+ [END_MACRO]
47
+
48
+ // Rust method-name alias over MEM_SIZE_OF_VAL_RAW_U64.
49
+ [MACRO] MEM_SIZE_OF_VAL_RAW %out_size, %value_ptr
50
+ EXPAND MEM_SIZE_OF_VAL_RAW_U64 %out_size, %value_ptr
51
+ [END_MACRO]
52
+
53
+ [MACRO] MEM_SIZE_OF_I8 %out_size
54
+ %out_size = add 0, MEM_SIZE_I8
55
+ [END_MACRO]
56
+
57
+ [MACRO] MEM_SIZE_OF_I16 %out_size
58
+ %out_size = add 0, MEM_SIZE_I16
59
+ [END_MACRO]
60
+
61
+ [MACRO] MEM_SIZE_OF_I32 %out_size
62
+ %out_size = add 0, MEM_SIZE_I32
63
+ [END_MACRO]
64
+
65
+ [MACRO] MEM_SIZE_OF_I64 %out_size
66
+ %out_size = add 0, MEM_SIZE_I64
67
+ [END_MACRO]
68
+
69
+ [MACRO] MEM_SIZE_OF_ISIZE %out_size
70
+ %out_size = add 0, MEM_SIZE_ISIZE
71
+ [END_MACRO]
72
+
73
+ [MACRO] MEM_ALIGN_OF_BOOL %out_align
74
+ %out_align = add 0, MEM_ALIGN_BOOL
75
+ [END_MACRO]
76
+
77
+ [MACRO] MEM_ALIGN_OF_U8 %out_align
78
+ %out_align = add 0, MEM_ALIGN_U8
79
+ [END_MACRO]
80
+
81
+ [MACRO] MEM_ALIGN_OF_U16 %out_align
82
+ %out_align = add 0, MEM_ALIGN_U16
83
+ [END_MACRO]
84
+
85
+ [MACRO] MEM_ALIGN_OF_U32 %out_align
86
+ %out_align = add 0, MEM_ALIGN_U32
87
+ [END_MACRO]
88
+
89
+ [MACRO] MEM_ALIGN_OF_U64 %out_align
90
+ %out_align = add 0, MEM_ALIGN_U64
91
+ [END_MACRO]
92
+
93
+ // Rust method-name alias over MEM_ALIGN_OF_U64.
94
+ [MACRO] MEM_ALIGN_OF %out_align
95
+ EXPAND MEM_ALIGN_OF_U64 %out_align
96
+ [END_MACRO]
97
+
98
+ [MACRO] MEM_ALIGN_OF_USIZE %out_align
99
+ %out_align = add 0, MEM_ALIGN_USIZE
100
+ [END_MACRO]
101
+
102
+ [MACRO] MEM_ALIGN_OF_VAL_U64 %out_align, %value_ptr
103
+ %out_align = add 0, MEM_ALIGN_U64
104
+ [END_MACRO]
105
+
106
+ // Rust method-name alias over MEM_ALIGN_OF_VAL_U64.
107
+ [MACRO] MEM_ALIGN_OF_VAL %out_align, %value_ptr
108
+ EXPAND MEM_ALIGN_OF_VAL_U64 %out_align, %value_ptr
109
+ [END_MACRO]
110
+
111
+ [MACRO] MEM_ALIGN_OF_VAL_RAW_U64 %out_align, %value_ptr
112
+ %out_align = add 0, MEM_ALIGN_U64
113
+ [END_MACRO]
114
+
115
+ // Rust method-name alias over MEM_ALIGN_OF_VAL_RAW_U64.
116
+ [MACRO] MEM_ALIGN_OF_VAL_RAW %out_align, %value_ptr
117
+ EXPAND MEM_ALIGN_OF_VAL_RAW_U64 %out_align, %value_ptr
118
+ [END_MACRO]
119
+
120
+ [MACRO] MEM_ALIGN_OF_I8 %out_align
121
+ %out_align = add 0, MEM_ALIGN_I8
122
+ [END_MACRO]
123
+
124
+ [MACRO] MEM_ALIGN_OF_I16 %out_align
125
+ %out_align = add 0, MEM_ALIGN_I16
126
+ [END_MACRO]
127
+
128
+ [MACRO] MEM_ALIGN_OF_I32 %out_align
129
+ %out_align = add 0, MEM_ALIGN_I32
130
+ [END_MACRO]
131
+
132
+ [MACRO] MEM_ALIGN_OF_I64 %out_align
133
+ %out_align = add 0, MEM_ALIGN_I64
134
+ [END_MACRO]
135
+
136
+ [MACRO] MEM_ALIGN_OF_ISIZE %out_align
137
+ %out_align = add 0, MEM_ALIGN_ISIZE
138
+ [END_MACRO]
139
+
140
+ [MACRO] MEM_SWAP_U64 %lhs_ptr, %rhs_ptr
141
+ __mem_swap_lhs_%lhs_ptr = load %lhs_ptr+0 as u64
142
+ __mem_swap_rhs_%lhs_ptr = load %rhs_ptr+0 as u64
143
+ store %lhs_ptr+0, __mem_swap_rhs_%lhs_ptr as u64
144
+ store %rhs_ptr+0, __mem_swap_lhs_%lhs_ptr as u64
145
+ !__mem_swap_rhs_%lhs_ptr
146
+ !__mem_swap_lhs_%lhs_ptr
147
+ [END_MACRO]
148
+
149
+ // Rust method-name alias over MEM_SWAP_U64.
150
+ [MACRO] MEM_SWAP %lhs_ptr, %rhs_ptr
151
+ EXPAND MEM_SWAP_U64 %lhs_ptr, %rhs_ptr
152
+ [END_MACRO]
153
+
154
+ [MACRO] MEM_REPLACE_U64 %out_old, %slot_ptr, %new_value
155
+ %out_old = load %slot_ptr+0 as u64
156
+ store %slot_ptr+0, %new_value as u64
157
+ [END_MACRO]
158
+
159
+ // Rust method-name alias over MEM_REPLACE_U64.
160
+ [MACRO] MEM_REPLACE %out_old, %slot_ptr, %new_value
161
+ EXPAND MEM_REPLACE_U64 %out_old, %slot_ptr, %new_value
162
+ [END_MACRO]
163
+
164
+ [MACRO] MEM_TAKE_U64 %out_old, %slot_ptr
165
+ %out_old = load %slot_ptr+0 as u64
166
+ store %slot_ptr+0, 0 as u64
167
+ [END_MACRO]
168
+
169
+ // Rust method-name alias over MEM_TAKE_U64.
170
+ [MACRO] MEM_TAKE %out_old, %slot_ptr
171
+ EXPAND MEM_TAKE_U64 %out_old, %slot_ptr
172
+ [END_MACRO]
173
+
174
+ [MACRO] MEM_FORGET_U64 %value
175
+ __mem_forget_sink_%value = add %value, 0
176
+ !__mem_forget_sink_%value
177
+ [END_MACRO]
178
+
179
+ // Rust method-name alias over MEM_FORGET_U64.
180
+ [MACRO] MEM_FORGET %value
181
+ EXPAND MEM_FORGET_U64 %value
182
+ [END_MACRO]
183
+
184
+ [MACRO] MEM_DROP_U64 %value
185
+ __mem_drop_sink_%value = add %value, 0
186
+ !__mem_drop_sink_%value
187
+ [END_MACRO]
188
+
189
+ // Rust method-name alias over MEM_DROP_U64.
190
+ [MACRO] MEM_DROP %value
191
+ EXPAND MEM_DROP_U64 %value
192
+ [END_MACRO]
193
+
194
+ [MACRO] MEM_COPY_U64 %out_value, %value_ptr
195
+ %out_value = load %value_ptr+0 as u64
196
+ [END_MACRO]
197
+
198
+ // Rust method-name alias over MEM_COPY_U64.
199
+ [MACRO] MEM_COPY %out_value, %value_ptr
200
+ EXPAND MEM_COPY_U64 %out_value, %value_ptr
201
+ [END_MACRO]
202
+
203
+ [MACRO] MEM_NEEDS_DROP_PRIMITIVE %out_bool
204
+ %out_bool = add 0, 0
205
+ [END_MACRO]
206
+
207
+ [MACRO] MAYBE_UNINIT_U64_UNINIT %slot_ptr
208
+ store %slot_ptr+MaybeUninitU64_value, 0 as u64
209
+ [END_MACRO]
210
+
211
+ [MACRO] MAYBE_UNINIT_U64_NEW %slot_ptr, %value
212
+ store %slot_ptr+MaybeUninitU64_value, %value as u64
213
+ [END_MACRO]
214
+
215
+ [MACRO] MAYBE_UNINIT_U64_WRITE %slot_ptr, %value
216
+ store %slot_ptr+MaybeUninitU64_value, %value as u64
217
+ [END_MACRO]
218
+
219
+ [MACRO] MAYBE_UNINIT_U64_AS_PTR %out_ptr, %slot_ptr
220
+ %out_ptr = ptr_add %slot_ptr, MaybeUninitU64_value
221
+ [END_MACRO]
222
+
223
+ [MACRO] MAYBE_UNINIT_U64_AS_MUT_PTR %out_ptr, %slot_ptr
224
+ %out_ptr = ptr_add %slot_ptr, MaybeUninitU64_value
225
+ [END_MACRO]
226
+
227
+ [MACRO] MAYBE_UNINIT_U64_ASSUME_INIT_REF %out_ptr, %slot_ptr
228
+ EXPAND MAYBE_UNINIT_U64_AS_PTR %out_ptr, %slot_ptr
229
+ [END_MACRO]
230
+
231
+ [MACRO] MAYBE_UNINIT_U64_ASSUME_INIT_MUT %out_ptr, %slot_ptr
232
+ EXPAND MAYBE_UNINIT_U64_AS_MUT_PTR %out_ptr, %slot_ptr
233
+ [END_MACRO]
234
+
235
+ [MACRO] MAYBE_UNINIT_U64_ASSUME_INIT %out_value, %slot_ptr
236
+ %out_value = load %slot_ptr+MaybeUninitU64_value as u64
237
+ [END_MACRO]
238
+
239
+ [MACRO] MAYBE_UNINIT_U64_ASSUME_INIT_READ %out_value, %slot_ptr
240
+ %out_value = load %slot_ptr+MaybeUninitU64_value as u64
241
+ [END_MACRO]
242
+
243
+ [MACRO] MAYBE_UNINIT_U64_ASSUME_INIT_DROP %slot_ptr
244
+ store %slot_ptr+MaybeUninitU64_value, 0 as u64
245
+ [END_MACRO]
246
+
247
+ [MACRO] MAYBE_UNINIT_U64_AS_BYTES %out_slice, %slot_ptr
248
+ __maybe_bytes_ptr_%out_slice = ptr_add %slot_ptr, MaybeUninitU64_value
249
+ store %out_slice+Slice_ptr, __maybe_bytes_ptr_%out_slice as ptr
250
+ store %out_slice+Slice_len, MEM_SIZE_U64 as u64
251
+ !__maybe_bytes_ptr_%out_slice
252
+ [END_MACRO]
253
+
254
+ [MACRO] MAYBE_UNINIT_U64_AS_BYTES_MUT %out_slice, %slot_ptr
255
+ EXPAND MAYBE_UNINIT_U64_AS_BYTES %out_slice, %slot_ptr
256
+ [END_MACRO]
257
+
258
+ [MACRO] MAYBE_UNINIT_U64_ZEROED %slot_ptr
259
+ store %slot_ptr+MaybeUninitU64_value, 0 as u64
260
+ [END_MACRO]
261
+
262
+ [MACRO] MANUALLY_DROP_U64_NEW %slot_ptr, %value
263
+ store %slot_ptr+ManuallyDropU64_value, %value as u64
264
+ [END_MACRO]
265
+
266
+ // Rust method-name alias over MANUALLY_DROP_U64_NEW.
267
+ [MACRO] MANUALLY_DROP_NEW %slot_ptr, %value
268
+ EXPAND MANUALLY_DROP_U64_NEW %slot_ptr, %value
269
+ [END_MACRO]
270
+
271
+ [MACRO] MANUALLY_DROP_U64_DEFAULT %slot_ptr
272
+ store %slot_ptr+ManuallyDropU64_value, 0 as u64
273
+ [END_MACRO]
274
+
275
+ // Rust method-name alias over MANUALLY_DROP_U64_DEFAULT.
276
+ [MACRO] MANUALLY_DROP_DEFAULT %slot_ptr
277
+ EXPAND MANUALLY_DROP_U64_DEFAULT %slot_ptr
278
+ [END_MACRO]
279
+
280
+ [MACRO] MANUALLY_DROP_U64_COPY %dst_slot, %src_slot
281
+ __manually_drop_u64_copy_value_%dst_slot = load %src_slot+ManuallyDropU64_value as u64
282
+ store %dst_slot+ManuallyDropU64_value, __manually_drop_u64_copy_value_%dst_slot as u64
283
+ !__manually_drop_u64_copy_value_%dst_slot
284
+ [END_MACRO]
285
+
286
+ // Rust method-name alias over MANUALLY_DROP_U64_COPY.
287
+ [MACRO] MANUALLY_DROP_COPY %dst_slot, %src_slot
288
+ EXPAND MANUALLY_DROP_U64_COPY %dst_slot, %src_slot
289
+ [END_MACRO]
290
+
291
+ [MACRO] MANUALLY_DROP_U64_CLONE %dst_slot, %src_slot
292
+ EXPAND MANUALLY_DROP_U64_COPY %dst_slot, %src_slot
293
+ [END_MACRO]
294
+
295
+ // Rust method-name alias over MANUALLY_DROP_U64_CLONE.
296
+ [MACRO] MANUALLY_DROP_CLONE %dst_slot, %src_slot
297
+ EXPAND MANUALLY_DROP_U64_CLONE %dst_slot, %src_slot
298
+ [END_MACRO]
299
+
300
+ [MACRO] MANUALLY_DROP_U64_CLONE_FROM %dst_slot, %src_slot
301
+ EXPAND MANUALLY_DROP_U64_COPY %dst_slot, %src_slot
302
+ [END_MACRO]
303
+
304
+ // Rust method-name alias over MANUALLY_DROP_U64_CLONE_FROM.
305
+ [MACRO] MANUALLY_DROP_CLONE_FROM %dst_slot, %src_slot
306
+ EXPAND MANUALLY_DROP_U64_CLONE_FROM %dst_slot, %src_slot
307
+ [END_MACRO]
308
+
309
+ [MACRO] MANUALLY_DROP_U64_INTO_INNER %out_value, %slot_ptr
310
+ %out_value = load %slot_ptr+ManuallyDropU64_value as u64
311
+ [END_MACRO]
312
+
313
+ // Rust method-name alias over MANUALLY_DROP_U64_INTO_INNER.
314
+ [MACRO] MANUALLY_DROP_INTO_INNER %out_value, %slot_ptr
315
+ EXPAND MANUALLY_DROP_U64_INTO_INNER %out_value, %slot_ptr
316
+ [END_MACRO]
317
+
318
+ [MACRO] MANUALLY_DROP_U64_TAKE %out_value, %slot_ptr
319
+ %out_value = load %slot_ptr+ManuallyDropU64_value as u64
320
+ store %slot_ptr+ManuallyDropU64_value, 0 as u64
321
+ [END_MACRO]
322
+
323
+ // Rust method-name alias over MANUALLY_DROP_U64_TAKE.
324
+ [MACRO] MANUALLY_DROP_TAKE %out_value, %slot_ptr
325
+ EXPAND MANUALLY_DROP_U64_TAKE %out_value, %slot_ptr
326
+ [END_MACRO]
327
+
328
+ [MACRO] MANUALLY_DROP_U64_DROP %slot_ptr
329
+ store %slot_ptr+ManuallyDropU64_value, 0 as u64
330
+ [END_MACRO]
331
+
332
+ // Rust method-name alias over MANUALLY_DROP_U64_DROP.
333
+ [MACRO] MANUALLY_DROP_DROP %slot_ptr
334
+ EXPAND MANUALLY_DROP_U64_DROP %slot_ptr
335
+ [END_MACRO]
336
+
337
+ [MACRO] MANUALLY_DROP_U64_AS_PTR %out_ptr, %slot_ptr
338
+ %out_ptr = ptr_add %slot_ptr, ManuallyDropU64_value
339
+ [END_MACRO]
340
+
341
+ // Rust method-name alias over MANUALLY_DROP_U64_AS_PTR.
342
+ [MACRO] MANUALLY_DROP_AS_PTR %out_ptr, %slot_ptr
343
+ EXPAND MANUALLY_DROP_U64_AS_PTR %out_ptr, %slot_ptr
344
+ [END_MACRO]
345
+
346
+ [MACRO] MANUALLY_DROP_U64_AS_MUT_PTR %out_ptr, %slot_ptr
347
+ %out_ptr = ptr_add %slot_ptr, ManuallyDropU64_value
348
+ [END_MACRO]
349
+
350
+ // Rust method-name alias over MANUALLY_DROP_U64_AS_MUT_PTR.
351
+ [MACRO] MANUALLY_DROP_AS_MUT_PTR %out_ptr, %slot_ptr
352
+ EXPAND MANUALLY_DROP_U64_AS_MUT_PTR %out_ptr, %slot_ptr
353
+ [END_MACRO]
354
+
355
+ [MACRO] MANUALLY_DROP_U64_DEREF %out_ptr, %slot_ptr
356
+ EXPAND MANUALLY_DROP_U64_AS_PTR %out_ptr, %slot_ptr
357
+ [END_MACRO]
358
+
359
+ // Rust method-name alias over MANUALLY_DROP_U64_DEREF.
360
+ [MACRO] MANUALLY_DROP_DEREF %out_ptr, %slot_ptr
361
+ EXPAND MANUALLY_DROP_U64_DEREF %out_ptr, %slot_ptr
362
+ [END_MACRO]
363
+
364
+ [MACRO] MANUALLY_DROP_U64_DEREF_MUT %out_ptr, %slot_ptr
365
+ EXPAND MANUALLY_DROP_U64_AS_MUT_PTR %out_ptr, %slot_ptr
366
+ [END_MACRO]
367
+
368
+ // Rust method-name alias over MANUALLY_DROP_U64_DEREF_MUT.
369
+ [MACRO] MANUALLY_DROP_DEREF_MUT %out_ptr, %slot_ptr
370
+ EXPAND MANUALLY_DROP_U64_DEREF_MUT %out_ptr, %slot_ptr
371
+ [END_MACRO]
372
+
373
+ [MACRO] DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64 %hasher, %slot_ptr
374
+ __manually_drop_u64_hash_value_%hasher = load %slot_ptr+ManuallyDropU64_value as u64
375
+ EXPAND DEFAULT_HASHER_WRITE_U64 %hasher, __manually_drop_u64_hash_value_%hasher
376
+ !__manually_drop_u64_hash_value_%hasher
377
+ [END_MACRO]
378
+
379
+ // Rust method-name alias over DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64.
380
+ [MACRO] DEFAULT_HASHER_WRITE_MANUALLY_DROP %hasher, %slot_ptr
381
+ EXPAND DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64 %hasher, %slot_ptr
382
+ [END_MACRO]
383
+
384
+ [MACRO] MANUALLY_DROP_U64_HASH %out_hash, %slot_ptr
385
+ __manually_drop_u64_hash_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
386
+ EXPAND DEFAULT_HASHER_NEW __manually_drop_u64_hash_hasher_%out_hash
387
+ EXPAND DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64 __manually_drop_u64_hash_hasher_%out_hash, %slot_ptr
388
+ EXPAND DEFAULT_HASHER_FINISH %out_hash, __manually_drop_u64_hash_hasher_%out_hash
389
+ [END_MACRO]
390
+
391
+ // Rust method-name alias over MANUALLY_DROP_U64_HASH.
392
+ [MACRO] MANUALLY_DROP_HASH %out_hash, %slot_ptr
393
+ EXPAND MANUALLY_DROP_U64_HASH %out_hash, %slot_ptr
394
+ [END_MACRO]
395
+
396
+ [MACRO] BUILD_HASHER_DEFAULT_HASH_ONE_MANUALLY_DROP_U64 %out_hash, %builder, %slot_ptr
397
+ __build_hash_one_manually_drop_u64_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
398
+ EXPAND BUILD_HASHER_DEFAULT_BUILD __build_hash_one_manually_drop_u64_hasher_%out_hash, %builder
399
+ EXPAND DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64 __build_hash_one_manually_drop_u64_hasher_%out_hash, %slot_ptr
400
+ EXPAND DEFAULT_HASHER_FINISH %out_hash, __build_hash_one_manually_drop_u64_hasher_%out_hash
401
+ [END_MACRO]
402
+
403
+ // Rust method-name alias over BUILD_HASHER_DEFAULT_HASH_ONE_MANUALLY_DROP_U64.
404
+ [MACRO] BUILD_HASHER_DEFAULT_HASH_ONE_MANUALLY_DROP %out_hash, %builder, %slot_ptr
405
+ EXPAND BUILD_HASHER_DEFAULT_HASH_ONE_MANUALLY_DROP_U64 %out_hash, %builder, %slot_ptr
406
+ [END_MACRO]
407
+
408
+ [MACRO] RANDOM_STATE_HASH_ONE_MANUALLY_DROP_U64 %out_hash, %state, %slot_ptr
409
+ __random_state_hash_one_manually_drop_u64_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
410
+ EXPAND RANDOM_STATE_BUILD __random_state_hash_one_manually_drop_u64_hasher_%out_hash, %state
411
+ EXPAND DEFAULT_HASHER_WRITE_MANUALLY_DROP_U64 __random_state_hash_one_manually_drop_u64_hasher_%out_hash, %slot_ptr
412
+ EXPAND DEFAULT_HASHER_FINISH %out_hash, __random_state_hash_one_manually_drop_u64_hasher_%out_hash
413
+ [END_MACRO]
414
+
415
+ // Rust method-name alias over RANDOM_STATE_HASH_ONE_MANUALLY_DROP_U64.
416
+ [MACRO] RANDOM_STATE_HASH_ONE_MANUALLY_DROP %out_hash, %state, %slot_ptr
417
+ EXPAND RANDOM_STATE_HASH_ONE_MANUALLY_DROP_U64 %out_hash, %state, %slot_ptr
418
+ [END_MACRO]
419
+
420
+ [MACRO] MANUALLY_DROP_U64_EQ %out_bool, %left_slot, %right_slot
421
+ __manually_drop_u64_eq_left_%out_bool = load %left_slot+ManuallyDropU64_value as u64
422
+ __manually_drop_u64_eq_right_%out_bool = load %right_slot+ManuallyDropU64_value as u64
423
+ %out_bool = eq __manually_drop_u64_eq_left_%out_bool, __manually_drop_u64_eq_right_%out_bool
424
+ !__manually_drop_u64_eq_right_%out_bool
425
+ !__manually_drop_u64_eq_left_%out_bool
426
+ [END_MACRO]
427
+
428
+ // Rust method-name alias over MANUALLY_DROP_U64_EQ.
429
+ [MACRO] MANUALLY_DROP_EQ %out_bool, %left_slot, %right_slot
430
+ EXPAND MANUALLY_DROP_U64_EQ %out_bool, %left_slot, %right_slot
431
+ [END_MACRO]
432
+
433
+ [MACRO] MANUALLY_DROP_U64_NE %out_bool, %left_slot, %right_slot
434
+ EXPAND MANUALLY_DROP_U64_EQ __manually_drop_u64_ne_eq_%out_bool, %left_slot, %right_slot
435
+ %out_bool = eq __manually_drop_u64_ne_eq_%out_bool, 0
436
+ !__manually_drop_u64_ne_eq_%out_bool
437
+ [END_MACRO]
438
+
439
+ // Rust method-name alias over MANUALLY_DROP_U64_NE.
440
+ [MACRO] MANUALLY_DROP_NE %out_bool, %left_slot, %right_slot
441
+ EXPAND MANUALLY_DROP_U64_NE %out_bool, %left_slot, %right_slot
442
+ [END_MACRO]
443
+
444
+ [MACRO] MANUALLY_DROP_U64_CMP %out_ordering, %left_slot, %right_slot
445
+ __manually_drop_u64_cmp_left_%out_ordering = load %left_slot+ManuallyDropU64_value as u64
446
+ __manually_drop_u64_cmp_right_%out_ordering = load %right_slot+ManuallyDropU64_value as u64
447
+ __manually_drop_u64_cmp_lt_%out_ordering = ult __manually_drop_u64_cmp_left_%out_ordering, __manually_drop_u64_cmp_right_%out_ordering
448
+ br __manually_drop_u64_cmp_lt_%out_ordering -> L_MANUALLY_DROP_U64_CMP_LESS_%out_ordering, L_MANUALLY_DROP_U64_CMP_CHECK_GT_%out_ordering
449
+ L_MANUALLY_DROP_U64_CMP_LESS_%out_ordering:
450
+ %out_ordering = add 0, CMP_ORDERING_LESS
451
+ jmp L_MANUALLY_DROP_U64_CMP_DONE_%out_ordering
452
+ L_MANUALLY_DROP_U64_CMP_CHECK_GT_%out_ordering:
453
+ __manually_drop_u64_cmp_gt_%out_ordering = ugt __manually_drop_u64_cmp_left_%out_ordering, __manually_drop_u64_cmp_right_%out_ordering
454
+ br __manually_drop_u64_cmp_gt_%out_ordering -> L_MANUALLY_DROP_U64_CMP_GREATER_%out_ordering, L_MANUALLY_DROP_U64_CMP_EQUAL_%out_ordering
455
+ L_MANUALLY_DROP_U64_CMP_GREATER_%out_ordering:
456
+ %out_ordering = add 0, CMP_ORDERING_GREATER
457
+ !__manually_drop_u64_cmp_gt_%out_ordering
458
+ jmp L_MANUALLY_DROP_U64_CMP_DONE_%out_ordering
459
+ L_MANUALLY_DROP_U64_CMP_EQUAL_%out_ordering:
460
+ %out_ordering = add 0, CMP_ORDERING_EQUAL
461
+ !__manually_drop_u64_cmp_gt_%out_ordering
462
+ L_MANUALLY_DROP_U64_CMP_DONE_%out_ordering:
463
+ !__manually_drop_u64_cmp_lt_%out_ordering
464
+ !__manually_drop_u64_cmp_right_%out_ordering
465
+ !__manually_drop_u64_cmp_left_%out_ordering
466
+ [END_MACRO]
467
+
468
+ // Rust method-name alias over MANUALLY_DROP_U64_CMP.
469
+ [MACRO] MANUALLY_DROP_CMP %out_ordering, %left_slot, %right_slot
470
+ EXPAND MANUALLY_DROP_U64_CMP %out_ordering, %left_slot, %right_slot
471
+ [END_MACRO]
472
+
473
+ [MACRO] MANUALLY_DROP_U64_PARTIAL_CMP %out_ordering, %left_slot, %right_slot
474
+ EXPAND MANUALLY_DROP_U64_CMP %out_ordering, %left_slot, %right_slot
475
+ [END_MACRO]
476
+
477
+ // Rust method-name alias over MANUALLY_DROP_U64_PARTIAL_CMP.
478
+ [MACRO] MANUALLY_DROP_PARTIAL_CMP %out_ordering, %left_slot, %right_slot
479
+ EXPAND MANUALLY_DROP_U64_PARTIAL_CMP %out_ordering, %left_slot, %right_slot
480
+ [END_MACRO]
481
+
482
+ [MACRO] MANUALLY_DROP_U64_LT %out_bool, %left_slot, %right_slot
483
+ __manually_drop_u64_lt_left_%out_bool = load %left_slot+ManuallyDropU64_value as u64
484
+ __manually_drop_u64_lt_right_%out_bool = load %right_slot+ManuallyDropU64_value as u64
485
+ %out_bool = ult __manually_drop_u64_lt_left_%out_bool, __manually_drop_u64_lt_right_%out_bool
486
+ !__manually_drop_u64_lt_right_%out_bool
487
+ !__manually_drop_u64_lt_left_%out_bool
488
+ [END_MACRO]
489
+
490
+ // Rust method-name alias over MANUALLY_DROP_U64_LT.
491
+ [MACRO] MANUALLY_DROP_LT %out_bool, %left_slot, %right_slot
492
+ EXPAND MANUALLY_DROP_U64_LT %out_bool, %left_slot, %right_slot
493
+ [END_MACRO]
494
+
495
+ [MACRO] MANUALLY_DROP_U64_LE %out_bool, %left_slot, %right_slot
496
+ __manually_drop_u64_le_left_%out_bool = load %left_slot+ManuallyDropU64_value as u64
497
+ __manually_drop_u64_le_right_%out_bool = load %right_slot+ManuallyDropU64_value as u64
498
+ %out_bool = ule __manually_drop_u64_le_left_%out_bool, __manually_drop_u64_le_right_%out_bool
499
+ !__manually_drop_u64_le_right_%out_bool
500
+ !__manually_drop_u64_le_left_%out_bool
501
+ [END_MACRO]
502
+
503
+ // Rust method-name alias over MANUALLY_DROP_U64_LE.
504
+ [MACRO] MANUALLY_DROP_LE %out_bool, %left_slot, %right_slot
505
+ EXPAND MANUALLY_DROP_U64_LE %out_bool, %left_slot, %right_slot
506
+ [END_MACRO]
507
+
508
+ [MACRO] MANUALLY_DROP_U64_GT %out_bool, %left_slot, %right_slot
509
+ __manually_drop_u64_gt_left_%out_bool = load %left_slot+ManuallyDropU64_value as u64
510
+ __manually_drop_u64_gt_right_%out_bool = load %right_slot+ManuallyDropU64_value as u64
511
+ %out_bool = ugt __manually_drop_u64_gt_left_%out_bool, __manually_drop_u64_gt_right_%out_bool
512
+ !__manually_drop_u64_gt_right_%out_bool
513
+ !__manually_drop_u64_gt_left_%out_bool
514
+ [END_MACRO]
515
+
516
+ // Rust method-name alias over MANUALLY_DROP_U64_GT.
517
+ [MACRO] MANUALLY_DROP_GT %out_bool, %left_slot, %right_slot
518
+ EXPAND MANUALLY_DROP_U64_GT %out_bool, %left_slot, %right_slot
519
+ [END_MACRO]
520
+
521
+ [MACRO] MANUALLY_DROP_U64_GE %out_bool, %left_slot, %right_slot
522
+ __manually_drop_u64_ge_left_%out_bool = load %left_slot+ManuallyDropU64_value as u64
523
+ __manually_drop_u64_ge_right_%out_bool = load %right_slot+ManuallyDropU64_value as u64
524
+ %out_bool = uge __manually_drop_u64_ge_left_%out_bool, __manually_drop_u64_ge_right_%out_bool
525
+ !__manually_drop_u64_ge_right_%out_bool
526
+ !__manually_drop_u64_ge_left_%out_bool
527
+ [END_MACRO]
528
+
529
+ // Rust method-name alias over MANUALLY_DROP_U64_GE.
530
+ [MACRO] MANUALLY_DROP_GE %out_bool, %left_slot, %right_slot
531
+ EXPAND MANUALLY_DROP_U64_GE %out_bool, %left_slot, %right_slot
532
+ [END_MACRO]
533
+
534
+ [MACRO] MEM_SIZE_OF_F32 %out_size
535
+ %out_size = add 0, MEM_SIZE_F32
536
+ [END_MACRO]
537
+
538
+ [MACRO] MEM_ALIGN_OF_F32 %out_align
539
+ %out_align = add 0, MEM_ALIGN_F32
540
+ [END_MACRO]
541
+
542
+ [MACRO] MEM_SIZE_OF_F64 %out_size
543
+ %out_size = add 0, MEM_SIZE_F64
544
+ [END_MACRO]
545
+
546
+ [MACRO] MEM_ALIGN_OF_F64 %out_align
547
+ %out_align = add 0, MEM_ALIGN_F64
548
+ [END_MACRO]
549
+
550
+ [MACRO] MEM_SIZE_OF_PTR %out_size
551
+ %out_size = add 0, MEM_SIZE_PTR
552
+ [END_MACRO]
553
+
554
+ [MACRO] MEM_ALIGN_OF_PTR %out_align
555
+ %out_align = add 0, MEM_ALIGN_PTR
556
+ [END_MACRO]
557
+
558
+ [MACRO] MEM_SIZE_OF_CHAR %out_size
559
+ %out_size = add 0, MEM_SIZE_CHAR
560
+ [END_MACRO]
561
+
562
+ [MACRO] MEM_ALIGN_OF_CHAR %out_align
563
+ %out_align = add 0, MEM_ALIGN_CHAR
564
+ [END_MACRO]