@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.
- package/bin/sa.js +13 -1
- package/package.json +8 -7
- package/sa_std/alloc/layout.sal +12 -0
- package/sa_std/alloc/prelude.sa +1 -0
- package/sa_std/alloc/prelude.sal +1 -0
- package/sa_std/alloc/string.sa +3 -0
- package/sa_std/alloc/vec.sa +684 -0
- package/sa_std/alloc/vec.sal +4 -0
- package/sa_std/any.sa +130 -0
- package/sa_std/any.sal +23 -0
- package/sa_std/array.sa +1876 -0
- package/sa_std/ascii.sa +2 -0
- package/sa_std/ascii.sal +1 -0
- package/sa_std/async.sla +116 -0
- package/sa_std/binary_heap.sa +3003 -0
- package/sa_std/binary_heap.sal +7 -0
- package/sa_std/borrow.sa +171 -0
- package/sa_std/borrow.sal +13 -0
- package/sa_std/btree_map.sa +2210 -0
- package/sa_std/btree_map.sal +11 -0
- package/sa_std/btree_set.sa +1072 -0
- package/sa_std/btree_set.sal +6 -0
- package/sa_std/char.sa +1309 -0
- package/sa_std/char.sal +50 -0
- package/sa_std/cmp.sa +554 -0
- package/sa_std/cmp.sal +14 -0
- package/sa_std/collections/binary_heap.sa +1 -0
- package/sa_std/collections/btree_map.sa +1 -0
- package/sa_std/collections/btree_set.sa +1 -0
- package/sa_std/collections/hashmap.sa +1 -0
- package/sa_std/collections/hashset.sa +1 -0
- package/sa_std/collections/linked_list.sa +1120 -0
- package/sa_std/collections/linked_list.sal +10 -0
- package/sa_std/collections/prelude.sa +7 -0
- package/sa_std/collections/prelude.sal +1 -0
- package/sa_std/collections/vec_deque.sa +1 -0
- package/sa_std/collections.sal +13 -0
- package/sa_std/convert.sa +1115 -0
- package/sa_std/convert.sal +24 -0
- package/sa_std/core/arc.sa +233 -0
- package/sa_std/core/arc.sal +4 -0
- package/sa_std/core/ascii.sa +784 -0
- package/sa_std/core/ascii.sal +34 -0
- package/sa_std/core/bit.sa +41 -0
- package/sa_std/core/box.sa +1 -0
- package/sa_std/core/box.sal +2 -0
- package/sa_std/core/cell.sa +108 -0
- package/sa_std/core/cell.sal +5 -0
- package/sa_std/core/cleanup.sa +26 -0
- package/sa_std/core/control.sa +20 -0
- package/sa_std/core/derive.sa +60 -0
- package/sa_std/core/derive.sal +1 -0
- package/sa_std/core/dispatch.sa +7 -0
- package/sa_std/core/dispatch.sal +5 -0
- package/sa_std/core/future.sa +777 -0
- package/sa_std/core/future.sal +73 -0
- package/sa_std/core/hash.sa +48 -0
- package/sa_std/core/iter.sa +2805 -0
- package/sa_std/core/iter.sal +4 -0
- package/sa_std/core/loop.sa +60 -0
- package/sa_std/core/mem.sa +220 -0
- package/sa_std/core/option.sa +825 -0
- package/sa_std/core/option.sal +11 -0
- package/sa_std/core/panic.sa +23 -0
- package/sa_std/core/panic.sal +12 -0
- package/sa_std/core/prelude.sa +18 -0
- package/sa_std/core/prelude.sal +18 -0
- package/sa_std/core/rc.sa +225 -0
- package/sa_std/core/rc.sal +4 -0
- package/sa_std/core/refcell.sa +283 -0
- package/sa_std/core/refcell.sal +13 -0
- package/sa_std/core/result.sa +708 -0
- package/sa_std/core/result.sal +6 -0
- package/sa_std/core/rust_patterns.sal +295 -0
- package/sa_std/core/sa_core.sa +84 -0
- package/sa_std/core/slice.sa +4021 -0
- package/sa_std/core/slice.sal +7 -0
- package/sa_std/core/task.sa +112 -0
- package/sa_std/core/task.sal +15 -0
- package/sa_std/core/trait_object.sa +26 -0
- package/sa_std/core/trait_object.sal +4 -0
- package/sa_std/core/waker.sa +289 -0
- package/sa_std/core/waker.sal +31 -0
- package/sa_std/core/weak.sa +2 -0
- package/sa_std/core/weak.sal +4 -0
- package/sa_std/cow.sa +3 -0
- package/sa_std/cow.sal +2 -0
- package/sa_std/cstring.sa +3 -0
- package/sa_std/cstring.sal +2 -0
- package/sa_std/default.sa +99 -0
- package/sa_std/duration.sa +3 -0
- package/sa_std/duration.sal +2 -0
- package/sa_std/encoding/json.sa +259 -0
- package/sa_std/encoding/json.sai +54 -0
- package/sa_std/encoding/json.sal +35 -0
- package/sa_std/encoding/prelude.sa +1 -0
- package/sa_std/encoding/prelude.sal +0 -0
- package/sa_std/env.sa +390 -0
- package/sa_std/env.sai +25 -0
- package/sa_std/error.sa +253 -0
- package/sa_std/error.sal +44 -0
- package/sa_std/ffi/cstring.sa +3 -0
- package/sa_std/ffi/cstring.sal +1 -0
- package/sa_std/ffi/prelude.sa +2 -0
- package/sa_std/ffi/prelude.sal +2 -0
- package/sa_std/ffi.sa +635 -0
- package/sa_std/ffi.sal +51 -0
- package/sa_std/fmt.sa +2 -0
- package/sa_std/fmt.sai +18 -0
- package/sa_std/fmt.sal +35 -0
- package/sa_std/fs.sa +1023 -0
- package/sa_std/fs.sai +127 -0
- package/sa_std/fs.sal +51 -0
- package/sa_std/future.sa +2 -0
- package/sa_std/future.sal +1 -0
- package/sa_std/hash.sa +1486 -0
- package/sa_std/hash.sal +13 -0
- package/sa_std/hashmap.sa +1962 -0
- package/sa_std/hashmap.sal +20 -0
- package/sa_std/hashset.sa +1004 -0
- package/sa_std/hashset.sal +18 -0
- package/sa_std/http2.sa +78 -0
- package/sa_std/http2.sai +26 -0
- package/sa_std/http2.sal +36 -0
- package/sa_std/instant.sa +3 -0
- package/sa_std/instant.sal +2 -0
- package/sa_std/io/buf_reader.sa +43 -0
- package/sa_std/io/buf_writer.sa +35 -0
- package/sa_std/io/bufio.sa +4 -0
- package/sa_std/io/bufio.sal +4 -0
- package/sa_std/io/prelude.sa +1 -0
- package/sa_std/io/prelude.sal +1 -0
- package/sa_std/io/print.sa +2 -0
- package/sa_std/io/print.sai +3 -0
- package/sa_std/io.sa +925 -0
- package/sa_std/io.sai +25 -0
- package/sa_std/io.sal +84 -0
- package/sa_std/iter.sa +2 -0
- package/sa_std/iter.sal +1 -0
- package/sa_std/join_handle.sa +3 -0
- package/sa_std/join_handle.sal +2 -0
- package/sa_std/libsa_async.sa +80 -0
- package/sa_std/m_async.sa +137 -0
- package/sa_std/m_async.sal +30 -0
- package/sa_std/m_async.sla +2 -0
- package/sa_std/manually_drop.sa +3 -0
- package/sa_std/manually_drop.sal +2 -0
- package/sa_std/marker/phantom_data.sa +3 -0
- package/sa_std/marker/phantom_data.sal +1 -0
- package/sa_std/marker/prelude.sa +4 -0
- package/sa_std/marker/prelude.sal +4 -0
- package/sa_std/marker.sa +220 -0
- package/sa_std/marker.sal +15 -0
- package/sa_std/math.sa +84 -0
- package/sa_std/math.sai +10 -0
- package/sa_std/mem/manually_drop.sa +3 -0
- package/sa_std/mem/manually_drop.sal +1 -0
- package/sa_std/mem/prelude.sa +2 -0
- package/sa_std/mem/prelude.sal +2 -0
- package/sa_std/mem.sa +564 -0
- package/sa_std/mem.sal +40 -0
- package/sa_std/modstate.sai +19 -0
- package/sa_std/net.sa +4227 -0
- package/sa_std/net.sai +239 -0
- package/sa_std/net.sal +159 -0
- package/sa_std/netx.sa +85 -0
- package/sa_std/netx.sai +11 -0
- package/sa_std/netx.sal +39 -0
- package/sa_std/nonzero.sa +3 -0
- package/sa_std/nonzero.sal +2 -0
- package/sa_std/num/nonzero.sa +3 -0
- package/sa_std/num/nonzero.sal +1 -0
- package/sa_std/num/prelude.sa +3 -0
- package/sa_std/num/prelude.sal +3 -0
- package/sa_std/num.sa +17302 -0
- package/sa_std/num.sai +11 -0
- package/sa_std/num.sal +341 -0
- package/sa_std/ops.sa +1884 -0
- package/sa_std/ops.sal +68 -0
- package/sa_std/option.sa +2 -0
- package/sa_std/option.sal +1 -0
- package/sa_std/os/fd.sa +96 -0
- package/sa_std/os/fd.sai +7 -0
- package/sa_std/os/fd.sal +11 -0
- package/sa_std/os/prelude.sa +2 -0
- package/sa_std/os/prelude.sal +1 -0
- package/sa_std/os/unix_ffi.sa +271 -0
- package/sa_std/panic.sa +1 -0
- package/sa_std/panic.sal +1 -0
- package/sa_std/path.sa +3170 -0
- package/sa_std/path.sal +12 -0
- package/sa_std/phantom_data.sa +3 -0
- package/sa_std/phantom_data.sal +2 -0
- package/sa_std/pin.sa +79 -0
- package/sa_std/pin.sal +5 -0
- package/sa_std/plugin_async.sa +90 -0
- package/sa_std/plugin_async.sal +29 -0
- package/sa_std/plugin_async.sla +4 -0
- package/sa_std/plugin_http_async.sa +46 -0
- package/sa_std/plugin_http_server.sa +61 -0
- package/sa_std/plugin_http_server.sla +2 -0
- package/sa_std/plugin_sqlite.sa +106 -0
- package/sa_std/plugin_sqlite.sla +2 -0
- package/sa_std/prelude.sa +60 -0
- package/sa_std/prelude.sal +55 -0
- package/sa_std/process.sa +916 -0
- package/sa_std/process.sai +57 -0
- package/sa_std/process.sal +27 -0
- package/sa_std/ptr.sa +503 -0
- package/sa_std/ptr.sal +2 -0
- package/sa_std/result.sa +2 -0
- package/sa_std/result.sal +1 -0
- package/sa_std/rust_core.sa +51 -0
- package/sa_std/rust_core.sal +26 -0
- package/sa_std/sa.mod +7 -0
- package/sa_std/sort.sa +156 -0
- package/sa_std/str.sla +13 -0
- package/sa_std/string.sa +12240 -0
- package/sa_std/string.sai +25 -0
- package/sa_std/string.sal +17 -0
- package/sa_std/string_format.sa +269 -0
- package/sa_std/sync/atomic.sa +1500 -0
- package/sa_std/sync/atomic.sal +45 -0
- package/sa_std/sync/barrier.sa +105 -0
- package/sa_std/sync/barrier.sal +7 -0
- package/sa_std/sync/condvar.sa +240 -0
- package/sa_std/sync/condvar.sal +4 -0
- package/sa_std/sync/mpsc.sa +758 -0
- package/sa_std/sync/mpsc.sal +42 -0
- package/sa_std/sync/mpsc_list.sa +255 -0
- package/sa_std/sync/mpsc_list.sal +3 -0
- package/sa_std/sync/mutex.sa +182 -0
- package/sa_std/sync/mutex.sal +7 -0
- package/sa_std/sync/once.sa +371 -0
- package/sa_std/sync/once.sal +31 -0
- package/sa_std/sync/poison.sa +36 -0
- package/sa_std/sync/poison.sal +11 -0
- package/sa_std/sync/prelude.sa +8 -0
- package/sa_std/sync/prelude.sal +7 -0
- package/sa_std/sync/rwlock.sa +369 -0
- package/sa_std/sync/rwlock.sal +13 -0
- package/sa_std/task.sa +2 -0
- package/sa_std/task.sal +1 -0
- package/sa_std/term.sa +2 -0
- package/sa_std/term.sai +10 -0
- package/sa_std/term.sal +33 -0
- package/sa_std/testing/assert.sai +4 -0
- package/sa_std/testing/mock_io.sa +174 -0
- package/sa_std/testing/mock_io.sal +5 -0
- package/sa_std/testing/prelude.sa +2 -0
- package/sa_std/testing/prelude.sal +1 -0
- package/sa_std/text/prelude.sa +1 -0
- package/sa_std/text/prelude.sal +1 -0
- package/sa_std/text/regex.sa +2 -0
- package/sa_std/text/regex.sai +9 -0
- package/sa_std/text/regex.sal +33 -0
- package/sa_std/thread/join_handle.sa +3 -0
- package/sa_std/thread/join_handle.sal +1 -0
- package/sa_std/thread/prelude.sa +4 -0
- package/sa_std/thread/prelude.sal +3 -0
- package/sa_std/thread.sa +160 -0
- package/sa_std/thread.sai +11 -0
- package/sa_std/thread.sal +4 -0
- package/sa_std/thread_local.sa +45 -0
- package/sa_std/thread_local.sai +9 -0
- package/sa_std/time/duration.sa +3 -0
- package/sa_std/time/duration.sal +1 -0
- package/sa_std/time/instant.sa +3 -0
- package/sa_std/time/instant.sal +1 -0
- package/sa_std/time/prelude.sa +4 -0
- package/sa_std/time/prelude.sal +4 -0
- package/sa_std/time.sa +850 -0
- package/sa_std/time.sai +37 -0
- package/sa_std/time.sal +35 -0
- package/sa_std/time.sla +67 -0
- package/sa_std/tls_client.sai +39 -0
- package/sa_std/vec.sa +5754 -0
- package/sa_std/vec.sal +1 -0
- package/sa_std/vec_deque.sa +4925 -0
- package/sa_std/vec_deque.sal +8 -0
- package/sa_std/vec_runtime_macros.sa +11 -0
- 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]
|
package/sa_std/math.sai
ADDED
|
@@ -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 @@
|
|
|
1
|
+
@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]
|