@salang/sa 0.1.2 → 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 +19 -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
|
@@ -0,0 +1,4925 @@
|
|
|
1
|
+
// Fixed-capacity VecDeque backed by a circular buffer of raw u64 values.
|
|
2
|
+
// This keeps the implementation verifier-friendly and concrete.
|
|
3
|
+
@import "core/mem.sa"
|
|
4
|
+
@import "core/slice.sal"
|
|
5
|
+
@import "core/slice.sa"
|
|
6
|
+
@import "alloc/vec.sal"
|
|
7
|
+
@import "vec.sa"
|
|
8
|
+
@import "num.sa"
|
|
9
|
+
@import "vec_deque.sal"
|
|
10
|
+
@import "hash.sa"
|
|
11
|
+
|
|
12
|
+
@export sa_vec_deque_new() -> ^ptr:
|
|
13
|
+
L_ENTRY:
|
|
14
|
+
deque = alloc VecDeque_SIZE
|
|
15
|
+
initial_bytes = mul VecDeque_INITIAL_CAP, VecDeque_SLOT_SIZE
|
|
16
|
+
buf = alloc initial_bytes
|
|
17
|
+
call @sa_mem_set(&buf, 0, initial_bytes)
|
|
18
|
+
store deque+VecDeque_buf, buf as ptr
|
|
19
|
+
store deque+VecDeque_cap, VecDeque_INITIAL_CAP as u64
|
|
20
|
+
store deque+VecDeque_head, 0 as u64
|
|
21
|
+
store deque+VecDeque_len, 0 as u64
|
|
22
|
+
^buf
|
|
23
|
+
!initial_bytes
|
|
24
|
+
return deque
|
|
25
|
+
|
|
26
|
+
@export sa_vec_deque_with_capacity(capacity: u64) -> ^ptr:
|
|
27
|
+
L_ENTRY:
|
|
28
|
+
deque = alloc VecDeque_SIZE
|
|
29
|
+
EXPAND NUM_U64_CHECKED_MUL with_cap_bytes_ok, bytes, capacity, VecDeque_SLOT_SIZE
|
|
30
|
+
br with_cap_bytes_ok -> L_WITH_CAP_BYTES_OK, L_WITH_CAP_OVERFLOW
|
|
31
|
+
|
|
32
|
+
L_WITH_CAP_OVERFLOW:
|
|
33
|
+
panic(1901)
|
|
34
|
+
|
|
35
|
+
L_WITH_CAP_BYTES_OK:
|
|
36
|
+
has_bytes = ne bytes, 0
|
|
37
|
+
br has_bytes -> L_WITH_CAP_ALLOC, L_WITH_CAP_EMPTY
|
|
38
|
+
|
|
39
|
+
L_WITH_CAP_ALLOC:
|
|
40
|
+
buf = alloc bytes
|
|
41
|
+
call @sa_mem_set(&buf, 0, bytes)
|
|
42
|
+
store deque+VecDeque_buf, buf as ptr
|
|
43
|
+
store deque+VecDeque_cap, capacity as u64
|
|
44
|
+
store deque+VecDeque_head, 0 as u64
|
|
45
|
+
store deque+VecDeque_len, 0 as u64
|
|
46
|
+
^buf
|
|
47
|
+
!with_cap_bytes_ok
|
|
48
|
+
!has_bytes
|
|
49
|
+
!bytes
|
|
50
|
+
!capacity
|
|
51
|
+
return deque
|
|
52
|
+
|
|
53
|
+
L_WITH_CAP_EMPTY:
|
|
54
|
+
store deque+VecDeque_buf, 0 as ptr
|
|
55
|
+
store deque+VecDeque_cap, 0 as u64
|
|
56
|
+
store deque+VecDeque_head, 0 as u64
|
|
57
|
+
store deque+VecDeque_len, 0 as u64
|
|
58
|
+
!with_cap_bytes_ok
|
|
59
|
+
!has_bytes
|
|
60
|
+
!bytes
|
|
61
|
+
!capacity
|
|
62
|
+
return deque
|
|
63
|
+
|
|
64
|
+
@export sa_vec_deque_free(^deque: ptr) -> void:
|
|
65
|
+
L_ENTRY:
|
|
66
|
+
buf = load deque+VecDeque_buf as ptr
|
|
67
|
+
!buf
|
|
68
|
+
!deque
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
@export sa_vec_deque_len(&deque: ptr) -> u64:
|
|
72
|
+
L_ENTRY:
|
|
73
|
+
len = load deque+VecDeque_len as u64
|
|
74
|
+
!deque
|
|
75
|
+
return len
|
|
76
|
+
|
|
77
|
+
@export sa_vec_deque_capacity(&deque: ptr) -> u64:
|
|
78
|
+
L_ENTRY:
|
|
79
|
+
cap = load deque+VecDeque_cap as u64
|
|
80
|
+
!deque
|
|
81
|
+
return cap
|
|
82
|
+
|
|
83
|
+
@export sa_vec_deque_is_empty(&deque: ptr) -> i32:
|
|
84
|
+
L_ENTRY:
|
|
85
|
+
len = load deque+VecDeque_len as u64
|
|
86
|
+
empty = eq len, 0
|
|
87
|
+
result = empty as i32
|
|
88
|
+
!len
|
|
89
|
+
!deque
|
|
90
|
+
return result
|
|
91
|
+
|
|
92
|
+
@vec_deque_next_capacity(needed: u64) -> u64:
|
|
93
|
+
L_ENTRY:
|
|
94
|
+
cap_slot = stack_alloc 8
|
|
95
|
+
store cap_slot+0, VecDeque_INITIAL_CAP as u64
|
|
96
|
+
jmp L_NEXT_CAP_HEAD
|
|
97
|
+
|
|
98
|
+
L_NEXT_CAP_HEAD:
|
|
99
|
+
cap = load cap_slot+0 as u64
|
|
100
|
+
enough = uge cap, needed
|
|
101
|
+
br enough -> L_NEXT_CAP_DONE, L_NEXT_CAP_GROW
|
|
102
|
+
|
|
103
|
+
L_NEXT_CAP_GROW:
|
|
104
|
+
EXPAND NUM_U64_CHECKED_ADD next_cap_ok, next_cap, cap, cap
|
|
105
|
+
br next_cap_ok -> L_NEXT_CAP_GROW_OK, L_NEXT_CAP_OVERFLOW
|
|
106
|
+
|
|
107
|
+
L_NEXT_CAP_OVERFLOW:
|
|
108
|
+
panic(1902)
|
|
109
|
+
|
|
110
|
+
L_NEXT_CAP_GROW_OK:
|
|
111
|
+
store cap_slot+0, next_cap as u64
|
|
112
|
+
!next_cap_ok
|
|
113
|
+
!next_cap
|
|
114
|
+
!enough
|
|
115
|
+
!cap
|
|
116
|
+
jmp L_NEXT_CAP_HEAD
|
|
117
|
+
|
|
118
|
+
L_NEXT_CAP_DONE:
|
|
119
|
+
!enough
|
|
120
|
+
!needed
|
|
121
|
+
return cap
|
|
122
|
+
|
|
123
|
+
@vec_deque_realloc(&deque: ptr, target_cap: u64) -> void:
|
|
124
|
+
L_ENTRY:
|
|
125
|
+
len = load deque+VecDeque_len as u64
|
|
126
|
+
target_zero = eq target_cap, 0
|
|
127
|
+
br target_zero -> L_DEQUE_REALLOC_ZERO, L_DEQUE_REALLOC_ALLOC
|
|
128
|
+
|
|
129
|
+
L_DEQUE_REALLOC_ZERO:
|
|
130
|
+
old_buf_zero = take deque+VecDeque_buf
|
|
131
|
+
!old_buf_zero
|
|
132
|
+
store deque+VecDeque_buf, 0 as ptr
|
|
133
|
+
store deque+VecDeque_cap, 0 as u64
|
|
134
|
+
store deque+VecDeque_head, 0 as u64
|
|
135
|
+
store deque+VecDeque_len, 0 as u64
|
|
136
|
+
!target_zero
|
|
137
|
+
!len
|
|
138
|
+
!target_cap
|
|
139
|
+
!deque
|
|
140
|
+
return
|
|
141
|
+
|
|
142
|
+
L_DEQUE_REALLOC_ALLOC:
|
|
143
|
+
old_buf = take deque+VecDeque_buf
|
|
144
|
+
old_cap = load deque+VecDeque_cap as u64
|
|
145
|
+
head = load deque+VecDeque_head as u64
|
|
146
|
+
EXPAND NUM_U64_CHECKED_MUL realloc_bytes_ok, new_bytes, target_cap, VecDeque_SLOT_SIZE
|
|
147
|
+
br realloc_bytes_ok -> L_DEQUE_REALLOC_BYTES_OK, L_DEQUE_REALLOC_OVERFLOW
|
|
148
|
+
|
|
149
|
+
L_DEQUE_REALLOC_OVERFLOW:
|
|
150
|
+
panic(1903)
|
|
151
|
+
|
|
152
|
+
L_DEQUE_REALLOC_BYTES_OK:
|
|
153
|
+
new_buf = alloc new_bytes
|
|
154
|
+
call @sa_mem_set(&new_buf, 0, new_bytes)
|
|
155
|
+
idx_slot = stack_alloc 8
|
|
156
|
+
store idx_slot+0, 0 as u64
|
|
157
|
+
jmp L_DEQUE_REALLOC_COPY_HEAD
|
|
158
|
+
|
|
159
|
+
L_DEQUE_REALLOC_COPY_HEAD:
|
|
160
|
+
idx = load idx_slot+0 as u64
|
|
161
|
+
done = eq idx, len
|
|
162
|
+
br done -> L_DEQUE_REALLOC_COPY_DONE, L_DEQUE_REALLOC_COPY_BODY
|
|
163
|
+
|
|
164
|
+
L_DEQUE_REALLOC_COPY_BODY:
|
|
165
|
+
old_sum = add head, idx
|
|
166
|
+
old_phys = urem old_sum, old_cap
|
|
167
|
+
old_off = mul old_phys, VecDeque_SLOT_SIZE
|
|
168
|
+
old_ptr = ptr_add old_buf, old_off
|
|
169
|
+
new_off = mul idx, VecDeque_SLOT_SIZE
|
|
170
|
+
new_ptr = ptr_add new_buf, new_off
|
|
171
|
+
value = load old_ptr+0 as u64
|
|
172
|
+
store new_ptr+0, value as u64
|
|
173
|
+
next_idx = add idx, 1
|
|
174
|
+
store idx_slot+0, next_idx as u64
|
|
175
|
+
!next_idx
|
|
176
|
+
!value
|
|
177
|
+
!new_ptr
|
|
178
|
+
!new_off
|
|
179
|
+
!old_ptr
|
|
180
|
+
!old_off
|
|
181
|
+
!old_phys
|
|
182
|
+
!old_sum
|
|
183
|
+
!done
|
|
184
|
+
!idx
|
|
185
|
+
jmp L_DEQUE_REALLOC_COPY_HEAD
|
|
186
|
+
|
|
187
|
+
L_DEQUE_REALLOC_COPY_DONE:
|
|
188
|
+
store deque+VecDeque_buf, new_buf as ptr
|
|
189
|
+
store deque+VecDeque_cap, target_cap as u64
|
|
190
|
+
store deque+VecDeque_head, 0 as u64
|
|
191
|
+
store deque+VecDeque_len, len as u64
|
|
192
|
+
!done
|
|
193
|
+
!idx
|
|
194
|
+
!realloc_bytes_ok
|
|
195
|
+
!new_bytes
|
|
196
|
+
!head
|
|
197
|
+
!old_cap
|
|
198
|
+
!old_buf
|
|
199
|
+
^new_buf
|
|
200
|
+
!target_zero
|
|
201
|
+
!len
|
|
202
|
+
!target_cap
|
|
203
|
+
!deque
|
|
204
|
+
return
|
|
205
|
+
|
|
206
|
+
@export sa_vec_deque_reserve(&deque: ptr, additional: u64) -> void:
|
|
207
|
+
L_ENTRY:
|
|
208
|
+
len = load deque+VecDeque_len as u64
|
|
209
|
+
cap = load deque+VecDeque_cap as u64
|
|
210
|
+
EXPAND NUM_U64_CHECKED_ADD reserve_needed_ok, needed, len, additional
|
|
211
|
+
br reserve_needed_ok -> L_DEQUE_RESERVE_NEEDED_OK, L_DEQUE_RESERVE_OVERFLOW
|
|
212
|
+
|
|
213
|
+
L_DEQUE_RESERVE_OVERFLOW:
|
|
214
|
+
panic(1904)
|
|
215
|
+
|
|
216
|
+
L_DEQUE_RESERVE_NEEDED_OK:
|
|
217
|
+
has_room = uge cap, needed
|
|
218
|
+
br has_room -> L_DEQUE_RESERVE_DONE, L_DEQUE_RESERVE_GROW
|
|
219
|
+
|
|
220
|
+
L_DEQUE_RESERVE_GROW:
|
|
221
|
+
target_cap = call @vec_deque_next_capacity(needed)
|
|
222
|
+
call @vec_deque_realloc(&deque, target_cap)
|
|
223
|
+
!target_cap
|
|
224
|
+
!has_room
|
|
225
|
+
!needed
|
|
226
|
+
!reserve_needed_ok
|
|
227
|
+
!cap
|
|
228
|
+
!len
|
|
229
|
+
!additional
|
|
230
|
+
!deque
|
|
231
|
+
return
|
|
232
|
+
|
|
233
|
+
L_DEQUE_RESERVE_DONE:
|
|
234
|
+
!has_room
|
|
235
|
+
!needed
|
|
236
|
+
!reserve_needed_ok
|
|
237
|
+
!cap
|
|
238
|
+
!len
|
|
239
|
+
!additional
|
|
240
|
+
!deque
|
|
241
|
+
return
|
|
242
|
+
|
|
243
|
+
@export sa_vec_deque_reserve_exact(&deque: ptr, additional: u64) -> void:
|
|
244
|
+
L_ENTRY:
|
|
245
|
+
len = load deque+VecDeque_len as u64
|
|
246
|
+
cap = load deque+VecDeque_cap as u64
|
|
247
|
+
EXPAND NUM_U64_CHECKED_ADD reserve_exact_needed_ok, needed, len, additional
|
|
248
|
+
br reserve_exact_needed_ok -> L_DEQUE_RESERVE_EXACT_NEEDED_OK, L_DEQUE_RESERVE_EXACT_OVERFLOW
|
|
249
|
+
|
|
250
|
+
L_DEQUE_RESERVE_EXACT_OVERFLOW:
|
|
251
|
+
panic(1905)
|
|
252
|
+
|
|
253
|
+
L_DEQUE_RESERVE_EXACT_NEEDED_OK:
|
|
254
|
+
has_room = uge cap, needed
|
|
255
|
+
br has_room -> L_DEQUE_RESERVE_EXACT_DONE, L_DEQUE_RESERVE_EXACT_GROW
|
|
256
|
+
|
|
257
|
+
L_DEQUE_RESERVE_EXACT_GROW:
|
|
258
|
+
call @vec_deque_realloc(&deque, needed)
|
|
259
|
+
!has_room
|
|
260
|
+
!needed
|
|
261
|
+
!reserve_exact_needed_ok
|
|
262
|
+
!cap
|
|
263
|
+
!len
|
|
264
|
+
!additional
|
|
265
|
+
!deque
|
|
266
|
+
return
|
|
267
|
+
|
|
268
|
+
L_DEQUE_RESERVE_EXACT_DONE:
|
|
269
|
+
!has_room
|
|
270
|
+
!needed
|
|
271
|
+
!reserve_exact_needed_ok
|
|
272
|
+
!cap
|
|
273
|
+
!len
|
|
274
|
+
!additional
|
|
275
|
+
!deque
|
|
276
|
+
return
|
|
277
|
+
|
|
278
|
+
@export sa_vec_deque_try_reserve(&deque: ptr, additional: u64) -> i32:
|
|
279
|
+
L_ENTRY:
|
|
280
|
+
call @sa_vec_deque_reserve(&deque, additional)
|
|
281
|
+
!additional
|
|
282
|
+
!deque
|
|
283
|
+
return 1
|
|
284
|
+
|
|
285
|
+
@export sa_vec_deque_try_reserve_exact(&deque: ptr, additional: u64) -> i32:
|
|
286
|
+
L_ENTRY:
|
|
287
|
+
call @sa_vec_deque_reserve_exact(&deque, additional)
|
|
288
|
+
!additional
|
|
289
|
+
!deque
|
|
290
|
+
return 1
|
|
291
|
+
|
|
292
|
+
@export sa_vec_deque_shrink_to(&deque: ptr, min_capacity: u64) -> void:
|
|
293
|
+
L_ENTRY:
|
|
294
|
+
len = load deque+VecDeque_len as u64
|
|
295
|
+
cap = load deque+VecDeque_cap as u64
|
|
296
|
+
keep_len = uge len, min_capacity
|
|
297
|
+
br keep_len -> L_DEQUE_SHRINK_TARGET_LEN, L_DEQUE_SHRINK_TARGET_MIN
|
|
298
|
+
|
|
299
|
+
L_DEQUE_SHRINK_TARGET_LEN:
|
|
300
|
+
target_cap = add len, 0
|
|
301
|
+
jmp L_DEQUE_SHRINK_CHECK
|
|
302
|
+
|
|
303
|
+
L_DEQUE_SHRINK_TARGET_MIN:
|
|
304
|
+
target_cap = add min_capacity, 0
|
|
305
|
+
jmp L_DEQUE_SHRINK_CHECK
|
|
306
|
+
|
|
307
|
+
L_DEQUE_SHRINK_CHECK:
|
|
308
|
+
needs_shrink = ult target_cap, cap
|
|
309
|
+
br needs_shrink -> L_DEQUE_SHRINK_RUN, L_DEQUE_SHRINK_DONE
|
|
310
|
+
|
|
311
|
+
L_DEQUE_SHRINK_RUN:
|
|
312
|
+
call @vec_deque_realloc(&deque, target_cap)
|
|
313
|
+
!needs_shrink
|
|
314
|
+
!target_cap
|
|
315
|
+
!keep_len
|
|
316
|
+
!cap
|
|
317
|
+
!len
|
|
318
|
+
!min_capacity
|
|
319
|
+
!deque
|
|
320
|
+
return
|
|
321
|
+
|
|
322
|
+
L_DEQUE_SHRINK_DONE:
|
|
323
|
+
!needs_shrink
|
|
324
|
+
!target_cap
|
|
325
|
+
!keep_len
|
|
326
|
+
!cap
|
|
327
|
+
!len
|
|
328
|
+
!min_capacity
|
|
329
|
+
!deque
|
|
330
|
+
return
|
|
331
|
+
|
|
332
|
+
@export sa_vec_deque_shrink_to_fit(&deque: ptr) -> void:
|
|
333
|
+
L_ENTRY:
|
|
334
|
+
len = load deque+VecDeque_len as u64
|
|
335
|
+
call @sa_vec_deque_shrink_to(&deque, len)
|
|
336
|
+
!len
|
|
337
|
+
!deque
|
|
338
|
+
return
|
|
339
|
+
|
|
340
|
+
@export sa_vec_deque_try_shrink_to(&deque: ptr, min_capacity: u64) -> i32:
|
|
341
|
+
L_ENTRY:
|
|
342
|
+
call @sa_vec_deque_shrink_to(&deque, min_capacity)
|
|
343
|
+
!min_capacity
|
|
344
|
+
!deque
|
|
345
|
+
return 1
|
|
346
|
+
|
|
347
|
+
@export sa_vec_deque_try_shrink_to_fit(&deque: ptr) -> i32:
|
|
348
|
+
L_ENTRY:
|
|
349
|
+
call @sa_vec_deque_shrink_to_fit(&deque)
|
|
350
|
+
!deque
|
|
351
|
+
return 1
|
|
352
|
+
|
|
353
|
+
@vec_deque_force_contiguous(&deque: ptr) -> void:
|
|
354
|
+
L_ENTRY:
|
|
355
|
+
head = load deque+VecDeque_head as u64
|
|
356
|
+
already_front = eq head, 0
|
|
357
|
+
br already_front -> L_FORCE_DONE, L_FORCE_RUN
|
|
358
|
+
|
|
359
|
+
L_FORCE_RUN:
|
|
360
|
+
cap = load deque+VecDeque_cap as u64
|
|
361
|
+
call @vec_deque_realloc(&deque, cap)
|
|
362
|
+
!cap
|
|
363
|
+
!already_front
|
|
364
|
+
!head
|
|
365
|
+
!deque
|
|
366
|
+
return
|
|
367
|
+
|
|
368
|
+
L_FORCE_DONE:
|
|
369
|
+
!already_front
|
|
370
|
+
!head
|
|
371
|
+
!deque
|
|
372
|
+
return
|
|
373
|
+
|
|
374
|
+
@export sa_vec_deque_as_slices(&deque: ptr, &out_front_slice: ptr, &out_back_slice: ptr) -> void:
|
|
375
|
+
L_ENTRY:
|
|
376
|
+
len = load deque+VecDeque_len as u64
|
|
377
|
+
empty = eq len, 0
|
|
378
|
+
br empty -> L_AS_SLICES_EMPTY, L_AS_SLICES_NONEMPTY
|
|
379
|
+
|
|
380
|
+
L_AS_SLICES_EMPTY:
|
|
381
|
+
store out_front_slice+Slice_ptr, 0 as ptr
|
|
382
|
+
store out_front_slice+Slice_len, 0 as u64
|
|
383
|
+
store out_back_slice+Slice_ptr, 0 as ptr
|
|
384
|
+
store out_back_slice+Slice_len, 0 as u64
|
|
385
|
+
!empty
|
|
386
|
+
!len
|
|
387
|
+
!out_back_slice
|
|
388
|
+
!out_front_slice
|
|
389
|
+
!deque
|
|
390
|
+
return
|
|
391
|
+
|
|
392
|
+
L_AS_SLICES_NONEMPTY:
|
|
393
|
+
buf = load deque+VecDeque_buf as ptr
|
|
394
|
+
head = load deque+VecDeque_head as u64
|
|
395
|
+
cap = load deque+VecDeque_cap as u64
|
|
396
|
+
head_off = mul head, VecDeque_SLOT_SIZE
|
|
397
|
+
front_ptr = ptr_add buf, head_off
|
|
398
|
+
front_room = sub cap, head
|
|
399
|
+
one_slice = ule len, front_room
|
|
400
|
+
br one_slice -> L_AS_SLICES_ONE, L_AS_SLICES_TWO
|
|
401
|
+
|
|
402
|
+
L_AS_SLICES_ONE:
|
|
403
|
+
store out_front_slice+Slice_ptr, front_ptr as ptr
|
|
404
|
+
store out_front_slice+Slice_len, len as u64
|
|
405
|
+
store out_back_slice+Slice_ptr, 0 as ptr
|
|
406
|
+
store out_back_slice+Slice_len, 0 as u64
|
|
407
|
+
!one_slice
|
|
408
|
+
!front_room
|
|
409
|
+
!front_ptr
|
|
410
|
+
!head_off
|
|
411
|
+
!cap
|
|
412
|
+
!head
|
|
413
|
+
!buf
|
|
414
|
+
!empty
|
|
415
|
+
!len
|
|
416
|
+
!out_back_slice
|
|
417
|
+
!out_front_slice
|
|
418
|
+
!deque
|
|
419
|
+
return
|
|
420
|
+
|
|
421
|
+
L_AS_SLICES_TWO:
|
|
422
|
+
back_len = sub len, front_room
|
|
423
|
+
store out_front_slice+Slice_ptr, front_ptr as ptr
|
|
424
|
+
store out_front_slice+Slice_len, front_room as u64
|
|
425
|
+
store out_back_slice+Slice_ptr, buf as ptr
|
|
426
|
+
store out_back_slice+Slice_len, back_len as u64
|
|
427
|
+
!back_len
|
|
428
|
+
!one_slice
|
|
429
|
+
!front_room
|
|
430
|
+
!front_ptr
|
|
431
|
+
!head_off
|
|
432
|
+
!cap
|
|
433
|
+
!head
|
|
434
|
+
!buf
|
|
435
|
+
!empty
|
|
436
|
+
!len
|
|
437
|
+
!out_back_slice
|
|
438
|
+
!out_front_slice
|
|
439
|
+
!deque
|
|
440
|
+
return
|
|
441
|
+
|
|
442
|
+
@export sa_vec_deque_as_mut_slices(&deque: ptr, &out_front_slice: ptr, &out_back_slice: ptr) -> void:
|
|
443
|
+
L_ENTRY:
|
|
444
|
+
call @sa_vec_deque_as_slices(&deque, &out_front_slice, &out_back_slice)
|
|
445
|
+
!out_back_slice
|
|
446
|
+
!out_front_slice
|
|
447
|
+
!deque
|
|
448
|
+
return
|
|
449
|
+
|
|
450
|
+
@export sa_vec_deque_make_contiguous(&deque: ptr, &out_slice: ptr) -> void:
|
|
451
|
+
L_ENTRY:
|
|
452
|
+
len = load deque+VecDeque_len as u64
|
|
453
|
+
empty = eq len, 0
|
|
454
|
+
br empty -> L_MAKE_CONTIG_EMPTY, L_MAKE_CONTIG_CHECK
|
|
455
|
+
|
|
456
|
+
L_MAKE_CONTIG_EMPTY:
|
|
457
|
+
store out_slice+Slice_ptr, 0 as ptr
|
|
458
|
+
store out_slice+Slice_len, 0 as u64
|
|
459
|
+
!empty
|
|
460
|
+
!len
|
|
461
|
+
!out_slice
|
|
462
|
+
!deque
|
|
463
|
+
return
|
|
464
|
+
|
|
465
|
+
L_MAKE_CONTIG_CHECK:
|
|
466
|
+
head = load deque+VecDeque_head as u64
|
|
467
|
+
cap = load deque+VecDeque_cap as u64
|
|
468
|
+
front_room = sub cap, head
|
|
469
|
+
wrapped = ugt len, front_room
|
|
470
|
+
br wrapped -> L_MAKE_CONTIG_REALLOC, L_MAKE_CONTIG_VIEW
|
|
471
|
+
|
|
472
|
+
L_MAKE_CONTIG_REALLOC:
|
|
473
|
+
call @vec_deque_realloc(&deque, cap)
|
|
474
|
+
new_buf = load deque+VecDeque_buf as ptr
|
|
475
|
+
store out_slice+Slice_ptr, new_buf as ptr
|
|
476
|
+
store out_slice+Slice_len, len as u64
|
|
477
|
+
!new_buf
|
|
478
|
+
!wrapped
|
|
479
|
+
!front_room
|
|
480
|
+
!cap
|
|
481
|
+
!head
|
|
482
|
+
!empty
|
|
483
|
+
!len
|
|
484
|
+
!out_slice
|
|
485
|
+
!deque
|
|
486
|
+
return
|
|
487
|
+
|
|
488
|
+
L_MAKE_CONTIG_VIEW:
|
|
489
|
+
buf = load deque+VecDeque_buf as ptr
|
|
490
|
+
head_off = mul head, VecDeque_SLOT_SIZE
|
|
491
|
+
data_ptr = ptr_add buf, head_off
|
|
492
|
+
store out_slice+Slice_ptr, data_ptr as ptr
|
|
493
|
+
store out_slice+Slice_len, len as u64
|
|
494
|
+
!data_ptr
|
|
495
|
+
!head_off
|
|
496
|
+
!buf
|
|
497
|
+
!wrapped
|
|
498
|
+
!front_room
|
|
499
|
+
!cap
|
|
500
|
+
!head
|
|
501
|
+
!empty
|
|
502
|
+
!len
|
|
503
|
+
!out_slice
|
|
504
|
+
!deque
|
|
505
|
+
return
|
|
506
|
+
|
|
507
|
+
@export sa_vec_deque_get(&deque: ptr, index: u64) -> u64:
|
|
508
|
+
L_ENTRY:
|
|
509
|
+
len = load deque+VecDeque_len as u64
|
|
510
|
+
in_range = ult index, len
|
|
511
|
+
br in_range -> L_GET_HIT, L_GET_MISS
|
|
512
|
+
L_GET_HIT:
|
|
513
|
+
buf = load deque+VecDeque_buf as ptr
|
|
514
|
+
head = load deque+VecDeque_head as u64
|
|
515
|
+
cap = load deque+VecDeque_cap as u64
|
|
516
|
+
head_plus = add head, index
|
|
517
|
+
phys_index = urem head_plus, cap
|
|
518
|
+
off = mul phys_index, VecDeque_SLOT_SIZE
|
|
519
|
+
slot = ptr_add buf, off
|
|
520
|
+
value = load slot+0 as u64
|
|
521
|
+
!slot
|
|
522
|
+
!off
|
|
523
|
+
!head_plus
|
|
524
|
+
!phys_index
|
|
525
|
+
!buf
|
|
526
|
+
!head
|
|
527
|
+
!cap
|
|
528
|
+
!index
|
|
529
|
+
!len
|
|
530
|
+
!in_range
|
|
531
|
+
!deque
|
|
532
|
+
return value
|
|
533
|
+
L_GET_MISS:
|
|
534
|
+
!index
|
|
535
|
+
!len
|
|
536
|
+
!in_range
|
|
537
|
+
!deque
|
|
538
|
+
return 0
|
|
539
|
+
|
|
540
|
+
@export sa_vec_deque_try_get(&deque: ptr, index: u64, &out_value_slot: ptr) -> i32:
|
|
541
|
+
L_ENTRY:
|
|
542
|
+
len = load deque+VecDeque_len as u64
|
|
543
|
+
in_range = ult index, len
|
|
544
|
+
br in_range -> L_TRY_GET_HIT, L_TRY_GET_MISS
|
|
545
|
+
|
|
546
|
+
L_TRY_GET_HIT:
|
|
547
|
+
buf = load deque+VecDeque_buf as ptr
|
|
548
|
+
head = load deque+VecDeque_head as u64
|
|
549
|
+
cap = load deque+VecDeque_cap as u64
|
|
550
|
+
head_plus = add head, index
|
|
551
|
+
phys_index = urem head_plus, cap
|
|
552
|
+
off = mul phys_index, VecDeque_SLOT_SIZE
|
|
553
|
+
slot = ptr_add buf, off
|
|
554
|
+
value = load slot+0 as u64
|
|
555
|
+
store out_value_slot+0, value as u64
|
|
556
|
+
!value
|
|
557
|
+
!slot
|
|
558
|
+
!off
|
|
559
|
+
!phys_index
|
|
560
|
+
!head_plus
|
|
561
|
+
!cap
|
|
562
|
+
!head
|
|
563
|
+
!buf
|
|
564
|
+
!in_range
|
|
565
|
+
!len
|
|
566
|
+
!index
|
|
567
|
+
!out_value_slot
|
|
568
|
+
!deque
|
|
569
|
+
return 1
|
|
570
|
+
|
|
571
|
+
L_TRY_GET_MISS:
|
|
572
|
+
store out_value_slot+0, 0 as u64
|
|
573
|
+
!in_range
|
|
574
|
+
!len
|
|
575
|
+
!index
|
|
576
|
+
!out_value_slot
|
|
577
|
+
!deque
|
|
578
|
+
return 0
|
|
579
|
+
|
|
580
|
+
@export sa_vec_deque_try_get_mut_ptr(&deque: ptr, index: u64, &out_ptr_slot: ptr) -> i32:
|
|
581
|
+
L_ENTRY:
|
|
582
|
+
len = load deque+VecDeque_len as u64
|
|
583
|
+
in_range = ult index, len
|
|
584
|
+
br in_range -> L_GET_MUT_HIT, L_GET_MUT_MISS
|
|
585
|
+
|
|
586
|
+
L_GET_MUT_HIT:
|
|
587
|
+
buf = load deque+VecDeque_buf as ptr
|
|
588
|
+
head = load deque+VecDeque_head as u64
|
|
589
|
+
cap = load deque+VecDeque_cap as u64
|
|
590
|
+
head_plus = add head, index
|
|
591
|
+
phys_index = urem head_plus, cap
|
|
592
|
+
off = mul phys_index, VecDeque_SLOT_SIZE
|
|
593
|
+
slot = ptr_add buf, off
|
|
594
|
+
store out_ptr_slot+0, slot as ptr
|
|
595
|
+
!slot
|
|
596
|
+
!off
|
|
597
|
+
!phys_index
|
|
598
|
+
!head_plus
|
|
599
|
+
!cap
|
|
600
|
+
!head
|
|
601
|
+
!buf
|
|
602
|
+
!in_range
|
|
603
|
+
!len
|
|
604
|
+
!index
|
|
605
|
+
!out_ptr_slot
|
|
606
|
+
!deque
|
|
607
|
+
return 1
|
|
608
|
+
|
|
609
|
+
L_GET_MUT_MISS:
|
|
610
|
+
store out_ptr_slot+0, 0 as ptr
|
|
611
|
+
!in_range
|
|
612
|
+
!len
|
|
613
|
+
!index
|
|
614
|
+
!out_ptr_slot
|
|
615
|
+
!deque
|
|
616
|
+
return 0
|
|
617
|
+
|
|
618
|
+
@export sa_vec_deque_try_front_mut_ptr(&deque: ptr, &out_ptr_slot: ptr) -> i32:
|
|
619
|
+
L_ENTRY:
|
|
620
|
+
ok = call @sa_vec_deque_try_get_mut_ptr(&deque, 0, &out_ptr_slot)
|
|
621
|
+
!out_ptr_slot
|
|
622
|
+
!deque
|
|
623
|
+
return ok
|
|
624
|
+
|
|
625
|
+
@export sa_vec_deque_try_back_mut_ptr(&deque: ptr, &out_ptr_slot: ptr) -> i32:
|
|
626
|
+
L_ENTRY:
|
|
627
|
+
len = load deque+VecDeque_len as u64
|
|
628
|
+
empty = eq len, 0
|
|
629
|
+
br empty -> L_BACK_MUT_EMPTY, L_BACK_MUT_READY
|
|
630
|
+
|
|
631
|
+
L_BACK_MUT_READY:
|
|
632
|
+
last = sub len, 1
|
|
633
|
+
ok = call @sa_vec_deque_try_get_mut_ptr(&deque, last, &out_ptr_slot)
|
|
634
|
+
!last
|
|
635
|
+
!empty
|
|
636
|
+
!len
|
|
637
|
+
!out_ptr_slot
|
|
638
|
+
!deque
|
|
639
|
+
return ok
|
|
640
|
+
|
|
641
|
+
L_BACK_MUT_EMPTY:
|
|
642
|
+
store out_ptr_slot+0, 0 as ptr
|
|
643
|
+
!empty
|
|
644
|
+
!len
|
|
645
|
+
!out_ptr_slot
|
|
646
|
+
!deque
|
|
647
|
+
return 0
|
|
648
|
+
|
|
649
|
+
@export sa_vec_deque_set(&deque: ptr, index: u64, value: u64) -> i32:
|
|
650
|
+
L_ENTRY:
|
|
651
|
+
len = load deque+VecDeque_len as u64
|
|
652
|
+
in_range = ult index, len
|
|
653
|
+
br in_range -> L_SET_HIT, L_SET_MISS
|
|
654
|
+
|
|
655
|
+
L_SET_HIT:
|
|
656
|
+
buf = load deque+VecDeque_buf as ptr
|
|
657
|
+
head = load deque+VecDeque_head as u64
|
|
658
|
+
cap = load deque+VecDeque_cap as u64
|
|
659
|
+
head_plus = add head, index
|
|
660
|
+
phys_index = urem head_plus, cap
|
|
661
|
+
off = mul phys_index, VecDeque_SLOT_SIZE
|
|
662
|
+
slot = ptr_add buf, off
|
|
663
|
+
store slot+0, value as u64
|
|
664
|
+
!slot
|
|
665
|
+
!off
|
|
666
|
+
!phys_index
|
|
667
|
+
!head_plus
|
|
668
|
+
!cap
|
|
669
|
+
!head
|
|
670
|
+
!buf
|
|
671
|
+
!in_range
|
|
672
|
+
!len
|
|
673
|
+
!value
|
|
674
|
+
!index
|
|
675
|
+
!deque
|
|
676
|
+
return 1
|
|
677
|
+
|
|
678
|
+
L_SET_MISS:
|
|
679
|
+
!in_range
|
|
680
|
+
!len
|
|
681
|
+
!value
|
|
682
|
+
!index
|
|
683
|
+
!deque
|
|
684
|
+
return 0
|
|
685
|
+
|
|
686
|
+
@export sa_vec_deque_contains(&deque: ptr, needle: u64) -> i32:
|
|
687
|
+
L_ENTRY:
|
|
688
|
+
len = load deque+VecDeque_len as u64
|
|
689
|
+
buf = load deque+VecDeque_buf as ptr
|
|
690
|
+
head = load deque+VecDeque_head as u64
|
|
691
|
+
cap = load deque+VecDeque_cap as u64
|
|
692
|
+
idx_slot = stack_alloc 8
|
|
693
|
+
store idx_slot+0, 0 as u64
|
|
694
|
+
jmp L_CONTAINS_HEAD
|
|
695
|
+
|
|
696
|
+
L_CONTAINS_HEAD:
|
|
697
|
+
idx = load idx_slot+0 as u64
|
|
698
|
+
done = eq idx, len
|
|
699
|
+
br done -> L_CONTAINS_MISS, L_CONTAINS_BODY
|
|
700
|
+
|
|
701
|
+
L_CONTAINS_BODY:
|
|
702
|
+
head_plus = add head, idx
|
|
703
|
+
phys_index = urem head_plus, cap
|
|
704
|
+
off = mul phys_index, VecDeque_SLOT_SIZE
|
|
705
|
+
slot = ptr_add buf, off
|
|
706
|
+
value = load slot+0 as u64
|
|
707
|
+
matched = eq value, needle
|
|
708
|
+
br matched -> L_CONTAINS_HIT, L_CONTAINS_NEXT
|
|
709
|
+
|
|
710
|
+
L_CONTAINS_NEXT:
|
|
711
|
+
next_idx = add idx, 1
|
|
712
|
+
store idx_slot+0, next_idx as u64
|
|
713
|
+
!next_idx
|
|
714
|
+
!matched
|
|
715
|
+
!value
|
|
716
|
+
!slot
|
|
717
|
+
!off
|
|
718
|
+
!phys_index
|
|
719
|
+
!head_plus
|
|
720
|
+
!done
|
|
721
|
+
!idx
|
|
722
|
+
jmp L_CONTAINS_HEAD
|
|
723
|
+
|
|
724
|
+
L_CONTAINS_HIT:
|
|
725
|
+
!matched
|
|
726
|
+
!value
|
|
727
|
+
!slot
|
|
728
|
+
!off
|
|
729
|
+
!phys_index
|
|
730
|
+
!head_plus
|
|
731
|
+
!done
|
|
732
|
+
!idx
|
|
733
|
+
!cap
|
|
734
|
+
!head
|
|
735
|
+
!buf
|
|
736
|
+
!len
|
|
737
|
+
!needle
|
|
738
|
+
!deque
|
|
739
|
+
return 1
|
|
740
|
+
|
|
741
|
+
L_CONTAINS_MISS:
|
|
742
|
+
!done
|
|
743
|
+
!idx
|
|
744
|
+
!cap
|
|
745
|
+
!head
|
|
746
|
+
!buf
|
|
747
|
+
!len
|
|
748
|
+
!needle
|
|
749
|
+
!deque
|
|
750
|
+
return 0
|
|
751
|
+
|
|
752
|
+
@export sa_vec_deque_swap(&deque: ptr, left: u64, right: u64) -> i32:
|
|
753
|
+
L_ENTRY:
|
|
754
|
+
len = load deque+VecDeque_len as u64
|
|
755
|
+
left_ok = ult left, len
|
|
756
|
+
right_ok = ult right, len
|
|
757
|
+
both_ok = and left_ok, right_ok
|
|
758
|
+
br both_ok -> L_SWAP_READY, L_SWAP_MISS
|
|
759
|
+
|
|
760
|
+
L_SWAP_READY:
|
|
761
|
+
buf = load deque+VecDeque_buf as ptr
|
|
762
|
+
head = load deque+VecDeque_head as u64
|
|
763
|
+
cap = load deque+VecDeque_cap as u64
|
|
764
|
+
left_sum = add head, left
|
|
765
|
+
left_phys = urem left_sum, cap
|
|
766
|
+
left_off = mul left_phys, VecDeque_SLOT_SIZE
|
|
767
|
+
left_ptr = ptr_add buf, left_off
|
|
768
|
+
right_sum = add head, right
|
|
769
|
+
right_phys = urem right_sum, cap
|
|
770
|
+
right_off = mul right_phys, VecDeque_SLOT_SIZE
|
|
771
|
+
right_ptr = ptr_add buf, right_off
|
|
772
|
+
left_value = load left_ptr+0 as u64
|
|
773
|
+
right_value = load right_ptr+0 as u64
|
|
774
|
+
store left_ptr+0, right_value as u64
|
|
775
|
+
store right_ptr+0, left_value as u64
|
|
776
|
+
!right_value
|
|
777
|
+
!left_value
|
|
778
|
+
!right_ptr
|
|
779
|
+
!right_off
|
|
780
|
+
!right_phys
|
|
781
|
+
!right_sum
|
|
782
|
+
!left_ptr
|
|
783
|
+
!left_off
|
|
784
|
+
!left_phys
|
|
785
|
+
!left_sum
|
|
786
|
+
!cap
|
|
787
|
+
!head
|
|
788
|
+
!buf
|
|
789
|
+
!both_ok
|
|
790
|
+
!right_ok
|
|
791
|
+
!left_ok
|
|
792
|
+
!len
|
|
793
|
+
!right
|
|
794
|
+
!left
|
|
795
|
+
!deque
|
|
796
|
+
return 1
|
|
797
|
+
|
|
798
|
+
L_SWAP_MISS:
|
|
799
|
+
!both_ok
|
|
800
|
+
!right_ok
|
|
801
|
+
!left_ok
|
|
802
|
+
!len
|
|
803
|
+
!right
|
|
804
|
+
!left
|
|
805
|
+
!deque
|
|
806
|
+
return 0
|
|
807
|
+
|
|
808
|
+
@export sa_vec_deque_try_insert(&deque: ptr, index: u64, value: u64) -> i32:
|
|
809
|
+
L_ENTRY:
|
|
810
|
+
len = load deque+VecDeque_len as u64
|
|
811
|
+
in_bounds = ule index, len
|
|
812
|
+
br in_bounds -> L_INSERT_READY, L_INSERT_MISS
|
|
813
|
+
|
|
814
|
+
L_INSERT_READY:
|
|
815
|
+
call @sa_vec_deque_reserve(&deque, 1)
|
|
816
|
+
call @vec_deque_force_contiguous(&deque)
|
|
817
|
+
buf = load deque+VecDeque_buf as ptr
|
|
818
|
+
idx_slot = stack_alloc 8
|
|
819
|
+
store idx_slot+0, len as u64
|
|
820
|
+
jmp L_INSERT_SHIFT_HEAD
|
|
821
|
+
|
|
822
|
+
L_INSERT_SHIFT_HEAD:
|
|
823
|
+
idx = load idx_slot+0 as u64
|
|
824
|
+
done = ule idx, index
|
|
825
|
+
br done -> L_INSERT_STORE, L_INSERT_SHIFT_BODY
|
|
826
|
+
|
|
827
|
+
L_INSERT_SHIFT_BODY:
|
|
828
|
+
src_idx = sub idx, 1
|
|
829
|
+
src_off = mul src_idx, VecDeque_SLOT_SIZE
|
|
830
|
+
src_ptr = ptr_add buf, src_off
|
|
831
|
+
dst_off = mul idx, VecDeque_SLOT_SIZE
|
|
832
|
+
dst_ptr = ptr_add buf, dst_off
|
|
833
|
+
shifted = load src_ptr+0 as u64
|
|
834
|
+
store dst_ptr+0, shifted as u64
|
|
835
|
+
store idx_slot+0, src_idx as u64
|
|
836
|
+
!shifted
|
|
837
|
+
!dst_ptr
|
|
838
|
+
!dst_off
|
|
839
|
+
!src_ptr
|
|
840
|
+
!src_off
|
|
841
|
+
!src_idx
|
|
842
|
+
!done
|
|
843
|
+
!idx
|
|
844
|
+
jmp L_INSERT_SHIFT_HEAD
|
|
845
|
+
|
|
846
|
+
L_INSERT_STORE:
|
|
847
|
+
insert_off = mul index, VecDeque_SLOT_SIZE
|
|
848
|
+
insert_ptr = ptr_add buf, insert_off
|
|
849
|
+
store insert_ptr+0, value as u64
|
|
850
|
+
next_len = add len, 1
|
|
851
|
+
store deque+VecDeque_len, next_len as u64
|
|
852
|
+
store deque+VecDeque_head, 0 as u64
|
|
853
|
+
!next_len
|
|
854
|
+
!insert_ptr
|
|
855
|
+
!insert_off
|
|
856
|
+
!done
|
|
857
|
+
!idx
|
|
858
|
+
!buf
|
|
859
|
+
!in_bounds
|
|
860
|
+
!len
|
|
861
|
+
!value
|
|
862
|
+
!index
|
|
863
|
+
!deque
|
|
864
|
+
return 1
|
|
865
|
+
|
|
866
|
+
L_INSERT_MISS:
|
|
867
|
+
!in_bounds
|
|
868
|
+
!len
|
|
869
|
+
!value
|
|
870
|
+
!index
|
|
871
|
+
!deque
|
|
872
|
+
return 0
|
|
873
|
+
|
|
874
|
+
@export sa_vec_deque_try_remove(&deque: ptr, index: u64, &out_value_slot: ptr) -> i32:
|
|
875
|
+
L_ENTRY:
|
|
876
|
+
len = load deque+VecDeque_len as u64
|
|
877
|
+
in_bounds = ult index, len
|
|
878
|
+
br in_bounds -> L_REMOVE_READY, L_REMOVE_MISS
|
|
879
|
+
|
|
880
|
+
L_REMOVE_READY:
|
|
881
|
+
call @vec_deque_force_contiguous(&deque)
|
|
882
|
+
buf = load deque+VecDeque_buf as ptr
|
|
883
|
+
remove_off = mul index, VecDeque_SLOT_SIZE
|
|
884
|
+
remove_ptr = ptr_add buf, remove_off
|
|
885
|
+
removed = load remove_ptr+0 as u64
|
|
886
|
+
last_index = sub len, 1
|
|
887
|
+
idx_slot = stack_alloc 8
|
|
888
|
+
store idx_slot+0, index as u64
|
|
889
|
+
jmp L_REMOVE_SHIFT_HEAD
|
|
890
|
+
|
|
891
|
+
L_REMOVE_SHIFT_HEAD:
|
|
892
|
+
idx = load idx_slot+0 as u64
|
|
893
|
+
done = uge idx, last_index
|
|
894
|
+
br done -> L_REMOVE_STORE, L_REMOVE_SHIFT_BODY
|
|
895
|
+
|
|
896
|
+
L_REMOVE_SHIFT_BODY:
|
|
897
|
+
src_idx = add idx, 1
|
|
898
|
+
src_off = mul src_idx, VecDeque_SLOT_SIZE
|
|
899
|
+
src_ptr = ptr_add buf, src_off
|
|
900
|
+
dst_off = mul idx, VecDeque_SLOT_SIZE
|
|
901
|
+
dst_ptr = ptr_add buf, dst_off
|
|
902
|
+
shifted = load src_ptr+0 as u64
|
|
903
|
+
store dst_ptr+0, shifted as u64
|
|
904
|
+
store idx_slot+0, src_idx as u64
|
|
905
|
+
!shifted
|
|
906
|
+
!dst_ptr
|
|
907
|
+
!dst_off
|
|
908
|
+
!src_ptr
|
|
909
|
+
!src_off
|
|
910
|
+
!src_idx
|
|
911
|
+
!done
|
|
912
|
+
!idx
|
|
913
|
+
jmp L_REMOVE_SHIFT_HEAD
|
|
914
|
+
|
|
915
|
+
L_REMOVE_STORE:
|
|
916
|
+
next_len = sub len, 1
|
|
917
|
+
store deque+VecDeque_len, next_len as u64
|
|
918
|
+
store deque+VecDeque_head, 0 as u64
|
|
919
|
+
store out_value_slot+0, removed as u64
|
|
920
|
+
!next_len
|
|
921
|
+
!done
|
|
922
|
+
!idx
|
|
923
|
+
!last_index
|
|
924
|
+
!removed
|
|
925
|
+
!remove_ptr
|
|
926
|
+
!remove_off
|
|
927
|
+
!buf
|
|
928
|
+
!in_bounds
|
|
929
|
+
!len
|
|
930
|
+
!index
|
|
931
|
+
!out_value_slot
|
|
932
|
+
!deque
|
|
933
|
+
return 1
|
|
934
|
+
|
|
935
|
+
L_REMOVE_MISS:
|
|
936
|
+
store out_value_slot+0, 0 as u64
|
|
937
|
+
!in_bounds
|
|
938
|
+
!len
|
|
939
|
+
!index
|
|
940
|
+
!out_value_slot
|
|
941
|
+
!deque
|
|
942
|
+
return 0
|
|
943
|
+
|
|
944
|
+
@export sa_vec_deque_try_swap_remove_front(&deque: ptr, index: u64, &out_value_slot: ptr) -> i32:
|
|
945
|
+
L_ENTRY:
|
|
946
|
+
len = load deque+VecDeque_len as u64
|
|
947
|
+
in_bounds = ult index, len
|
|
948
|
+
br in_bounds -> L_SWAP_REMOVE_FRONT_READY, L_SWAP_REMOVE_FRONT_MISS
|
|
949
|
+
|
|
950
|
+
L_SWAP_REMOVE_FRONT_READY:
|
|
951
|
+
removed = call @sa_vec_deque_get(&deque, index)
|
|
952
|
+
front_value = call @sa_vec_deque_front(&deque)
|
|
953
|
+
ptr_slot = stack_alloc 8
|
|
954
|
+
ptr_ok = call @sa_vec_deque_try_get_mut_ptr(&deque, index, &ptr_slot)
|
|
955
|
+
slot = load ptr_slot+0 as ptr
|
|
956
|
+
store slot+0, front_value as u64
|
|
957
|
+
pop_slot = stack_alloc 8
|
|
958
|
+
pop_ok = call @sa_vec_deque_try_pop_front(&deque, &pop_slot)
|
|
959
|
+
store out_value_slot+0, removed as u64
|
|
960
|
+
!pop_ok
|
|
961
|
+
!slot
|
|
962
|
+
!ptr_ok
|
|
963
|
+
!front_value
|
|
964
|
+
!removed
|
|
965
|
+
!in_bounds
|
|
966
|
+
!len
|
|
967
|
+
!index
|
|
968
|
+
!out_value_slot
|
|
969
|
+
!deque
|
|
970
|
+
return 1
|
|
971
|
+
|
|
972
|
+
L_SWAP_REMOVE_FRONT_MISS:
|
|
973
|
+
store out_value_slot+0, 0 as u64
|
|
974
|
+
!in_bounds
|
|
975
|
+
!len
|
|
976
|
+
!index
|
|
977
|
+
!out_value_slot
|
|
978
|
+
!deque
|
|
979
|
+
return 0
|
|
980
|
+
|
|
981
|
+
@export sa_vec_deque_try_swap_remove_back(&deque: ptr, index: u64, &out_value_slot: ptr) -> i32:
|
|
982
|
+
L_ENTRY:
|
|
983
|
+
len = load deque+VecDeque_len as u64
|
|
984
|
+
in_bounds = ult index, len
|
|
985
|
+
br in_bounds -> L_SWAP_REMOVE_BACK_READY, L_SWAP_REMOVE_BACK_MISS
|
|
986
|
+
|
|
987
|
+
L_SWAP_REMOVE_BACK_READY:
|
|
988
|
+
removed = call @sa_vec_deque_get(&deque, index)
|
|
989
|
+
back_value = call @sa_vec_deque_back(&deque)
|
|
990
|
+
ptr_slot = stack_alloc 8
|
|
991
|
+
ptr_ok = call @sa_vec_deque_try_get_mut_ptr(&deque, index, &ptr_slot)
|
|
992
|
+
slot = load ptr_slot+0 as ptr
|
|
993
|
+
store slot+0, back_value as u64
|
|
994
|
+
pop_slot = stack_alloc 8
|
|
995
|
+
pop_ok = call @sa_vec_deque_try_pop_back(&deque, &pop_slot)
|
|
996
|
+
store out_value_slot+0, removed as u64
|
|
997
|
+
!pop_ok
|
|
998
|
+
!slot
|
|
999
|
+
!ptr_ok
|
|
1000
|
+
!back_value
|
|
1001
|
+
!removed
|
|
1002
|
+
!in_bounds
|
|
1003
|
+
!len
|
|
1004
|
+
!index
|
|
1005
|
+
!out_value_slot
|
|
1006
|
+
!deque
|
|
1007
|
+
return 1
|
|
1008
|
+
|
|
1009
|
+
L_SWAP_REMOVE_BACK_MISS:
|
|
1010
|
+
store out_value_slot+0, 0 as u64
|
|
1011
|
+
!in_bounds
|
|
1012
|
+
!len
|
|
1013
|
+
!index
|
|
1014
|
+
!out_value_slot
|
|
1015
|
+
!deque
|
|
1016
|
+
return 0
|
|
1017
|
+
|
|
1018
|
+
@export sa_vec_deque_push_back(&deque: ptr, value: u64) -> void:
|
|
1019
|
+
L_ENTRY:
|
|
1020
|
+
len = load deque+VecDeque_len as u64
|
|
1021
|
+
cap = load deque+VecDeque_cap as u64
|
|
1022
|
+
room = ult len, cap
|
|
1023
|
+
br room -> L_PUSH_BACK_OK, L_PUSH_BACK_FULL
|
|
1024
|
+
L_PUSH_BACK_OK:
|
|
1025
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1026
|
+
head = load deque+VecDeque_head as u64
|
|
1027
|
+
tail_sum = add head, len
|
|
1028
|
+
tail_index = urem tail_sum, cap
|
|
1029
|
+
tail_off = mul tail_index, VecDeque_SLOT_SIZE
|
|
1030
|
+
tail_ptr = ptr_add buf, tail_off
|
|
1031
|
+
store tail_ptr+0, value as u64
|
|
1032
|
+
next_len = add len, 1
|
|
1033
|
+
store deque+VecDeque_len, next_len as u64
|
|
1034
|
+
!tail_ptr
|
|
1035
|
+
!tail_off
|
|
1036
|
+
!tail_index
|
|
1037
|
+
!tail_sum
|
|
1038
|
+
!next_len
|
|
1039
|
+
!room
|
|
1040
|
+
!buf
|
|
1041
|
+
!head
|
|
1042
|
+
!cap
|
|
1043
|
+
!len
|
|
1044
|
+
!value
|
|
1045
|
+
!deque
|
|
1046
|
+
return
|
|
1047
|
+
L_PUSH_BACK_FULL:
|
|
1048
|
+
call @sa_vec_deque_reserve(&deque, 1)
|
|
1049
|
+
!room
|
|
1050
|
+
!cap
|
|
1051
|
+
!len
|
|
1052
|
+
jmp L_ENTRY
|
|
1053
|
+
|
|
1054
|
+
@export sa_vec_deque_push_front(&deque: ptr, value: u64) -> void:
|
|
1055
|
+
L_ENTRY:
|
|
1056
|
+
len = load deque+VecDeque_len as u64
|
|
1057
|
+
cap = load deque+VecDeque_cap as u64
|
|
1058
|
+
room = ult len, cap
|
|
1059
|
+
br room -> L_PUSH_FRONT_OK, L_PUSH_FRONT_FULL
|
|
1060
|
+
L_PUSH_FRONT_OK:
|
|
1061
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1062
|
+
head = load deque+VecDeque_head as u64
|
|
1063
|
+
cap_minus_one = sub cap, 1
|
|
1064
|
+
head_plus = add head, cap_minus_one
|
|
1065
|
+
new_head = urem head_plus, cap
|
|
1066
|
+
head_off = mul new_head, VecDeque_SLOT_SIZE
|
|
1067
|
+
head_ptr = ptr_add buf, head_off
|
|
1068
|
+
store head_ptr+0, value as u64
|
|
1069
|
+
next_len = add len, 1
|
|
1070
|
+
store deque+VecDeque_head, new_head as u64
|
|
1071
|
+
store deque+VecDeque_len, next_len as u64
|
|
1072
|
+
!head_ptr
|
|
1073
|
+
!head_off
|
|
1074
|
+
!new_head
|
|
1075
|
+
!cap_minus_one
|
|
1076
|
+
!head_plus
|
|
1077
|
+
!room
|
|
1078
|
+
!buf
|
|
1079
|
+
!head
|
|
1080
|
+
!cap
|
|
1081
|
+
!next_len
|
|
1082
|
+
!len
|
|
1083
|
+
!value
|
|
1084
|
+
!deque
|
|
1085
|
+
return
|
|
1086
|
+
L_PUSH_FRONT_FULL:
|
|
1087
|
+
call @sa_vec_deque_reserve(&deque, 1)
|
|
1088
|
+
!room
|
|
1089
|
+
!cap
|
|
1090
|
+
!len
|
|
1091
|
+
jmp L_ENTRY
|
|
1092
|
+
|
|
1093
|
+
@export sa_vec_deque_try_pop_front(&deque: ptr, &out_value_slot: ptr) -> i32:
|
|
1094
|
+
L_ENTRY:
|
|
1095
|
+
len = load deque+VecDeque_len as u64
|
|
1096
|
+
empty = eq len, 0
|
|
1097
|
+
br empty -> L_POP_FRONT_EMPTY, L_POP_FRONT_READY
|
|
1098
|
+
L_POP_FRONT_READY:
|
|
1099
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1100
|
+
head = load deque+VecDeque_head as u64
|
|
1101
|
+
cap = load deque+VecDeque_cap as u64
|
|
1102
|
+
head_off = mul head, VecDeque_SLOT_SIZE
|
|
1103
|
+
head_ptr = ptr_add buf, head_off
|
|
1104
|
+
value = load head_ptr+0 as u64
|
|
1105
|
+
next_head = add head, 1
|
|
1106
|
+
next_head2 = urem next_head, cap
|
|
1107
|
+
L_POP_FRONT_STORE:
|
|
1108
|
+
next_len = sub len, 1
|
|
1109
|
+
store out_value_slot+0, value as u64
|
|
1110
|
+
store deque+VecDeque_len, next_len as u64
|
|
1111
|
+
store deque+VecDeque_head, next_head2 as u64
|
|
1112
|
+
!next_head2
|
|
1113
|
+
!next_head
|
|
1114
|
+
!next_len
|
|
1115
|
+
!value
|
|
1116
|
+
!head_ptr
|
|
1117
|
+
!head_off
|
|
1118
|
+
!head
|
|
1119
|
+
!cap
|
|
1120
|
+
!buf
|
|
1121
|
+
!len
|
|
1122
|
+
!out_value_slot
|
|
1123
|
+
!deque
|
|
1124
|
+
return 1
|
|
1125
|
+
L_POP_FRONT_EMPTY:
|
|
1126
|
+
store out_value_slot+0, 0 as u64
|
|
1127
|
+
!empty
|
|
1128
|
+
!len
|
|
1129
|
+
!out_value_slot
|
|
1130
|
+
!deque
|
|
1131
|
+
return 0
|
|
1132
|
+
|
|
1133
|
+
@export sa_vec_deque_try_pop_back(&deque: ptr, &out_value_slot: ptr) -> i32:
|
|
1134
|
+
L_ENTRY:
|
|
1135
|
+
len = load deque+VecDeque_len as u64
|
|
1136
|
+
empty = eq len, 0
|
|
1137
|
+
br empty -> L_POP_BACK_EMPTY, L_POP_BACK_READY
|
|
1138
|
+
L_POP_BACK_READY:
|
|
1139
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1140
|
+
head = load deque+VecDeque_head as u64
|
|
1141
|
+
cap = load deque+VecDeque_cap as u64
|
|
1142
|
+
last_index = sub len, 1
|
|
1143
|
+
tail_sum = add head, last_index
|
|
1144
|
+
tail_index = urem tail_sum, cap
|
|
1145
|
+
tail_off = mul tail_index, VecDeque_SLOT_SIZE
|
|
1146
|
+
tail_ptr = ptr_add buf, tail_off
|
|
1147
|
+
value = load tail_ptr+0 as u64
|
|
1148
|
+
next_len = sub len, 1
|
|
1149
|
+
L_POP_BACK_STORE:
|
|
1150
|
+
store out_value_slot+0, value as u64
|
|
1151
|
+
store deque+VecDeque_len, next_len as u64
|
|
1152
|
+
store deque+VecDeque_head, head as u64
|
|
1153
|
+
!tail_sum
|
|
1154
|
+
!tail_index
|
|
1155
|
+
!tail_ptr
|
|
1156
|
+
!tail_off
|
|
1157
|
+
!last_index
|
|
1158
|
+
!next_len
|
|
1159
|
+
!value
|
|
1160
|
+
!head
|
|
1161
|
+
!cap
|
|
1162
|
+
!buf
|
|
1163
|
+
!len
|
|
1164
|
+
!out_value_slot
|
|
1165
|
+
!deque
|
|
1166
|
+
return 1
|
|
1167
|
+
L_POP_BACK_EMPTY:
|
|
1168
|
+
store out_value_slot+0, 0 as u64
|
|
1169
|
+
!empty
|
|
1170
|
+
!len
|
|
1171
|
+
!out_value_slot
|
|
1172
|
+
!deque
|
|
1173
|
+
return 0
|
|
1174
|
+
|
|
1175
|
+
@export sa_vec_deque_front(&deque: ptr) -> u64:
|
|
1176
|
+
L_ENTRY:
|
|
1177
|
+
len = load deque+VecDeque_len as u64
|
|
1178
|
+
empty = eq len, 0
|
|
1179
|
+
br empty -> L_FRONT_EMPTY, L_FRONT_READY
|
|
1180
|
+
L_FRONT_READY:
|
|
1181
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1182
|
+
head = load deque+VecDeque_head as u64
|
|
1183
|
+
head_off = mul head, VecDeque_SLOT_SIZE
|
|
1184
|
+
head_ptr = ptr_add buf, head_off
|
|
1185
|
+
value = load head_ptr+0 as u64
|
|
1186
|
+
!head_ptr
|
|
1187
|
+
!head_off
|
|
1188
|
+
!head
|
|
1189
|
+
!buf
|
|
1190
|
+
!empty
|
|
1191
|
+
!len
|
|
1192
|
+
!deque
|
|
1193
|
+
return value
|
|
1194
|
+
L_FRONT_EMPTY:
|
|
1195
|
+
!empty
|
|
1196
|
+
!len
|
|
1197
|
+
!deque
|
|
1198
|
+
return 0
|
|
1199
|
+
|
|
1200
|
+
@export sa_vec_deque_back(&deque: ptr) -> u64:
|
|
1201
|
+
L_ENTRY:
|
|
1202
|
+
len = load deque+VecDeque_len as u64
|
|
1203
|
+
empty = eq len, 0
|
|
1204
|
+
br empty -> L_BACK_EMPTY, L_BACK_READY
|
|
1205
|
+
L_BACK_READY:
|
|
1206
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1207
|
+
head = load deque+VecDeque_head as u64
|
|
1208
|
+
cap = load deque+VecDeque_cap as u64
|
|
1209
|
+
last_index = sub len, 1
|
|
1210
|
+
tail_sum = add head, last_index
|
|
1211
|
+
tail_index = urem tail_sum, cap
|
|
1212
|
+
tail_off = mul tail_index, VecDeque_SLOT_SIZE
|
|
1213
|
+
tail_ptr = ptr_add buf, tail_off
|
|
1214
|
+
value = load tail_ptr+0 as u64
|
|
1215
|
+
!tail_ptr
|
|
1216
|
+
!tail_off
|
|
1217
|
+
!tail_index
|
|
1218
|
+
!tail_sum
|
|
1219
|
+
!last_index
|
|
1220
|
+
!cap
|
|
1221
|
+
!head
|
|
1222
|
+
!buf
|
|
1223
|
+
!empty
|
|
1224
|
+
!len
|
|
1225
|
+
!deque
|
|
1226
|
+
return value
|
|
1227
|
+
L_BACK_EMPTY:
|
|
1228
|
+
!empty
|
|
1229
|
+
!len
|
|
1230
|
+
!deque
|
|
1231
|
+
return 0
|
|
1232
|
+
|
|
1233
|
+
@export sa_vec_deque_try_front(&deque: ptr, &out_value_slot: ptr) -> i32:
|
|
1234
|
+
L_ENTRY:
|
|
1235
|
+
ok = call @sa_vec_deque_try_get(&deque, 0, &out_value_slot)
|
|
1236
|
+
!out_value_slot
|
|
1237
|
+
!deque
|
|
1238
|
+
return ok
|
|
1239
|
+
|
|
1240
|
+
@export sa_vec_deque_try_back(&deque: ptr, &out_value_slot: ptr) -> i32:
|
|
1241
|
+
L_ENTRY:
|
|
1242
|
+
len = load deque+VecDeque_len as u64
|
|
1243
|
+
empty = eq len, 0
|
|
1244
|
+
br empty -> L_TRY_BACK_EMPTY, L_TRY_BACK_READY
|
|
1245
|
+
|
|
1246
|
+
L_TRY_BACK_READY:
|
|
1247
|
+
last = sub len, 1
|
|
1248
|
+
ok = call @sa_vec_deque_try_get(&deque, last, &out_value_slot)
|
|
1249
|
+
!last
|
|
1250
|
+
!empty
|
|
1251
|
+
!len
|
|
1252
|
+
!out_value_slot
|
|
1253
|
+
!deque
|
|
1254
|
+
return ok
|
|
1255
|
+
|
|
1256
|
+
L_TRY_BACK_EMPTY:
|
|
1257
|
+
store out_value_slot+0, 0 as u64
|
|
1258
|
+
!empty
|
|
1259
|
+
!len
|
|
1260
|
+
!out_value_slot
|
|
1261
|
+
!deque
|
|
1262
|
+
return 0
|
|
1263
|
+
|
|
1264
|
+
@export sa_vec_deque_clear(&deque: ptr) -> void:
|
|
1265
|
+
L_ENTRY:
|
|
1266
|
+
buf = load deque+VecDeque_buf as ptr
|
|
1267
|
+
cap = load deque+VecDeque_cap as u64
|
|
1268
|
+
EXPAND NUM_U64_CHECKED_MUL clear_bytes_ok, bytes, cap, VecDeque_SLOT_SIZE
|
|
1269
|
+
br clear_bytes_ok -> L_CLEAR_BYTES_OK, L_CLEAR_BYTES_OVERFLOW
|
|
1270
|
+
|
|
1271
|
+
L_CLEAR_BYTES_OVERFLOW:
|
|
1272
|
+
panic(1906)
|
|
1273
|
+
|
|
1274
|
+
L_CLEAR_BYTES_OK:
|
|
1275
|
+
has_buf = ne buf, 0
|
|
1276
|
+
br has_buf -> L_CLEAR_BUF, L_CLEAR_SKIP
|
|
1277
|
+
L_CLEAR_BUF:
|
|
1278
|
+
call @sa_mem_set(&buf, 0, bytes)
|
|
1279
|
+
!bytes
|
|
1280
|
+
!clear_bytes_ok
|
|
1281
|
+
store deque+VecDeque_head, 0 as u64
|
|
1282
|
+
store deque+VecDeque_len, 0 as u64
|
|
1283
|
+
!has_buf
|
|
1284
|
+
!buf
|
|
1285
|
+
!cap
|
|
1286
|
+
!deque
|
|
1287
|
+
return
|
|
1288
|
+
L_CLEAR_SKIP:
|
|
1289
|
+
!bytes
|
|
1290
|
+
!clear_bytes_ok
|
|
1291
|
+
store deque+VecDeque_head, 0 as u64
|
|
1292
|
+
store deque+VecDeque_len, 0 as u64
|
|
1293
|
+
!has_buf
|
|
1294
|
+
!buf
|
|
1295
|
+
!cap
|
|
1296
|
+
!deque
|
|
1297
|
+
return
|
|
1298
|
+
|
|
1299
|
+
@export sa_vec_deque_rotate_left(&deque: ptr, count: u64) -> void:
|
|
1300
|
+
L_ENTRY:
|
|
1301
|
+
len = load deque+VecDeque_len as u64
|
|
1302
|
+
short = ule len, 1
|
|
1303
|
+
br short -> L_ROTATE_LEFT_DONE_SHORT, L_ROTATE_LEFT_RUN
|
|
1304
|
+
L_ROTATE_LEFT_RUN:
|
|
1305
|
+
shift = urem count, len
|
|
1306
|
+
no_move = eq shift, 0
|
|
1307
|
+
br no_move -> L_ROTATE_LEFT_DONE_RUN, L_ROTATE_LEFT_BODY
|
|
1308
|
+
L_ROTATE_LEFT_BODY:
|
|
1309
|
+
head = load deque+VecDeque_head as u64
|
|
1310
|
+
cap = load deque+VecDeque_cap as u64
|
|
1311
|
+
next_sum = add head, shift
|
|
1312
|
+
next_head = urem next_sum, cap
|
|
1313
|
+
store deque+VecDeque_head, next_head as u64
|
|
1314
|
+
!next_sum
|
|
1315
|
+
!next_head
|
|
1316
|
+
!shift
|
|
1317
|
+
!cap
|
|
1318
|
+
!head
|
|
1319
|
+
!no_move
|
|
1320
|
+
!short
|
|
1321
|
+
!len
|
|
1322
|
+
!count
|
|
1323
|
+
!deque
|
|
1324
|
+
return
|
|
1325
|
+
L_ROTATE_LEFT_DONE_SHORT:
|
|
1326
|
+
!short
|
|
1327
|
+
!len
|
|
1328
|
+
!count
|
|
1329
|
+
!deque
|
|
1330
|
+
return
|
|
1331
|
+
L_ROTATE_LEFT_DONE_RUN:
|
|
1332
|
+
!no_move
|
|
1333
|
+
!shift
|
|
1334
|
+
!short
|
|
1335
|
+
!len
|
|
1336
|
+
!count
|
|
1337
|
+
!deque
|
|
1338
|
+
return
|
|
1339
|
+
|
|
1340
|
+
@export sa_vec_deque_rotate_right(&deque: ptr, count: u64) -> void:
|
|
1341
|
+
L_ENTRY:
|
|
1342
|
+
len = load deque+VecDeque_len as u64
|
|
1343
|
+
short = ule len, 1
|
|
1344
|
+
br short -> L_ROTATE_RIGHT_DONE_SHORT, L_ROTATE_RIGHT_RUN
|
|
1345
|
+
L_ROTATE_RIGHT_RUN:
|
|
1346
|
+
shift = urem count, len
|
|
1347
|
+
back_shift = sub len, shift
|
|
1348
|
+
no_move = eq shift, 0
|
|
1349
|
+
br no_move -> L_ROTATE_RIGHT_DONE_RUN, L_ROTATE_RIGHT_BODY
|
|
1350
|
+
L_ROTATE_RIGHT_BODY:
|
|
1351
|
+
head = load deque+VecDeque_head as u64
|
|
1352
|
+
cap = load deque+VecDeque_cap as u64
|
|
1353
|
+
next_sum = add head, back_shift
|
|
1354
|
+
next_head = urem next_sum, cap
|
|
1355
|
+
store deque+VecDeque_head, next_head as u64
|
|
1356
|
+
!next_sum
|
|
1357
|
+
!next_head
|
|
1358
|
+
!back_shift
|
|
1359
|
+
!shift
|
|
1360
|
+
!cap
|
|
1361
|
+
!head
|
|
1362
|
+
!no_move
|
|
1363
|
+
!short
|
|
1364
|
+
!len
|
|
1365
|
+
!count
|
|
1366
|
+
!deque
|
|
1367
|
+
return
|
|
1368
|
+
L_ROTATE_RIGHT_DONE_SHORT:
|
|
1369
|
+
!short
|
|
1370
|
+
!len
|
|
1371
|
+
!count
|
|
1372
|
+
!deque
|
|
1373
|
+
return
|
|
1374
|
+
L_ROTATE_RIGHT_DONE_RUN:
|
|
1375
|
+
!no_move
|
|
1376
|
+
!back_shift
|
|
1377
|
+
!shift
|
|
1378
|
+
!short
|
|
1379
|
+
!len
|
|
1380
|
+
!count
|
|
1381
|
+
!deque
|
|
1382
|
+
return
|
|
1383
|
+
|
|
1384
|
+
@export sa_vec_deque_truncate(&deque: ptr, new_len: u64) -> void:
|
|
1385
|
+
L_ENTRY:
|
|
1386
|
+
len = load deque+VecDeque_len as u64
|
|
1387
|
+
should_shrink = ult new_len, len
|
|
1388
|
+
br should_shrink -> L_TRUNCATE_RUN, L_TRUNCATE_DONE
|
|
1389
|
+
|
|
1390
|
+
L_TRUNCATE_RUN:
|
|
1391
|
+
store deque+VecDeque_len, new_len as u64
|
|
1392
|
+
!should_shrink
|
|
1393
|
+
!len
|
|
1394
|
+
!new_len
|
|
1395
|
+
!deque
|
|
1396
|
+
return
|
|
1397
|
+
|
|
1398
|
+
L_TRUNCATE_DONE:
|
|
1399
|
+
!should_shrink
|
|
1400
|
+
!len
|
|
1401
|
+
!new_len
|
|
1402
|
+
!deque
|
|
1403
|
+
return
|
|
1404
|
+
|
|
1405
|
+
// Rust VecDeque::truncate_front: keep only the last `new_len` elements.
|
|
1406
|
+
@export sa_vec_deque_truncate_front(&deque: ptr, new_len: u64) -> void:
|
|
1407
|
+
L_ENTRY:
|
|
1408
|
+
target_slot = stack_alloc 8
|
|
1409
|
+
pop_slot = stack_alloc 8
|
|
1410
|
+
store target_slot+0, new_len as u64
|
|
1411
|
+
jmp L_TRUNCATE_FRONT_HEAD
|
|
1412
|
+
|
|
1413
|
+
L_TRUNCATE_FRONT_HEAD:
|
|
1414
|
+
len = load deque+VecDeque_len as u64
|
|
1415
|
+
target = load target_slot+0 as u64
|
|
1416
|
+
done = ule len, target
|
|
1417
|
+
br done -> L_TRUNCATE_FRONT_DONE, L_TRUNCATE_FRONT_BODY
|
|
1418
|
+
|
|
1419
|
+
L_TRUNCATE_FRONT_BODY:
|
|
1420
|
+
pop_ok = call @sa_vec_deque_try_pop_front(&deque, &pop_slot)
|
|
1421
|
+
!pop_ok
|
|
1422
|
+
!done
|
|
1423
|
+
!target
|
|
1424
|
+
!len
|
|
1425
|
+
jmp L_TRUNCATE_FRONT_HEAD
|
|
1426
|
+
|
|
1427
|
+
L_TRUNCATE_FRONT_DONE:
|
|
1428
|
+
!done
|
|
1429
|
+
!target
|
|
1430
|
+
!len
|
|
1431
|
+
!new_len
|
|
1432
|
+
!deque
|
|
1433
|
+
return
|
|
1434
|
+
|
|
1435
|
+
@export sa_vec_deque_try_split_off(&deque: ptr, index: u64, &out_deque_slot: ptr) -> i32:
|
|
1436
|
+
L_ENTRY:
|
|
1437
|
+
len = load deque+VecDeque_len as u64
|
|
1438
|
+
in_bounds = ule index, len
|
|
1439
|
+
br in_bounds -> L_SPLIT_READY, L_SPLIT_MISS
|
|
1440
|
+
|
|
1441
|
+
L_SPLIT_READY:
|
|
1442
|
+
tail_len = sub len, index
|
|
1443
|
+
out_deque = call @sa_vec_deque_with_capacity(tail_len)
|
|
1444
|
+
idx_slot = stack_alloc 8
|
|
1445
|
+
store idx_slot+0, 0 as u64
|
|
1446
|
+
jmp L_SPLIT_COPY_HEAD
|
|
1447
|
+
|
|
1448
|
+
L_SPLIT_COPY_HEAD:
|
|
1449
|
+
idx = load idx_slot+0 as u64
|
|
1450
|
+
done = eq idx, tail_len
|
|
1451
|
+
br done -> L_SPLIT_STORE, L_SPLIT_COPY_BODY
|
|
1452
|
+
|
|
1453
|
+
L_SPLIT_COPY_BODY:
|
|
1454
|
+
src_index = add index, idx
|
|
1455
|
+
value = call @sa_vec_deque_get(&deque, src_index)
|
|
1456
|
+
call @sa_vec_deque_push_back(&out_deque, value)
|
|
1457
|
+
next_idx = add idx, 1
|
|
1458
|
+
store idx_slot+0, next_idx as u64
|
|
1459
|
+
!next_idx
|
|
1460
|
+
!value
|
|
1461
|
+
!src_index
|
|
1462
|
+
!done
|
|
1463
|
+
!idx
|
|
1464
|
+
jmp L_SPLIT_COPY_HEAD
|
|
1465
|
+
|
|
1466
|
+
L_SPLIT_STORE:
|
|
1467
|
+
store deque+VecDeque_len, index as u64
|
|
1468
|
+
store out_deque_slot+0, out_deque as ptr
|
|
1469
|
+
!out_deque
|
|
1470
|
+
!done
|
|
1471
|
+
!idx
|
|
1472
|
+
!tail_len
|
|
1473
|
+
!in_bounds
|
|
1474
|
+
!len
|
|
1475
|
+
!index
|
|
1476
|
+
!out_deque_slot
|
|
1477
|
+
!deque
|
|
1478
|
+
return 1
|
|
1479
|
+
|
|
1480
|
+
L_SPLIT_MISS:
|
|
1481
|
+
store out_deque_slot+0, 0 as ptr
|
|
1482
|
+
!in_bounds
|
|
1483
|
+
!len
|
|
1484
|
+
!index
|
|
1485
|
+
!out_deque_slot
|
|
1486
|
+
!deque
|
|
1487
|
+
return 0
|
|
1488
|
+
|
|
1489
|
+
@export sa_vec_deque_append(&deque: ptr, &other: ptr) -> void:
|
|
1490
|
+
L_ENTRY:
|
|
1491
|
+
other_len = load other+VecDeque_len as u64
|
|
1492
|
+
call @sa_vec_deque_reserve(&deque, other_len)
|
|
1493
|
+
value_slot = stack_alloc 8
|
|
1494
|
+
!other_len
|
|
1495
|
+
jmp L_APPEND_LOOP
|
|
1496
|
+
|
|
1497
|
+
L_APPEND_LOOP:
|
|
1498
|
+
ok = call @sa_vec_deque_try_pop_front(&other, &value_slot)
|
|
1499
|
+
br ok -> L_APPEND_PUSH, L_APPEND_DONE
|
|
1500
|
+
|
|
1501
|
+
L_APPEND_PUSH:
|
|
1502
|
+
value = load value_slot+0 as u64
|
|
1503
|
+
call @sa_vec_deque_push_back(&deque, value)
|
|
1504
|
+
!value
|
|
1505
|
+
!ok
|
|
1506
|
+
jmp L_APPEND_LOOP
|
|
1507
|
+
|
|
1508
|
+
L_APPEND_DONE:
|
|
1509
|
+
!ok
|
|
1510
|
+
!other
|
|
1511
|
+
!deque
|
|
1512
|
+
return
|
|
1513
|
+
|
|
1514
|
+
[MACRO] VEC_DEQUE_NEW %out_deque
|
|
1515
|
+
%out_deque = call @sa_vec_deque_new()
|
|
1516
|
+
[END_MACRO]
|
|
1517
|
+
|
|
1518
|
+
[MACRO] VEC_DEQUE_WITH_CAPACITY %out_deque, %capacity
|
|
1519
|
+
%out_deque = call @sa_vec_deque_with_capacity(%capacity)
|
|
1520
|
+
[END_MACRO]
|
|
1521
|
+
|
|
1522
|
+
[MACRO] VEC_DEQUE_TRY_WITH_CAPACITY %out_ok, %out_deque, %capacity
|
|
1523
|
+
EXPAND VEC_DEQUE_WITH_CAPACITY %out_deque, %capacity
|
|
1524
|
+
%out_ok = ne %out_deque, 0
|
|
1525
|
+
[END_MACRO]
|
|
1526
|
+
|
|
1527
|
+
[MACRO] VEC_DEQUE_FREE %deque_reg
|
|
1528
|
+
call @sa_vec_deque_free(^%deque_reg)
|
|
1529
|
+
[END_MACRO]
|
|
1530
|
+
|
|
1531
|
+
[MACRO] VEC_DEQUE_LEN %out_len, %deque_reg
|
|
1532
|
+
%out_len = call @sa_vec_deque_len(&%deque_reg)
|
|
1533
|
+
[END_MACRO]
|
|
1534
|
+
|
|
1535
|
+
[MACRO] VEC_DEQUE_CAPACITY %out_cap, %deque_reg
|
|
1536
|
+
%out_cap = call @sa_vec_deque_capacity(&%deque_reg)
|
|
1537
|
+
[END_MACRO]
|
|
1538
|
+
|
|
1539
|
+
[MACRO] VEC_DEQUE_IS_EMPTY %out_flag, %deque_reg
|
|
1540
|
+
%out_flag = call @sa_vec_deque_is_empty(&%deque_reg)
|
|
1541
|
+
[END_MACRO]
|
|
1542
|
+
[MACRO] VEC_DEQUE_EXTRA_CAPACITY %out_extra, %deque_reg
|
|
1543
|
+
__vec_deque_ec_cap_%out_extra = call @sa_vec_deque_capacity(&%deque_reg)
|
|
1544
|
+
__vec_deque_ec_len_%out_extra = call @sa_vec_deque_len(&%deque_reg)
|
|
1545
|
+
%out_extra = sub __vec_deque_ec_cap_%out_extra, __vec_deque_ec_len_%out_extra
|
|
1546
|
+
!__vec_deque_ec_len_%out_extra
|
|
1547
|
+
!__vec_deque_ec_cap_%out_extra
|
|
1548
|
+
[END_MACRO]
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
[MACRO] VEC_DEQUE_GET %out_value, %deque_reg, %index
|
|
1552
|
+
%out_value = call @sa_vec_deque_get(&%deque_reg, %index)
|
|
1553
|
+
[END_MACRO]
|
|
1554
|
+
|
|
1555
|
+
[MACRO] VEC_DEQUE_TRY_GET %out_ok, %out_value, %deque_reg, %index
|
|
1556
|
+
__vec_deque_get_slot_%out_ok = stack_alloc 8
|
|
1557
|
+
__vec_deque_get_ok_%out_ok = call @sa_vec_deque_try_get(&%deque_reg, %index, &__vec_deque_get_slot_%out_ok)
|
|
1558
|
+
%out_value = load __vec_deque_get_slot_%out_ok+0 as u64
|
|
1559
|
+
%out_ok = __vec_deque_get_ok_%out_ok
|
|
1560
|
+
[END_MACRO]
|
|
1561
|
+
|
|
1562
|
+
[MACRO] VEC_DEQUE_TRY_GET_U64 %out_ok, %out_value, %deque_reg, %index
|
|
1563
|
+
EXPAND VEC_DEQUE_TRY_GET %out_ok, %out_value, %deque_reg, %index
|
|
1564
|
+
[END_MACRO]
|
|
1565
|
+
|
|
1566
|
+
[MACRO] VEC_DEQUE_GET_U64 %out_value, %deque_reg, %index
|
|
1567
|
+
EXPAND VEC_DEQUE_GET %out_value, %deque_reg, %index
|
|
1568
|
+
[END_MACRO]
|
|
1569
|
+
|
|
1570
|
+
[MACRO] VEC_DEQUE_TRY_GET_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index
|
|
1571
|
+
__vec_deque_get_mut_slot_%out_ok = stack_alloc 8
|
|
1572
|
+
__vec_deque_get_mut_ok_%out_ok = call @sa_vec_deque_try_get_mut_ptr(&%deque_reg, %index, &__vec_deque_get_mut_slot_%out_ok)
|
|
1573
|
+
%out_ptr = load __vec_deque_get_mut_slot_%out_ok+0 as ptr
|
|
1574
|
+
%out_ok = __vec_deque_get_mut_ok_%out_ok
|
|
1575
|
+
[END_MACRO]
|
|
1576
|
+
|
|
1577
|
+
[MACRO] VEC_DEQUE_GET_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index
|
|
1578
|
+
EXPAND VEC_DEQUE_TRY_GET_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index
|
|
1579
|
+
[END_MACRO]
|
|
1580
|
+
|
|
1581
|
+
[MACRO] VEC_DEQUE_GET_MUT %out_ok, %out_ptr, %deque_reg, %index
|
|
1582
|
+
EXPAND VEC_DEQUE_TRY_GET_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index
|
|
1583
|
+
[END_MACRO]
|
|
1584
|
+
|
|
1585
|
+
[MACRO] VEC_DEQUE_SET %out_ok, %deque_reg, %index, %value
|
|
1586
|
+
%out_ok = call @sa_vec_deque_set(&%deque_reg, %index, %value)
|
|
1587
|
+
[END_MACRO]
|
|
1588
|
+
|
|
1589
|
+
[MACRO] VEC_DEQUE_CONTAINS %out_bool, %deque_reg, %needle
|
|
1590
|
+
EXPAND VEC_DEQUE_CONTAINS_U64 %out_bool, %deque_reg, %needle
|
|
1591
|
+
[END_MACRO]
|
|
1592
|
+
|
|
1593
|
+
[MACRO] VEC_DEQUE_CONTAINS_U64 %out_bool, %deque_reg, %needle
|
|
1594
|
+
%out_bool = call @sa_vec_deque_contains(&%deque_reg, %needle)
|
|
1595
|
+
[END_MACRO]
|
|
1596
|
+
|
|
1597
|
+
[MACRO] VEC_DEQUE_SWAP %out_ok, %deque_reg, %left, %right
|
|
1598
|
+
%out_ok = call @sa_vec_deque_swap(&%deque_reg, %left, %right)
|
|
1599
|
+
[END_MACRO]
|
|
1600
|
+
|
|
1601
|
+
[MACRO] VEC_DEQUE_PUSH_BACK %deque_reg, %value
|
|
1602
|
+
call @sa_vec_deque_push_back(&%deque_reg, %value)
|
|
1603
|
+
[END_MACRO]
|
|
1604
|
+
|
|
1605
|
+
[MACRO] VEC_DEQUE_PUSH_BACK_MUT_PTR %out_ptr, %deque_reg, %value
|
|
1606
|
+
__vec_deque_push_back_mut_len_%out_ptr = call @sa_vec_deque_len(&%deque_reg)
|
|
1607
|
+
call @sa_vec_deque_push_back(&%deque_reg, %value)
|
|
1608
|
+
__vec_deque_push_back_mut_slot_%out_ptr = stack_alloc 8
|
|
1609
|
+
__vec_deque_push_back_mut_ok_%out_ptr = call @sa_vec_deque_try_get_mut_ptr(&%deque_reg, __vec_deque_push_back_mut_len_%out_ptr, &__vec_deque_push_back_mut_slot_%out_ptr)
|
|
1610
|
+
%out_ptr = load __vec_deque_push_back_mut_slot_%out_ptr+0 as ptr
|
|
1611
|
+
!__vec_deque_push_back_mut_ok_%out_ptr
|
|
1612
|
+
!__vec_deque_push_back_mut_len_%out_ptr
|
|
1613
|
+
[END_MACRO]
|
|
1614
|
+
|
|
1615
|
+
[MACRO] VEC_DEQUE_PUSH_BACK_MUT %out_ptr, %deque_reg, %value
|
|
1616
|
+
EXPAND VEC_DEQUE_PUSH_BACK_MUT_PTR %out_ptr, %deque_reg, %value
|
|
1617
|
+
[END_MACRO]
|
|
1618
|
+
|
|
1619
|
+
[MACRO] VEC_DEQUE_PUSH_FRONT %deque_reg, %value
|
|
1620
|
+
call @sa_vec_deque_push_front(&%deque_reg, %value)
|
|
1621
|
+
[END_MACRO]
|
|
1622
|
+
|
|
1623
|
+
[MACRO] VEC_DEQUE_PUSH_FRONT_MUT_PTR %out_ptr, %deque_reg, %value
|
|
1624
|
+
call @sa_vec_deque_push_front(&%deque_reg, %value)
|
|
1625
|
+
__vec_deque_push_front_mut_slot_%out_ptr = stack_alloc 8
|
|
1626
|
+
__vec_deque_push_front_mut_ok_%out_ptr = call @sa_vec_deque_try_front_mut_ptr(&%deque_reg, &__vec_deque_push_front_mut_slot_%out_ptr)
|
|
1627
|
+
%out_ptr = load __vec_deque_push_front_mut_slot_%out_ptr+0 as ptr
|
|
1628
|
+
!__vec_deque_push_front_mut_ok_%out_ptr
|
|
1629
|
+
[END_MACRO]
|
|
1630
|
+
|
|
1631
|
+
[MACRO] VEC_DEQUE_PUSH_FRONT_MUT %out_ptr, %deque_reg, %value
|
|
1632
|
+
EXPAND VEC_DEQUE_PUSH_FRONT_MUT_PTR %out_ptr, %deque_reg, %value
|
|
1633
|
+
[END_MACRO]
|
|
1634
|
+
|
|
1635
|
+
[MACRO] VEC_DEQUE_TRY_POP_FRONT %out_ok, %out_value, %deque_reg
|
|
1636
|
+
__vec_deque_value_slot_%out_ok = stack_alloc 8
|
|
1637
|
+
__vec_deque_ok_%out_ok = call @sa_vec_deque_try_pop_front(&%deque_reg, &__vec_deque_value_slot_%out_ok)
|
|
1638
|
+
%out_value = load __vec_deque_value_slot_%out_ok+0 as u64
|
|
1639
|
+
%out_ok = __vec_deque_ok_%out_ok
|
|
1640
|
+
[END_MACRO]
|
|
1641
|
+
|
|
1642
|
+
[MACRO] VEC_DEQUE_TRY_POP_BACK %out_ok, %out_value, %deque_reg
|
|
1643
|
+
__vec_deque_value_slot_%out_ok = stack_alloc 8
|
|
1644
|
+
__vec_deque_ok_%out_ok = call @sa_vec_deque_try_pop_back(&%deque_reg, &__vec_deque_value_slot_%out_ok)
|
|
1645
|
+
%out_value = load __vec_deque_value_slot_%out_ok+0 as u64
|
|
1646
|
+
%out_ok = __vec_deque_ok_%out_ok
|
|
1647
|
+
[END_MACRO]
|
|
1648
|
+
|
|
1649
|
+
[MACRO] VEC_DEQUE_TRY_POP_FRONT_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1650
|
+
__vec_deque_pop_front_if_pop_slot_%out_ok = stack_alloc 8
|
|
1651
|
+
__vec_deque_pop_front_if_ok_slot_%out_ok = stack_alloc 8
|
|
1652
|
+
store __vec_deque_pop_front_if_pop_slot_%out_ok+0, 0 as u64
|
|
1653
|
+
store __vec_deque_pop_front_if_ok_slot_%out_ok+0, 0 as u64
|
|
1654
|
+
EXPAND VEC_DEQUE_TRY_FRONT __vec_deque_pop_front_if_has_%out_ok, __vec_deque_pop_front_if_value_%out_ok, %deque_reg
|
|
1655
|
+
br __vec_deque_pop_front_if_has_%out_ok -> L_VEC_DEQUE_POP_FRONT_IF_CHECK_%out_ok, L_VEC_DEQUE_POP_FRONT_IF_EMPTY_%out_ok
|
|
1656
|
+
|
|
1657
|
+
L_VEC_DEQUE_POP_FRONT_IF_CHECK_%out_ok:
|
|
1658
|
+
__vec_deque_pop_front_if_pred_%out_ok = call %pred_fn(__vec_deque_pop_front_if_value_%out_ok)
|
|
1659
|
+
__vec_deque_pop_front_if_take_%out_ok = ne __vec_deque_pop_front_if_pred_%out_ok, 0
|
|
1660
|
+
br __vec_deque_pop_front_if_take_%out_ok -> L_VEC_DEQUE_POP_FRONT_IF_TAKE_%out_ok, L_VEC_DEQUE_POP_FRONT_IF_KEEP_%out_ok
|
|
1661
|
+
|
|
1662
|
+
L_VEC_DEQUE_POP_FRONT_IF_TAKE_%out_ok:
|
|
1663
|
+
__vec_deque_pop_front_if_pop_ok_%out_ok = call @sa_vec_deque_try_pop_front(&%deque_reg, &__vec_deque_pop_front_if_pop_slot_%out_ok)
|
|
1664
|
+
store __vec_deque_pop_front_if_ok_slot_%out_ok+0, __vec_deque_pop_front_if_pop_ok_%out_ok as u64
|
|
1665
|
+
!__vec_deque_pop_front_if_pop_ok_%out_ok
|
|
1666
|
+
!__vec_deque_pop_front_if_take_%out_ok
|
|
1667
|
+
!__vec_deque_pop_front_if_pred_%out_ok
|
|
1668
|
+
!__vec_deque_pop_front_if_value_%out_ok
|
|
1669
|
+
!__vec_deque_pop_front_if_has_%out_ok
|
|
1670
|
+
jmp L_VEC_DEQUE_POP_FRONT_IF_END_%out_ok
|
|
1671
|
+
|
|
1672
|
+
L_VEC_DEQUE_POP_FRONT_IF_KEEP_%out_ok:
|
|
1673
|
+
store __vec_deque_pop_front_if_ok_slot_%out_ok+0, 0 as u64
|
|
1674
|
+
store __vec_deque_pop_front_if_pop_slot_%out_ok+0, 0 as u64
|
|
1675
|
+
!__vec_deque_pop_front_if_take_%out_ok
|
|
1676
|
+
!__vec_deque_pop_front_if_pred_%out_ok
|
|
1677
|
+
!__vec_deque_pop_front_if_value_%out_ok
|
|
1678
|
+
!__vec_deque_pop_front_if_has_%out_ok
|
|
1679
|
+
jmp L_VEC_DEQUE_POP_FRONT_IF_END_%out_ok
|
|
1680
|
+
|
|
1681
|
+
L_VEC_DEQUE_POP_FRONT_IF_EMPTY_%out_ok:
|
|
1682
|
+
store __vec_deque_pop_front_if_ok_slot_%out_ok+0, 0 as u64
|
|
1683
|
+
store __vec_deque_pop_front_if_pop_slot_%out_ok+0, 0 as u64
|
|
1684
|
+
!__vec_deque_pop_front_if_value_%out_ok
|
|
1685
|
+
!__vec_deque_pop_front_if_has_%out_ok
|
|
1686
|
+
|
|
1687
|
+
L_VEC_DEQUE_POP_FRONT_IF_END_%out_ok:
|
|
1688
|
+
%out_value = load __vec_deque_pop_front_if_pop_slot_%out_ok+0 as u64
|
|
1689
|
+
%out_ok = load __vec_deque_pop_front_if_ok_slot_%out_ok+0 as u64
|
|
1690
|
+
[END_MACRO]
|
|
1691
|
+
|
|
1692
|
+
// Rust method-name alias over VEC_DEQUE_TRY_POP_FRONT_IF_U64.
|
|
1693
|
+
[MACRO] VEC_DEQUE_TRY_POP_FRONT_IF %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1694
|
+
EXPAND VEC_DEQUE_TRY_POP_FRONT_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1695
|
+
[END_MACRO]
|
|
1696
|
+
|
|
1697
|
+
[MACRO] VEC_DEQUE_POP_FRONT_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1698
|
+
EXPAND VEC_DEQUE_TRY_POP_FRONT_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1699
|
+
[END_MACRO]
|
|
1700
|
+
|
|
1701
|
+
// Rust method-name alias: VecDeque::pop_front_if.
|
|
1702
|
+
[MACRO] VEC_DEQUE_POP_FRONT_IF %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1703
|
+
EXPAND VEC_DEQUE_TRY_POP_FRONT_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1704
|
+
[END_MACRO]
|
|
1705
|
+
|
|
1706
|
+
[MACRO] VEC_DEQUE_TRY_POP_BACK_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1707
|
+
__vec_deque_pop_back_if_pop_slot_%out_ok = stack_alloc 8
|
|
1708
|
+
__vec_deque_pop_back_if_ok_slot_%out_ok = stack_alloc 8
|
|
1709
|
+
store __vec_deque_pop_back_if_pop_slot_%out_ok+0, 0 as u64
|
|
1710
|
+
store __vec_deque_pop_back_if_ok_slot_%out_ok+0, 0 as u64
|
|
1711
|
+
EXPAND VEC_DEQUE_TRY_BACK __vec_deque_pop_back_if_has_%out_ok, __vec_deque_pop_back_if_value_%out_ok, %deque_reg
|
|
1712
|
+
br __vec_deque_pop_back_if_has_%out_ok -> L_VEC_DEQUE_POP_BACK_IF_CHECK_%out_ok, L_VEC_DEQUE_POP_BACK_IF_EMPTY_%out_ok
|
|
1713
|
+
|
|
1714
|
+
L_VEC_DEQUE_POP_BACK_IF_CHECK_%out_ok:
|
|
1715
|
+
__vec_deque_pop_back_if_pred_%out_ok = call %pred_fn(__vec_deque_pop_back_if_value_%out_ok)
|
|
1716
|
+
__vec_deque_pop_back_if_take_%out_ok = ne __vec_deque_pop_back_if_pred_%out_ok, 0
|
|
1717
|
+
br __vec_deque_pop_back_if_take_%out_ok -> L_VEC_DEQUE_POP_BACK_IF_TAKE_%out_ok, L_VEC_DEQUE_POP_BACK_IF_KEEP_%out_ok
|
|
1718
|
+
|
|
1719
|
+
L_VEC_DEQUE_POP_BACK_IF_TAKE_%out_ok:
|
|
1720
|
+
__vec_deque_pop_back_if_pop_ok_%out_ok = call @sa_vec_deque_try_pop_back(&%deque_reg, &__vec_deque_pop_back_if_pop_slot_%out_ok)
|
|
1721
|
+
store __vec_deque_pop_back_if_ok_slot_%out_ok+0, __vec_deque_pop_back_if_pop_ok_%out_ok as u64
|
|
1722
|
+
!__vec_deque_pop_back_if_pop_ok_%out_ok
|
|
1723
|
+
!__vec_deque_pop_back_if_take_%out_ok
|
|
1724
|
+
!__vec_deque_pop_back_if_pred_%out_ok
|
|
1725
|
+
!__vec_deque_pop_back_if_value_%out_ok
|
|
1726
|
+
!__vec_deque_pop_back_if_has_%out_ok
|
|
1727
|
+
jmp L_VEC_DEQUE_POP_BACK_IF_END_%out_ok
|
|
1728
|
+
|
|
1729
|
+
L_VEC_DEQUE_POP_BACK_IF_KEEP_%out_ok:
|
|
1730
|
+
store __vec_deque_pop_back_if_ok_slot_%out_ok+0, 0 as u64
|
|
1731
|
+
store __vec_deque_pop_back_if_pop_slot_%out_ok+0, 0 as u64
|
|
1732
|
+
!__vec_deque_pop_back_if_take_%out_ok
|
|
1733
|
+
!__vec_deque_pop_back_if_pred_%out_ok
|
|
1734
|
+
!__vec_deque_pop_back_if_value_%out_ok
|
|
1735
|
+
!__vec_deque_pop_back_if_has_%out_ok
|
|
1736
|
+
jmp L_VEC_DEQUE_POP_BACK_IF_END_%out_ok
|
|
1737
|
+
|
|
1738
|
+
L_VEC_DEQUE_POP_BACK_IF_EMPTY_%out_ok:
|
|
1739
|
+
store __vec_deque_pop_back_if_ok_slot_%out_ok+0, 0 as u64
|
|
1740
|
+
store __vec_deque_pop_back_if_pop_slot_%out_ok+0, 0 as u64
|
|
1741
|
+
!__vec_deque_pop_back_if_value_%out_ok
|
|
1742
|
+
!__vec_deque_pop_back_if_has_%out_ok
|
|
1743
|
+
|
|
1744
|
+
L_VEC_DEQUE_POP_BACK_IF_END_%out_ok:
|
|
1745
|
+
%out_value = load __vec_deque_pop_back_if_pop_slot_%out_ok+0 as u64
|
|
1746
|
+
%out_ok = load __vec_deque_pop_back_if_ok_slot_%out_ok+0 as u64
|
|
1747
|
+
[END_MACRO]
|
|
1748
|
+
|
|
1749
|
+
// Rust method-name alias over VEC_DEQUE_TRY_POP_BACK_IF_U64.
|
|
1750
|
+
[MACRO] VEC_DEQUE_TRY_POP_BACK_IF %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1751
|
+
EXPAND VEC_DEQUE_TRY_POP_BACK_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1752
|
+
[END_MACRO]
|
|
1753
|
+
|
|
1754
|
+
[MACRO] VEC_DEQUE_POP_BACK_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1755
|
+
EXPAND VEC_DEQUE_TRY_POP_BACK_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1756
|
+
[END_MACRO]
|
|
1757
|
+
|
|
1758
|
+
// Rust method-name alias: VecDeque::pop_back_if.
|
|
1759
|
+
[MACRO] VEC_DEQUE_POP_BACK_IF %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1760
|
+
EXPAND VEC_DEQUE_TRY_POP_BACK_IF_U64 %out_ok, %out_value, %deque_reg, %pred_fn
|
|
1761
|
+
[END_MACRO]
|
|
1762
|
+
|
|
1763
|
+
[MACRO] VEC_DEQUE_ROTATE_LEFT %deque_reg, %count
|
|
1764
|
+
call @sa_vec_deque_rotate_left(&%deque_reg, %count)
|
|
1765
|
+
[END_MACRO]
|
|
1766
|
+
|
|
1767
|
+
[MACRO] VEC_DEQUE_ROTATE_RIGHT %deque_reg, %count
|
|
1768
|
+
call @sa_vec_deque_rotate_right(&%deque_reg, %count)
|
|
1769
|
+
[END_MACRO]
|
|
1770
|
+
|
|
1771
|
+
[MACRO] VEC_DEQUE_FRONT %out_value, %deque_reg
|
|
1772
|
+
%out_value = call @sa_vec_deque_front(&%deque_reg)
|
|
1773
|
+
[END_MACRO]
|
|
1774
|
+
|
|
1775
|
+
[MACRO] VEC_DEQUE_TRY_FRONT %out_ok, %out_value, %deque_reg
|
|
1776
|
+
__vec_deque_front_slot_%out_ok = stack_alloc 8
|
|
1777
|
+
__vec_deque_front_ok_%out_ok = call @sa_vec_deque_try_front(&%deque_reg, &__vec_deque_front_slot_%out_ok)
|
|
1778
|
+
%out_value = load __vec_deque_front_slot_%out_ok+0 as u64
|
|
1779
|
+
%out_ok = __vec_deque_front_ok_%out_ok
|
|
1780
|
+
[END_MACRO]
|
|
1781
|
+
|
|
1782
|
+
[MACRO] VEC_DEQUE_BACK %out_value, %deque_reg
|
|
1783
|
+
%out_value = call @sa_vec_deque_back(&%deque_reg)
|
|
1784
|
+
[END_MACRO]
|
|
1785
|
+
|
|
1786
|
+
[MACRO] VEC_DEQUE_TRY_BACK %out_ok, %out_value, %deque_reg
|
|
1787
|
+
__vec_deque_back_slot_%out_ok = stack_alloc 8
|
|
1788
|
+
__vec_deque_back_ok_%out_ok = call @sa_vec_deque_try_back(&%deque_reg, &__vec_deque_back_slot_%out_ok)
|
|
1789
|
+
%out_value = load __vec_deque_back_slot_%out_ok+0 as u64
|
|
1790
|
+
%out_ok = __vec_deque_back_ok_%out_ok
|
|
1791
|
+
[END_MACRO]
|
|
1792
|
+
|
|
1793
|
+
[MACRO] VEC_DEQUE_FRONT_U64 %out_value, %deque_reg
|
|
1794
|
+
EXPAND VEC_DEQUE_FRONT %out_value, %deque_reg
|
|
1795
|
+
[END_MACRO]
|
|
1796
|
+
|
|
1797
|
+
[MACRO] VEC_DEQUE_TRY_FRONT_U64 %out_ok, %out_value, %deque_reg
|
|
1798
|
+
EXPAND VEC_DEQUE_TRY_FRONT %out_ok, %out_value, %deque_reg
|
|
1799
|
+
[END_MACRO]
|
|
1800
|
+
|
|
1801
|
+
[MACRO] VEC_DEQUE_BACK_U64 %out_value, %deque_reg
|
|
1802
|
+
EXPAND VEC_DEQUE_BACK %out_value, %deque_reg
|
|
1803
|
+
[END_MACRO]
|
|
1804
|
+
|
|
1805
|
+
[MACRO] VEC_DEQUE_TRY_BACK_U64 %out_ok, %out_value, %deque_reg
|
|
1806
|
+
EXPAND VEC_DEQUE_TRY_BACK %out_ok, %out_value, %deque_reg
|
|
1807
|
+
[END_MACRO]
|
|
1808
|
+
|
|
1809
|
+
[MACRO] VEC_DEQUE_CLEAR %deque_reg
|
|
1810
|
+
call @sa_vec_deque_clear(&%deque_reg)
|
|
1811
|
+
[END_MACRO]
|
|
1812
|
+
|
|
1813
|
+
[MACRO] VEC_DEQUE_DRAIN_U64 %out_vec, %deque_reg
|
|
1814
|
+
__vec_deque_drain_len_%out_vec = load %deque_reg+VecDeque_len as u64
|
|
1815
|
+
EXPAND VEC_WITH_CAPACITY_U64 %out_vec, __vec_deque_drain_len_%out_vec
|
|
1816
|
+
__vec_deque_drain_idx_slot_%out_vec = stack_alloc 8
|
|
1817
|
+
store __vec_deque_drain_idx_slot_%out_vec+0, 0 as u64
|
|
1818
|
+
jmp L_VEC_DEQUE_DRAIN_HEAD_%out_vec
|
|
1819
|
+
|
|
1820
|
+
L_VEC_DEQUE_DRAIN_HEAD_%out_vec:
|
|
1821
|
+
__vec_deque_drain_idx_%out_vec = load __vec_deque_drain_idx_slot_%out_vec+0 as u64
|
|
1822
|
+
__vec_deque_drain_done_%out_vec = eq __vec_deque_drain_idx_%out_vec, __vec_deque_drain_len_%out_vec
|
|
1823
|
+
br __vec_deque_drain_done_%out_vec -> L_VEC_DEQUE_DRAIN_DONE_%out_vec, L_VEC_DEQUE_DRAIN_BODY_%out_vec
|
|
1824
|
+
|
|
1825
|
+
L_VEC_DEQUE_DRAIN_BODY_%out_vec:
|
|
1826
|
+
__vec_deque_drain_value_%out_vec = call @sa_vec_deque_get(&%deque_reg, __vec_deque_drain_idx_%out_vec)
|
|
1827
|
+
EXPAND VEC_PUSH_U64 %out_vec, __vec_deque_drain_value_%out_vec
|
|
1828
|
+
__vec_deque_drain_next_%out_vec = add __vec_deque_drain_idx_%out_vec, 1
|
|
1829
|
+
store __vec_deque_drain_idx_slot_%out_vec+0, __vec_deque_drain_next_%out_vec as u64
|
|
1830
|
+
!__vec_deque_drain_next_%out_vec
|
|
1831
|
+
!__vec_deque_drain_value_%out_vec
|
|
1832
|
+
!__vec_deque_drain_done_%out_vec
|
|
1833
|
+
!__vec_deque_drain_idx_%out_vec
|
|
1834
|
+
jmp L_VEC_DEQUE_DRAIN_HEAD_%out_vec
|
|
1835
|
+
|
|
1836
|
+
L_VEC_DEQUE_DRAIN_DONE_%out_vec:
|
|
1837
|
+
call @sa_vec_deque_clear(&%deque_reg)
|
|
1838
|
+
!__vec_deque_drain_done_%out_vec
|
|
1839
|
+
!__vec_deque_drain_idx_%out_vec
|
|
1840
|
+
!__vec_deque_drain_len_%out_vec
|
|
1841
|
+
[END_MACRO]
|
|
1842
|
+
|
|
1843
|
+
// Rust method-name alias over VEC_DEQUE_DRAIN_U64.
|
|
1844
|
+
[MACRO] VEC_DEQUE_DRAIN %out_vec, %deque_reg
|
|
1845
|
+
EXPAND VEC_DEQUE_DRAIN_U64 %out_vec, %deque_reg
|
|
1846
|
+
[END_MACRO]
|
|
1847
|
+
|
|
1848
|
+
[MACRO] VEC_DEQUE_TRY_DRAIN_RANGE_U64 %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1849
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS __vec_deque_drain_range_slice_%out_ok, %deque_reg
|
|
1850
|
+
EXPAND VEC_FROM_SLICE_U64 __vec_deque_drain_range_vec_%out_ok, __vec_deque_drain_range_slice_%out_ok
|
|
1851
|
+
EXPAND VEC_DRAIN_U64 %out_ok, %out_vec, __vec_deque_drain_range_vec_%out_ok, %start, %length
|
|
1852
|
+
__vec_deque_drain_range_hit_%out_ok = ne %out_ok, 0
|
|
1853
|
+
br __vec_deque_drain_range_hit_%out_ok -> L_VEC_DEQUE_DRAIN_RANGE_REBUILD_%out_ok, L_VEC_DEQUE_DRAIN_RANGE_MISS_%out_ok
|
|
1854
|
+
|
|
1855
|
+
L_VEC_DEQUE_DRAIN_RANGE_REBUILD_%out_ok:
|
|
1856
|
+
EXPAND VEC_DEQUE_CLEAR %deque_reg
|
|
1857
|
+
EXPAND VEC_LEN __vec_deque_drain_range_new_len_%out_ok, __vec_deque_drain_range_vec_%out_ok
|
|
1858
|
+
__vec_deque_drain_range_idx_slot_%out_ok = stack_alloc 8
|
|
1859
|
+
store __vec_deque_drain_range_idx_slot_%out_ok+0, 0 as u64
|
|
1860
|
+
jmp L_VEC_DEQUE_DRAIN_RANGE_COPY_HEAD_%out_ok
|
|
1861
|
+
|
|
1862
|
+
L_VEC_DEQUE_DRAIN_RANGE_COPY_HEAD_%out_ok:
|
|
1863
|
+
__vec_deque_drain_range_idx_%out_ok = load __vec_deque_drain_range_idx_slot_%out_ok+0 as u64
|
|
1864
|
+
__vec_deque_drain_range_copy_done_%out_ok = eq __vec_deque_drain_range_idx_%out_ok, __vec_deque_drain_range_new_len_%out_ok
|
|
1865
|
+
br __vec_deque_drain_range_copy_done_%out_ok -> L_VEC_DEQUE_DRAIN_RANGE_COPY_END_%out_ok, L_VEC_DEQUE_DRAIN_RANGE_COPY_BODY_%out_ok
|
|
1866
|
+
|
|
1867
|
+
L_VEC_DEQUE_DRAIN_RANGE_COPY_BODY_%out_ok:
|
|
1868
|
+
EXPAND VEC_GET_U64 __vec_deque_drain_range_value_%out_ok, __vec_deque_drain_range_vec_%out_ok, __vec_deque_drain_range_idx_%out_ok
|
|
1869
|
+
EXPAND VEC_DEQUE_PUSH_BACK %deque_reg, __vec_deque_drain_range_value_%out_ok
|
|
1870
|
+
__vec_deque_drain_range_next_%out_ok = add __vec_deque_drain_range_idx_%out_ok, 1
|
|
1871
|
+
store __vec_deque_drain_range_idx_slot_%out_ok+0, __vec_deque_drain_range_next_%out_ok as u64
|
|
1872
|
+
!__vec_deque_drain_range_next_%out_ok
|
|
1873
|
+
!__vec_deque_drain_range_value_%out_ok
|
|
1874
|
+
!__vec_deque_drain_range_copy_done_%out_ok
|
|
1875
|
+
!__vec_deque_drain_range_idx_%out_ok
|
|
1876
|
+
jmp L_VEC_DEQUE_DRAIN_RANGE_COPY_HEAD_%out_ok
|
|
1877
|
+
|
|
1878
|
+
L_VEC_DEQUE_DRAIN_RANGE_COPY_END_%out_ok:
|
|
1879
|
+
!__vec_deque_drain_range_copy_done_%out_ok
|
|
1880
|
+
!__vec_deque_drain_range_idx_%out_ok
|
|
1881
|
+
!__vec_deque_drain_range_new_len_%out_ok
|
|
1882
|
+
!__vec_deque_drain_range_hit_%out_ok
|
|
1883
|
+
jmp L_VEC_DEQUE_DRAIN_RANGE_DONE_%out_ok
|
|
1884
|
+
|
|
1885
|
+
L_VEC_DEQUE_DRAIN_RANGE_MISS_%out_ok:
|
|
1886
|
+
!__vec_deque_drain_range_hit_%out_ok
|
|
1887
|
+
jmp L_VEC_DEQUE_DRAIN_RANGE_DONE_%out_ok
|
|
1888
|
+
|
|
1889
|
+
L_VEC_DEQUE_DRAIN_RANGE_DONE_%out_ok:
|
|
1890
|
+
EXPAND VEC_FREE __vec_deque_drain_range_vec_%out_ok
|
|
1891
|
+
!__vec_deque_drain_range_slice_%out_ok
|
|
1892
|
+
[END_MACRO]
|
|
1893
|
+
|
|
1894
|
+
// Rust method-name alias over VEC_DEQUE_TRY_DRAIN_RANGE_U64.
|
|
1895
|
+
[MACRO] VEC_DEQUE_TRY_DRAIN_RANGE %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1896
|
+
EXPAND VEC_DEQUE_TRY_DRAIN_RANGE_U64 %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1897
|
+
[END_MACRO]
|
|
1898
|
+
|
|
1899
|
+
[MACRO] VEC_DEQUE_DRAIN_RANGE_U64 %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1900
|
+
EXPAND VEC_DEQUE_TRY_DRAIN_RANGE_U64 %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1901
|
+
[END_MACRO]
|
|
1902
|
+
|
|
1903
|
+
// Rust method-name alias over VEC_DEQUE_DRAIN_RANGE_U64.
|
|
1904
|
+
[MACRO] VEC_DEQUE_DRAIN_RANGE %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1905
|
+
EXPAND VEC_DEQUE_DRAIN_RANGE_U64 %out_ok, %out_vec, %deque_reg, %start, %length
|
|
1906
|
+
[END_MACRO]
|
|
1907
|
+
|
|
1908
|
+
// Concrete iterator facades use an explicit front-to-back backing Vec. The
|
|
1909
|
+
// borrowed form snapshots values; the consuming form drains the deque.
|
|
1910
|
+
[MACRO] VEC_DEQUE_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1911
|
+
__vec_deque_iter_len_%out_iter = load %deque_reg+VecDeque_len as u64
|
|
1912
|
+
EXPAND VEC_WITH_CAPACITY_U64 %out_vec, __vec_deque_iter_len_%out_iter
|
|
1913
|
+
__vec_deque_iter_idx_slot_%out_iter = stack_alloc 8
|
|
1914
|
+
store __vec_deque_iter_idx_slot_%out_iter+0, 0 as u64
|
|
1915
|
+
jmp L_VEC_DEQUE_ITER_HEAD_%out_iter
|
|
1916
|
+
L_VEC_DEQUE_ITER_HEAD_%out_iter:
|
|
1917
|
+
__vec_deque_iter_idx_%out_iter = load __vec_deque_iter_idx_slot_%out_iter+0 as u64
|
|
1918
|
+
__vec_deque_iter_done_%out_iter = eq __vec_deque_iter_idx_%out_iter, __vec_deque_iter_len_%out_iter
|
|
1919
|
+
br __vec_deque_iter_done_%out_iter -> L_VEC_DEQUE_ITER_BUILD_%out_iter, L_VEC_DEQUE_ITER_BODY_%out_iter
|
|
1920
|
+
L_VEC_DEQUE_ITER_BODY_%out_iter:
|
|
1921
|
+
__vec_deque_iter_value_%out_iter = call @sa_vec_deque_get(&%deque_reg, __vec_deque_iter_idx_%out_iter)
|
|
1922
|
+
EXPAND VEC_PUSH_U64 %out_vec, __vec_deque_iter_value_%out_iter
|
|
1923
|
+
__vec_deque_iter_next_%out_iter = add __vec_deque_iter_idx_%out_iter, 1
|
|
1924
|
+
store __vec_deque_iter_idx_slot_%out_iter+0, __vec_deque_iter_next_%out_iter as u64
|
|
1925
|
+
!__vec_deque_iter_next_%out_iter
|
|
1926
|
+
!__vec_deque_iter_value_%out_iter
|
|
1927
|
+
!__vec_deque_iter_done_%out_iter
|
|
1928
|
+
!__vec_deque_iter_idx_%out_iter
|
|
1929
|
+
jmp L_VEC_DEQUE_ITER_HEAD_%out_iter
|
|
1930
|
+
L_VEC_DEQUE_ITER_BUILD_%out_iter:
|
|
1931
|
+
EXPAND VEC_AS_SLICE __vec_deque_iter_slice_%out_iter, %out_vec
|
|
1932
|
+
EXPAND ITER_FROM_SLICE %out_iter, __vec_deque_iter_slice_%out_iter
|
|
1933
|
+
!__vec_deque_iter_slice_%out_iter
|
|
1934
|
+
!__vec_deque_iter_done_%out_iter
|
|
1935
|
+
!__vec_deque_iter_idx_%out_iter
|
|
1936
|
+
!__vec_deque_iter_len_%out_iter
|
|
1937
|
+
[END_MACRO]
|
|
1938
|
+
|
|
1939
|
+
// Rust method-name alias over VEC_DEQUE_ITER_U64.
|
|
1940
|
+
[MACRO] VEC_DEQUE_ITER %out_iter, %out_vec, %deque_reg
|
|
1941
|
+
EXPAND VEC_DEQUE_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1942
|
+
[END_MACRO]
|
|
1943
|
+
|
|
1944
|
+
[MACRO] VEC_DEQUE_ITER_MUT_U64 %out_iter, %out_slice, %deque_reg
|
|
1945
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS %out_slice, %deque_reg
|
|
1946
|
+
EXPAND ITER_FROM_SLICE %out_iter, %out_slice
|
|
1947
|
+
[END_MACRO]
|
|
1948
|
+
|
|
1949
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_U64.
|
|
1950
|
+
[MACRO] VEC_DEQUE_ITER_MUT %out_iter, %out_slice, %deque_reg
|
|
1951
|
+
EXPAND VEC_DEQUE_ITER_MUT_U64 %out_iter, %out_slice, %deque_reg
|
|
1952
|
+
[END_MACRO]
|
|
1953
|
+
|
|
1954
|
+
[MACRO] VEC_DEQUE_REF_INTO_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1955
|
+
EXPAND VEC_DEQUE_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1956
|
+
[END_MACRO]
|
|
1957
|
+
|
|
1958
|
+
// Rust method-name alias over VEC_DEQUE_REF_INTO_ITER_U64.
|
|
1959
|
+
[MACRO] VEC_DEQUE_REF_INTO_ITER %out_iter, %out_vec, %deque_reg
|
|
1960
|
+
EXPAND VEC_DEQUE_REF_INTO_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1961
|
+
[END_MACRO]
|
|
1962
|
+
|
|
1963
|
+
[MACRO] VEC_DEQUE_MUT_REF_INTO_ITER_U64 %out_iter, %out_slice, %deque_reg
|
|
1964
|
+
EXPAND VEC_DEQUE_ITER_MUT_U64 %out_iter, %out_slice, %deque_reg
|
|
1965
|
+
[END_MACRO]
|
|
1966
|
+
|
|
1967
|
+
// Rust method-name alias over VEC_DEQUE_MUT_REF_INTO_ITER_U64.
|
|
1968
|
+
[MACRO] VEC_DEQUE_MUT_REF_INTO_ITER %out_iter, %out_slice, %deque_reg
|
|
1969
|
+
EXPAND VEC_DEQUE_MUT_REF_INTO_ITER_U64 %out_iter, %out_slice, %deque_reg
|
|
1970
|
+
[END_MACRO]
|
|
1971
|
+
|
|
1972
|
+
[MACRO] VEC_DEQUE_INTO_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1973
|
+
EXPAND VEC_DEQUE_DRAIN_U64 %out_vec, %deque_reg
|
|
1974
|
+
EXPAND VEC_AS_SLICE __vec_deque_into_iter_slice_%out_iter, %out_vec
|
|
1975
|
+
EXPAND ITER_FROM_SLICE %out_iter, __vec_deque_into_iter_slice_%out_iter
|
|
1976
|
+
!__vec_deque_into_iter_slice_%out_iter
|
|
1977
|
+
[END_MACRO]
|
|
1978
|
+
|
|
1979
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_U64.
|
|
1980
|
+
[MACRO] VEC_DEQUE_INTO_ITER %out_iter, %out_vec, %deque_reg
|
|
1981
|
+
EXPAND VEC_DEQUE_INTO_ITER_U64 %out_iter, %out_vec, %deque_reg
|
|
1982
|
+
[END_MACRO]
|
|
1983
|
+
|
|
1984
|
+
[MACRO] VEC_DEQUE_ITER_DEFAULT_U64 %out_iter
|
|
1985
|
+
__vec_deque_iter_default_slice_%out_iter = stack_alloc Slice_SIZE
|
|
1986
|
+
EXPAND SLICE_NEW __vec_deque_iter_default_slice_%out_iter, 0, 0
|
|
1987
|
+
EXPAND ITER_FROM_SLICE %out_iter, __vec_deque_iter_default_slice_%out_iter
|
|
1988
|
+
[END_MACRO]
|
|
1989
|
+
|
|
1990
|
+
// Rust method-name alias over VEC_DEQUE_ITER_DEFAULT_U64.
|
|
1991
|
+
[MACRO] VEC_DEQUE_ITER_DEFAULT %out_iter
|
|
1992
|
+
EXPAND VEC_DEQUE_ITER_DEFAULT_U64 %out_iter
|
|
1993
|
+
[END_MACRO]
|
|
1994
|
+
|
|
1995
|
+
[MACRO] VEC_DEQUE_ITER_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
1996
|
+
EXPAND ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
1997
|
+
[END_MACRO]
|
|
1998
|
+
|
|
1999
|
+
// Rust method-name alias over VEC_DEQUE_ITER_AS_REF_SLICE_U64.
|
|
2000
|
+
[MACRO] VEC_DEQUE_ITER_AS_REF_SLICE %out_slice, %iter_reg
|
|
2001
|
+
EXPAND VEC_DEQUE_ITER_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
2002
|
+
[END_MACRO]
|
|
2003
|
+
|
|
2004
|
+
[MACRO] VEC_DEQUE_ITER_MUT_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
2005
|
+
EXPAND ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2006
|
+
[END_MACRO]
|
|
2007
|
+
|
|
2008
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_AS_REF_SLICE_U64.
|
|
2009
|
+
[MACRO] VEC_DEQUE_ITER_MUT_AS_REF_SLICE %out_slice, %iter_reg
|
|
2010
|
+
EXPAND VEC_DEQUE_ITER_MUT_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
2011
|
+
[END_MACRO]
|
|
2012
|
+
|
|
2013
|
+
[MACRO] VEC_DEQUE_ITER_MUT_AS_MUT_SLICE_U64 %out_slice, %iter_reg
|
|
2014
|
+
EXPAND ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2015
|
+
[END_MACRO]
|
|
2016
|
+
|
|
2017
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_AS_MUT_SLICE_U64.
|
|
2018
|
+
[MACRO] VEC_DEQUE_ITER_MUT_AS_MUT_SLICE %out_slice, %iter_reg
|
|
2019
|
+
EXPAND VEC_DEQUE_ITER_MUT_AS_MUT_SLICE_U64 %out_slice, %iter_reg
|
|
2020
|
+
[END_MACRO]
|
|
2021
|
+
|
|
2022
|
+
[MACRO] VEC_DEQUE_ITER_CLONE_U64 %out_iter, %iter_reg
|
|
2023
|
+
EXPAND ITER_CLONE %out_iter, %iter_reg
|
|
2024
|
+
[END_MACRO]
|
|
2025
|
+
|
|
2026
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CLONE_U64.
|
|
2027
|
+
[MACRO] VEC_DEQUE_ITER_CLONE %out_iter, %iter_reg
|
|
2028
|
+
EXPAND VEC_DEQUE_ITER_CLONE_U64 %out_iter, %iter_reg
|
|
2029
|
+
[END_MACRO]
|
|
2030
|
+
|
|
2031
|
+
[MACRO] VEC_DEQUE_INTO_ITER_DEFAULT_U64 %out_iter, %out_vec
|
|
2032
|
+
EXPAND VEC_INTO_ITER_DEFAULT_U64 %out_iter, %out_vec
|
|
2033
|
+
[END_MACRO]
|
|
2034
|
+
|
|
2035
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_DEFAULT_U64.
|
|
2036
|
+
[MACRO] VEC_DEQUE_INTO_ITER_DEFAULT %out_iter, %out_vec
|
|
2037
|
+
EXPAND VEC_DEQUE_INTO_ITER_DEFAULT_U64 %out_iter, %out_vec
|
|
2038
|
+
[END_MACRO]
|
|
2039
|
+
|
|
2040
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2041
|
+
EXPAND ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2042
|
+
[END_MACRO]
|
|
2043
|
+
|
|
2044
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_AS_SLICE_U64.
|
|
2045
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_SLICE %out_slice, %iter_reg
|
|
2046
|
+
EXPAND VEC_DEQUE_INTO_ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2047
|
+
[END_MACRO]
|
|
2048
|
+
|
|
2049
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_MUT_SLICE_U64 %out_slice, %iter_reg
|
|
2050
|
+
EXPAND ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2051
|
+
[END_MACRO]
|
|
2052
|
+
|
|
2053
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_AS_MUT_SLICE_U64.
|
|
2054
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_MUT_SLICE %out_slice, %iter_reg
|
|
2055
|
+
EXPAND VEC_DEQUE_INTO_ITER_AS_MUT_SLICE_U64 %out_slice, %iter_reg
|
|
2056
|
+
[END_MACRO]
|
|
2057
|
+
|
|
2058
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
2059
|
+
EXPAND VEC_DEQUE_INTO_ITER_AS_SLICE_U64 %out_slice, %iter_reg
|
|
2060
|
+
[END_MACRO]
|
|
2061
|
+
|
|
2062
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_AS_REF_SLICE_U64.
|
|
2063
|
+
[MACRO] VEC_DEQUE_INTO_ITER_AS_REF_SLICE %out_slice, %iter_reg
|
|
2064
|
+
EXPAND VEC_DEQUE_INTO_ITER_AS_REF_SLICE_U64 %out_slice, %iter_reg
|
|
2065
|
+
[END_MACRO]
|
|
2066
|
+
|
|
2067
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CLONE_U64 %out_iter, %out_vec, %iter_reg
|
|
2068
|
+
EXPAND VEC_INTO_ITER_CLONE_U64 %out_iter, %out_vec, %iter_reg
|
|
2069
|
+
[END_MACRO]
|
|
2070
|
+
|
|
2071
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CLONE_U64.
|
|
2072
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CLONE %out_iter, %out_vec, %iter_reg
|
|
2073
|
+
EXPAND VEC_DEQUE_INTO_ITER_CLONE_U64 %out_iter, %out_vec, %iter_reg
|
|
2074
|
+
[END_MACRO]
|
|
2075
|
+
|
|
2076
|
+
[MACRO] VEC_DEQUE_ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2077
|
+
EXPAND ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2078
|
+
[END_MACRO]
|
|
2079
|
+
|
|
2080
|
+
// Rust method-name alias over VEC_DEQUE_ITER_NEXT_U64.
|
|
2081
|
+
[MACRO] VEC_DEQUE_ITER_NEXT %out_has, %out_value, %iter_reg
|
|
2082
|
+
EXPAND VEC_DEQUE_ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2083
|
+
[END_MACRO]
|
|
2084
|
+
|
|
2085
|
+
[MACRO] VEC_DEQUE_ITER_MUT_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2086
|
+
EXPAND ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2087
|
+
[END_MACRO]
|
|
2088
|
+
|
|
2089
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_NEXT_U64.
|
|
2090
|
+
[MACRO] VEC_DEQUE_ITER_MUT_NEXT %out_has, %out_value, %iter_reg
|
|
2091
|
+
EXPAND VEC_DEQUE_ITER_MUT_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2092
|
+
[END_MACRO]
|
|
2093
|
+
|
|
2094
|
+
[MACRO] VEC_DEQUE_ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2095
|
+
EXPAND ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2096
|
+
[END_MACRO]
|
|
2097
|
+
|
|
2098
|
+
// Rust method-name alias over VEC_DEQUE_ITER_NEXT_BACK_U64.
|
|
2099
|
+
[MACRO] VEC_DEQUE_ITER_NEXT_BACK %out_has, %out_value, %iter_reg
|
|
2100
|
+
EXPAND VEC_DEQUE_ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2101
|
+
[END_MACRO]
|
|
2102
|
+
|
|
2103
|
+
[MACRO] VEC_DEQUE_ITER_MUT_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2104
|
+
EXPAND ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2105
|
+
[END_MACRO]
|
|
2106
|
+
|
|
2107
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_NEXT_BACK_U64.
|
|
2108
|
+
[MACRO] VEC_DEQUE_ITER_MUT_NEXT_BACK %out_has, %out_value, %iter_reg
|
|
2109
|
+
EXPAND VEC_DEQUE_ITER_MUT_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2110
|
+
[END_MACRO]
|
|
2111
|
+
|
|
2112
|
+
[MACRO] VEC_DEQUE_ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2113
|
+
EXPAND ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2114
|
+
[END_MACRO]
|
|
2115
|
+
|
|
2116
|
+
// Rust method-name alias over VEC_DEQUE_ITER_NTH_U64.
|
|
2117
|
+
[MACRO] VEC_DEQUE_ITER_NTH %out_has, %out_value, %iter_reg, %nth
|
|
2118
|
+
EXPAND VEC_DEQUE_ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2119
|
+
[END_MACRO]
|
|
2120
|
+
|
|
2121
|
+
[MACRO] VEC_DEQUE_ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2122
|
+
EXPAND ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2123
|
+
[END_MACRO]
|
|
2124
|
+
|
|
2125
|
+
// Rust method-name alias over VEC_DEQUE_ITER_NTH_BACK_U64.
|
|
2126
|
+
[MACRO] VEC_DEQUE_ITER_NTH_BACK %out_has, %out_value, %iter_reg, %nth
|
|
2127
|
+
EXPAND VEC_DEQUE_ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2128
|
+
[END_MACRO]
|
|
2129
|
+
|
|
2130
|
+
[MACRO] VEC_DEQUE_ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2131
|
+
EXPAND ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2132
|
+
[END_MACRO]
|
|
2133
|
+
|
|
2134
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_NEXT_CHUNK_U64.
|
|
2135
|
+
[MACRO] VEC_DEQUE_ITER_TRY_NEXT_CHUNK %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2136
|
+
EXPAND VEC_DEQUE_ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2137
|
+
[END_MACRO]
|
|
2138
|
+
|
|
2139
|
+
[MACRO] VEC_DEQUE_ITER_ADVANCE_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2140
|
+
EXPAND ITER_ADVANCE_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2141
|
+
[END_MACRO]
|
|
2142
|
+
|
|
2143
|
+
[MACRO] VEC_DEQUE_ITER_ADVANCE_BACK_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2144
|
+
EXPAND ITER_ADVANCE_BACK_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2145
|
+
[END_MACRO]
|
|
2146
|
+
|
|
2147
|
+
[MACRO] VEC_DEQUE_ITER_COUNT_U64 %out_count, %iter_reg
|
|
2148
|
+
EXPAND ITER_COUNT %out_count, %iter_reg
|
|
2149
|
+
[END_MACRO]
|
|
2150
|
+
|
|
2151
|
+
// Rust method-name alias over VEC_DEQUE_ITER_COUNT_U64.
|
|
2152
|
+
[MACRO] VEC_DEQUE_ITER_COUNT %out_count, %iter_reg
|
|
2153
|
+
EXPAND VEC_DEQUE_ITER_COUNT_U64 %out_count, %iter_reg
|
|
2154
|
+
[END_MACRO]
|
|
2155
|
+
|
|
2156
|
+
[MACRO] VEC_DEQUE_ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2157
|
+
EXPAND ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2158
|
+
[END_MACRO]
|
|
2159
|
+
|
|
2160
|
+
// Rust method-name alias over VEC_DEQUE_ITER_LAST_U64.
|
|
2161
|
+
[MACRO] VEC_DEQUE_ITER_LAST %out_has, %out_value, %iter_reg
|
|
2162
|
+
EXPAND VEC_DEQUE_ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2163
|
+
[END_MACRO]
|
|
2164
|
+
|
|
2165
|
+
[MACRO] VEC_DEQUE_ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2166
|
+
EXPAND ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2167
|
+
[END_MACRO]
|
|
2168
|
+
|
|
2169
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FIND_U64.
|
|
2170
|
+
[MACRO] VEC_DEQUE_ITER_FIND %out_has, %out_value, %iter_reg, %pred_fn
|
|
2171
|
+
EXPAND VEC_DEQUE_ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2172
|
+
[END_MACRO]
|
|
2173
|
+
|
|
2174
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2175
|
+
EXPAND ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2176
|
+
[END_MACRO]
|
|
2177
|
+
|
|
2178
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_FIND_U64.
|
|
2179
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FIND %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2180
|
+
EXPAND VEC_DEQUE_ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2181
|
+
[END_MACRO]
|
|
2182
|
+
|
|
2183
|
+
[MACRO] VEC_DEQUE_ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2184
|
+
EXPAND ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2185
|
+
[END_MACRO]
|
|
2186
|
+
|
|
2187
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FIND_MAP_U64.
|
|
2188
|
+
[MACRO] VEC_DEQUE_ITER_FIND_MAP %out_has, %out_value, %iter_reg, %map_fn
|
|
2189
|
+
EXPAND VEC_DEQUE_ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2190
|
+
[END_MACRO]
|
|
2191
|
+
|
|
2192
|
+
[MACRO] VEC_DEQUE_ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2193
|
+
EXPAND ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2194
|
+
[END_MACRO]
|
|
2195
|
+
|
|
2196
|
+
// Rust method-name alias over VEC_DEQUE_ITER_POSITION_U64.
|
|
2197
|
+
[MACRO] VEC_DEQUE_ITER_POSITION %out_has, %out_index, %iter_reg, %pred_fn
|
|
2198
|
+
EXPAND VEC_DEQUE_ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2199
|
+
[END_MACRO]
|
|
2200
|
+
|
|
2201
|
+
[MACRO] VEC_DEQUE_ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2202
|
+
EXPAND ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2203
|
+
[END_MACRO]
|
|
2204
|
+
|
|
2205
|
+
// Rust method-name alias over VEC_DEQUE_ITER_RPOSITION_U64.
|
|
2206
|
+
[MACRO] VEC_DEQUE_ITER_RPOSITION %out_has, %out_index, %iter_reg, %pred_fn
|
|
2207
|
+
EXPAND VEC_DEQUE_ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2208
|
+
[END_MACRO]
|
|
2209
|
+
|
|
2210
|
+
[MACRO] VEC_DEQUE_ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2211
|
+
EXPAND ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2212
|
+
[END_MACRO]
|
|
2213
|
+
|
|
2214
|
+
// Rust method-name alias over VEC_DEQUE_ITER_RFIND_U64.
|
|
2215
|
+
[MACRO] VEC_DEQUE_ITER_RFIND %out_has, %out_value, %iter_reg, %pred_fn
|
|
2216
|
+
EXPAND VEC_DEQUE_ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2217
|
+
[END_MACRO]
|
|
2218
|
+
|
|
2219
|
+
[MACRO] VEC_DEQUE_ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2220
|
+
EXPAND ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2221
|
+
[END_MACRO]
|
|
2222
|
+
|
|
2223
|
+
// Rust method-name alias over VEC_DEQUE_ITER_ANY_U64.
|
|
2224
|
+
[MACRO] VEC_DEQUE_ITER_ANY %out_bool, %iter_reg, %pred_fn
|
|
2225
|
+
EXPAND VEC_DEQUE_ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2226
|
+
[END_MACRO]
|
|
2227
|
+
|
|
2228
|
+
[MACRO] VEC_DEQUE_ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2229
|
+
EXPAND ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2230
|
+
[END_MACRO]
|
|
2231
|
+
|
|
2232
|
+
// Rust method-name alias over VEC_DEQUE_ITER_ALL_U64.
|
|
2233
|
+
[MACRO] VEC_DEQUE_ITER_ALL %out_bool, %iter_reg, %pred_fn
|
|
2234
|
+
EXPAND VEC_DEQUE_ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2235
|
+
[END_MACRO]
|
|
2236
|
+
|
|
2237
|
+
[MACRO] VEC_DEQUE_ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2238
|
+
EXPAND ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2239
|
+
[END_MACRO]
|
|
2240
|
+
|
|
2241
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FOR_EACH_U64.
|
|
2242
|
+
[MACRO] VEC_DEQUE_ITER_FOR_EACH %iter_reg, %each_fn
|
|
2243
|
+
EXPAND VEC_DEQUE_ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2244
|
+
[END_MACRO]
|
|
2245
|
+
|
|
2246
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
2247
|
+
EXPAND ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
2248
|
+
[END_MACRO]
|
|
2249
|
+
|
|
2250
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_FOR_EACH_U64.
|
|
2251
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FOR_EACH %out_ok, %iter_reg, %each_fn
|
|
2252
|
+
EXPAND VEC_DEQUE_ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
2253
|
+
[END_MACRO]
|
|
2254
|
+
|
|
2255
|
+
[MACRO] VEC_DEQUE_ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2256
|
+
EXPAND ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2257
|
+
[END_MACRO]
|
|
2258
|
+
|
|
2259
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FOLD_U64.
|
|
2260
|
+
[MACRO] VEC_DEQUE_ITER_FOLD %out_value, %iter_reg, %init_value, %fold_fn
|
|
2261
|
+
EXPAND VEC_DEQUE_ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2262
|
+
[END_MACRO]
|
|
2263
|
+
|
|
2264
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2265
|
+
EXPAND ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2266
|
+
[END_MACRO]
|
|
2267
|
+
|
|
2268
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_FOLD_U64.
|
|
2269
|
+
[MACRO] VEC_DEQUE_ITER_TRY_FOLD %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2270
|
+
EXPAND VEC_DEQUE_ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2271
|
+
[END_MACRO]
|
|
2272
|
+
|
|
2273
|
+
[MACRO] VEC_DEQUE_ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2274
|
+
EXPAND ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2275
|
+
[END_MACRO]
|
|
2276
|
+
|
|
2277
|
+
// Rust method-name alias over VEC_DEQUE_ITER_RFOLD_U64.
|
|
2278
|
+
[MACRO] VEC_DEQUE_ITER_RFOLD %out_value, %iter_reg, %init_value, %fold_fn
|
|
2279
|
+
EXPAND VEC_DEQUE_ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
2280
|
+
[END_MACRO]
|
|
2281
|
+
|
|
2282
|
+
[MACRO] VEC_DEQUE_ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2283
|
+
EXPAND ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2284
|
+
[END_MACRO]
|
|
2285
|
+
|
|
2286
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_RFOLD_U64.
|
|
2287
|
+
[MACRO] VEC_DEQUE_ITER_TRY_RFOLD %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2288
|
+
EXPAND VEC_DEQUE_ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
2289
|
+
[END_MACRO]
|
|
2290
|
+
|
|
2291
|
+
[MACRO] VEC_DEQUE_ITER_SUM_U64 %out_value, %iter_reg
|
|
2292
|
+
EXPAND ITER_SUM_U64 %out_value, %iter_reg
|
|
2293
|
+
[END_MACRO]
|
|
2294
|
+
|
|
2295
|
+
// Rust method-name alias over VEC_DEQUE_ITER_SUM_U64.
|
|
2296
|
+
[MACRO] VEC_DEQUE_ITER_SUM %out_value, %iter_reg
|
|
2297
|
+
EXPAND VEC_DEQUE_ITER_SUM_U64 %out_value, %iter_reg
|
|
2298
|
+
[END_MACRO]
|
|
2299
|
+
|
|
2300
|
+
[MACRO] VEC_DEQUE_ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
2301
|
+
EXPAND ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
2302
|
+
[END_MACRO]
|
|
2303
|
+
|
|
2304
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PRODUCT_U64.
|
|
2305
|
+
[MACRO] VEC_DEQUE_ITER_PRODUCT %out_value, %iter_reg
|
|
2306
|
+
EXPAND VEC_DEQUE_ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
2307
|
+
[END_MACRO]
|
|
2308
|
+
|
|
2309
|
+
[MACRO] VEC_DEQUE_ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
2310
|
+
EXPAND ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
2311
|
+
[END_MACRO]
|
|
2312
|
+
|
|
2313
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MIN_U64.
|
|
2314
|
+
[MACRO] VEC_DEQUE_ITER_MIN %out_has, %out_value, %iter_reg
|
|
2315
|
+
EXPAND VEC_DEQUE_ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
2316
|
+
[END_MACRO]
|
|
2317
|
+
|
|
2318
|
+
[MACRO] VEC_DEQUE_ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
2319
|
+
EXPAND ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
2320
|
+
[END_MACRO]
|
|
2321
|
+
|
|
2322
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAX_U64.
|
|
2323
|
+
[MACRO] VEC_DEQUE_ITER_MAX %out_has, %out_value, %iter_reg
|
|
2324
|
+
EXPAND VEC_DEQUE_ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
2325
|
+
[END_MACRO]
|
|
2326
|
+
|
|
2327
|
+
[MACRO] VEC_DEQUE_ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2328
|
+
EXPAND ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2329
|
+
[END_MACRO]
|
|
2330
|
+
|
|
2331
|
+
// Rust method-name alias over VEC_DEQUE_ITER_REDUCE_U64.
|
|
2332
|
+
[MACRO] VEC_DEQUE_ITER_REDUCE %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2333
|
+
EXPAND VEC_DEQUE_ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2334
|
+
[END_MACRO]
|
|
2335
|
+
|
|
2336
|
+
[MACRO] VEC_DEQUE_ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2337
|
+
EXPAND ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2338
|
+
[END_MACRO]
|
|
2339
|
+
|
|
2340
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_REDUCE_U64.
|
|
2341
|
+
[MACRO] VEC_DEQUE_ITER_TRY_REDUCE %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2342
|
+
EXPAND VEC_DEQUE_ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
2343
|
+
[END_MACRO]
|
|
2344
|
+
|
|
2345
|
+
[MACRO] VEC_DEQUE_ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2346
|
+
EXPAND ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2347
|
+
[END_MACRO]
|
|
2348
|
+
|
|
2349
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MIN_BY_U64.
|
|
2350
|
+
[MACRO] VEC_DEQUE_ITER_MIN_BY %out_has, %out_value, %iter_reg, %compare_fn
|
|
2351
|
+
EXPAND VEC_DEQUE_ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2352
|
+
[END_MACRO]
|
|
2353
|
+
|
|
2354
|
+
[MACRO] VEC_DEQUE_ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2355
|
+
EXPAND ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2356
|
+
[END_MACRO]
|
|
2357
|
+
|
|
2358
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAX_BY_U64.
|
|
2359
|
+
[MACRO] VEC_DEQUE_ITER_MAX_BY %out_has, %out_value, %iter_reg, %compare_fn
|
|
2360
|
+
EXPAND VEC_DEQUE_ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
2361
|
+
[END_MACRO]
|
|
2362
|
+
|
|
2363
|
+
[MACRO] VEC_DEQUE_ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2364
|
+
EXPAND ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2365
|
+
[END_MACRO]
|
|
2366
|
+
|
|
2367
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MIN_BY_KEY_U64.
|
|
2368
|
+
[MACRO] VEC_DEQUE_ITER_MIN_BY_KEY %out_has, %out_value, %iter_reg, %key_fn
|
|
2369
|
+
EXPAND VEC_DEQUE_ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2370
|
+
[END_MACRO]
|
|
2371
|
+
|
|
2372
|
+
[MACRO] VEC_DEQUE_ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2373
|
+
EXPAND ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2374
|
+
[END_MACRO]
|
|
2375
|
+
|
|
2376
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAX_BY_KEY_U64.
|
|
2377
|
+
[MACRO] VEC_DEQUE_ITER_MAX_BY_KEY %out_has, %out_value, %iter_reg, %key_fn
|
|
2378
|
+
EXPAND VEC_DEQUE_ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
2379
|
+
[END_MACRO]
|
|
2380
|
+
|
|
2381
|
+
[MACRO] VEC_DEQUE_ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2382
|
+
EXPAND ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2383
|
+
[END_MACRO]
|
|
2384
|
+
|
|
2385
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CMP_U64.
|
|
2386
|
+
[MACRO] VEC_DEQUE_ITER_CMP %out_ordering, %left_iter, %right_iter
|
|
2387
|
+
EXPAND VEC_DEQUE_ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2388
|
+
[END_MACRO]
|
|
2389
|
+
|
|
2390
|
+
[MACRO] VEC_DEQUE_ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2391
|
+
EXPAND ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2392
|
+
[END_MACRO]
|
|
2393
|
+
|
|
2394
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CMP_BY_U64.
|
|
2395
|
+
[MACRO] VEC_DEQUE_ITER_CMP_BY %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2396
|
+
EXPAND VEC_DEQUE_ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2397
|
+
[END_MACRO]
|
|
2398
|
+
|
|
2399
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2400
|
+
EXPAND ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2401
|
+
[END_MACRO]
|
|
2402
|
+
|
|
2403
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PARTIAL_CMP_U64.
|
|
2404
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_CMP %out_ordering, %left_iter, %right_iter
|
|
2405
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
2406
|
+
[END_MACRO]
|
|
2407
|
+
|
|
2408
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2409
|
+
EXPAND ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2410
|
+
[END_MACRO]
|
|
2411
|
+
|
|
2412
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PARTIAL_CMP_BY_U64.
|
|
2413
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_CMP_BY %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2414
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
2415
|
+
[END_MACRO]
|
|
2416
|
+
|
|
2417
|
+
[MACRO] VEC_DEQUE_ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
2418
|
+
EXPAND ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
2419
|
+
[END_MACRO]
|
|
2420
|
+
|
|
2421
|
+
// Rust method-name alias over VEC_DEQUE_ITER_EQ_BY_U64.
|
|
2422
|
+
[MACRO] VEC_DEQUE_ITER_EQ_BY %out_bool, %left_iter, %right_iter, %eq_fn
|
|
2423
|
+
EXPAND VEC_DEQUE_ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
2424
|
+
[END_MACRO]
|
|
2425
|
+
|
|
2426
|
+
[MACRO] VEC_DEQUE_ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2427
|
+
EXPAND ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2428
|
+
[END_MACRO]
|
|
2429
|
+
|
|
2430
|
+
// Rust method-name alias over VEC_DEQUE_ITER_EQ_U64.
|
|
2431
|
+
[MACRO] VEC_DEQUE_ITER_EQ %out_bool, %left_iter, %right_iter
|
|
2432
|
+
EXPAND VEC_DEQUE_ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2433
|
+
[END_MACRO]
|
|
2434
|
+
|
|
2435
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2436
|
+
EXPAND ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2437
|
+
[END_MACRO]
|
|
2438
|
+
|
|
2439
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PARTIAL_EQ_U64.
|
|
2440
|
+
[MACRO] VEC_DEQUE_ITER_PARTIAL_EQ %out_bool, %left_iter, %right_iter
|
|
2441
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
2442
|
+
[END_MACRO]
|
|
2443
|
+
|
|
2444
|
+
[MACRO] VEC_DEQUE_ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
2445
|
+
EXPAND ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
2446
|
+
[END_MACRO]
|
|
2447
|
+
|
|
2448
|
+
// Rust method-name alias over VEC_DEQUE_ITER_NE_U64.
|
|
2449
|
+
[MACRO] VEC_DEQUE_ITER_NE %out_bool, %left_iter, %right_iter
|
|
2450
|
+
EXPAND VEC_DEQUE_ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
2451
|
+
[END_MACRO]
|
|
2452
|
+
|
|
2453
|
+
[MACRO] VEC_DEQUE_ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
2454
|
+
EXPAND ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
2455
|
+
[END_MACRO]
|
|
2456
|
+
|
|
2457
|
+
// Rust method-name alias over VEC_DEQUE_ITER_LT_U64.
|
|
2458
|
+
[MACRO] VEC_DEQUE_ITER_LT %out_bool, %left_iter, %right_iter
|
|
2459
|
+
EXPAND VEC_DEQUE_ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
2460
|
+
[END_MACRO]
|
|
2461
|
+
|
|
2462
|
+
[MACRO] VEC_DEQUE_ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
2463
|
+
EXPAND ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
2464
|
+
[END_MACRO]
|
|
2465
|
+
|
|
2466
|
+
// Rust method-name alias over VEC_DEQUE_ITER_LE_U64.
|
|
2467
|
+
[MACRO] VEC_DEQUE_ITER_LE %out_bool, %left_iter, %right_iter
|
|
2468
|
+
EXPAND VEC_DEQUE_ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
2469
|
+
[END_MACRO]
|
|
2470
|
+
|
|
2471
|
+
[MACRO] VEC_DEQUE_ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
2472
|
+
EXPAND ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
2473
|
+
[END_MACRO]
|
|
2474
|
+
|
|
2475
|
+
// Rust method-name alias over VEC_DEQUE_ITER_GT_U64.
|
|
2476
|
+
[MACRO] VEC_DEQUE_ITER_GT %out_bool, %left_iter, %right_iter
|
|
2477
|
+
EXPAND VEC_DEQUE_ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
2478
|
+
[END_MACRO]
|
|
2479
|
+
|
|
2480
|
+
[MACRO] VEC_DEQUE_ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
2481
|
+
EXPAND ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
2482
|
+
[END_MACRO]
|
|
2483
|
+
|
|
2484
|
+
// Rust method-name alias over VEC_DEQUE_ITER_GE_U64.
|
|
2485
|
+
[MACRO] VEC_DEQUE_ITER_GE %out_bool, %left_iter, %right_iter
|
|
2486
|
+
EXPAND VEC_DEQUE_ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
2487
|
+
[END_MACRO]
|
|
2488
|
+
|
|
2489
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
2490
|
+
EXPAND ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
2491
|
+
[END_MACRO]
|
|
2492
|
+
|
|
2493
|
+
// Rust method-name alias over VEC_DEQUE_ITER_IS_SORTED_U64.
|
|
2494
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED %out_bool, %iter_reg
|
|
2495
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
2496
|
+
[END_MACRO]
|
|
2497
|
+
|
|
2498
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
2499
|
+
EXPAND ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
2500
|
+
[END_MACRO]
|
|
2501
|
+
|
|
2502
|
+
// Rust method-name alias over VEC_DEQUE_ITER_IS_SORTED_BY_U64.
|
|
2503
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED_BY %out_bool, %iter_reg, %compare_fn
|
|
2504
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
2505
|
+
[END_MACRO]
|
|
2506
|
+
|
|
2507
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
2508
|
+
EXPAND ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
2509
|
+
[END_MACRO]
|
|
2510
|
+
|
|
2511
|
+
// Rust method-name alias over VEC_DEQUE_ITER_IS_SORTED_BY_KEY_U64.
|
|
2512
|
+
[MACRO] VEC_DEQUE_ITER_IS_SORTED_BY_KEY %out_bool, %iter_reg, %key_fn
|
|
2513
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
2514
|
+
[END_MACRO]
|
|
2515
|
+
|
|
2516
|
+
[MACRO] VEC_DEQUE_ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
2517
|
+
EXPAND ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
2518
|
+
[END_MACRO]
|
|
2519
|
+
|
|
2520
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PARTITION_U64.
|
|
2521
|
+
[MACRO] VEC_DEQUE_ITER_PARTITION %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
2522
|
+
EXPAND VEC_DEQUE_ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
2523
|
+
[END_MACRO]
|
|
2524
|
+
|
|
2525
|
+
[MACRO] VEC_DEQUE_ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
2526
|
+
EXPAND ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
2527
|
+
[END_MACRO]
|
|
2528
|
+
|
|
2529
|
+
// Rust method-name alias over VEC_DEQUE_ITER_IS_PARTITIONED_U64.
|
|
2530
|
+
[MACRO] VEC_DEQUE_ITER_IS_PARTITIONED %out_bool, %iter_reg, %pred_fn
|
|
2531
|
+
EXPAND VEC_DEQUE_ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
2532
|
+
[END_MACRO]
|
|
2533
|
+
|
|
2534
|
+
[MACRO] VEC_DEQUE_ITER_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
2535
|
+
EXPAND ITER_SIZE_HINT %out_lower, %out_upper, %iter_reg
|
|
2536
|
+
[END_MACRO]
|
|
2537
|
+
|
|
2538
|
+
// Rust method-name alias over VEC_DEQUE_ITER_SIZE_HINT_U64.
|
|
2539
|
+
[MACRO] VEC_DEQUE_ITER_SIZE_HINT %out_lower, %out_upper, %iter_reg
|
|
2540
|
+
EXPAND VEC_DEQUE_ITER_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
2541
|
+
[END_MACRO]
|
|
2542
|
+
|
|
2543
|
+
[MACRO] VEC_DEQUE_ITER_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
2544
|
+
EXPAND ITER_EXACT_SIZE_LEN %out_len, %iter_reg
|
|
2545
|
+
[END_MACRO]
|
|
2546
|
+
|
|
2547
|
+
// Rust method-name alias over VEC_DEQUE_ITER_EXACT_SIZE_LEN_U64.
|
|
2548
|
+
[MACRO] VEC_DEQUE_ITER_EXACT_SIZE_LEN %out_len, %iter_reg
|
|
2549
|
+
EXPAND VEC_DEQUE_ITER_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
2550
|
+
[END_MACRO]
|
|
2551
|
+
|
|
2552
|
+
[MACRO] VEC_DEQUE_ITER_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
2553
|
+
EXPAND ITER_EXACT_SIZE_IS_EMPTY %out_bool, %iter_reg
|
|
2554
|
+
[END_MACRO]
|
|
2555
|
+
|
|
2556
|
+
// Rust method-name alias over VEC_DEQUE_ITER_EXACT_SIZE_IS_EMPTY_U64.
|
|
2557
|
+
[MACRO] VEC_DEQUE_ITER_EXACT_SIZE_IS_EMPTY %out_bool, %iter_reg
|
|
2558
|
+
EXPAND VEC_DEQUE_ITER_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
2559
|
+
[END_MACRO]
|
|
2560
|
+
|
|
2561
|
+
[MACRO] VEC_DEQUE_ITER_MUT_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
2562
|
+
EXPAND ITER_SIZE_HINT %out_lower, %out_upper, %iter_reg
|
|
2563
|
+
[END_MACRO]
|
|
2564
|
+
|
|
2565
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_SIZE_HINT_U64.
|
|
2566
|
+
[MACRO] VEC_DEQUE_ITER_MUT_SIZE_HINT %out_lower, %out_upper, %iter_reg
|
|
2567
|
+
EXPAND VEC_DEQUE_ITER_MUT_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
2568
|
+
[END_MACRO]
|
|
2569
|
+
|
|
2570
|
+
[MACRO] VEC_DEQUE_ITER_MUT_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
2571
|
+
EXPAND ITER_EXACT_SIZE_LEN %out_len, %iter_reg
|
|
2572
|
+
[END_MACRO]
|
|
2573
|
+
|
|
2574
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_EXACT_SIZE_LEN_U64.
|
|
2575
|
+
[MACRO] VEC_DEQUE_ITER_MUT_EXACT_SIZE_LEN %out_len, %iter_reg
|
|
2576
|
+
EXPAND VEC_DEQUE_ITER_MUT_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
2577
|
+
[END_MACRO]
|
|
2578
|
+
|
|
2579
|
+
[MACRO] VEC_DEQUE_ITER_MUT_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
2580
|
+
EXPAND ITER_EXACT_SIZE_IS_EMPTY %out_bool, %iter_reg
|
|
2581
|
+
[END_MACRO]
|
|
2582
|
+
|
|
2583
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MUT_EXACT_SIZE_IS_EMPTY_U64.
|
|
2584
|
+
[MACRO] VEC_DEQUE_ITER_MUT_EXACT_SIZE_IS_EMPTY %out_bool, %iter_reg
|
|
2585
|
+
EXPAND VEC_DEQUE_ITER_MUT_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
2586
|
+
[END_MACRO]
|
|
2587
|
+
|
|
2588
|
+
[MACRO] VEC_DEQUE_ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
2589
|
+
EXPAND ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
2590
|
+
[END_MACRO]
|
|
2591
|
+
|
|
2592
|
+
// Rust method-name alias over VEC_DEQUE_ITER_COLLECT_U64.
|
|
2593
|
+
[MACRO] VEC_DEQUE_ITER_COLLECT %out_vec, %iter_reg
|
|
2594
|
+
EXPAND VEC_DEQUE_ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
2595
|
+
[END_MACRO]
|
|
2596
|
+
|
|
2597
|
+
[MACRO] VEC_DEQUE_ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
2598
|
+
EXPAND ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
2599
|
+
[END_MACRO]
|
|
2600
|
+
|
|
2601
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_COLLECT_U64.
|
|
2602
|
+
[MACRO] VEC_DEQUE_ITER_TRY_COLLECT %out_ok, %out_vec, %iter_reg, %try_fn
|
|
2603
|
+
EXPAND VEC_DEQUE_ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
2604
|
+
[END_MACRO]
|
|
2605
|
+
|
|
2606
|
+
[MACRO] VEC_DEQUE_ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
2607
|
+
EXPAND ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
2608
|
+
[END_MACRO]
|
|
2609
|
+
|
|
2610
|
+
// Rust method-name alias over VEC_DEQUE_ITER_COLLECT_INTO_U64.
|
|
2611
|
+
[MACRO] VEC_DEQUE_ITER_COLLECT_INTO %vec_reg, %iter_reg
|
|
2612
|
+
EXPAND VEC_DEQUE_ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
2613
|
+
[END_MACRO]
|
|
2614
|
+
|
|
2615
|
+
[MACRO] VEC_DEQUE_ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
2616
|
+
EXPAND ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
2617
|
+
[END_MACRO]
|
|
2618
|
+
|
|
2619
|
+
// Rust method-name alias over VEC_DEQUE_ITER_COPIED_COLLECT_U64.
|
|
2620
|
+
[MACRO] VEC_DEQUE_ITER_COPIED_COLLECT %out_vec, %iter_reg
|
|
2621
|
+
EXPAND VEC_DEQUE_ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
2622
|
+
[END_MACRO]
|
|
2623
|
+
|
|
2624
|
+
[MACRO] VEC_DEQUE_ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
2625
|
+
EXPAND ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
2626
|
+
[END_MACRO]
|
|
2627
|
+
|
|
2628
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CLONED_COLLECT_U64.
|
|
2629
|
+
[MACRO] VEC_DEQUE_ITER_CLONED_COLLECT %out_vec, %iter_reg
|
|
2630
|
+
EXPAND VEC_DEQUE_ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
2631
|
+
[END_MACRO]
|
|
2632
|
+
|
|
2633
|
+
[MACRO] VEC_DEQUE_ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2634
|
+
EXPAND ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2635
|
+
[END_MACRO]
|
|
2636
|
+
|
|
2637
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TAKE_COLLECT_U64.
|
|
2638
|
+
[MACRO] VEC_DEQUE_ITER_TAKE_COLLECT %out_vec, %iter_reg, %count
|
|
2639
|
+
EXPAND VEC_DEQUE_ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2640
|
+
[END_MACRO]
|
|
2641
|
+
|
|
2642
|
+
[MACRO] VEC_DEQUE_ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2643
|
+
EXPAND ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2644
|
+
[END_MACRO]
|
|
2645
|
+
|
|
2646
|
+
// Rust method-name alias over VEC_DEQUE_ITER_SKIP_COLLECT_U64.
|
|
2647
|
+
[MACRO] VEC_DEQUE_ITER_SKIP_COLLECT %out_vec, %iter_reg, %count
|
|
2648
|
+
EXPAND VEC_DEQUE_ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2649
|
+
[END_MACRO]
|
|
2650
|
+
|
|
2651
|
+
[MACRO] VEC_DEQUE_ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
2652
|
+
EXPAND ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
2653
|
+
[END_MACRO]
|
|
2654
|
+
|
|
2655
|
+
// Rust method-name alias over VEC_DEQUE_ITER_REV_COLLECT_U64.
|
|
2656
|
+
[MACRO] VEC_DEQUE_ITER_REV_COLLECT %out_vec, %iter_reg
|
|
2657
|
+
EXPAND VEC_DEQUE_ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
2658
|
+
[END_MACRO]
|
|
2659
|
+
|
|
2660
|
+
[MACRO] VEC_DEQUE_ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
2661
|
+
EXPAND ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
2662
|
+
[END_MACRO]
|
|
2663
|
+
|
|
2664
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TRY_STEP_BY_COLLECT_U64.
|
|
2665
|
+
[MACRO] VEC_DEQUE_ITER_TRY_STEP_BY_COLLECT %out_ok, %out_vec, %iter_reg, %step
|
|
2666
|
+
EXPAND VEC_DEQUE_ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
2667
|
+
[END_MACRO]
|
|
2668
|
+
|
|
2669
|
+
[MACRO] VEC_DEQUE_ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
2670
|
+
EXPAND ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
2671
|
+
[END_MACRO]
|
|
2672
|
+
|
|
2673
|
+
// Rust method-name alias over VEC_DEQUE_ITER_STEP_BY_COLLECT_U64.
|
|
2674
|
+
[MACRO] VEC_DEQUE_ITER_STEP_BY_COLLECT %out_vec, %iter_reg, %step
|
|
2675
|
+
EXPAND VEC_DEQUE_ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
2676
|
+
[END_MACRO]
|
|
2677
|
+
|
|
2678
|
+
[MACRO] VEC_DEQUE_ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2679
|
+
EXPAND ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2680
|
+
[END_MACRO]
|
|
2681
|
+
|
|
2682
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAP_COLLECT_U64.
|
|
2683
|
+
[MACRO] VEC_DEQUE_ITER_MAP_COLLECT %out_vec, %iter_reg, %map_fn
|
|
2684
|
+
EXPAND VEC_DEQUE_ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2685
|
+
[END_MACRO]
|
|
2686
|
+
|
|
2687
|
+
[MACRO] VEC_DEQUE_ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
2688
|
+
EXPAND ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
2689
|
+
[END_MACRO]
|
|
2690
|
+
|
|
2691
|
+
// Rust method-name alias over VEC_DEQUE_ITER_INSPECT_COLLECT_U64.
|
|
2692
|
+
[MACRO] VEC_DEQUE_ITER_INSPECT_COLLECT %out_vec, %iter_reg, %inspect_fn
|
|
2693
|
+
EXPAND VEC_DEQUE_ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
2694
|
+
[END_MACRO]
|
|
2695
|
+
|
|
2696
|
+
[MACRO] VEC_DEQUE_ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
2697
|
+
EXPAND ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
2698
|
+
[END_MACRO]
|
|
2699
|
+
|
|
2700
|
+
// Rust method-name alias over VEC_DEQUE_ITER_SCAN_COLLECT_U64.
|
|
2701
|
+
[MACRO] VEC_DEQUE_ITER_SCAN_COLLECT %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
2702
|
+
EXPAND VEC_DEQUE_ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
2703
|
+
[END_MACRO]
|
|
2704
|
+
|
|
2705
|
+
[MACRO] VEC_DEQUE_ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2706
|
+
EXPAND ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2707
|
+
[END_MACRO]
|
|
2708
|
+
|
|
2709
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FILTER_COLLECT_U64.
|
|
2710
|
+
[MACRO] VEC_DEQUE_ITER_FILTER_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
2711
|
+
EXPAND VEC_DEQUE_ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2712
|
+
[END_MACRO]
|
|
2713
|
+
|
|
2714
|
+
[MACRO] VEC_DEQUE_ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2715
|
+
EXPAND ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2716
|
+
[END_MACRO]
|
|
2717
|
+
|
|
2718
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FILTER_MAP_COLLECT_U64.
|
|
2719
|
+
[MACRO] VEC_DEQUE_ITER_FILTER_MAP_COLLECT %out_vec, %iter_reg, %map_fn
|
|
2720
|
+
EXPAND VEC_DEQUE_ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2721
|
+
[END_MACRO]
|
|
2722
|
+
|
|
2723
|
+
[MACRO] VEC_DEQUE_ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2724
|
+
EXPAND ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2725
|
+
[END_MACRO]
|
|
2726
|
+
|
|
2727
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAP_WHILE_COLLECT_U64.
|
|
2728
|
+
[MACRO] VEC_DEQUE_ITER_MAP_WHILE_COLLECT %out_vec, %iter_reg, %map_fn
|
|
2729
|
+
EXPAND VEC_DEQUE_ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
2730
|
+
[END_MACRO]
|
|
2731
|
+
|
|
2732
|
+
[MACRO] VEC_DEQUE_ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
2733
|
+
EXPAND ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
2734
|
+
[END_MACRO]
|
|
2735
|
+
|
|
2736
|
+
// Rust method-name alias over VEC_DEQUE_ITER_INTERSPERSE_COLLECT_U64.
|
|
2737
|
+
[MACRO] VEC_DEQUE_ITER_INTERSPERSE_COLLECT %out_vec, %iter_reg, %separator
|
|
2738
|
+
EXPAND VEC_DEQUE_ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
2739
|
+
[END_MACRO]
|
|
2740
|
+
|
|
2741
|
+
[MACRO] VEC_DEQUE_ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
2742
|
+
EXPAND ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
2743
|
+
[END_MACRO]
|
|
2744
|
+
|
|
2745
|
+
// Rust method-name alias over VEC_DEQUE_ITER_INTERSPERSE_WITH_COLLECT_U64.
|
|
2746
|
+
[MACRO] VEC_DEQUE_ITER_INTERSPERSE_WITH_COLLECT %out_vec, %iter_reg, %sep_fn
|
|
2747
|
+
EXPAND VEC_DEQUE_ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
2748
|
+
[END_MACRO]
|
|
2749
|
+
|
|
2750
|
+
[MACRO] VEC_DEQUE_ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2751
|
+
EXPAND ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2752
|
+
[END_MACRO]
|
|
2753
|
+
|
|
2754
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CYCLE_TAKE_COLLECT_U64.
|
|
2755
|
+
[MACRO] VEC_DEQUE_ITER_CYCLE_TAKE_COLLECT %out_vec, %iter_reg, %count
|
|
2756
|
+
EXPAND VEC_DEQUE_ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
2757
|
+
[END_MACRO]
|
|
2758
|
+
|
|
2759
|
+
[MACRO] VEC_DEQUE_ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2760
|
+
EXPAND ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2761
|
+
[END_MACRO]
|
|
2762
|
+
|
|
2763
|
+
// Rust method-name alias over VEC_DEQUE_ITER_TAKE_WHILE_COLLECT_U64.
|
|
2764
|
+
[MACRO] VEC_DEQUE_ITER_TAKE_WHILE_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
2765
|
+
EXPAND VEC_DEQUE_ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2766
|
+
[END_MACRO]
|
|
2767
|
+
|
|
2768
|
+
[MACRO] VEC_DEQUE_ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2769
|
+
EXPAND ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2770
|
+
[END_MACRO]
|
|
2771
|
+
|
|
2772
|
+
// Rust method-name alias over VEC_DEQUE_ITER_SKIP_WHILE_COLLECT_U64.
|
|
2773
|
+
[MACRO] VEC_DEQUE_ITER_SKIP_WHILE_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
2774
|
+
EXPAND VEC_DEQUE_ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
2775
|
+
[END_MACRO]
|
|
2776
|
+
|
|
2777
|
+
[MACRO] VEC_DEQUE_ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
2778
|
+
EXPAND ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
2779
|
+
[END_MACRO]
|
|
2780
|
+
|
|
2781
|
+
// Rust method-name alias over VEC_DEQUE_ITER_ENUMERATE_COLLECT_U64.
|
|
2782
|
+
[MACRO] VEC_DEQUE_ITER_ENUMERATE_COLLECT %out_vec, %iter_reg
|
|
2783
|
+
EXPAND VEC_DEQUE_ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
2784
|
+
[END_MACRO]
|
|
2785
|
+
|
|
2786
|
+
[MACRO] VEC_DEQUE_ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2787
|
+
EXPAND ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2788
|
+
[END_MACRO]
|
|
2789
|
+
|
|
2790
|
+
// Rust method-name alias over VEC_DEQUE_ITER_ZIP_COLLECT_U64.
|
|
2791
|
+
[MACRO] VEC_DEQUE_ITER_ZIP_COLLECT %out_vec, %left_iter, %right_iter
|
|
2792
|
+
EXPAND VEC_DEQUE_ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2793
|
+
[END_MACRO]
|
|
2794
|
+
|
|
2795
|
+
[MACRO] VEC_DEQUE_ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2796
|
+
EXPAND ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2797
|
+
[END_MACRO]
|
|
2798
|
+
|
|
2799
|
+
// Rust method-name alias over VEC_DEQUE_ITER_CHAIN_COLLECT_U64.
|
|
2800
|
+
[MACRO] VEC_DEQUE_ITER_CHAIN_COLLECT %out_vec, %left_iter, %right_iter
|
|
2801
|
+
EXPAND VEC_DEQUE_ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
2802
|
+
[END_MACRO]
|
|
2803
|
+
|
|
2804
|
+
[MACRO] VEC_DEQUE_ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
2805
|
+
EXPAND ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
2806
|
+
[END_MACRO]
|
|
2807
|
+
|
|
2808
|
+
// Rust method-name alias over VEC_DEQUE_ITER_BY_REF_COLLECT_U64.
|
|
2809
|
+
[MACRO] VEC_DEQUE_ITER_BY_REF_COLLECT %out_vec, %iter_reg
|
|
2810
|
+
EXPAND VEC_DEQUE_ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
2811
|
+
[END_MACRO]
|
|
2812
|
+
|
|
2813
|
+
[MACRO] VEC_DEQUE_ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
2814
|
+
EXPAND ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
2815
|
+
[END_MACRO]
|
|
2816
|
+
|
|
2817
|
+
// Rust method-name alias over VEC_DEQUE_ITER_FUSE_COLLECT_U64.
|
|
2818
|
+
[MACRO] VEC_DEQUE_ITER_FUSE_COLLECT %out_vec, %iter_reg
|
|
2819
|
+
EXPAND VEC_DEQUE_ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
2820
|
+
[END_MACRO]
|
|
2821
|
+
|
|
2822
|
+
[MACRO] VEC_DEQUE_ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
2823
|
+
EXPAND ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
2824
|
+
[END_MACRO]
|
|
2825
|
+
|
|
2826
|
+
// Rust method-name alias over VEC_DEQUE_ITER_PEEKABLE_COLLECT_U64.
|
|
2827
|
+
[MACRO] VEC_DEQUE_ITER_PEEKABLE_COLLECT %out_vec, %iter_reg
|
|
2828
|
+
EXPAND VEC_DEQUE_ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
2829
|
+
[END_MACRO]
|
|
2830
|
+
|
|
2831
|
+
[MACRO] VEC_DEQUE_ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
2832
|
+
EXPAND ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
2833
|
+
[END_MACRO]
|
|
2834
|
+
|
|
2835
|
+
// Rust method-name alias over VEC_DEQUE_ITER_ARRAY_CHUNKS_COLLECT_U64.
|
|
2836
|
+
[MACRO] VEC_DEQUE_ITER_ARRAY_CHUNKS_COLLECT %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
2837
|
+
EXPAND VEC_DEQUE_ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
2838
|
+
[END_MACRO]
|
|
2839
|
+
|
|
2840
|
+
[MACRO] VEC_DEQUE_ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
2841
|
+
EXPAND ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
2842
|
+
[END_MACRO]
|
|
2843
|
+
|
|
2844
|
+
// Rust method-name alias over VEC_DEQUE_ITER_MAP_WINDOWS_COLLECT_U64.
|
|
2845
|
+
[MACRO] VEC_DEQUE_ITER_MAP_WINDOWS_COLLECT %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
2846
|
+
EXPAND VEC_DEQUE_ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
2847
|
+
[END_MACRO]
|
|
2848
|
+
|
|
2849
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2850
|
+
EXPAND VEC_DEQUE_ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2851
|
+
[END_MACRO]
|
|
2852
|
+
|
|
2853
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_NEXT_U64.
|
|
2854
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NEXT %out_has, %out_value, %iter_reg
|
|
2855
|
+
EXPAND VEC_DEQUE_INTO_ITER_NEXT_U64 %out_has, %out_value, %iter_reg
|
|
2856
|
+
[END_MACRO]
|
|
2857
|
+
|
|
2858
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2859
|
+
EXPAND VEC_DEQUE_ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2860
|
+
[END_MACRO]
|
|
2861
|
+
|
|
2862
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_NEXT_BACK_U64.
|
|
2863
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NEXT_BACK %out_has, %out_value, %iter_reg
|
|
2864
|
+
EXPAND VEC_DEQUE_INTO_ITER_NEXT_BACK_U64 %out_has, %out_value, %iter_reg
|
|
2865
|
+
[END_MACRO]
|
|
2866
|
+
|
|
2867
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2868
|
+
EXPAND VEC_DEQUE_ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2869
|
+
[END_MACRO]
|
|
2870
|
+
|
|
2871
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_NTH_U64.
|
|
2872
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NTH %out_has, %out_value, %iter_reg, %nth
|
|
2873
|
+
EXPAND VEC_DEQUE_INTO_ITER_NTH_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2874
|
+
[END_MACRO]
|
|
2875
|
+
|
|
2876
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2877
|
+
EXPAND VEC_DEQUE_ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2878
|
+
[END_MACRO]
|
|
2879
|
+
|
|
2880
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_NTH_BACK_U64.
|
|
2881
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NTH_BACK %out_has, %out_value, %iter_reg, %nth
|
|
2882
|
+
EXPAND VEC_DEQUE_INTO_ITER_NTH_BACK_U64 %out_has, %out_value, %iter_reg, %nth
|
|
2883
|
+
[END_MACRO]
|
|
2884
|
+
|
|
2885
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2886
|
+
EXPAND VEC_DEQUE_ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2887
|
+
[END_MACRO]
|
|
2888
|
+
|
|
2889
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_NEXT_CHUNK_U64.
|
|
2890
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_NEXT_CHUNK %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2891
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_NEXT_CHUNK_U64 %out_ok, %out_filled, %iter_reg, %dst_ptr, %count
|
|
2892
|
+
[END_MACRO]
|
|
2893
|
+
|
|
2894
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ADVANCE_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2895
|
+
EXPAND VEC_DEQUE_ITER_ADVANCE_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2896
|
+
[END_MACRO]
|
|
2897
|
+
|
|
2898
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ADVANCE_BACK_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2899
|
+
EXPAND VEC_DEQUE_ITER_ADVANCE_BACK_BY %out_ok, %out_remaining, %iter_reg, %count
|
|
2900
|
+
[END_MACRO]
|
|
2901
|
+
|
|
2902
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COUNT_U64 %out_count, %iter_reg
|
|
2903
|
+
EXPAND VEC_DEQUE_ITER_COUNT_U64 %out_count, %iter_reg
|
|
2904
|
+
[END_MACRO]
|
|
2905
|
+
|
|
2906
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_COUNT_U64.
|
|
2907
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COUNT %out_count, %iter_reg
|
|
2908
|
+
EXPAND VEC_DEQUE_INTO_ITER_COUNT_U64 %out_count, %iter_reg
|
|
2909
|
+
[END_MACRO]
|
|
2910
|
+
|
|
2911
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2912
|
+
EXPAND VEC_DEQUE_ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2913
|
+
[END_MACRO]
|
|
2914
|
+
|
|
2915
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_LAST_U64.
|
|
2916
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LAST %out_has, %out_value, %iter_reg
|
|
2917
|
+
EXPAND VEC_DEQUE_INTO_ITER_LAST_U64 %out_has, %out_value, %iter_reg
|
|
2918
|
+
[END_MACRO]
|
|
2919
|
+
|
|
2920
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2921
|
+
EXPAND VEC_DEQUE_ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2922
|
+
[END_MACRO]
|
|
2923
|
+
|
|
2924
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FIND_U64.
|
|
2925
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FIND %out_has, %out_value, %iter_reg, %pred_fn
|
|
2926
|
+
EXPAND VEC_DEQUE_INTO_ITER_FIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2927
|
+
[END_MACRO]
|
|
2928
|
+
|
|
2929
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2930
|
+
EXPAND VEC_DEQUE_ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2931
|
+
[END_MACRO]
|
|
2932
|
+
|
|
2933
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_FIND_U64.
|
|
2934
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FIND %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2935
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_FIND_U64 %out_ok, %out_has, %out_value, %iter_reg, %pred_fn
|
|
2936
|
+
[END_MACRO]
|
|
2937
|
+
|
|
2938
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2939
|
+
EXPAND VEC_DEQUE_ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2940
|
+
[END_MACRO]
|
|
2941
|
+
|
|
2942
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FIND_MAP_U64.
|
|
2943
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FIND_MAP %out_has, %out_value, %iter_reg, %map_fn
|
|
2944
|
+
EXPAND VEC_DEQUE_INTO_ITER_FIND_MAP_U64 %out_has, %out_value, %iter_reg, %map_fn
|
|
2945
|
+
[END_MACRO]
|
|
2946
|
+
|
|
2947
|
+
[MACRO] VEC_DEQUE_INTO_ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2948
|
+
EXPAND VEC_DEQUE_ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2949
|
+
[END_MACRO]
|
|
2950
|
+
|
|
2951
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_POSITION_U64.
|
|
2952
|
+
[MACRO] VEC_DEQUE_INTO_ITER_POSITION %out_has, %out_index, %iter_reg, %pred_fn
|
|
2953
|
+
EXPAND VEC_DEQUE_INTO_ITER_POSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2954
|
+
[END_MACRO]
|
|
2955
|
+
|
|
2956
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2957
|
+
EXPAND VEC_DEQUE_ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2958
|
+
[END_MACRO]
|
|
2959
|
+
|
|
2960
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_RPOSITION_U64.
|
|
2961
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RPOSITION %out_has, %out_index, %iter_reg, %pred_fn
|
|
2962
|
+
EXPAND VEC_DEQUE_INTO_ITER_RPOSITION_U64 %out_has, %out_index, %iter_reg, %pred_fn
|
|
2963
|
+
[END_MACRO]
|
|
2964
|
+
|
|
2965
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2966
|
+
EXPAND VEC_DEQUE_ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2967
|
+
[END_MACRO]
|
|
2968
|
+
|
|
2969
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_RFIND_U64.
|
|
2970
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RFIND %out_has, %out_value, %iter_reg, %pred_fn
|
|
2971
|
+
EXPAND VEC_DEQUE_INTO_ITER_RFIND_U64 %out_has, %out_value, %iter_reg, %pred_fn
|
|
2972
|
+
[END_MACRO]
|
|
2973
|
+
|
|
2974
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2975
|
+
EXPAND VEC_DEQUE_ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2976
|
+
[END_MACRO]
|
|
2977
|
+
|
|
2978
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_ANY_U64.
|
|
2979
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ANY %out_bool, %iter_reg, %pred_fn
|
|
2980
|
+
EXPAND VEC_DEQUE_INTO_ITER_ANY_U64 %out_bool, %iter_reg, %pred_fn
|
|
2981
|
+
[END_MACRO]
|
|
2982
|
+
|
|
2983
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2984
|
+
EXPAND VEC_DEQUE_ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2985
|
+
[END_MACRO]
|
|
2986
|
+
|
|
2987
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_ALL_U64.
|
|
2988
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ALL %out_bool, %iter_reg, %pred_fn
|
|
2989
|
+
EXPAND VEC_DEQUE_INTO_ITER_ALL_U64 %out_bool, %iter_reg, %pred_fn
|
|
2990
|
+
[END_MACRO]
|
|
2991
|
+
|
|
2992
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2993
|
+
EXPAND VEC_DEQUE_ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2994
|
+
[END_MACRO]
|
|
2995
|
+
|
|
2996
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FOR_EACH_U64.
|
|
2997
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FOR_EACH %iter_reg, %each_fn
|
|
2998
|
+
EXPAND VEC_DEQUE_INTO_ITER_FOR_EACH_U64 %iter_reg, %each_fn
|
|
2999
|
+
[END_MACRO]
|
|
3000
|
+
|
|
3001
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
3002
|
+
EXPAND VEC_DEQUE_ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
3003
|
+
[END_MACRO]
|
|
3004
|
+
|
|
3005
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_FOR_EACH_U64.
|
|
3006
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FOR_EACH %out_ok, %iter_reg, %each_fn
|
|
3007
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_FOR_EACH_U64 %out_ok, %iter_reg, %each_fn
|
|
3008
|
+
[END_MACRO]
|
|
3009
|
+
|
|
3010
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3011
|
+
EXPAND VEC_DEQUE_ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3012
|
+
[END_MACRO]
|
|
3013
|
+
|
|
3014
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FOLD_U64.
|
|
3015
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FOLD %out_value, %iter_reg, %init_value, %fold_fn
|
|
3016
|
+
EXPAND VEC_DEQUE_INTO_ITER_FOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3017
|
+
[END_MACRO]
|
|
3018
|
+
|
|
3019
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3020
|
+
EXPAND VEC_DEQUE_ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3021
|
+
[END_MACRO]
|
|
3022
|
+
|
|
3023
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_FOLD_U64.
|
|
3024
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_FOLD %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3025
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_FOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3026
|
+
[END_MACRO]
|
|
3027
|
+
|
|
3028
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3029
|
+
EXPAND VEC_DEQUE_ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3030
|
+
[END_MACRO]
|
|
3031
|
+
|
|
3032
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_RFOLD_U64.
|
|
3033
|
+
[MACRO] VEC_DEQUE_INTO_ITER_RFOLD %out_value, %iter_reg, %init_value, %fold_fn
|
|
3034
|
+
EXPAND VEC_DEQUE_INTO_ITER_RFOLD_U64 %out_value, %iter_reg, %init_value, %fold_fn
|
|
3035
|
+
[END_MACRO]
|
|
3036
|
+
|
|
3037
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3038
|
+
EXPAND VEC_DEQUE_ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3039
|
+
[END_MACRO]
|
|
3040
|
+
|
|
3041
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_RFOLD_U64.
|
|
3042
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_RFOLD %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3043
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_RFOLD_U64 %out_ok, %out_value, %iter_reg, %init_value, %fold_fn
|
|
3044
|
+
[END_MACRO]
|
|
3045
|
+
|
|
3046
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SUM_U64 %out_value, %iter_reg
|
|
3047
|
+
EXPAND VEC_DEQUE_ITER_SUM_U64 %out_value, %iter_reg
|
|
3048
|
+
[END_MACRO]
|
|
3049
|
+
|
|
3050
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_SUM_U64.
|
|
3051
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SUM %out_value, %iter_reg
|
|
3052
|
+
EXPAND VEC_DEQUE_INTO_ITER_SUM_U64 %out_value, %iter_reg
|
|
3053
|
+
[END_MACRO]
|
|
3054
|
+
|
|
3055
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
3056
|
+
EXPAND VEC_DEQUE_ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
3057
|
+
[END_MACRO]
|
|
3058
|
+
|
|
3059
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PRODUCT_U64.
|
|
3060
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PRODUCT %out_value, %iter_reg
|
|
3061
|
+
EXPAND VEC_DEQUE_INTO_ITER_PRODUCT_U64 %out_value, %iter_reg
|
|
3062
|
+
[END_MACRO]
|
|
3063
|
+
|
|
3064
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
3065
|
+
EXPAND VEC_DEQUE_ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
3066
|
+
[END_MACRO]
|
|
3067
|
+
|
|
3068
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MIN_U64.
|
|
3069
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN %out_has, %out_value, %iter_reg
|
|
3070
|
+
EXPAND VEC_DEQUE_INTO_ITER_MIN_U64 %out_has, %out_value, %iter_reg
|
|
3071
|
+
[END_MACRO]
|
|
3072
|
+
|
|
3073
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
3074
|
+
EXPAND VEC_DEQUE_ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
3075
|
+
[END_MACRO]
|
|
3076
|
+
|
|
3077
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAX_U64.
|
|
3078
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX %out_has, %out_value, %iter_reg
|
|
3079
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAX_U64 %out_has, %out_value, %iter_reg
|
|
3080
|
+
[END_MACRO]
|
|
3081
|
+
|
|
3082
|
+
[MACRO] VEC_DEQUE_INTO_ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3083
|
+
EXPAND VEC_DEQUE_ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3084
|
+
[END_MACRO]
|
|
3085
|
+
|
|
3086
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_REDUCE_U64.
|
|
3087
|
+
[MACRO] VEC_DEQUE_INTO_ITER_REDUCE %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3088
|
+
EXPAND VEC_DEQUE_INTO_ITER_REDUCE_U64 %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3089
|
+
[END_MACRO]
|
|
3090
|
+
|
|
3091
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3092
|
+
EXPAND VEC_DEQUE_ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3093
|
+
[END_MACRO]
|
|
3094
|
+
|
|
3095
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_REDUCE_U64.
|
|
3096
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_REDUCE %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3097
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_REDUCE_U64 %out_ok, %out_has, %out_value, %iter_reg, %reduce_fn
|
|
3098
|
+
[END_MACRO]
|
|
3099
|
+
|
|
3100
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3101
|
+
EXPAND VEC_DEQUE_ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3102
|
+
[END_MACRO]
|
|
3103
|
+
|
|
3104
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MIN_BY_U64.
|
|
3105
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN_BY %out_has, %out_value, %iter_reg, %compare_fn
|
|
3106
|
+
EXPAND VEC_DEQUE_INTO_ITER_MIN_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3107
|
+
[END_MACRO]
|
|
3108
|
+
|
|
3109
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3110
|
+
EXPAND VEC_DEQUE_ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3111
|
+
[END_MACRO]
|
|
3112
|
+
|
|
3113
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAX_BY_U64.
|
|
3114
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX_BY %out_has, %out_value, %iter_reg, %compare_fn
|
|
3115
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAX_BY_U64 %out_has, %out_value, %iter_reg, %compare_fn
|
|
3116
|
+
[END_MACRO]
|
|
3117
|
+
|
|
3118
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3119
|
+
EXPAND VEC_DEQUE_ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3120
|
+
[END_MACRO]
|
|
3121
|
+
|
|
3122
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MIN_BY_KEY_U64.
|
|
3123
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MIN_BY_KEY %out_has, %out_value, %iter_reg, %key_fn
|
|
3124
|
+
EXPAND VEC_DEQUE_INTO_ITER_MIN_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3125
|
+
[END_MACRO]
|
|
3126
|
+
|
|
3127
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3128
|
+
EXPAND VEC_DEQUE_ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3129
|
+
[END_MACRO]
|
|
3130
|
+
|
|
3131
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAX_BY_KEY_U64.
|
|
3132
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAX_BY_KEY %out_has, %out_value, %iter_reg, %key_fn
|
|
3133
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAX_BY_KEY_U64 %out_has, %out_value, %iter_reg, %key_fn
|
|
3134
|
+
[END_MACRO]
|
|
3135
|
+
|
|
3136
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3137
|
+
EXPAND VEC_DEQUE_ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3138
|
+
[END_MACRO]
|
|
3139
|
+
|
|
3140
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CMP_U64.
|
|
3141
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CMP %out_ordering, %left_iter, %right_iter
|
|
3142
|
+
EXPAND VEC_DEQUE_INTO_ITER_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3143
|
+
[END_MACRO]
|
|
3144
|
+
|
|
3145
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3146
|
+
EXPAND VEC_DEQUE_ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3147
|
+
[END_MACRO]
|
|
3148
|
+
|
|
3149
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CMP_BY_U64.
|
|
3150
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CMP_BY %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3151
|
+
EXPAND VEC_DEQUE_INTO_ITER_CMP_BY_U64 %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3152
|
+
[END_MACRO]
|
|
3153
|
+
|
|
3154
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3155
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3156
|
+
[END_MACRO]
|
|
3157
|
+
|
|
3158
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PARTIAL_CMP_U64.
|
|
3159
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_CMP %out_ordering, %left_iter, %right_iter
|
|
3160
|
+
EXPAND VEC_DEQUE_INTO_ITER_PARTIAL_CMP_U64 %out_ordering, %left_iter, %right_iter
|
|
3161
|
+
[END_MACRO]
|
|
3162
|
+
|
|
3163
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3164
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3165
|
+
[END_MACRO]
|
|
3166
|
+
|
|
3167
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PARTIAL_CMP_BY_U64.
|
|
3168
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_CMP_BY %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3169
|
+
EXPAND VEC_DEQUE_INTO_ITER_PARTIAL_CMP_BY_U64 %out_ok, %out_ordering, %left_iter, %right_iter, %compare_fn
|
|
3170
|
+
[END_MACRO]
|
|
3171
|
+
|
|
3172
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
3173
|
+
EXPAND VEC_DEQUE_ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
3174
|
+
[END_MACRO]
|
|
3175
|
+
|
|
3176
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_EQ_BY_U64.
|
|
3177
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EQ_BY %out_bool, %left_iter, %right_iter, %eq_fn
|
|
3178
|
+
EXPAND VEC_DEQUE_INTO_ITER_EQ_BY_U64 %out_bool, %left_iter, %right_iter, %eq_fn
|
|
3179
|
+
[END_MACRO]
|
|
3180
|
+
|
|
3181
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3182
|
+
EXPAND VEC_DEQUE_ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3183
|
+
[END_MACRO]
|
|
3184
|
+
|
|
3185
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_EQ_U64.
|
|
3186
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EQ %out_bool, %left_iter, %right_iter
|
|
3187
|
+
EXPAND VEC_DEQUE_INTO_ITER_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3188
|
+
[END_MACRO]
|
|
3189
|
+
|
|
3190
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3191
|
+
EXPAND VEC_DEQUE_ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3192
|
+
[END_MACRO]
|
|
3193
|
+
|
|
3194
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PARTIAL_EQ_U64.
|
|
3195
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTIAL_EQ %out_bool, %left_iter, %right_iter
|
|
3196
|
+
EXPAND VEC_DEQUE_INTO_ITER_PARTIAL_EQ_U64 %out_bool, %left_iter, %right_iter
|
|
3197
|
+
[END_MACRO]
|
|
3198
|
+
|
|
3199
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
3200
|
+
EXPAND VEC_DEQUE_ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
3201
|
+
[END_MACRO]
|
|
3202
|
+
|
|
3203
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_NE_U64.
|
|
3204
|
+
[MACRO] VEC_DEQUE_INTO_ITER_NE %out_bool, %left_iter, %right_iter
|
|
3205
|
+
EXPAND VEC_DEQUE_INTO_ITER_NE_U64 %out_bool, %left_iter, %right_iter
|
|
3206
|
+
[END_MACRO]
|
|
3207
|
+
|
|
3208
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
3209
|
+
EXPAND VEC_DEQUE_ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
3210
|
+
[END_MACRO]
|
|
3211
|
+
|
|
3212
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_LT_U64.
|
|
3213
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LT %out_bool, %left_iter, %right_iter
|
|
3214
|
+
EXPAND VEC_DEQUE_INTO_ITER_LT_U64 %out_bool, %left_iter, %right_iter
|
|
3215
|
+
[END_MACRO]
|
|
3216
|
+
|
|
3217
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
3218
|
+
EXPAND VEC_DEQUE_ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
3219
|
+
[END_MACRO]
|
|
3220
|
+
|
|
3221
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_LE_U64.
|
|
3222
|
+
[MACRO] VEC_DEQUE_INTO_ITER_LE %out_bool, %left_iter, %right_iter
|
|
3223
|
+
EXPAND VEC_DEQUE_INTO_ITER_LE_U64 %out_bool, %left_iter, %right_iter
|
|
3224
|
+
[END_MACRO]
|
|
3225
|
+
|
|
3226
|
+
[MACRO] VEC_DEQUE_INTO_ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
3227
|
+
EXPAND VEC_DEQUE_ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
3228
|
+
[END_MACRO]
|
|
3229
|
+
|
|
3230
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_GT_U64.
|
|
3231
|
+
[MACRO] VEC_DEQUE_INTO_ITER_GT %out_bool, %left_iter, %right_iter
|
|
3232
|
+
EXPAND VEC_DEQUE_INTO_ITER_GT_U64 %out_bool, %left_iter, %right_iter
|
|
3233
|
+
[END_MACRO]
|
|
3234
|
+
|
|
3235
|
+
[MACRO] VEC_DEQUE_INTO_ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
3236
|
+
EXPAND VEC_DEQUE_ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
3237
|
+
[END_MACRO]
|
|
3238
|
+
|
|
3239
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_GE_U64.
|
|
3240
|
+
[MACRO] VEC_DEQUE_INTO_ITER_GE %out_bool, %left_iter, %right_iter
|
|
3241
|
+
EXPAND VEC_DEQUE_INTO_ITER_GE_U64 %out_bool, %left_iter, %right_iter
|
|
3242
|
+
[END_MACRO]
|
|
3243
|
+
|
|
3244
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
3245
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
3246
|
+
[END_MACRO]
|
|
3247
|
+
|
|
3248
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_IS_SORTED_U64.
|
|
3249
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED %out_bool, %iter_reg
|
|
3250
|
+
EXPAND VEC_DEQUE_INTO_ITER_IS_SORTED_U64 %out_bool, %iter_reg
|
|
3251
|
+
[END_MACRO]
|
|
3252
|
+
|
|
3253
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
3254
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
3255
|
+
[END_MACRO]
|
|
3256
|
+
|
|
3257
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_IS_SORTED_BY_U64.
|
|
3258
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED_BY %out_bool, %iter_reg, %compare_fn
|
|
3259
|
+
EXPAND VEC_DEQUE_INTO_ITER_IS_SORTED_BY_U64 %out_bool, %iter_reg, %compare_fn
|
|
3260
|
+
[END_MACRO]
|
|
3261
|
+
|
|
3262
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
3263
|
+
EXPAND VEC_DEQUE_ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
3264
|
+
[END_MACRO]
|
|
3265
|
+
|
|
3266
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_IS_SORTED_BY_KEY_U64.
|
|
3267
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_SORTED_BY_KEY %out_bool, %iter_reg, %key_fn
|
|
3268
|
+
EXPAND VEC_DEQUE_INTO_ITER_IS_SORTED_BY_KEY_U64 %out_bool, %iter_reg, %key_fn
|
|
3269
|
+
[END_MACRO]
|
|
3270
|
+
|
|
3271
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
3272
|
+
EXPAND VEC_DEQUE_ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
3273
|
+
[END_MACRO]
|
|
3274
|
+
|
|
3275
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PARTITION_U64.
|
|
3276
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PARTITION %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
3277
|
+
EXPAND VEC_DEQUE_INTO_ITER_PARTITION_U64 %out_true_vec, %out_false_vec, %iter_reg, %pred_fn
|
|
3278
|
+
[END_MACRO]
|
|
3279
|
+
|
|
3280
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
3281
|
+
EXPAND VEC_DEQUE_ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
3282
|
+
[END_MACRO]
|
|
3283
|
+
|
|
3284
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_IS_PARTITIONED_U64.
|
|
3285
|
+
[MACRO] VEC_DEQUE_INTO_ITER_IS_PARTITIONED %out_bool, %iter_reg, %pred_fn
|
|
3286
|
+
EXPAND VEC_DEQUE_INTO_ITER_IS_PARTITIONED_U64 %out_bool, %iter_reg, %pred_fn
|
|
3287
|
+
[END_MACRO]
|
|
3288
|
+
|
|
3289
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
3290
|
+
EXPAND VEC_DEQUE_ITER_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
3291
|
+
[END_MACRO]
|
|
3292
|
+
|
|
3293
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_SIZE_HINT_U64.
|
|
3294
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SIZE_HINT %out_lower, %out_upper, %iter_reg
|
|
3295
|
+
EXPAND VEC_DEQUE_INTO_ITER_SIZE_HINT_U64 %out_lower, %out_upper, %iter_reg
|
|
3296
|
+
[END_MACRO]
|
|
3297
|
+
|
|
3298
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
3299
|
+
EXPAND VEC_DEQUE_ITER_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
3300
|
+
[END_MACRO]
|
|
3301
|
+
|
|
3302
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_EXACT_SIZE_LEN_U64.
|
|
3303
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EXACT_SIZE_LEN %out_len, %iter_reg
|
|
3304
|
+
EXPAND VEC_DEQUE_INTO_ITER_EXACT_SIZE_LEN_U64 %out_len, %iter_reg
|
|
3305
|
+
[END_MACRO]
|
|
3306
|
+
|
|
3307
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
3308
|
+
EXPAND VEC_DEQUE_ITER_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
3309
|
+
[END_MACRO]
|
|
3310
|
+
|
|
3311
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_EXACT_SIZE_IS_EMPTY_U64.
|
|
3312
|
+
[MACRO] VEC_DEQUE_INTO_ITER_EXACT_SIZE_IS_EMPTY %out_bool, %iter_reg
|
|
3313
|
+
EXPAND VEC_DEQUE_INTO_ITER_EXACT_SIZE_IS_EMPTY_U64 %out_bool, %iter_reg
|
|
3314
|
+
[END_MACRO]
|
|
3315
|
+
|
|
3316
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
3317
|
+
EXPAND VEC_DEQUE_ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
3318
|
+
[END_MACRO]
|
|
3319
|
+
|
|
3320
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_COLLECT_U64.
|
|
3321
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COLLECT %out_vec, %iter_reg
|
|
3322
|
+
EXPAND VEC_DEQUE_INTO_ITER_COLLECT_U64 %out_vec, %iter_reg
|
|
3323
|
+
[END_MACRO]
|
|
3324
|
+
|
|
3325
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
3326
|
+
EXPAND VEC_DEQUE_ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
3327
|
+
[END_MACRO]
|
|
3328
|
+
|
|
3329
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_COLLECT_U64.
|
|
3330
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_COLLECT %out_ok, %out_vec, %iter_reg, %try_fn
|
|
3331
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %try_fn
|
|
3332
|
+
[END_MACRO]
|
|
3333
|
+
|
|
3334
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
3335
|
+
EXPAND VEC_DEQUE_ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
3336
|
+
[END_MACRO]
|
|
3337
|
+
|
|
3338
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_COLLECT_INTO_U64.
|
|
3339
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COLLECT_INTO %vec_reg, %iter_reg
|
|
3340
|
+
EXPAND VEC_DEQUE_INTO_ITER_COLLECT_INTO_U64 %vec_reg, %iter_reg
|
|
3341
|
+
[END_MACRO]
|
|
3342
|
+
|
|
3343
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
3344
|
+
EXPAND VEC_DEQUE_ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
3345
|
+
[END_MACRO]
|
|
3346
|
+
|
|
3347
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_COPIED_COLLECT_U64.
|
|
3348
|
+
[MACRO] VEC_DEQUE_INTO_ITER_COPIED_COLLECT %out_vec, %iter_reg
|
|
3349
|
+
EXPAND VEC_DEQUE_INTO_ITER_COPIED_COLLECT_U64 %out_vec, %iter_reg
|
|
3350
|
+
[END_MACRO]
|
|
3351
|
+
|
|
3352
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
3353
|
+
EXPAND VEC_DEQUE_ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
3354
|
+
[END_MACRO]
|
|
3355
|
+
|
|
3356
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CLONED_COLLECT_U64.
|
|
3357
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CLONED_COLLECT %out_vec, %iter_reg
|
|
3358
|
+
EXPAND VEC_DEQUE_INTO_ITER_CLONED_COLLECT_U64 %out_vec, %iter_reg
|
|
3359
|
+
[END_MACRO]
|
|
3360
|
+
|
|
3361
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3362
|
+
EXPAND VEC_DEQUE_ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3363
|
+
[END_MACRO]
|
|
3364
|
+
|
|
3365
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TAKE_COLLECT_U64.
|
|
3366
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TAKE_COLLECT %out_vec, %iter_reg, %count
|
|
3367
|
+
EXPAND VEC_DEQUE_INTO_ITER_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3368
|
+
[END_MACRO]
|
|
3369
|
+
|
|
3370
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3371
|
+
EXPAND VEC_DEQUE_ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3372
|
+
[END_MACRO]
|
|
3373
|
+
|
|
3374
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_SKIP_COLLECT_U64.
|
|
3375
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SKIP_COLLECT %out_vec, %iter_reg, %count
|
|
3376
|
+
EXPAND VEC_DEQUE_INTO_ITER_SKIP_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3377
|
+
[END_MACRO]
|
|
3378
|
+
|
|
3379
|
+
[MACRO] VEC_DEQUE_INTO_ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
3380
|
+
EXPAND VEC_DEQUE_ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
3381
|
+
[END_MACRO]
|
|
3382
|
+
|
|
3383
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_REV_COLLECT_U64.
|
|
3384
|
+
[MACRO] VEC_DEQUE_INTO_ITER_REV_COLLECT %out_vec, %iter_reg
|
|
3385
|
+
EXPAND VEC_DEQUE_INTO_ITER_REV_COLLECT_U64 %out_vec, %iter_reg
|
|
3386
|
+
[END_MACRO]
|
|
3387
|
+
|
|
3388
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
3389
|
+
EXPAND VEC_DEQUE_ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
3390
|
+
[END_MACRO]
|
|
3391
|
+
|
|
3392
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TRY_STEP_BY_COLLECT_U64.
|
|
3393
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TRY_STEP_BY_COLLECT %out_ok, %out_vec, %iter_reg, %step
|
|
3394
|
+
EXPAND VEC_DEQUE_INTO_ITER_TRY_STEP_BY_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %step
|
|
3395
|
+
[END_MACRO]
|
|
3396
|
+
|
|
3397
|
+
[MACRO] VEC_DEQUE_INTO_ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
3398
|
+
EXPAND VEC_DEQUE_ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
3399
|
+
[END_MACRO]
|
|
3400
|
+
|
|
3401
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_STEP_BY_COLLECT_U64.
|
|
3402
|
+
[MACRO] VEC_DEQUE_INTO_ITER_STEP_BY_COLLECT %out_vec, %iter_reg, %step
|
|
3403
|
+
EXPAND VEC_DEQUE_INTO_ITER_STEP_BY_COLLECT_U64 %out_vec, %iter_reg, %step
|
|
3404
|
+
[END_MACRO]
|
|
3405
|
+
|
|
3406
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3407
|
+
EXPAND VEC_DEQUE_ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3408
|
+
[END_MACRO]
|
|
3409
|
+
|
|
3410
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAP_COLLECT_U64.
|
|
3411
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_COLLECT %out_vec, %iter_reg, %map_fn
|
|
3412
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3413
|
+
[END_MACRO]
|
|
3414
|
+
|
|
3415
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
3416
|
+
EXPAND VEC_DEQUE_ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
3417
|
+
[END_MACRO]
|
|
3418
|
+
|
|
3419
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_INSPECT_COLLECT_U64.
|
|
3420
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INSPECT_COLLECT %out_vec, %iter_reg, %inspect_fn
|
|
3421
|
+
EXPAND VEC_DEQUE_INTO_ITER_INSPECT_COLLECT_U64 %out_vec, %iter_reg, %inspect_fn
|
|
3422
|
+
[END_MACRO]
|
|
3423
|
+
|
|
3424
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
3425
|
+
EXPAND VEC_DEQUE_ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
3426
|
+
[END_MACRO]
|
|
3427
|
+
|
|
3428
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_SCAN_COLLECT_U64.
|
|
3429
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SCAN_COLLECT %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
3430
|
+
EXPAND VEC_DEQUE_INTO_ITER_SCAN_COLLECT_U64 %out_vec, %iter_reg, %initial_state, %scan_fn
|
|
3431
|
+
[END_MACRO]
|
|
3432
|
+
|
|
3433
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3434
|
+
EXPAND VEC_DEQUE_ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3435
|
+
[END_MACRO]
|
|
3436
|
+
|
|
3437
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FILTER_COLLECT_U64.
|
|
3438
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FILTER_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
3439
|
+
EXPAND VEC_DEQUE_INTO_ITER_FILTER_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3440
|
+
[END_MACRO]
|
|
3441
|
+
|
|
3442
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3443
|
+
EXPAND VEC_DEQUE_ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3444
|
+
[END_MACRO]
|
|
3445
|
+
|
|
3446
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FILTER_MAP_COLLECT_U64.
|
|
3447
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FILTER_MAP_COLLECT %out_vec, %iter_reg, %map_fn
|
|
3448
|
+
EXPAND VEC_DEQUE_INTO_ITER_FILTER_MAP_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3449
|
+
[END_MACRO]
|
|
3450
|
+
|
|
3451
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3452
|
+
EXPAND VEC_DEQUE_ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3453
|
+
[END_MACRO]
|
|
3454
|
+
|
|
3455
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAP_WHILE_COLLECT_U64.
|
|
3456
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_WHILE_COLLECT %out_vec, %iter_reg, %map_fn
|
|
3457
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %map_fn
|
|
3458
|
+
[END_MACRO]
|
|
3459
|
+
|
|
3460
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
3461
|
+
EXPAND VEC_DEQUE_ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
3462
|
+
[END_MACRO]
|
|
3463
|
+
|
|
3464
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_INTERSPERSE_COLLECT_U64.
|
|
3465
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INTERSPERSE_COLLECT %out_vec, %iter_reg, %separator
|
|
3466
|
+
EXPAND VEC_DEQUE_INTO_ITER_INTERSPERSE_COLLECT_U64 %out_vec, %iter_reg, %separator
|
|
3467
|
+
[END_MACRO]
|
|
3468
|
+
|
|
3469
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
3470
|
+
EXPAND VEC_DEQUE_ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
3471
|
+
[END_MACRO]
|
|
3472
|
+
|
|
3473
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_INTERSPERSE_WITH_COLLECT_U64.
|
|
3474
|
+
[MACRO] VEC_DEQUE_INTO_ITER_INTERSPERSE_WITH_COLLECT %out_vec, %iter_reg, %sep_fn
|
|
3475
|
+
EXPAND VEC_DEQUE_INTO_ITER_INTERSPERSE_WITH_COLLECT_U64 %out_vec, %iter_reg, %sep_fn
|
|
3476
|
+
[END_MACRO]
|
|
3477
|
+
|
|
3478
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3479
|
+
EXPAND VEC_DEQUE_ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3480
|
+
[END_MACRO]
|
|
3481
|
+
|
|
3482
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CYCLE_TAKE_COLLECT_U64.
|
|
3483
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CYCLE_TAKE_COLLECT %out_vec, %iter_reg, %count
|
|
3484
|
+
EXPAND VEC_DEQUE_INTO_ITER_CYCLE_TAKE_COLLECT_U64 %out_vec, %iter_reg, %count
|
|
3485
|
+
[END_MACRO]
|
|
3486
|
+
|
|
3487
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3488
|
+
EXPAND VEC_DEQUE_ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3489
|
+
[END_MACRO]
|
|
3490
|
+
|
|
3491
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_TAKE_WHILE_COLLECT_U64.
|
|
3492
|
+
[MACRO] VEC_DEQUE_INTO_ITER_TAKE_WHILE_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
3493
|
+
EXPAND VEC_DEQUE_INTO_ITER_TAKE_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3494
|
+
[END_MACRO]
|
|
3495
|
+
|
|
3496
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3497
|
+
EXPAND VEC_DEQUE_ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3498
|
+
[END_MACRO]
|
|
3499
|
+
|
|
3500
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_SKIP_WHILE_COLLECT_U64.
|
|
3501
|
+
[MACRO] VEC_DEQUE_INTO_ITER_SKIP_WHILE_COLLECT %out_vec, %iter_reg, %pred_fn
|
|
3502
|
+
EXPAND VEC_DEQUE_INTO_ITER_SKIP_WHILE_COLLECT_U64 %out_vec, %iter_reg, %pred_fn
|
|
3503
|
+
[END_MACRO]
|
|
3504
|
+
|
|
3505
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
3506
|
+
EXPAND VEC_DEQUE_ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
3507
|
+
[END_MACRO]
|
|
3508
|
+
|
|
3509
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_ENUMERATE_COLLECT_U64.
|
|
3510
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ENUMERATE_COLLECT %out_vec, %iter_reg
|
|
3511
|
+
EXPAND VEC_DEQUE_INTO_ITER_ENUMERATE_COLLECT_U64 %out_vec, %iter_reg
|
|
3512
|
+
[END_MACRO]
|
|
3513
|
+
|
|
3514
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3515
|
+
EXPAND VEC_DEQUE_ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3516
|
+
[END_MACRO]
|
|
3517
|
+
|
|
3518
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_ZIP_COLLECT_U64.
|
|
3519
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ZIP_COLLECT %out_vec, %left_iter, %right_iter
|
|
3520
|
+
EXPAND VEC_DEQUE_INTO_ITER_ZIP_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3521
|
+
[END_MACRO]
|
|
3522
|
+
|
|
3523
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3524
|
+
EXPAND VEC_DEQUE_ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3525
|
+
[END_MACRO]
|
|
3526
|
+
|
|
3527
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_CHAIN_COLLECT_U64.
|
|
3528
|
+
[MACRO] VEC_DEQUE_INTO_ITER_CHAIN_COLLECT %out_vec, %left_iter, %right_iter
|
|
3529
|
+
EXPAND VEC_DEQUE_INTO_ITER_CHAIN_COLLECT_U64 %out_vec, %left_iter, %right_iter
|
|
3530
|
+
[END_MACRO]
|
|
3531
|
+
|
|
3532
|
+
[MACRO] VEC_DEQUE_INTO_ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
3533
|
+
EXPAND VEC_DEQUE_ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
3534
|
+
[END_MACRO]
|
|
3535
|
+
|
|
3536
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_BY_REF_COLLECT_U64.
|
|
3537
|
+
[MACRO] VEC_DEQUE_INTO_ITER_BY_REF_COLLECT %out_vec, %iter_reg
|
|
3538
|
+
EXPAND VEC_DEQUE_INTO_ITER_BY_REF_COLLECT_U64 %out_vec, %iter_reg
|
|
3539
|
+
[END_MACRO]
|
|
3540
|
+
|
|
3541
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
3542
|
+
EXPAND VEC_DEQUE_ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
3543
|
+
[END_MACRO]
|
|
3544
|
+
|
|
3545
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_FUSE_COLLECT_U64.
|
|
3546
|
+
[MACRO] VEC_DEQUE_INTO_ITER_FUSE_COLLECT %out_vec, %iter_reg
|
|
3547
|
+
EXPAND VEC_DEQUE_INTO_ITER_FUSE_COLLECT_U64 %out_vec, %iter_reg
|
|
3548
|
+
[END_MACRO]
|
|
3549
|
+
|
|
3550
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
3551
|
+
EXPAND VEC_DEQUE_ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
3552
|
+
[END_MACRO]
|
|
3553
|
+
|
|
3554
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_PEEKABLE_COLLECT_U64.
|
|
3555
|
+
[MACRO] VEC_DEQUE_INTO_ITER_PEEKABLE_COLLECT %out_vec, %iter_reg
|
|
3556
|
+
EXPAND VEC_DEQUE_INTO_ITER_PEEKABLE_COLLECT_U64 %out_vec, %iter_reg
|
|
3557
|
+
[END_MACRO]
|
|
3558
|
+
|
|
3559
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
3560
|
+
EXPAND VEC_DEQUE_ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
3561
|
+
[END_MACRO]
|
|
3562
|
+
|
|
3563
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_ARRAY_CHUNKS_COLLECT_U64.
|
|
3564
|
+
[MACRO] VEC_DEQUE_INTO_ITER_ARRAY_CHUNKS_COLLECT %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
3565
|
+
EXPAND VEC_DEQUE_INTO_ITER_ARRAY_CHUNKS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %chunk_size
|
|
3566
|
+
[END_MACRO]
|
|
3567
|
+
|
|
3568
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
3569
|
+
EXPAND VEC_DEQUE_ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
3570
|
+
[END_MACRO]
|
|
3571
|
+
|
|
3572
|
+
// Rust method-name alias over VEC_DEQUE_INTO_ITER_MAP_WINDOWS_COLLECT_U64.
|
|
3573
|
+
[MACRO] VEC_DEQUE_INTO_ITER_MAP_WINDOWS_COLLECT %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
3574
|
+
EXPAND VEC_DEQUE_INTO_ITER_MAP_WINDOWS_COLLECT_U64 %out_ok, %out_vec, %iter_reg, %window_size, %map_fn
|
|
3575
|
+
[END_MACRO]
|
|
3576
|
+
|
|
3577
|
+
[MACRO] VEC_DEQUE_RESERVE %deque_reg, %additional
|
|
3578
|
+
call @sa_vec_deque_reserve(&%deque_reg, %additional)
|
|
3579
|
+
[END_MACRO]
|
|
3580
|
+
|
|
3581
|
+
[MACRO] VEC_DEQUE_RESERVE_EXACT %deque_reg, %additional
|
|
3582
|
+
call @sa_vec_deque_reserve_exact(&%deque_reg, %additional)
|
|
3583
|
+
[END_MACRO]
|
|
3584
|
+
|
|
3585
|
+
[MACRO] VEC_DEQUE_TRY_RESERVE %out_ok, %deque_reg, %additional
|
|
3586
|
+
%out_ok = call @sa_vec_deque_try_reserve(&%deque_reg, %additional)
|
|
3587
|
+
[END_MACRO]
|
|
3588
|
+
|
|
3589
|
+
[MACRO] VEC_DEQUE_TRY_RESERVE_EXACT %out_ok, %deque_reg, %additional
|
|
3590
|
+
%out_ok = call @sa_vec_deque_try_reserve_exact(&%deque_reg, %additional)
|
|
3591
|
+
[END_MACRO]
|
|
3592
|
+
|
|
3593
|
+
[MACRO] VEC_DEQUE_TRY_SHRINK_TO %out_ok, %deque_reg, %min_capacity
|
|
3594
|
+
%out_ok = call @sa_vec_deque_try_shrink_to(&%deque_reg, %min_capacity)
|
|
3595
|
+
[END_MACRO]
|
|
3596
|
+
|
|
3597
|
+
[MACRO] VEC_DEQUE_TRY_SHRINK_TO_FIT %out_ok, %deque_reg
|
|
3598
|
+
%out_ok = call @sa_vec_deque_try_shrink_to_fit(&%deque_reg)
|
|
3599
|
+
[END_MACRO]
|
|
3600
|
+
|
|
3601
|
+
[MACRO] VEC_DEQUE_SHRINK_TO %deque_reg, %min_capacity
|
|
3602
|
+
call @sa_vec_deque_shrink_to(&%deque_reg, %min_capacity)
|
|
3603
|
+
[END_MACRO]
|
|
3604
|
+
|
|
3605
|
+
[MACRO] VEC_DEQUE_SHRINK_TO_FIT %deque_reg
|
|
3606
|
+
call @sa_vec_deque_shrink_to_fit(&%deque_reg)
|
|
3607
|
+
[END_MACRO]
|
|
3608
|
+
|
|
3609
|
+
[MACRO] VEC_DEQUE_AS_SLICES %out_front_slice, %out_back_slice, %deque_reg
|
|
3610
|
+
%out_front_slice = alloc Slice_SIZE
|
|
3611
|
+
%out_back_slice = alloc Slice_SIZE
|
|
3612
|
+
call @sa_vec_deque_as_slices(&%deque_reg, &%out_front_slice, &%out_back_slice)
|
|
3613
|
+
[END_MACRO]
|
|
3614
|
+
|
|
3615
|
+
[MACRO] VEC_DEQUE_AS_MUT_SLICES %out_front_slice, %out_back_slice, %deque_reg
|
|
3616
|
+
%out_front_slice = alloc Slice_SIZE
|
|
3617
|
+
%out_back_slice = alloc Slice_SIZE
|
|
3618
|
+
call @sa_vec_deque_as_mut_slices(&%deque_reg, &%out_front_slice, &%out_back_slice)
|
|
3619
|
+
[END_MACRO]
|
|
3620
|
+
|
|
3621
|
+
[MACRO] VEC_DEQUE_MAKE_CONTIGUOUS %out_slice, %deque_reg
|
|
3622
|
+
%out_slice = alloc Slice_SIZE
|
|
3623
|
+
call @sa_vec_deque_make_contiguous(&%deque_reg, &%out_slice)
|
|
3624
|
+
[END_MACRO]
|
|
3625
|
+
|
|
3626
|
+
[MACRO] DEFAULT_HASHER_WRITE_VEC_DEQUE_U64 %hasher, %deque_reg
|
|
3627
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS __vec_deque_hash_slice_%hasher, %deque_reg
|
|
3628
|
+
EXPAND DEFAULT_HASHER_WRITE_SLICE_U64 %hasher, __vec_deque_hash_slice_%hasher
|
|
3629
|
+
!__vec_deque_hash_slice_%hasher
|
|
3630
|
+
[END_MACRO]
|
|
3631
|
+
|
|
3632
|
+
// Rust method-name alias over DEFAULT_HASHER_WRITE_VEC_DEQUE_U64.
|
|
3633
|
+
[MACRO] DEFAULT_HASHER_WRITE_VEC_DEQUE %hasher, %deque_reg
|
|
3634
|
+
EXPAND DEFAULT_HASHER_WRITE_VEC_DEQUE_U64 %hasher, %deque_reg
|
|
3635
|
+
[END_MACRO]
|
|
3636
|
+
|
|
3637
|
+
[MACRO] VEC_DEQUE_HASH_U64 %out_hash, %deque_reg
|
|
3638
|
+
__vec_deque_hash_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
|
|
3639
|
+
EXPAND DEFAULT_HASHER_NEW __vec_deque_hash_hasher_%out_hash
|
|
3640
|
+
EXPAND DEFAULT_HASHER_WRITE_VEC_DEQUE_U64 __vec_deque_hash_hasher_%out_hash, %deque_reg
|
|
3641
|
+
EXPAND DEFAULT_HASHER_FINISH %out_hash, __vec_deque_hash_hasher_%out_hash
|
|
3642
|
+
[END_MACRO]
|
|
3643
|
+
|
|
3644
|
+
// Rust method-name alias over VEC_DEQUE_HASH_U64.
|
|
3645
|
+
[MACRO] VEC_DEQUE_HASH %out_hash, %deque_reg
|
|
3646
|
+
EXPAND VEC_DEQUE_HASH_U64 %out_hash, %deque_reg
|
|
3647
|
+
[END_MACRO]
|
|
3648
|
+
|
|
3649
|
+
[MACRO] BUILD_HASHER_DEFAULT_HASH_ONE_VEC_DEQUE_U64 %out_hash, %builder, %deque_reg
|
|
3650
|
+
__build_hash_one_vec_deque_u64_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
|
|
3651
|
+
EXPAND BUILD_HASHER_DEFAULT_BUILD __build_hash_one_vec_deque_u64_hasher_%out_hash, %builder
|
|
3652
|
+
EXPAND DEFAULT_HASHER_WRITE_VEC_DEQUE_U64 __build_hash_one_vec_deque_u64_hasher_%out_hash, %deque_reg
|
|
3653
|
+
EXPAND DEFAULT_HASHER_FINISH %out_hash, __build_hash_one_vec_deque_u64_hasher_%out_hash
|
|
3654
|
+
[END_MACRO]
|
|
3655
|
+
|
|
3656
|
+
// Rust method-name alias over BUILD_HASHER_DEFAULT_HASH_ONE_VEC_DEQUE_U64.
|
|
3657
|
+
[MACRO] BUILD_HASHER_DEFAULT_HASH_ONE_VEC_DEQUE %out_hash, %builder, %deque_reg
|
|
3658
|
+
EXPAND BUILD_HASHER_DEFAULT_HASH_ONE_VEC_DEQUE_U64 %out_hash, %builder, %deque_reg
|
|
3659
|
+
[END_MACRO]
|
|
3660
|
+
|
|
3661
|
+
[MACRO] RANDOM_STATE_HASH_ONE_VEC_DEQUE_U64 %out_hash, %state, %deque_reg
|
|
3662
|
+
__random_state_hash_one_vec_deque_u64_hasher_%out_hash = stack_alloc DefaultHasher_SIZE
|
|
3663
|
+
EXPAND RANDOM_STATE_BUILD __random_state_hash_one_vec_deque_u64_hasher_%out_hash, %state
|
|
3664
|
+
EXPAND DEFAULT_HASHER_WRITE_VEC_DEQUE_U64 __random_state_hash_one_vec_deque_u64_hasher_%out_hash, %deque_reg
|
|
3665
|
+
EXPAND DEFAULT_HASHER_FINISH %out_hash, __random_state_hash_one_vec_deque_u64_hasher_%out_hash
|
|
3666
|
+
[END_MACRO]
|
|
3667
|
+
|
|
3668
|
+
// Rust method-name alias over RANDOM_STATE_HASH_ONE_VEC_DEQUE_U64.
|
|
3669
|
+
[MACRO] RANDOM_STATE_HASH_ONE_VEC_DEQUE %out_hash, %state, %deque_reg
|
|
3670
|
+
EXPAND RANDOM_STATE_HASH_ONE_VEC_DEQUE_U64 %out_hash, %state, %deque_reg
|
|
3671
|
+
[END_MACRO]
|
|
3672
|
+
|
|
3673
|
+
[MACRO] VEC_DEQUE_RETAIN_U64 %out_len, %deque_reg, %pred_fn
|
|
3674
|
+
call @vec_deque_force_contiguous(&%deque_reg)
|
|
3675
|
+
__vec_deque_retain_view_%out_len = & %deque_reg
|
|
3676
|
+
__vec_deque_retain_ptr_%out_len = load __vec_deque_retain_view_%out_len+VecDeque_buf as ptr
|
|
3677
|
+
__vec_deque_retain_len_%out_len = load __vec_deque_retain_view_%out_len+VecDeque_len as u64
|
|
3678
|
+
__vec_deque_retain_read_slot_%out_len = stack_alloc 8
|
|
3679
|
+
__vec_deque_retain_write_slot_%out_len = stack_alloc 8
|
|
3680
|
+
store __vec_deque_retain_read_slot_%out_len+0, 0 as u64
|
|
3681
|
+
store __vec_deque_retain_write_slot_%out_len+0, 0 as u64
|
|
3682
|
+
jmp L_VEC_DEQUE_RETAIN_HEAD_%out_len
|
|
3683
|
+
|
|
3684
|
+
L_VEC_DEQUE_RETAIN_HEAD_%out_len:
|
|
3685
|
+
__vec_deque_retain_read_%out_len = load __vec_deque_retain_read_slot_%out_len+0 as u64
|
|
3686
|
+
__vec_deque_retain_done_%out_len = eq __vec_deque_retain_read_%out_len, __vec_deque_retain_len_%out_len
|
|
3687
|
+
br __vec_deque_retain_done_%out_len -> L_VEC_DEQUE_RETAIN_DONE_%out_len, L_VEC_DEQUE_RETAIN_BODY_%out_len
|
|
3688
|
+
|
|
3689
|
+
L_VEC_DEQUE_RETAIN_BODY_%out_len:
|
|
3690
|
+
__vec_deque_retain_read_off_%out_len = mul __vec_deque_retain_read_%out_len, VecDeque_SLOT_SIZE
|
|
3691
|
+
__vec_deque_retain_read_ptr_%out_len = ptr_add __vec_deque_retain_ptr_%out_len, __vec_deque_retain_read_off_%out_len
|
|
3692
|
+
__vec_deque_retain_value_%out_len = load __vec_deque_retain_read_ptr_%out_len+0 as u64
|
|
3693
|
+
__vec_deque_retain_pred_%out_len = call %pred_fn(__vec_deque_retain_value_%out_len)
|
|
3694
|
+
__vec_deque_retain_keep_%out_len = ne __vec_deque_retain_pred_%out_len, 0
|
|
3695
|
+
br __vec_deque_retain_keep_%out_len -> L_VEC_DEQUE_RETAIN_KEEP_%out_len, L_VEC_DEQUE_RETAIN_SKIP_%out_len
|
|
3696
|
+
|
|
3697
|
+
L_VEC_DEQUE_RETAIN_KEEP_%out_len:
|
|
3698
|
+
__vec_deque_retain_write_%out_len = load __vec_deque_retain_write_slot_%out_len+0 as u64
|
|
3699
|
+
__vec_deque_retain_write_off_%out_len = mul __vec_deque_retain_write_%out_len, VecDeque_SLOT_SIZE
|
|
3700
|
+
__vec_deque_retain_write_ptr_%out_len = ptr_add __vec_deque_retain_ptr_%out_len, __vec_deque_retain_write_off_%out_len
|
|
3701
|
+
store __vec_deque_retain_write_ptr_%out_len+0, __vec_deque_retain_value_%out_len as u64
|
|
3702
|
+
__vec_deque_retain_next_write_%out_len = add __vec_deque_retain_write_%out_len, 1
|
|
3703
|
+
store __vec_deque_retain_write_slot_%out_len+0, __vec_deque_retain_next_write_%out_len as u64
|
|
3704
|
+
!__vec_deque_retain_next_write_%out_len
|
|
3705
|
+
!__vec_deque_retain_write_ptr_%out_len
|
|
3706
|
+
!__vec_deque_retain_write_off_%out_len
|
|
3707
|
+
!__vec_deque_retain_write_%out_len
|
|
3708
|
+
jmp L_VEC_DEQUE_RETAIN_NEXT_%out_len
|
|
3709
|
+
|
|
3710
|
+
L_VEC_DEQUE_RETAIN_SKIP_%out_len:
|
|
3711
|
+
jmp L_VEC_DEQUE_RETAIN_NEXT_%out_len
|
|
3712
|
+
|
|
3713
|
+
L_VEC_DEQUE_RETAIN_NEXT_%out_len:
|
|
3714
|
+
__vec_deque_retain_next_read_%out_len = add __vec_deque_retain_read_%out_len, 1
|
|
3715
|
+
store __vec_deque_retain_read_slot_%out_len+0, __vec_deque_retain_next_read_%out_len as u64
|
|
3716
|
+
!__vec_deque_retain_next_read_%out_len
|
|
3717
|
+
!__vec_deque_retain_keep_%out_len
|
|
3718
|
+
!__vec_deque_retain_pred_%out_len
|
|
3719
|
+
!__vec_deque_retain_value_%out_len
|
|
3720
|
+
!__vec_deque_retain_read_ptr_%out_len
|
|
3721
|
+
!__vec_deque_retain_read_off_%out_len
|
|
3722
|
+
!__vec_deque_retain_done_%out_len
|
|
3723
|
+
!__vec_deque_retain_read_%out_len
|
|
3724
|
+
jmp L_VEC_DEQUE_RETAIN_HEAD_%out_len
|
|
3725
|
+
|
|
3726
|
+
L_VEC_DEQUE_RETAIN_DONE_%out_len:
|
|
3727
|
+
%out_len = load __vec_deque_retain_write_slot_%out_len+0 as u64
|
|
3728
|
+
store __vec_deque_retain_view_%out_len+VecDeque_len, %out_len as u64
|
|
3729
|
+
store __vec_deque_retain_view_%out_len+VecDeque_head, 0 as u64
|
|
3730
|
+
!__vec_deque_retain_done_%out_len
|
|
3731
|
+
!__vec_deque_retain_read_%out_len
|
|
3732
|
+
!__vec_deque_retain_len_%out_len
|
|
3733
|
+
!__vec_deque_retain_ptr_%out_len
|
|
3734
|
+
!__vec_deque_retain_view_%out_len
|
|
3735
|
+
[END_MACRO]
|
|
3736
|
+
|
|
3737
|
+
[MACRO] VEC_DEQUE_RETAIN_MUT_U64 %out_len, %deque_reg, %pred_fn
|
|
3738
|
+
call @vec_deque_force_contiguous(&%deque_reg)
|
|
3739
|
+
__vec_deque_retain_mut_view_%out_len = & %deque_reg
|
|
3740
|
+
__vec_deque_retain_mut_ptr_%out_len = load __vec_deque_retain_mut_view_%out_len+VecDeque_buf as ptr
|
|
3741
|
+
__vec_deque_retain_mut_len_%out_len = load __vec_deque_retain_mut_view_%out_len+VecDeque_len as u64
|
|
3742
|
+
__vec_deque_retain_mut_read_slot_%out_len = stack_alloc 8
|
|
3743
|
+
__vec_deque_retain_mut_write_slot_%out_len = stack_alloc 8
|
|
3744
|
+
store __vec_deque_retain_mut_read_slot_%out_len+0, 0 as u64
|
|
3745
|
+
store __vec_deque_retain_mut_write_slot_%out_len+0, 0 as u64
|
|
3746
|
+
jmp L_VEC_DEQUE_RETAIN_MUT_HEAD_%out_len
|
|
3747
|
+
|
|
3748
|
+
L_VEC_DEQUE_RETAIN_MUT_HEAD_%out_len:
|
|
3749
|
+
__vec_deque_retain_mut_read_%out_len = load __vec_deque_retain_mut_read_slot_%out_len+0 as u64
|
|
3750
|
+
__vec_deque_retain_mut_done_%out_len = eq __vec_deque_retain_mut_read_%out_len, __vec_deque_retain_mut_len_%out_len
|
|
3751
|
+
br __vec_deque_retain_mut_done_%out_len -> L_VEC_DEQUE_RETAIN_MUT_DONE_%out_len, L_VEC_DEQUE_RETAIN_MUT_BODY_%out_len
|
|
3752
|
+
|
|
3753
|
+
L_VEC_DEQUE_RETAIN_MUT_BODY_%out_len:
|
|
3754
|
+
__vec_deque_retain_mut_read_off_%out_len = mul __vec_deque_retain_mut_read_%out_len, VecDeque_SLOT_SIZE
|
|
3755
|
+
__vec_deque_retain_mut_read_ptr_%out_len = ptr_add __vec_deque_retain_mut_ptr_%out_len, __vec_deque_retain_mut_read_off_%out_len
|
|
3756
|
+
__vec_deque_retain_mut_pred_%out_len = call %pred_fn(__vec_deque_retain_mut_read_ptr_%out_len)
|
|
3757
|
+
__vec_deque_retain_mut_keep_%out_len = ne __vec_deque_retain_mut_pred_%out_len, 0
|
|
3758
|
+
br __vec_deque_retain_mut_keep_%out_len -> L_VEC_DEQUE_RETAIN_MUT_KEEP_%out_len, L_VEC_DEQUE_RETAIN_MUT_SKIP_%out_len
|
|
3759
|
+
|
|
3760
|
+
L_VEC_DEQUE_RETAIN_MUT_KEEP_%out_len:
|
|
3761
|
+
__vec_deque_retain_mut_value_%out_len = load __vec_deque_retain_mut_read_ptr_%out_len+0 as u64
|
|
3762
|
+
__vec_deque_retain_mut_write_%out_len = load __vec_deque_retain_mut_write_slot_%out_len+0 as u64
|
|
3763
|
+
__vec_deque_retain_mut_write_off_%out_len = mul __vec_deque_retain_mut_write_%out_len, VecDeque_SLOT_SIZE
|
|
3764
|
+
__vec_deque_retain_mut_write_ptr_%out_len = ptr_add __vec_deque_retain_mut_ptr_%out_len, __vec_deque_retain_mut_write_off_%out_len
|
|
3765
|
+
store __vec_deque_retain_mut_write_ptr_%out_len+0, __vec_deque_retain_mut_value_%out_len as u64
|
|
3766
|
+
__vec_deque_retain_mut_next_write_%out_len = add __vec_deque_retain_mut_write_%out_len, 1
|
|
3767
|
+
store __vec_deque_retain_mut_write_slot_%out_len+0, __vec_deque_retain_mut_next_write_%out_len as u64
|
|
3768
|
+
!__vec_deque_retain_mut_next_write_%out_len
|
|
3769
|
+
!__vec_deque_retain_mut_write_ptr_%out_len
|
|
3770
|
+
!__vec_deque_retain_mut_write_off_%out_len
|
|
3771
|
+
!__vec_deque_retain_mut_write_%out_len
|
|
3772
|
+
!__vec_deque_retain_mut_value_%out_len
|
|
3773
|
+
jmp L_VEC_DEQUE_RETAIN_MUT_NEXT_%out_len
|
|
3774
|
+
|
|
3775
|
+
L_VEC_DEQUE_RETAIN_MUT_SKIP_%out_len:
|
|
3776
|
+
jmp L_VEC_DEQUE_RETAIN_MUT_NEXT_%out_len
|
|
3777
|
+
|
|
3778
|
+
L_VEC_DEQUE_RETAIN_MUT_NEXT_%out_len:
|
|
3779
|
+
__vec_deque_retain_mut_next_read_%out_len = add __vec_deque_retain_mut_read_%out_len, 1
|
|
3780
|
+
store __vec_deque_retain_mut_read_slot_%out_len+0, __vec_deque_retain_mut_next_read_%out_len as u64
|
|
3781
|
+
!__vec_deque_retain_mut_next_read_%out_len
|
|
3782
|
+
!__vec_deque_retain_mut_keep_%out_len
|
|
3783
|
+
!__vec_deque_retain_mut_pred_%out_len
|
|
3784
|
+
!__vec_deque_retain_mut_read_ptr_%out_len
|
|
3785
|
+
!__vec_deque_retain_mut_read_off_%out_len
|
|
3786
|
+
!__vec_deque_retain_mut_done_%out_len
|
|
3787
|
+
!__vec_deque_retain_mut_read_%out_len
|
|
3788
|
+
jmp L_VEC_DEQUE_RETAIN_MUT_HEAD_%out_len
|
|
3789
|
+
|
|
3790
|
+
L_VEC_DEQUE_RETAIN_MUT_DONE_%out_len:
|
|
3791
|
+
%out_len = load __vec_deque_retain_mut_write_slot_%out_len+0 as u64
|
|
3792
|
+
store __vec_deque_retain_mut_view_%out_len+VecDeque_len, %out_len as u64
|
|
3793
|
+
store __vec_deque_retain_mut_view_%out_len+VecDeque_head, 0 as u64
|
|
3794
|
+
!__vec_deque_retain_mut_done_%out_len
|
|
3795
|
+
!__vec_deque_retain_mut_read_%out_len
|
|
3796
|
+
!__vec_deque_retain_mut_len_%out_len
|
|
3797
|
+
!__vec_deque_retain_mut_ptr_%out_len
|
|
3798
|
+
!__vec_deque_retain_mut_view_%out_len
|
|
3799
|
+
[END_MACRO]
|
|
3800
|
+
|
|
3801
|
+
[MACRO] VEC_DEQUE_RETAIN %out_len, %deque_reg, %pred_fn
|
|
3802
|
+
EXPAND VEC_DEQUE_RETAIN_U64 %out_len, %deque_reg, %pred_fn
|
|
3803
|
+
[END_MACRO]
|
|
3804
|
+
|
|
3805
|
+
[MACRO] VEC_DEQUE_RETAIN_MUT %out_len, %deque_reg, %pred_fn
|
|
3806
|
+
EXPAND VEC_DEQUE_RETAIN_MUT_U64 %out_len, %deque_reg, %pred_fn
|
|
3807
|
+
[END_MACRO]
|
|
3808
|
+
|
|
3809
|
+
[MACRO] VEC_DEQUE_EXTRACT_IF_U64 %out_len, %out_vec, %deque_reg, %pred_fn
|
|
3810
|
+
call @vec_deque_force_contiguous(&%deque_reg)
|
|
3811
|
+
__vec_deque_extract_view_%out_len = & %deque_reg
|
|
3812
|
+
__vec_deque_extract_ptr_%out_len = load __vec_deque_extract_view_%out_len+VecDeque_buf as ptr
|
|
3813
|
+
__vec_deque_extract_len_%out_len = load __vec_deque_extract_view_%out_len+VecDeque_len as u64
|
|
3814
|
+
EXPAND VEC_WITH_CAPACITY_U64 %out_vec, __vec_deque_extract_len_%out_len
|
|
3815
|
+
__vec_deque_extract_read_slot_%out_len = stack_alloc 8
|
|
3816
|
+
__vec_deque_extract_write_slot_%out_len = stack_alloc 8
|
|
3817
|
+
store __vec_deque_extract_read_slot_%out_len+0, 0 as u64
|
|
3818
|
+
store __vec_deque_extract_write_slot_%out_len+0, 0 as u64
|
|
3819
|
+
jmp L_VEC_DEQUE_EXTRACT_HEAD_%out_len
|
|
3820
|
+
|
|
3821
|
+
L_VEC_DEQUE_EXTRACT_HEAD_%out_len:
|
|
3822
|
+
__vec_deque_extract_read_%out_len = load __vec_deque_extract_read_slot_%out_len+0 as u64
|
|
3823
|
+
__vec_deque_extract_done_%out_len = eq __vec_deque_extract_read_%out_len, __vec_deque_extract_len_%out_len
|
|
3824
|
+
br __vec_deque_extract_done_%out_len -> L_VEC_DEQUE_EXTRACT_DONE_%out_len, L_VEC_DEQUE_EXTRACT_BODY_%out_len
|
|
3825
|
+
|
|
3826
|
+
L_VEC_DEQUE_EXTRACT_BODY_%out_len:
|
|
3827
|
+
__vec_deque_extract_read_off_%out_len = mul __vec_deque_extract_read_%out_len, VecDeque_SLOT_SIZE
|
|
3828
|
+
__vec_deque_extract_read_ptr_%out_len = ptr_add __vec_deque_extract_ptr_%out_len, __vec_deque_extract_read_off_%out_len
|
|
3829
|
+
__vec_deque_extract_value_%out_len = load __vec_deque_extract_read_ptr_%out_len+0 as u64
|
|
3830
|
+
__vec_deque_extract_pred_%out_len = call %pred_fn(__vec_deque_extract_value_%out_len)
|
|
3831
|
+
__vec_deque_extract_take_%out_len = ne __vec_deque_extract_pred_%out_len, 0
|
|
3832
|
+
br __vec_deque_extract_take_%out_len -> L_VEC_DEQUE_EXTRACT_TAKE_%out_len, L_VEC_DEQUE_EXTRACT_KEEP_%out_len
|
|
3833
|
+
|
|
3834
|
+
L_VEC_DEQUE_EXTRACT_TAKE_%out_len:
|
|
3835
|
+
EXPAND VEC_PUSH_U64 %out_vec, __vec_deque_extract_value_%out_len
|
|
3836
|
+
jmp L_VEC_DEQUE_EXTRACT_NEXT_%out_len
|
|
3837
|
+
|
|
3838
|
+
L_VEC_DEQUE_EXTRACT_KEEP_%out_len:
|
|
3839
|
+
__vec_deque_extract_write_%out_len = load __vec_deque_extract_write_slot_%out_len+0 as u64
|
|
3840
|
+
__vec_deque_extract_write_off_%out_len = mul __vec_deque_extract_write_%out_len, VecDeque_SLOT_SIZE
|
|
3841
|
+
__vec_deque_extract_write_ptr_%out_len = ptr_add __vec_deque_extract_ptr_%out_len, __vec_deque_extract_write_off_%out_len
|
|
3842
|
+
store __vec_deque_extract_write_ptr_%out_len+0, __vec_deque_extract_value_%out_len as u64
|
|
3843
|
+
__vec_deque_extract_next_write_%out_len = add __vec_deque_extract_write_%out_len, 1
|
|
3844
|
+
store __vec_deque_extract_write_slot_%out_len+0, __vec_deque_extract_next_write_%out_len as u64
|
|
3845
|
+
!__vec_deque_extract_next_write_%out_len
|
|
3846
|
+
!__vec_deque_extract_write_ptr_%out_len
|
|
3847
|
+
!__vec_deque_extract_write_off_%out_len
|
|
3848
|
+
!__vec_deque_extract_write_%out_len
|
|
3849
|
+
jmp L_VEC_DEQUE_EXTRACT_NEXT_%out_len
|
|
3850
|
+
|
|
3851
|
+
L_VEC_DEQUE_EXTRACT_NEXT_%out_len:
|
|
3852
|
+
__vec_deque_extract_next_read_%out_len = add __vec_deque_extract_read_%out_len, 1
|
|
3853
|
+
store __vec_deque_extract_read_slot_%out_len+0, __vec_deque_extract_next_read_%out_len as u64
|
|
3854
|
+
!__vec_deque_extract_next_read_%out_len
|
|
3855
|
+
!__vec_deque_extract_take_%out_len
|
|
3856
|
+
!__vec_deque_extract_pred_%out_len
|
|
3857
|
+
!__vec_deque_extract_value_%out_len
|
|
3858
|
+
!__vec_deque_extract_read_ptr_%out_len
|
|
3859
|
+
!__vec_deque_extract_read_off_%out_len
|
|
3860
|
+
!__vec_deque_extract_done_%out_len
|
|
3861
|
+
!__vec_deque_extract_read_%out_len
|
|
3862
|
+
jmp L_VEC_DEQUE_EXTRACT_HEAD_%out_len
|
|
3863
|
+
|
|
3864
|
+
L_VEC_DEQUE_EXTRACT_DONE_%out_len:
|
|
3865
|
+
%out_len = load __vec_deque_extract_write_slot_%out_len+0 as u64
|
|
3866
|
+
store __vec_deque_extract_view_%out_len+VecDeque_len, %out_len as u64
|
|
3867
|
+
store __vec_deque_extract_view_%out_len+VecDeque_head, 0 as u64
|
|
3868
|
+
!__vec_deque_extract_done_%out_len
|
|
3869
|
+
!__vec_deque_extract_read_%out_len
|
|
3870
|
+
!__vec_deque_extract_len_%out_len
|
|
3871
|
+
!__vec_deque_extract_ptr_%out_len
|
|
3872
|
+
!__vec_deque_extract_view_%out_len
|
|
3873
|
+
[END_MACRO]
|
|
3874
|
+
|
|
3875
|
+
[MACRO] VEC_DEQUE_EXTRACT_IF %out_len, %out_vec, %deque_reg, %pred_fn
|
|
3876
|
+
EXPAND VEC_DEQUE_EXTRACT_IF_U64 %out_len, %out_vec, %deque_reg, %pred_fn
|
|
3877
|
+
[END_MACRO]
|
|
3878
|
+
|
|
3879
|
+
[MACRO] VEC_DEQUE_SPLICE_U64 %out_ok, %out_vec, %deque_reg, %start, %length, %replacement_slice
|
|
3880
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS __vec_deque_splice_slice_%out_ok, %deque_reg
|
|
3881
|
+
EXPAND VEC_FROM_SLICE_U64 __vec_deque_splice_vec_%out_ok, __vec_deque_splice_slice_%out_ok
|
|
3882
|
+
EXPAND VEC_SPLICE_U64 %out_ok, %out_vec, __vec_deque_splice_vec_%out_ok, %start, %length, %replacement_slice
|
|
3883
|
+
__vec_deque_splice_hit_%out_ok = ne %out_ok, 0
|
|
3884
|
+
br __vec_deque_splice_hit_%out_ok -> L_VEC_DEQUE_SPLICE_REBUILD_%out_ok, L_VEC_DEQUE_SPLICE_MISS_%out_ok
|
|
3885
|
+
|
|
3886
|
+
L_VEC_DEQUE_SPLICE_REBUILD_%out_ok:
|
|
3887
|
+
EXPAND VEC_DEQUE_CLEAR %deque_reg
|
|
3888
|
+
EXPAND VEC_LEN __vec_deque_splice_new_len_%out_ok, __vec_deque_splice_vec_%out_ok
|
|
3889
|
+
__vec_deque_splice_idx_slot_%out_ok = stack_alloc 8
|
|
3890
|
+
store __vec_deque_splice_idx_slot_%out_ok+0, 0 as u64
|
|
3891
|
+
jmp L_VEC_DEQUE_SPLICE_COPY_HEAD_%out_ok
|
|
3892
|
+
|
|
3893
|
+
L_VEC_DEQUE_SPLICE_COPY_HEAD_%out_ok:
|
|
3894
|
+
__vec_deque_splice_idx_%out_ok = load __vec_deque_splice_idx_slot_%out_ok+0 as u64
|
|
3895
|
+
__vec_deque_splice_copy_done_%out_ok = eq __vec_deque_splice_idx_%out_ok, __vec_deque_splice_new_len_%out_ok
|
|
3896
|
+
br __vec_deque_splice_copy_done_%out_ok -> L_VEC_DEQUE_SPLICE_COPY_END_%out_ok, L_VEC_DEQUE_SPLICE_COPY_BODY_%out_ok
|
|
3897
|
+
|
|
3898
|
+
L_VEC_DEQUE_SPLICE_COPY_BODY_%out_ok:
|
|
3899
|
+
EXPAND VEC_GET_U64 __vec_deque_splice_value_%out_ok, __vec_deque_splice_vec_%out_ok, __vec_deque_splice_idx_%out_ok
|
|
3900
|
+
EXPAND VEC_DEQUE_PUSH_BACK %deque_reg, __vec_deque_splice_value_%out_ok
|
|
3901
|
+
__vec_deque_splice_next_%out_ok = add __vec_deque_splice_idx_%out_ok, 1
|
|
3902
|
+
store __vec_deque_splice_idx_slot_%out_ok+0, __vec_deque_splice_next_%out_ok as u64
|
|
3903
|
+
!__vec_deque_splice_next_%out_ok
|
|
3904
|
+
!__vec_deque_splice_value_%out_ok
|
|
3905
|
+
!__vec_deque_splice_copy_done_%out_ok
|
|
3906
|
+
!__vec_deque_splice_idx_%out_ok
|
|
3907
|
+
jmp L_VEC_DEQUE_SPLICE_COPY_HEAD_%out_ok
|
|
3908
|
+
|
|
3909
|
+
L_VEC_DEQUE_SPLICE_COPY_END_%out_ok:
|
|
3910
|
+
!__vec_deque_splice_copy_done_%out_ok
|
|
3911
|
+
!__vec_deque_splice_idx_%out_ok
|
|
3912
|
+
!__vec_deque_splice_new_len_%out_ok
|
|
3913
|
+
!__vec_deque_splice_hit_%out_ok
|
|
3914
|
+
jmp L_VEC_DEQUE_SPLICE_DONE_%out_ok
|
|
3915
|
+
|
|
3916
|
+
L_VEC_DEQUE_SPLICE_MISS_%out_ok:
|
|
3917
|
+
!__vec_deque_splice_hit_%out_ok
|
|
3918
|
+
jmp L_VEC_DEQUE_SPLICE_DONE_%out_ok
|
|
3919
|
+
|
|
3920
|
+
L_VEC_DEQUE_SPLICE_DONE_%out_ok:
|
|
3921
|
+
EXPAND VEC_FREE __vec_deque_splice_vec_%out_ok
|
|
3922
|
+
!__vec_deque_splice_slice_%out_ok
|
|
3923
|
+
[END_MACRO]
|
|
3924
|
+
|
|
3925
|
+
// Rust method-name alias over VEC_DEQUE_SPLICE_U64.
|
|
3926
|
+
[MACRO] VEC_DEQUE_SPLICE %out_ok, %out_vec, %deque_reg, %start, %length, %replacement_slice
|
|
3927
|
+
EXPAND VEC_DEQUE_SPLICE_U64 %out_ok, %out_vec, %deque_reg, %start, %length, %replacement_slice
|
|
3928
|
+
[END_MACRO]
|
|
3929
|
+
|
|
3930
|
+
[MACRO] VEC_DEQUE_TRY_FRONT_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3931
|
+
__vec_deque_front_mut_slot_%out_ok = stack_alloc 8
|
|
3932
|
+
__vec_deque_front_mut_ok_%out_ok = call @sa_vec_deque_try_front_mut_ptr(&%deque_reg, &__vec_deque_front_mut_slot_%out_ok)
|
|
3933
|
+
%out_ptr = load __vec_deque_front_mut_slot_%out_ok+0 as ptr
|
|
3934
|
+
%out_ok = __vec_deque_front_mut_ok_%out_ok
|
|
3935
|
+
[END_MACRO]
|
|
3936
|
+
|
|
3937
|
+
[MACRO] VEC_DEQUE_FRONT_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3938
|
+
EXPAND VEC_DEQUE_TRY_FRONT_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3939
|
+
[END_MACRO]
|
|
3940
|
+
|
|
3941
|
+
[MACRO] VEC_DEQUE_FRONT_MUT %out_ok, %out_ptr, %deque_reg
|
|
3942
|
+
EXPAND VEC_DEQUE_TRY_FRONT_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3943
|
+
[END_MACRO]
|
|
3944
|
+
|
|
3945
|
+
[MACRO] VEC_DEQUE_TRY_BACK_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3946
|
+
__vec_deque_back_mut_slot_%out_ok = stack_alloc 8
|
|
3947
|
+
__vec_deque_back_mut_ok_%out_ok = call @sa_vec_deque_try_back_mut_ptr(&%deque_reg, &__vec_deque_back_mut_slot_%out_ok)
|
|
3948
|
+
%out_ptr = load __vec_deque_back_mut_slot_%out_ok+0 as ptr
|
|
3949
|
+
%out_ok = __vec_deque_back_mut_ok_%out_ok
|
|
3950
|
+
[END_MACRO]
|
|
3951
|
+
|
|
3952
|
+
[MACRO] VEC_DEQUE_BACK_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3953
|
+
EXPAND VEC_DEQUE_TRY_BACK_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3954
|
+
[END_MACRO]
|
|
3955
|
+
|
|
3956
|
+
[MACRO] VEC_DEQUE_BACK_MUT %out_ok, %out_ptr, %deque_reg
|
|
3957
|
+
EXPAND VEC_DEQUE_TRY_BACK_MUT_PTR %out_ok, %out_ptr, %deque_reg
|
|
3958
|
+
[END_MACRO]
|
|
3959
|
+
|
|
3960
|
+
[MACRO] VEC_DEQUE_TRY_INSERT %out_ok, %deque_reg, %index, %value
|
|
3961
|
+
%out_ok = call @sa_vec_deque_try_insert(&%deque_reg, %index, %value)
|
|
3962
|
+
[END_MACRO]
|
|
3963
|
+
|
|
3964
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index, %value
|
|
3965
|
+
__vec_deque_insert_mut_ok_%out_ok = call @sa_vec_deque_try_insert(&%deque_reg, %index, %value)
|
|
3966
|
+
br __vec_deque_insert_mut_ok_%out_ok -> L_VEC_DEQUE_INSERT_MUT_PTR_OK_%out_ok, L_VEC_DEQUE_INSERT_MUT_PTR_MISS_%out_ok
|
|
3967
|
+
L_VEC_DEQUE_INSERT_MUT_PTR_OK_%out_ok:
|
|
3968
|
+
__vec_deque_insert_mut_slot_%out_ok = stack_alloc 8
|
|
3969
|
+
__vec_deque_insert_mut_get_ok_%out_ok = call @sa_vec_deque_try_get_mut_ptr(&%deque_reg, %index, &__vec_deque_insert_mut_slot_%out_ok)
|
|
3970
|
+
%out_ptr = load __vec_deque_insert_mut_slot_%out_ok+0 as ptr
|
|
3971
|
+
%out_ok = __vec_deque_insert_mut_get_ok_%out_ok
|
|
3972
|
+
!__vec_deque_insert_mut_ok_%out_ok
|
|
3973
|
+
jmp L_VEC_DEQUE_INSERT_MUT_PTR_END_%out_ok
|
|
3974
|
+
L_VEC_DEQUE_INSERT_MUT_PTR_MISS_%out_ok:
|
|
3975
|
+
%out_ptr = 0 as ptr
|
|
3976
|
+
%out_ok = add 0, 0
|
|
3977
|
+
!__vec_deque_insert_mut_ok_%out_ok
|
|
3978
|
+
L_VEC_DEQUE_INSERT_MUT_PTR_END_%out_ok:
|
|
3979
|
+
[END_MACRO]
|
|
3980
|
+
|
|
3981
|
+
[MACRO] VEC_DEQUE_INSERT_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index, %value
|
|
3982
|
+
EXPAND VEC_DEQUE_TRY_INSERT_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index, %value
|
|
3983
|
+
[END_MACRO]
|
|
3984
|
+
|
|
3985
|
+
[MACRO] VEC_DEQUE_INSERT_MUT %out_ok, %out_ptr, %deque_reg, %index, %value
|
|
3986
|
+
EXPAND VEC_DEQUE_TRY_INSERT_MUT_PTR %out_ok, %out_ptr, %deque_reg, %index, %value
|
|
3987
|
+
[END_MACRO]
|
|
3988
|
+
|
|
3989
|
+
[MACRO] VEC_DEQUE_INSERT %out_ok, %deque_reg, %index, %value
|
|
3990
|
+
EXPAND VEC_DEQUE_TRY_INSERT %out_ok, %deque_reg, %index, %value
|
|
3991
|
+
[END_MACRO]
|
|
3992
|
+
|
|
3993
|
+
[MACRO] VEC_DEQUE_TRY_REMOVE %out_ok, %out_value, %deque_reg, %index
|
|
3994
|
+
__vec_deque_remove_slot_%out_ok = stack_alloc 8
|
|
3995
|
+
__vec_deque_remove_ok_%out_ok = call @sa_vec_deque_try_remove(&%deque_reg, %index, &__vec_deque_remove_slot_%out_ok)
|
|
3996
|
+
%out_value = load __vec_deque_remove_slot_%out_ok+0 as u64
|
|
3997
|
+
%out_ok = __vec_deque_remove_ok_%out_ok
|
|
3998
|
+
[END_MACRO]
|
|
3999
|
+
|
|
4000
|
+
[MACRO] VEC_DEQUE_REMOVE %out_ok, %out_value, %deque_reg, %index
|
|
4001
|
+
EXPAND VEC_DEQUE_TRY_REMOVE %out_ok, %out_value, %deque_reg, %index
|
|
4002
|
+
[END_MACRO]
|
|
4003
|
+
|
|
4004
|
+
[MACRO] VEC_DEQUE_TRY_SWAP_REMOVE_FRONT %out_ok, %out_value, %deque_reg, %index
|
|
4005
|
+
__vec_deque_swap_remove_front_slot_%out_ok = stack_alloc 8
|
|
4006
|
+
__vec_deque_swap_remove_front_ok_%out_ok = call @sa_vec_deque_try_swap_remove_front(&%deque_reg, %index, &__vec_deque_swap_remove_front_slot_%out_ok)
|
|
4007
|
+
%out_value = load __vec_deque_swap_remove_front_slot_%out_ok+0 as u64
|
|
4008
|
+
%out_ok = __vec_deque_swap_remove_front_ok_%out_ok
|
|
4009
|
+
[END_MACRO]
|
|
4010
|
+
|
|
4011
|
+
[MACRO] VEC_DEQUE_SWAP_REMOVE_FRONT %out_ok, %out_value, %deque_reg, %index
|
|
4012
|
+
EXPAND VEC_DEQUE_TRY_SWAP_REMOVE_FRONT %out_ok, %out_value, %deque_reg, %index
|
|
4013
|
+
[END_MACRO]
|
|
4014
|
+
|
|
4015
|
+
[MACRO] VEC_DEQUE_TRY_SWAP_REMOVE_BACK %out_ok, %out_value, %deque_reg, %index
|
|
4016
|
+
__vec_deque_swap_remove_back_slot_%out_ok = stack_alloc 8
|
|
4017
|
+
__vec_deque_swap_remove_back_ok_%out_ok = call @sa_vec_deque_try_swap_remove_back(&%deque_reg, %index, &__vec_deque_swap_remove_back_slot_%out_ok)
|
|
4018
|
+
%out_value = load __vec_deque_swap_remove_back_slot_%out_ok+0 as u64
|
|
4019
|
+
%out_ok = __vec_deque_swap_remove_back_ok_%out_ok
|
|
4020
|
+
[END_MACRO]
|
|
4021
|
+
|
|
4022
|
+
[MACRO] VEC_DEQUE_SWAP_REMOVE_BACK %out_ok, %out_value, %deque_reg, %index
|
|
4023
|
+
EXPAND VEC_DEQUE_TRY_SWAP_REMOVE_BACK %out_ok, %out_value, %deque_reg, %index
|
|
4024
|
+
[END_MACRO]
|
|
4025
|
+
|
|
4026
|
+
[MACRO] VEC_DEQUE_TRUNCATE %deque_reg, %new_len
|
|
4027
|
+
call @sa_vec_deque_truncate(&%deque_reg, %new_len)
|
|
4028
|
+
[END_MACRO]
|
|
4029
|
+
|
|
4030
|
+
// Rust method-name alias: VecDeque::truncate_front.
|
|
4031
|
+
[MACRO] VEC_DEQUE_TRUNCATE_FRONT %deque_reg, %new_len
|
|
4032
|
+
call @sa_vec_deque_truncate_front(&%deque_reg, %new_len)
|
|
4033
|
+
[END_MACRO]
|
|
4034
|
+
|
|
4035
|
+
// Rust VecDeque::binary_search via make_contiguous + slice binary search.
|
|
4036
|
+
[MACRO] VEC_DEQUE_TRY_BINARY_SEARCH_U64 %out_ok, %out_index, %deque_reg, %needle
|
|
4037
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS __vec_deque_binary_search_slice_%out_ok, %deque_reg
|
|
4038
|
+
EXPAND SLICE_TRY_BINARY_SEARCH_U64 %out_ok, %out_index, __vec_deque_binary_search_slice_%out_ok, %needle
|
|
4039
|
+
!__vec_deque_binary_search_slice_%out_ok
|
|
4040
|
+
[END_MACRO]
|
|
4041
|
+
|
|
4042
|
+
// Rust method-name alias over VEC_DEQUE_TRY_BINARY_SEARCH_U64.
|
|
4043
|
+
[MACRO] VEC_DEQUE_TRY_BINARY_SEARCH %out_ok, %out_index, %deque_reg, %needle
|
|
4044
|
+
EXPAND VEC_DEQUE_TRY_BINARY_SEARCH_U64 %out_ok, %out_index, %deque_reg, %needle
|
|
4045
|
+
[END_MACRO]
|
|
4046
|
+
|
|
4047
|
+
[MACRO] VEC_DEQUE_BINARY_SEARCH_U64 %out_ok, %out_index, %deque_reg, %needle
|
|
4048
|
+
EXPAND VEC_DEQUE_TRY_BINARY_SEARCH_U64 %out_ok, %out_index, %deque_reg, %needle
|
|
4049
|
+
[END_MACRO]
|
|
4050
|
+
|
|
4051
|
+
// Rust method-name alias over VEC_DEQUE_BINARY_SEARCH_U64.
|
|
4052
|
+
[MACRO] VEC_DEQUE_BINARY_SEARCH %out_ok, %out_index, %deque_reg, %needle
|
|
4053
|
+
EXPAND VEC_DEQUE_BINARY_SEARCH_U64 %out_ok, %out_index, %deque_reg, %needle
|
|
4054
|
+
[END_MACRO]
|
|
4055
|
+
|
|
4056
|
+
// Rust VecDeque::partition_point via make_contiguous + slice partition_point.
|
|
4057
|
+
[MACRO] VEC_DEQUE_PARTITION_POINT_U64 %out_index, %deque_reg, %pred_fn
|
|
4058
|
+
EXPAND VEC_DEQUE_MAKE_CONTIGUOUS __vec_deque_partition_point_slice_%out_index, %deque_reg
|
|
4059
|
+
EXPAND SLICE_PARTITION_POINT_U64 %out_index, __vec_deque_partition_point_slice_%out_index, %pred_fn
|
|
4060
|
+
!__vec_deque_partition_point_slice_%out_index
|
|
4061
|
+
[END_MACRO]
|
|
4062
|
+
|
|
4063
|
+
// Rust method-name alias over VEC_DEQUE_PARTITION_POINT_U64.
|
|
4064
|
+
[MACRO] VEC_DEQUE_PARTITION_POINT %out_index, %deque_reg, %pred_fn
|
|
4065
|
+
EXPAND VEC_DEQUE_PARTITION_POINT_U64 %out_index, %deque_reg, %pred_fn
|
|
4066
|
+
[END_MACRO]
|
|
4067
|
+
|
|
4068
|
+
[MACRO] VEC_DEQUE_RESIZE %out_ok, %deque_reg, %new_len, %value
|
|
4069
|
+
__vec_deque_rs_lang_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4070
|
+
__vec_deque_rs_shrink_%out_ok = ule %new_len, __vec_deque_rs_lang_%out_ok
|
|
4071
|
+
br __vec_deque_rs_shrink_%out_ok -> L_VEC_DEQUE_RS_SHRINK_%out_ok, L_VEC_DEQUE_RS_GROW_%out_ok
|
|
4072
|
+
L_VEC_DEQUE_RS_SHRINK_%out_ok:
|
|
4073
|
+
call @sa_vec_deque_truncate(&%deque_reg, %new_len)
|
|
4074
|
+
!__vec_deque_rs_shrink_%out_ok
|
|
4075
|
+
!__vec_deque_rs_lang_%out_ok
|
|
4076
|
+
%out_ok = 1
|
|
4077
|
+
jmp L_VEC_DEQUE_RS_END_%out_ok
|
|
4078
|
+
L_VEC_DEQUE_RS_GROW_%out_ok:
|
|
4079
|
+
__vec_deque_rs_target_slot_%out_ok = stack_alloc 8
|
|
4080
|
+
store __vec_deque_rs_target_slot_%out_ok+0, %new_len as u64
|
|
4081
|
+
%out_ok = 1
|
|
4082
|
+
jmp L_VEC_DEQUE_RS_GROW_HEAD_%out_ok
|
|
4083
|
+
L_VEC_DEQUE_RS_GROW_HEAD_%out_ok:
|
|
4084
|
+
__vec_deque_rs_cur_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4085
|
+
__vec_deque_rs_tgt_%out_ok = load __vec_deque_rs_target_slot_%out_ok+0 as u64
|
|
4086
|
+
__vec_deque_rs_done_%out_ok = eq __vec_deque_rs_cur_%out_ok, __vec_deque_rs_tgt_%out_ok
|
|
4087
|
+
br __vec_deque_rs_done_%out_ok -> L_VEC_DEQUE_RS_GROW_DONE_%out_ok, L_VEC_DEQUE_RS_GROW_BODY_%out_ok
|
|
4088
|
+
L_VEC_DEQUE_RS_GROW_BODY_%out_ok:
|
|
4089
|
+
call @sa_vec_deque_push_back(&%deque_reg, %value)
|
|
4090
|
+
!__vec_deque_rs_cur_%out_ok
|
|
4091
|
+
!__vec_deque_rs_tgt_%out_ok
|
|
4092
|
+
!__vec_deque_rs_done_%out_ok
|
|
4093
|
+
jmp L_VEC_DEQUE_RS_GROW_HEAD_%out_ok
|
|
4094
|
+
L_VEC_DEQUE_RS_GROW_DONE_%out_ok:
|
|
4095
|
+
!__vec_deque_rs_cur_%out_ok
|
|
4096
|
+
!__vec_deque_rs_tgt_%out_ok
|
|
4097
|
+
!__vec_deque_rs_done_%out_ok
|
|
4098
|
+
!__vec_deque_rs_shrink_%out_ok
|
|
4099
|
+
!__vec_deque_rs_lang_%out_ok
|
|
4100
|
+
jmp L_VEC_DEQUE_RS_END_%out_ok
|
|
4101
|
+
L_VEC_DEQUE_RS_END_%out_ok:
|
|
4102
|
+
[END_MACRO]
|
|
4103
|
+
|
|
4104
|
+
[MACRO] VEC_DEQUE_RESIZE_U64 %out_ok, %deque_reg, %new_len, %value
|
|
4105
|
+
EXPAND VEC_DEQUE_RESIZE %out_ok, %deque_reg, %new_len, %value
|
|
4106
|
+
[END_MACRO]
|
|
4107
|
+
|
|
4108
|
+
[MACRO] VEC_DEQUE_RESIZE_WITH %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4109
|
+
__vec_deque_rsw_lang_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4110
|
+
__vec_deque_rsw_shrink_%out_ok = ule %new_len, __vec_deque_rsw_lang_%out_ok
|
|
4111
|
+
br __vec_deque_rsw_shrink_%out_ok -> L_VEC_DEQUE_RSW_SHRINK_%out_ok, L_VEC_DEQUE_RSW_GROW_%out_ok
|
|
4112
|
+
L_VEC_DEQUE_RSW_SHRINK_%out_ok:
|
|
4113
|
+
call @sa_vec_deque_truncate(&%deque_reg, %new_len)
|
|
4114
|
+
!__vec_deque_rsw_shrink_%out_ok
|
|
4115
|
+
!__vec_deque_rsw_lang_%out_ok
|
|
4116
|
+
%out_ok = 1
|
|
4117
|
+
jmp L_VEC_DEQUE_RSW_END_%out_ok
|
|
4118
|
+
L_VEC_DEQUE_RSW_GROW_%out_ok:
|
|
4119
|
+
__vec_deque_rsw_target_slot_%out_ok = stack_alloc 8
|
|
4120
|
+
store __vec_deque_rsw_target_slot_%out_ok+0, %new_len as u64
|
|
4121
|
+
%out_ok = 1
|
|
4122
|
+
jmp L_VEC_DEQUE_RSW_GROW_HEAD_%out_ok
|
|
4123
|
+
L_VEC_DEQUE_RSW_GROW_HEAD_%out_ok:
|
|
4124
|
+
__vec_deque_rsw_cur_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4125
|
+
__vec_deque_rsw_tgt_%out_ok = load __vec_deque_rsw_target_slot_%out_ok+0 as u64
|
|
4126
|
+
__vec_deque_rsw_done_%out_ok = eq __vec_deque_rsw_cur_%out_ok, __vec_deque_rsw_tgt_%out_ok
|
|
4127
|
+
br __vec_deque_rsw_done_%out_ok -> L_VEC_DEQUE_RSW_GROW_DONE_%out_ok, L_VEC_DEQUE_RSW_GROW_BODY_%out_ok
|
|
4128
|
+
L_VEC_DEQUE_RSW_GROW_BODY_%out_ok:
|
|
4129
|
+
__vec_deque_rsw_value_%out_ok = call %gen_fn()
|
|
4130
|
+
call @sa_vec_deque_push_back(&%deque_reg, __vec_deque_rsw_value_%out_ok)
|
|
4131
|
+
!__vec_deque_rsw_value_%out_ok
|
|
4132
|
+
!__vec_deque_rsw_cur_%out_ok
|
|
4133
|
+
!__vec_deque_rsw_tgt_%out_ok
|
|
4134
|
+
!__vec_deque_rsw_done_%out_ok
|
|
4135
|
+
jmp L_VEC_DEQUE_RSW_GROW_HEAD_%out_ok
|
|
4136
|
+
L_VEC_DEQUE_RSW_GROW_DONE_%out_ok:
|
|
4137
|
+
!__vec_deque_rsw_cur_%out_ok
|
|
4138
|
+
!__vec_deque_rsw_tgt_%out_ok
|
|
4139
|
+
!__vec_deque_rsw_done_%out_ok
|
|
4140
|
+
!__vec_deque_rsw_shrink_%out_ok
|
|
4141
|
+
!__vec_deque_rsw_lang_%out_ok
|
|
4142
|
+
jmp L_VEC_DEQUE_RSW_END_%out_ok
|
|
4143
|
+
L_VEC_DEQUE_RSW_END_%out_ok:
|
|
4144
|
+
[END_MACRO]
|
|
4145
|
+
|
|
4146
|
+
[MACRO] VEC_DEQUE_RESIZE_WITH_U64 %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4147
|
+
EXPAND VEC_DEQUE_RESIZE_WITH %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4148
|
+
[END_MACRO]
|
|
4149
|
+
|
|
4150
|
+
[MACRO] VEC_DEQUE_TRY_RESIZE_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %value
|
|
4151
|
+
__vec_deque_trswc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4152
|
+
__vec_deque_trswc_shrink_%out_ok = ule %new_len, __vec_deque_trswc_len_%out_ok
|
|
4153
|
+
br __vec_deque_trswc_shrink_%out_ok -> L_VEC_DEQUE_TRSWC_SHRINK_%out_ok, L_VEC_DEQUE_TRSWC_GROW_CHECK_%out_ok
|
|
4154
|
+
L_VEC_DEQUE_TRSWC_SHRINK_%out_ok:
|
|
4155
|
+
call @sa_vec_deque_truncate(&%deque_reg, %new_len)
|
|
4156
|
+
!__vec_deque_trswc_shrink_%out_ok
|
|
4157
|
+
!__vec_deque_trswc_len_%out_ok
|
|
4158
|
+
%out_ok = 1
|
|
4159
|
+
jmp L_VEC_DEQUE_TRSWC_END_%out_ok
|
|
4160
|
+
L_VEC_DEQUE_TRSWC_GROW_CHECK_%out_ok:
|
|
4161
|
+
__vec_deque_trswc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4162
|
+
__vec_deque_trswc_room_ok_%out_ok = ule %new_len, __vec_deque_trswc_cap_%out_ok
|
|
4163
|
+
br __vec_deque_trswc_room_ok_%out_ok -> L_VEC_DEQUE_TRSWC_GROW_%out_ok, L_VEC_DEQUE_TRSWC_MISS_%out_ok
|
|
4164
|
+
L_VEC_DEQUE_TRSWC_MISS_%out_ok:
|
|
4165
|
+
!__vec_deque_trswc_room_ok_%out_ok
|
|
4166
|
+
!__vec_deque_trswc_cap_%out_ok
|
|
4167
|
+
!__vec_deque_trswc_shrink_%out_ok
|
|
4168
|
+
!__vec_deque_trswc_len_%out_ok
|
|
4169
|
+
%out_ok = 0
|
|
4170
|
+
jmp L_VEC_DEQUE_TRSWC_END_%out_ok
|
|
4171
|
+
L_VEC_DEQUE_TRSWC_GROW_%out_ok:
|
|
4172
|
+
__vec_deque_trswc_target_slot_%out_ok = stack_alloc 8
|
|
4173
|
+
store __vec_deque_trswc_target_slot_%out_ok+0, %new_len as u64
|
|
4174
|
+
!__vec_deque_trswc_room_ok_%out_ok
|
|
4175
|
+
!__vec_deque_trswc_cap_%out_ok
|
|
4176
|
+
%out_ok = 1
|
|
4177
|
+
jmp L_VEC_DEQUE_TRSWC_GROW_HEAD_%out_ok
|
|
4178
|
+
L_VEC_DEQUE_TRSWC_GROW_HEAD_%out_ok:
|
|
4179
|
+
__vec_deque_trswc_cur_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4180
|
+
__vec_deque_trswc_tgt_%out_ok = load __vec_deque_trswc_target_slot_%out_ok+0 as u64
|
|
4181
|
+
__vec_deque_trswc_done_%out_ok = eq __vec_deque_trswc_cur_%out_ok, __vec_deque_trswc_tgt_%out_ok
|
|
4182
|
+
br __vec_deque_trswc_done_%out_ok -> L_VEC_DEQUE_TRSWC_GROW_DONE_%out_ok, L_VEC_DEQUE_TRSWC_GROW_BODY_%out_ok
|
|
4183
|
+
L_VEC_DEQUE_TRSWC_GROW_BODY_%out_ok:
|
|
4184
|
+
call @sa_vec_deque_push_back(&%deque_reg, %value)
|
|
4185
|
+
!__vec_deque_trswc_cur_%out_ok
|
|
4186
|
+
!__vec_deque_trswc_tgt_%out_ok
|
|
4187
|
+
!__vec_deque_trswc_done_%out_ok
|
|
4188
|
+
jmp L_VEC_DEQUE_TRSWC_GROW_HEAD_%out_ok
|
|
4189
|
+
L_VEC_DEQUE_TRSWC_GROW_DONE_%out_ok:
|
|
4190
|
+
!__vec_deque_trswc_cur_%out_ok
|
|
4191
|
+
!__vec_deque_trswc_tgt_%out_ok
|
|
4192
|
+
!__vec_deque_trswc_done_%out_ok
|
|
4193
|
+
!__vec_deque_trswc_shrink_%out_ok
|
|
4194
|
+
!__vec_deque_trswc_len_%out_ok
|
|
4195
|
+
jmp L_VEC_DEQUE_TRSWC_END_%out_ok
|
|
4196
|
+
L_VEC_DEQUE_TRSWC_END_%out_ok:
|
|
4197
|
+
[END_MACRO]
|
|
4198
|
+
|
|
4199
|
+
[MACRO] VEC_DEQUE_TRY_RESIZE_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %new_len, %value
|
|
4200
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %value
|
|
4201
|
+
[END_MACRO]
|
|
4202
|
+
|
|
4203
|
+
[MACRO] VEC_DEQUE_TRY_RESIZE_WITH_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4204
|
+
__vec_deque_trswwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4205
|
+
__vec_deque_trswwc_shrink_%out_ok = ule %new_len, __vec_deque_trswwc_len_%out_ok
|
|
4206
|
+
br __vec_deque_trswwc_shrink_%out_ok -> L_VEC_DEQUE_TRSWWC_SHRINK_%out_ok, L_VEC_DEQUE_TRSWWC_GROW_CHECK_%out_ok
|
|
4207
|
+
L_VEC_DEQUE_TRSWWC_SHRINK_%out_ok:
|
|
4208
|
+
call @sa_vec_deque_truncate(&%deque_reg, %new_len)
|
|
4209
|
+
!__vec_deque_trswwc_shrink_%out_ok
|
|
4210
|
+
!__vec_deque_trswwc_len_%out_ok
|
|
4211
|
+
%out_ok = 1
|
|
4212
|
+
jmp L_VEC_DEQUE_TRSWWC_END_%out_ok
|
|
4213
|
+
L_VEC_DEQUE_TRSWWC_GROW_CHECK_%out_ok:
|
|
4214
|
+
__vec_deque_trswwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4215
|
+
__vec_deque_trswwc_room_ok_%out_ok = ule %new_len, __vec_deque_trswwc_cap_%out_ok
|
|
4216
|
+
br __vec_deque_trswwc_room_ok_%out_ok -> L_VEC_DEQUE_TRSWWC_GROW_%out_ok, L_VEC_DEQUE_TRSWWC_MISS_%out_ok
|
|
4217
|
+
L_VEC_DEQUE_TRSWWC_MISS_%out_ok:
|
|
4218
|
+
!__vec_deque_trswwc_room_ok_%out_ok
|
|
4219
|
+
!__vec_deque_trswwc_cap_%out_ok
|
|
4220
|
+
!__vec_deque_trswwc_shrink_%out_ok
|
|
4221
|
+
!__vec_deque_trswwc_len_%out_ok
|
|
4222
|
+
%out_ok = 0
|
|
4223
|
+
jmp L_VEC_DEQUE_TRSWWC_END_%out_ok
|
|
4224
|
+
L_VEC_DEQUE_TRSWWC_GROW_%out_ok:
|
|
4225
|
+
__vec_deque_trswwc_target_slot_%out_ok = stack_alloc 8
|
|
4226
|
+
store __vec_deque_trswwc_target_slot_%out_ok+0, %new_len as u64
|
|
4227
|
+
!__vec_deque_trswwc_room_ok_%out_ok
|
|
4228
|
+
!__vec_deque_trswwc_cap_%out_ok
|
|
4229
|
+
%out_ok = 1
|
|
4230
|
+
jmp L_VEC_DEQUE_TRSWWC_GROW_HEAD_%out_ok
|
|
4231
|
+
L_VEC_DEQUE_TRSWWC_GROW_HEAD_%out_ok:
|
|
4232
|
+
__vec_deque_trswwc_cur_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4233
|
+
__vec_deque_trswwc_tgt_%out_ok = load __vec_deque_trswwc_target_slot_%out_ok+0 as u64
|
|
4234
|
+
__vec_deque_trswwc_done_%out_ok = eq __vec_deque_trswwc_cur_%out_ok, __vec_deque_trswwc_tgt_%out_ok
|
|
4235
|
+
br __vec_deque_trswwc_done_%out_ok -> L_VEC_DEQUE_TRSWWC_GROW_DONE_%out_ok, L_VEC_DEQUE_TRSWWC_GROW_BODY_%out_ok
|
|
4236
|
+
L_VEC_DEQUE_TRSWWC_GROW_BODY_%out_ok:
|
|
4237
|
+
__vec_deque_trswwc_value_%out_ok = call %gen_fn()
|
|
4238
|
+
call @sa_vec_deque_push_back(&%deque_reg, __vec_deque_trswwc_value_%out_ok)
|
|
4239
|
+
!__vec_deque_trswwc_value_%out_ok
|
|
4240
|
+
!__vec_deque_trswwc_cur_%out_ok
|
|
4241
|
+
!__vec_deque_trswwc_tgt_%out_ok
|
|
4242
|
+
!__vec_deque_trswwc_done_%out_ok
|
|
4243
|
+
jmp L_VEC_DEQUE_TRSWWC_GROW_HEAD_%out_ok
|
|
4244
|
+
L_VEC_DEQUE_TRSWWC_GROW_DONE_%out_ok:
|
|
4245
|
+
!__vec_deque_trswwc_cur_%out_ok
|
|
4246
|
+
!__vec_deque_trswwc_tgt_%out_ok
|
|
4247
|
+
!__vec_deque_trswwc_done_%out_ok
|
|
4248
|
+
!__vec_deque_trswwc_shrink_%out_ok
|
|
4249
|
+
!__vec_deque_trswwc_len_%out_ok
|
|
4250
|
+
jmp L_VEC_DEQUE_TRSWWC_END_%out_ok
|
|
4251
|
+
L_VEC_DEQUE_TRSWWC_END_%out_ok:
|
|
4252
|
+
[END_MACRO]
|
|
4253
|
+
|
|
4254
|
+
[MACRO] VEC_DEQUE_TRY_RESIZE_WITH_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4255
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITH_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4256
|
+
[END_MACRO]
|
|
4257
|
+
|
|
4258
|
+
[MACRO] VEC_DEQUE_RESIZE_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %value
|
|
4259
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %value
|
|
4260
|
+
[END_MACRO]
|
|
4261
|
+
|
|
4262
|
+
[MACRO] VEC_DEQUE_RESIZE_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %new_len, %value
|
|
4263
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %value
|
|
4264
|
+
[END_MACRO]
|
|
4265
|
+
|
|
4266
|
+
[MACRO] VEC_DEQUE_RESIZE_WITH_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4267
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITH_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4268
|
+
[END_MACRO]
|
|
4269
|
+
|
|
4270
|
+
[MACRO] VEC_DEQUE_RESIZE_WITH_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4271
|
+
EXPAND VEC_DEQUE_TRY_RESIZE_WITH_WITHIN_CAPACITY %out_ok, %deque_reg, %new_len, %gen_fn
|
|
4272
|
+
[END_MACRO]
|
|
4273
|
+
|
|
4274
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4275
|
+
__vec_deque_efswc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4276
|
+
__vec_deque_efswc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4277
|
+
__vec_deque_efswc_src_len_%out_ok = load %src_slice+Slice_len as u64
|
|
4278
|
+
__vec_deque_efswc_total_%out_ok = add __vec_deque_efswc_len_%out_ok, __vec_deque_efswc_src_len_%out_ok
|
|
4279
|
+
__vec_deque_efswc_room_ok_%out_ok = ule __vec_deque_efswc_total_%out_ok, __vec_deque_efswc_cap_%out_ok
|
|
4280
|
+
br __vec_deque_efswc_room_ok_%out_ok -> L_VEC_DEQUE_EFSWC_INIT_%out_ok, L_VEC_DEQUE_EFSWC_MISS_ROOM_%out_ok
|
|
4281
|
+
L_VEC_DEQUE_EFSWC_INIT_%out_ok:
|
|
4282
|
+
__vec_deque_efswc_idx_slot_%out_ok = stack_alloc 8
|
|
4283
|
+
store __vec_deque_efswc_idx_slot_%out_ok+0, 0 as u64
|
|
4284
|
+
jmp L_VEC_DEQUE_EFSWC_HEAD_%out_ok
|
|
4285
|
+
L_VEC_DEQUE_EFSWC_HEAD_%out_ok:
|
|
4286
|
+
__vec_deque_efswc_idx_%out_ok = load __vec_deque_efswc_idx_slot_%out_ok+0 as u64
|
|
4287
|
+
__vec_deque_efswc_done_%out_ok = eq __vec_deque_efswc_idx_%out_ok, __vec_deque_efswc_src_len_%out_ok
|
|
4288
|
+
br __vec_deque_efswc_done_%out_ok -> L_VEC_DEQUE_EFSWC_DONE_%out_ok, L_VEC_DEQUE_EFSWC_BODY_%out_ok
|
|
4289
|
+
L_VEC_DEQUE_EFSWC_BODY_%out_ok:
|
|
4290
|
+
__vec_deque_efswc_src_ptr_%out_ok = load %src_slice+Slice_ptr as ptr
|
|
4291
|
+
__vec_deque_efswc_off_%out_ok = mul __vec_deque_efswc_idx_%out_ok, 8
|
|
4292
|
+
__vec_deque_efswc_elem_ptr_%out_ok = ptr_add __vec_deque_efswc_src_ptr_%out_ok, __vec_deque_efswc_off_%out_ok
|
|
4293
|
+
__vec_deque_efswc_value_%out_ok = load __vec_deque_efswc_elem_ptr_%out_ok+0 as u64
|
|
4294
|
+
call @sa_vec_deque_push_back(&%deque_reg, __vec_deque_efswc_value_%out_ok)
|
|
4295
|
+
__vec_deque_efswc_next_%out_ok = add __vec_deque_efswc_idx_%out_ok, 1
|
|
4296
|
+
store __vec_deque_efswc_idx_slot_%out_ok+0, __vec_deque_efswc_next_%out_ok as u64
|
|
4297
|
+
!__vec_deque_efswc_next_%out_ok
|
|
4298
|
+
!__vec_deque_efswc_value_%out_ok
|
|
4299
|
+
!__vec_deque_efswc_elem_ptr_%out_ok
|
|
4300
|
+
!__vec_deque_efswc_off_%out_ok
|
|
4301
|
+
!__vec_deque_efswc_src_ptr_%out_ok
|
|
4302
|
+
!__vec_deque_efswc_done_%out_ok
|
|
4303
|
+
!__vec_deque_efswc_idx_%out_ok
|
|
4304
|
+
jmp L_VEC_DEQUE_EFSWC_HEAD_%out_ok
|
|
4305
|
+
L_VEC_DEQUE_EFSWC_DONE_%out_ok:
|
|
4306
|
+
!__vec_deque_efswc_done_%out_ok
|
|
4307
|
+
!__vec_deque_efswc_idx_%out_ok
|
|
4308
|
+
!__vec_deque_efswc_total_%out_ok
|
|
4309
|
+
!__vec_deque_efswc_room_ok_%out_ok
|
|
4310
|
+
!__vec_deque_efswc_cap_%out_ok
|
|
4311
|
+
!__vec_deque_efswc_len_%out_ok
|
|
4312
|
+
!__vec_deque_efswc_src_len_%out_ok
|
|
4313
|
+
%out_ok = 1
|
|
4314
|
+
jmp L_VEC_DEQUE_EFSWC_END_%out_ok
|
|
4315
|
+
L_VEC_DEQUE_EFSWC_MISS_ROOM_%out_ok:
|
|
4316
|
+
!__vec_deque_efswc_room_ok_%out_ok
|
|
4317
|
+
!__vec_deque_efswc_total_%out_ok
|
|
4318
|
+
!__vec_deque_efswc_cap_%out_ok
|
|
4319
|
+
!__vec_deque_efswc_len_%out_ok
|
|
4320
|
+
!__vec_deque_efswc_src_len_%out_ok
|
|
4321
|
+
%out_ok = 0
|
|
4322
|
+
jmp L_VEC_DEQUE_EFSWC_END_%out_ok
|
|
4323
|
+
L_VEC_DEQUE_EFSWC_END_%out_ok:
|
|
4324
|
+
[END_MACRO]
|
|
4325
|
+
|
|
4326
|
+
// Rust method-name alias over VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64.
|
|
4327
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_FROM_SLICE %out_ok, %deque_reg, %src_slice
|
|
4328
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4329
|
+
[END_MACRO]
|
|
4330
|
+
|
|
4331
|
+
[MACRO] VEC_DEQUE_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4332
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4333
|
+
[END_MACRO]
|
|
4334
|
+
|
|
4335
|
+
[MACRO] VEC_DEQUE_EXTEND_FROM_SLICE %out_ok, %deque_reg, %src_slice
|
|
4336
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4337
|
+
[END_MACRO]
|
|
4338
|
+
|
|
4339
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_CHARS_U64 %out_ok, %deque_reg, %src_slice
|
|
4340
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 %out_ok, %deque_reg, %src_slice
|
|
4341
|
+
[END_MACRO]
|
|
4342
|
+
|
|
4343
|
+
// Rust method-name alias over VEC_DEQUE_TRY_EXTEND_CHARS_U64.
|
|
4344
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_CHARS %out_ok, %deque_reg, %src_slice
|
|
4345
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_CHARS_U64 %out_ok, %deque_reg, %src_slice
|
|
4346
|
+
[END_MACRO]
|
|
4347
|
+
|
|
4348
|
+
[MACRO] VEC_DEQUE_EXTEND_CHARS_U64 %out_ok, %deque_reg, %src_slice
|
|
4349
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_CHARS_U64 %out_ok, %deque_reg, %src_slice
|
|
4350
|
+
[END_MACRO]
|
|
4351
|
+
|
|
4352
|
+
// Rust method-name alias over VEC_DEQUE_EXTEND_CHARS_U64.
|
|
4353
|
+
[MACRO] VEC_DEQUE_EXTEND_CHARS %out_ok, %deque_reg, %src_slice
|
|
4354
|
+
EXPAND VEC_DEQUE_EXTEND_CHARS_U64 %out_ok, %deque_reg, %src_slice
|
|
4355
|
+
[END_MACRO]
|
|
4356
|
+
|
|
4357
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %src_slice, %count
|
|
4358
|
+
__vec_deque_efsnwc_src_len_%out_ok = load %src_slice+Slice_len as u64
|
|
4359
|
+
__vec_deque_efsnwc_total_%out_ok = mul __vec_deque_efsnwc_src_len_%out_ok, %count
|
|
4360
|
+
__vec_deque_efsnwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4361
|
+
__vec_deque_efsnwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4362
|
+
__vec_deque_efsnwc_new_len_%out_ok = add __vec_deque_efsnwc_len_%out_ok, __vec_deque_efsnwc_total_%out_ok
|
|
4363
|
+
__vec_deque_efsnwc_room_ok_%out_ok = ule __vec_deque_efsnwc_new_len_%out_ok, __vec_deque_efsnwc_cap_%out_ok
|
|
4364
|
+
br __vec_deque_efsnwc_room_ok_%out_ok -> L_VEC_DEQUE_EFSNWC_SETUP_%out_ok, L_VEC_DEQUE_EFSNWC_MISS_%out_ok
|
|
4365
|
+
L_VEC_DEQUE_EFSNWC_SETUP_%out_ok:
|
|
4366
|
+
__vec_deque_efsnwc_idx_slot_%out_ok = stack_alloc 8
|
|
4367
|
+
store __vec_deque_efsnwc_idx_slot_%out_ok+0, 0 as u64
|
|
4368
|
+
!__vec_deque_efsnwc_room_ok_%out_ok
|
|
4369
|
+
!__vec_deque_efsnwc_new_len_%out_ok
|
|
4370
|
+
!__vec_deque_efsnwc_cap_%out_ok
|
|
4371
|
+
!__vec_deque_efsnwc_len_%out_ok
|
|
4372
|
+
!__vec_deque_efsnwc_total_%out_ok
|
|
4373
|
+
!__vec_deque_efsnwc_src_len_%out_ok
|
|
4374
|
+
jmp L_VEC_DEQUE_EFSNWC_HEAD_%out_ok
|
|
4375
|
+
L_VEC_DEQUE_EFSNWC_HEAD_%out_ok:
|
|
4376
|
+
__vec_deque_efsnwc_idx_%out_ok = load __vec_deque_efsnwc_idx_slot_%out_ok+0 as u64
|
|
4377
|
+
__vec_deque_efsnwc_done_%out_ok = eq __vec_deque_efsnwc_idx_%out_ok, %count
|
|
4378
|
+
br __vec_deque_efsnwc_done_%out_ok -> L_VEC_DEQUE_EFSNWC_DONE_%out_ok, L_VEC_DEQUE_EFSNWC_BODY_%out_ok
|
|
4379
|
+
L_VEC_DEQUE_EFSNWC_BODY_%out_ok:
|
|
4380
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_U64 __vec_deque_efsnwc_push_ok_%out_ok, %deque_reg, %src_slice
|
|
4381
|
+
br __vec_deque_efsnwc_push_ok_%out_ok -> L_VEC_DEQUE_EFSNWC_NEXT_%out_ok, L_VEC_DEQUE_EFSNWC_FAIL_%out_ok
|
|
4382
|
+
L_VEC_DEQUE_EFSNWC_NEXT_%out_ok:
|
|
4383
|
+
__vec_deque_efsnwc_next_%out_ok = add __vec_deque_efsnwc_idx_%out_ok, 1
|
|
4384
|
+
store __vec_deque_efsnwc_idx_slot_%out_ok+0, __vec_deque_efsnwc_next_%out_ok as u64
|
|
4385
|
+
!__vec_deque_efsnwc_next_%out_ok
|
|
4386
|
+
!__vec_deque_efsnwc_push_ok_%out_ok
|
|
4387
|
+
!__vec_deque_efsnwc_done_%out_ok
|
|
4388
|
+
!__vec_deque_efsnwc_idx_%out_ok
|
|
4389
|
+
jmp L_VEC_DEQUE_EFSNWC_HEAD_%out_ok
|
|
4390
|
+
L_VEC_DEQUE_EFSNWC_FAIL_%out_ok:
|
|
4391
|
+
%out_ok = add 0, 0
|
|
4392
|
+
!__vec_deque_efsnwc_push_ok_%out_ok
|
|
4393
|
+
!__vec_deque_efsnwc_done_%out_ok
|
|
4394
|
+
!__vec_deque_efsnwc_idx_%out_ok
|
|
4395
|
+
jmp L_VEC_DEQUE_EFSNWC_END_%out_ok
|
|
4396
|
+
L_VEC_DEQUE_EFSNWC_DONE_%out_ok:
|
|
4397
|
+
%out_ok = add 0, 1
|
|
4398
|
+
!__vec_deque_efsnwc_done_%out_ok
|
|
4399
|
+
!__vec_deque_efsnwc_idx_%out_ok
|
|
4400
|
+
jmp L_VEC_DEQUE_EFSNWC_END_%out_ok
|
|
4401
|
+
L_VEC_DEQUE_EFSNWC_MISS_%out_ok:
|
|
4402
|
+
%out_ok = add 0, 0
|
|
4403
|
+
!__vec_deque_efsnwc_room_ok_%out_ok
|
|
4404
|
+
!__vec_deque_efsnwc_new_len_%out_ok
|
|
4405
|
+
!__vec_deque_efsnwc_cap_%out_ok
|
|
4406
|
+
!__vec_deque_efsnwc_len_%out_ok
|
|
4407
|
+
!__vec_deque_efsnwc_total_%out_ok
|
|
4408
|
+
!__vec_deque_efsnwc_src_len_%out_ok
|
|
4409
|
+
L_VEC_DEQUE_EFSNWC_END_%out_ok:
|
|
4410
|
+
[END_MACRO]
|
|
4411
|
+
|
|
4412
|
+
// Rust method-name alias over VEC_DEQUE_TRY_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64.
|
|
4413
|
+
[MACRO] VEC_DEQUE_TRY_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %src_slice, %count
|
|
4414
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %src_slice, %count
|
|
4415
|
+
[END_MACRO]
|
|
4416
|
+
|
|
4417
|
+
[MACRO] VEC_DEQUE_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %src_slice, %count
|
|
4418
|
+
EXPAND VEC_DEQUE_TRY_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %src_slice, %count
|
|
4419
|
+
[END_MACRO]
|
|
4420
|
+
|
|
4421
|
+
// Rust method-name alias over VEC_DEQUE_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64.
|
|
4422
|
+
[MACRO] VEC_DEQUE_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %src_slice, %count
|
|
4423
|
+
EXPAND VEC_DEQUE_EXTEND_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %src_slice, %count
|
|
4424
|
+
[END_MACRO]
|
|
4425
|
+
|
|
4426
|
+
[MACRO] VEC_DEQUE_TRY_PUSH_BACK_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4427
|
+
__vec_deque_pbnwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4428
|
+
__vec_deque_pbnwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4429
|
+
__vec_deque_pbnwc_new_len_%out_ok = add __vec_deque_pbnwc_len_%out_ok, %count
|
|
4430
|
+
__vec_deque_pbnwc_room_ok_%out_ok = ule __vec_deque_pbnwc_new_len_%out_ok, __vec_deque_pbnwc_cap_%out_ok
|
|
4431
|
+
br __vec_deque_pbnwc_room_ok_%out_ok -> L_VEC_DEQUE_PBNWC_SETUP_%out_ok, L_VEC_DEQUE_PBNWC_MISS_%out_ok
|
|
4432
|
+
L_VEC_DEQUE_PBNWC_SETUP_%out_ok:
|
|
4433
|
+
__vec_deque_pbnwc_idx_slot_%out_ok = stack_alloc 8
|
|
4434
|
+
store __vec_deque_pbnwc_idx_slot_%out_ok+0, 0 as u64
|
|
4435
|
+
!__vec_deque_pbnwc_room_ok_%out_ok
|
|
4436
|
+
!__vec_deque_pbnwc_new_len_%out_ok
|
|
4437
|
+
!__vec_deque_pbnwc_cap_%out_ok
|
|
4438
|
+
!__vec_deque_pbnwc_len_%out_ok
|
|
4439
|
+
jmp L_VEC_DEQUE_PBNWC_HEAD_%out_ok
|
|
4440
|
+
L_VEC_DEQUE_PBNWC_HEAD_%out_ok:
|
|
4441
|
+
__vec_deque_pbnwc_idx_%out_ok = load __vec_deque_pbnwc_idx_slot_%out_ok+0 as u64
|
|
4442
|
+
__vec_deque_pbnwc_done_%out_ok = eq __vec_deque_pbnwc_idx_%out_ok, %count
|
|
4443
|
+
br __vec_deque_pbnwc_done_%out_ok -> L_VEC_DEQUE_PBNWC_DONE_%out_ok, L_VEC_DEQUE_PBNWC_BODY_%out_ok
|
|
4444
|
+
L_VEC_DEQUE_PBNWC_BODY_%out_ok:
|
|
4445
|
+
call @sa_vec_deque_push_back(&%deque_reg, %value)
|
|
4446
|
+
__vec_deque_pbnwc_next_%out_ok = add __vec_deque_pbnwc_idx_%out_ok, 1
|
|
4447
|
+
store __vec_deque_pbnwc_idx_slot_%out_ok+0, __vec_deque_pbnwc_next_%out_ok as u64
|
|
4448
|
+
!__vec_deque_pbnwc_next_%out_ok
|
|
4449
|
+
!__vec_deque_pbnwc_done_%out_ok
|
|
4450
|
+
!__vec_deque_pbnwc_idx_%out_ok
|
|
4451
|
+
jmp L_VEC_DEQUE_PBNWC_HEAD_%out_ok
|
|
4452
|
+
L_VEC_DEQUE_PBNWC_DONE_%out_ok:
|
|
4453
|
+
%out_ok = add 0, 1
|
|
4454
|
+
!__vec_deque_pbnwc_done_%out_ok
|
|
4455
|
+
!__vec_deque_pbnwc_idx_%out_ok
|
|
4456
|
+
jmp L_VEC_DEQUE_PBNWC_END_%out_ok
|
|
4457
|
+
L_VEC_DEQUE_PBNWC_MISS_%out_ok:
|
|
4458
|
+
%out_ok = add 0, 0
|
|
4459
|
+
!__vec_deque_pbnwc_room_ok_%out_ok
|
|
4460
|
+
!__vec_deque_pbnwc_new_len_%out_ok
|
|
4461
|
+
!__vec_deque_pbnwc_cap_%out_ok
|
|
4462
|
+
!__vec_deque_pbnwc_len_%out_ok
|
|
4463
|
+
L_VEC_DEQUE_PBNWC_END_%out_ok:
|
|
4464
|
+
[END_MACRO]
|
|
4465
|
+
|
|
4466
|
+
// Rust method-name alias over VEC_DEQUE_TRY_PUSH_BACK_N_WITHIN_CAPACITY_U64.
|
|
4467
|
+
[MACRO] VEC_DEQUE_TRY_PUSH_BACK_N_WITHIN_CAPACITY %out_ok, %deque_reg, %value, %count
|
|
4468
|
+
EXPAND VEC_DEQUE_TRY_PUSH_BACK_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4469
|
+
[END_MACRO]
|
|
4470
|
+
|
|
4471
|
+
[MACRO] VEC_DEQUE_PUSH_BACK_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4472
|
+
EXPAND VEC_DEQUE_TRY_PUSH_BACK_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4473
|
+
[END_MACRO]
|
|
4474
|
+
|
|
4475
|
+
// Rust method-name alias over VEC_DEQUE_PUSH_BACK_N_WITHIN_CAPACITY_U64.
|
|
4476
|
+
[MACRO] VEC_DEQUE_PUSH_BACK_N_WITHIN_CAPACITY %out_ok, %deque_reg, %value, %count
|
|
4477
|
+
EXPAND VEC_DEQUE_PUSH_BACK_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4478
|
+
[END_MACRO]
|
|
4479
|
+
|
|
4480
|
+
[MACRO] VEC_DEQUE_TRY_PUSH_FRONT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4481
|
+
__vec_deque_pfnwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4482
|
+
__vec_deque_pfnwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4483
|
+
__vec_deque_pfnwc_new_len_%out_ok = add __vec_deque_pfnwc_len_%out_ok, %count
|
|
4484
|
+
__vec_deque_pfnwc_room_ok_%out_ok = ule __vec_deque_pfnwc_new_len_%out_ok, __vec_deque_pfnwc_cap_%out_ok
|
|
4485
|
+
br __vec_deque_pfnwc_room_ok_%out_ok -> L_VEC_DEQUE_PFNWC_SETUP_%out_ok, L_VEC_DEQUE_PFNWC_MISS_%out_ok
|
|
4486
|
+
L_VEC_DEQUE_PFNWC_SETUP_%out_ok:
|
|
4487
|
+
__vec_deque_pfnwc_idx_slot_%out_ok = stack_alloc 8
|
|
4488
|
+
store __vec_deque_pfnwc_idx_slot_%out_ok+0, 0 as u64
|
|
4489
|
+
!__vec_deque_pfnwc_room_ok_%out_ok
|
|
4490
|
+
!__vec_deque_pfnwc_new_len_%out_ok
|
|
4491
|
+
!__vec_deque_pfnwc_cap_%out_ok
|
|
4492
|
+
!__vec_deque_pfnwc_len_%out_ok
|
|
4493
|
+
jmp L_VEC_DEQUE_PFNWC_HEAD_%out_ok
|
|
4494
|
+
L_VEC_DEQUE_PFNWC_HEAD_%out_ok:
|
|
4495
|
+
__vec_deque_pfnwc_idx_%out_ok = load __vec_deque_pfnwc_idx_slot_%out_ok+0 as u64
|
|
4496
|
+
__vec_deque_pfnwc_done_%out_ok = eq __vec_deque_pfnwc_idx_%out_ok, %count
|
|
4497
|
+
br __vec_deque_pfnwc_done_%out_ok -> L_VEC_DEQUE_PFNWC_DONE_%out_ok, L_VEC_DEQUE_PFNWC_BODY_%out_ok
|
|
4498
|
+
L_VEC_DEQUE_PFNWC_BODY_%out_ok:
|
|
4499
|
+
call @sa_vec_deque_push_front(&%deque_reg, %value)
|
|
4500
|
+
__vec_deque_pfnwc_next_%out_ok = add __vec_deque_pfnwc_idx_%out_ok, 1
|
|
4501
|
+
store __vec_deque_pfnwc_idx_slot_%out_ok+0, __vec_deque_pfnwc_next_%out_ok as u64
|
|
4502
|
+
!__vec_deque_pfnwc_next_%out_ok
|
|
4503
|
+
!__vec_deque_pfnwc_done_%out_ok
|
|
4504
|
+
!__vec_deque_pfnwc_idx_%out_ok
|
|
4505
|
+
jmp L_VEC_DEQUE_PFNWC_HEAD_%out_ok
|
|
4506
|
+
L_VEC_DEQUE_PFNWC_DONE_%out_ok:
|
|
4507
|
+
%out_ok = add 0, 1
|
|
4508
|
+
!__vec_deque_pfnwc_done_%out_ok
|
|
4509
|
+
!__vec_deque_pfnwc_idx_%out_ok
|
|
4510
|
+
jmp L_VEC_DEQUE_PFNWC_END_%out_ok
|
|
4511
|
+
L_VEC_DEQUE_PFNWC_MISS_%out_ok:
|
|
4512
|
+
%out_ok = add 0, 0
|
|
4513
|
+
!__vec_deque_pfnwc_room_ok_%out_ok
|
|
4514
|
+
!__vec_deque_pfnwc_new_len_%out_ok
|
|
4515
|
+
!__vec_deque_pfnwc_cap_%out_ok
|
|
4516
|
+
!__vec_deque_pfnwc_len_%out_ok
|
|
4517
|
+
L_VEC_DEQUE_PFNWC_END_%out_ok:
|
|
4518
|
+
[END_MACRO]
|
|
4519
|
+
|
|
4520
|
+
// Rust method-name alias over VEC_DEQUE_TRY_PUSH_FRONT_N_WITHIN_CAPACITY_U64.
|
|
4521
|
+
[MACRO] VEC_DEQUE_TRY_PUSH_FRONT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %value, %count
|
|
4522
|
+
EXPAND VEC_DEQUE_TRY_PUSH_FRONT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4523
|
+
[END_MACRO]
|
|
4524
|
+
|
|
4525
|
+
[MACRO] VEC_DEQUE_PUSH_FRONT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4526
|
+
EXPAND VEC_DEQUE_TRY_PUSH_FRONT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4527
|
+
[END_MACRO]
|
|
4528
|
+
|
|
4529
|
+
// Rust method-name alias over VEC_DEQUE_PUSH_FRONT_N_WITHIN_CAPACITY_U64.
|
|
4530
|
+
[MACRO] VEC_DEQUE_PUSH_FRONT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %value, %count
|
|
4531
|
+
EXPAND VEC_DEQUE_PUSH_FRONT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %value, %count
|
|
4532
|
+
[END_MACRO]
|
|
4533
|
+
|
|
4534
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value
|
|
4535
|
+
__vec_deque_iwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4536
|
+
__vec_deque_iwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4537
|
+
__vec_deque_iwc_in_bounds_%out_ok = ule %index, __vec_deque_iwc_len_%out_ok
|
|
4538
|
+
__vec_deque_iwc_new_len_%out_ok = add __vec_deque_iwc_len_%out_ok, 1
|
|
4539
|
+
__vec_deque_iwc_has_room_%out_ok = ule __vec_deque_iwc_new_len_%out_ok, __vec_deque_iwc_cap_%out_ok
|
|
4540
|
+
__vec_deque_iwc_ok_all_%out_ok = and __vec_deque_iwc_in_bounds_%out_ok, __vec_deque_iwc_has_room_%out_ok
|
|
4541
|
+
br __vec_deque_iwc_ok_all_%out_ok -> L_VEC_DEQUE_IWC_OK_%out_ok, L_VEC_DEQUE_IWC_MISS_%out_ok
|
|
4542
|
+
L_VEC_DEQUE_IWC_OK_%out_ok:
|
|
4543
|
+
__vec_deque_iwc_abi_ok_%out_ok = call @sa_vec_deque_try_insert(&%deque_reg, %index, %value)
|
|
4544
|
+
%out_ok = __vec_deque_iwc_abi_ok_%out_ok
|
|
4545
|
+
!__vec_deque_iwc_ok_all_%out_ok
|
|
4546
|
+
!__vec_deque_iwc_in_bounds_%out_ok
|
|
4547
|
+
!__vec_deque_iwc_new_len_%out_ok
|
|
4548
|
+
!__vec_deque_iwc_has_room_%out_ok
|
|
4549
|
+
!__vec_deque_iwc_cap_%out_ok
|
|
4550
|
+
!__vec_deque_iwc_len_%out_ok
|
|
4551
|
+
jmp L_VEC_DEQUE_IWC_END_%out_ok
|
|
4552
|
+
L_VEC_DEQUE_IWC_MISS_%out_ok:
|
|
4553
|
+
%out_ok = add 0, 0
|
|
4554
|
+
!__vec_deque_iwc_ok_all_%out_ok
|
|
4555
|
+
!__vec_deque_iwc_in_bounds_%out_ok
|
|
4556
|
+
!__vec_deque_iwc_new_len_%out_ok
|
|
4557
|
+
!__vec_deque_iwc_has_room_%out_ok
|
|
4558
|
+
!__vec_deque_iwc_cap_%out_ok
|
|
4559
|
+
!__vec_deque_iwc_len_%out_ok
|
|
4560
|
+
jmp L_VEC_DEQUE_IWC_END_%out_ok
|
|
4561
|
+
L_VEC_DEQUE_IWC_END_%out_ok:
|
|
4562
|
+
[END_MACRO]
|
|
4563
|
+
|
|
4564
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %value
|
|
4565
|
+
EXPAND VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value
|
|
4566
|
+
[END_MACRO]
|
|
4567
|
+
|
|
4568
|
+
[MACRO] VEC_DEQUE_INSERT_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value
|
|
4569
|
+
EXPAND VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value
|
|
4570
|
+
[END_MACRO]
|
|
4571
|
+
|
|
4572
|
+
[MACRO] VEC_DEQUE_INSERT_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %value
|
|
4573
|
+
EXPAND VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value
|
|
4574
|
+
[END_MACRO]
|
|
4575
|
+
|
|
4576
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value, %count
|
|
4577
|
+
__vec_deque_inwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4578
|
+
__vec_deque_inwc_in_bounds_%out_ok = ule %index, __vec_deque_inwc_len_%out_ok
|
|
4579
|
+
br __vec_deque_inwc_in_bounds_%out_ok -> L_VEC_DEQUE_INWC_ROOM_%out_ok, L_VEC_DEQUE_INWC_MISS_%out_ok
|
|
4580
|
+
L_VEC_DEQUE_INWC_ROOM_%out_ok:
|
|
4581
|
+
__vec_deque_inwc_new_len_%out_ok = add __vec_deque_inwc_len_%out_ok, %count
|
|
4582
|
+
__vec_deque_inwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4583
|
+
__vec_deque_inwc_room_ok_%out_ok = ule __vec_deque_inwc_new_len_%out_ok, __vec_deque_inwc_cap_%out_ok
|
|
4584
|
+
br __vec_deque_inwc_room_ok_%out_ok -> L_VEC_DEQUE_INWC_SETUP_%out_ok, L_VEC_DEQUE_INWC_NO_ROOM_%out_ok
|
|
4585
|
+
L_VEC_DEQUE_INWC_SETUP_%out_ok:
|
|
4586
|
+
__vec_deque_inwc_idx_slot_%out_ok = stack_alloc 8
|
|
4587
|
+
store __vec_deque_inwc_idx_slot_%out_ok+0, 0 as u64
|
|
4588
|
+
!__vec_deque_inwc_room_ok_%out_ok
|
|
4589
|
+
!__vec_deque_inwc_new_len_%out_ok
|
|
4590
|
+
!__vec_deque_inwc_cap_%out_ok
|
|
4591
|
+
!__vec_deque_inwc_in_bounds_%out_ok
|
|
4592
|
+
!__vec_deque_inwc_len_%out_ok
|
|
4593
|
+
jmp L_VEC_DEQUE_INWC_HEAD_%out_ok
|
|
4594
|
+
L_VEC_DEQUE_INWC_HEAD_%out_ok:
|
|
4595
|
+
__vec_deque_inwc_idx_%out_ok = load __vec_deque_inwc_idx_slot_%out_ok+0 as u64
|
|
4596
|
+
__vec_deque_inwc_done_%out_ok = eq __vec_deque_inwc_idx_%out_ok, %count
|
|
4597
|
+
br __vec_deque_inwc_done_%out_ok -> L_VEC_DEQUE_INWC_DONE_%out_ok, L_VEC_DEQUE_INWC_BODY_%out_ok
|
|
4598
|
+
L_VEC_DEQUE_INWC_BODY_%out_ok:
|
|
4599
|
+
__vec_deque_inwc_pos_%out_ok = add %index, __vec_deque_inwc_idx_%out_ok
|
|
4600
|
+
EXPAND VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY __vec_deque_inwc_push_ok_%out_ok, %deque_reg, __vec_deque_inwc_pos_%out_ok, %value
|
|
4601
|
+
br __vec_deque_inwc_push_ok_%out_ok -> L_VEC_DEQUE_INWC_NEXT_%out_ok, L_VEC_DEQUE_INWC_FAIL_%out_ok
|
|
4602
|
+
L_VEC_DEQUE_INWC_NEXT_%out_ok:
|
|
4603
|
+
__vec_deque_inwc_next_%out_ok = add __vec_deque_inwc_idx_%out_ok, 1
|
|
4604
|
+
store __vec_deque_inwc_idx_slot_%out_ok+0, __vec_deque_inwc_next_%out_ok as u64
|
|
4605
|
+
!__vec_deque_inwc_next_%out_ok
|
|
4606
|
+
!__vec_deque_inwc_push_ok_%out_ok
|
|
4607
|
+
!__vec_deque_inwc_pos_%out_ok
|
|
4608
|
+
!__vec_deque_inwc_done_%out_ok
|
|
4609
|
+
!__vec_deque_inwc_idx_%out_ok
|
|
4610
|
+
jmp L_VEC_DEQUE_INWC_HEAD_%out_ok
|
|
4611
|
+
L_VEC_DEQUE_INWC_FAIL_%out_ok:
|
|
4612
|
+
%out_ok = add 0, 0
|
|
4613
|
+
!__vec_deque_inwc_push_ok_%out_ok
|
|
4614
|
+
!__vec_deque_inwc_pos_%out_ok
|
|
4615
|
+
!__vec_deque_inwc_done_%out_ok
|
|
4616
|
+
!__vec_deque_inwc_idx_%out_ok
|
|
4617
|
+
jmp L_VEC_DEQUE_INWC_END_%out_ok
|
|
4618
|
+
L_VEC_DEQUE_INWC_DONE_%out_ok:
|
|
4619
|
+
%out_ok = add 0, 1
|
|
4620
|
+
!__vec_deque_inwc_done_%out_ok
|
|
4621
|
+
!__vec_deque_inwc_idx_%out_ok
|
|
4622
|
+
jmp L_VEC_DEQUE_INWC_END_%out_ok
|
|
4623
|
+
L_VEC_DEQUE_INWC_NO_ROOM_%out_ok:
|
|
4624
|
+
%out_ok = add 0, 0
|
|
4625
|
+
!__vec_deque_inwc_room_ok_%out_ok
|
|
4626
|
+
!__vec_deque_inwc_new_len_%out_ok
|
|
4627
|
+
!__vec_deque_inwc_cap_%out_ok
|
|
4628
|
+
!__vec_deque_inwc_in_bounds_%out_ok
|
|
4629
|
+
!__vec_deque_inwc_len_%out_ok
|
|
4630
|
+
jmp L_VEC_DEQUE_INWC_END_%out_ok
|
|
4631
|
+
L_VEC_DEQUE_INWC_MISS_%out_ok:
|
|
4632
|
+
%out_ok = add 0, 0
|
|
4633
|
+
!__vec_deque_inwc_in_bounds_%out_ok
|
|
4634
|
+
!__vec_deque_inwc_len_%out_ok
|
|
4635
|
+
L_VEC_DEQUE_INWC_END_%out_ok:
|
|
4636
|
+
[END_MACRO]
|
|
4637
|
+
|
|
4638
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %value, %count
|
|
4639
|
+
EXPAND VEC_DEQUE_TRY_INSERT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value, %count
|
|
4640
|
+
[END_MACRO]
|
|
4641
|
+
|
|
4642
|
+
[MACRO] VEC_DEQUE_INSERT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value, %count
|
|
4643
|
+
EXPAND VEC_DEQUE_TRY_INSERT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value, %count
|
|
4644
|
+
[END_MACRO]
|
|
4645
|
+
|
|
4646
|
+
[MACRO] VEC_DEQUE_INSERT_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %value, %count
|
|
4647
|
+
EXPAND VEC_DEQUE_TRY_INSERT_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %value, %count
|
|
4648
|
+
[END_MACRO]
|
|
4649
|
+
|
|
4650
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice
|
|
4651
|
+
__vec_deque_ifswc_src_len_%out_ok = load %src_slice+Slice_len as u64
|
|
4652
|
+
__vec_deque_ifswc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4653
|
+
__vec_deque_ifswc_in_bounds_%out_ok = ule %index, __vec_deque_ifswc_len_%out_ok
|
|
4654
|
+
br __vec_deque_ifswc_in_bounds_%out_ok -> L_VEC_DEQUE_IFSWC_ROOM_%out_ok, L_VEC_DEQUE_IFSWC_MISS_%out_ok
|
|
4655
|
+
L_VEC_DEQUE_IFSWC_ROOM_%out_ok:
|
|
4656
|
+
__vec_deque_ifswc_new_len_%out_ok = add __vec_deque_ifswc_len_%out_ok, __vec_deque_ifswc_src_len_%out_ok
|
|
4657
|
+
__vec_deque_ifswc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4658
|
+
__vec_deque_ifswc_room_ok_%out_ok = ule __vec_deque_ifswc_new_len_%out_ok, __vec_deque_ifswc_cap_%out_ok
|
|
4659
|
+
br __vec_deque_ifswc_room_ok_%out_ok -> L_VEC_DEQUE_IFSWC_EMPTY_%out_ok, L_VEC_DEQUE_IFSWC_NO_ROOM_%out_ok
|
|
4660
|
+
L_VEC_DEQUE_IFSWC_EMPTY_%out_ok:
|
|
4661
|
+
__vec_deque_ifswc_empty_%out_ok = eq __vec_deque_ifswc_src_len_%out_ok, 0
|
|
4662
|
+
br __vec_deque_ifswc_empty_%out_ok -> L_VEC_DEQUE_IFSWC_EMPTY_HIT_%out_ok, L_VEC_DEQUE_IFSWC_SETUP_%out_ok
|
|
4663
|
+
L_VEC_DEQUE_IFSWC_EMPTY_HIT_%out_ok:
|
|
4664
|
+
%out_ok = add 0, 1
|
|
4665
|
+
!__vec_deque_ifswc_empty_%out_ok
|
|
4666
|
+
!__vec_deque_ifswc_room_ok_%out_ok
|
|
4667
|
+
!__vec_deque_ifswc_new_len_%out_ok
|
|
4668
|
+
!__vec_deque_ifswc_in_bounds_%out_ok
|
|
4669
|
+
!__vec_deque_ifswc_cap_%out_ok
|
|
4670
|
+
!__vec_deque_ifswc_len_%out_ok
|
|
4671
|
+
!__vec_deque_ifswc_src_len_%out_ok
|
|
4672
|
+
jmp L_VEC_DEQUE_IFSWC_END_%out_ok
|
|
4673
|
+
L_VEC_DEQUE_IFSWC_SETUP_%out_ok:
|
|
4674
|
+
__vec_deque_ifswc_idx_slot_%out_ok = stack_alloc 8
|
|
4675
|
+
store __vec_deque_ifswc_idx_slot_%out_ok+0, 0 as u64
|
|
4676
|
+
!__vec_deque_ifswc_empty_%out_ok
|
|
4677
|
+
!__vec_deque_ifswc_room_ok_%out_ok
|
|
4678
|
+
!__vec_deque_ifswc_new_len_%out_ok
|
|
4679
|
+
!__vec_deque_ifswc_cap_%out_ok
|
|
4680
|
+
!__vec_deque_ifswc_in_bounds_%out_ok
|
|
4681
|
+
!__vec_deque_ifswc_len_%out_ok
|
|
4682
|
+
jmp L_VEC_DEQUE_IFSWC_HEAD_%out_ok
|
|
4683
|
+
L_VEC_DEQUE_IFSWC_HEAD_%out_ok:
|
|
4684
|
+
__vec_deque_ifswc_idx_%out_ok = load __vec_deque_ifswc_idx_slot_%out_ok+0 as u64
|
|
4685
|
+
__vec_deque_ifswc_done_%out_ok = eq __vec_deque_ifswc_idx_%out_ok, __vec_deque_ifswc_src_len_%out_ok
|
|
4686
|
+
br __vec_deque_ifswc_done_%out_ok -> L_VEC_DEQUE_IFSWC_DONE_%out_ok, L_VEC_DEQUE_IFSWC_BODY_%out_ok
|
|
4687
|
+
L_VEC_DEQUE_IFSWC_BODY_%out_ok:
|
|
4688
|
+
__vec_deque_ifswc_src_ptr_%out_ok = load %src_slice+Slice_ptr as ptr
|
|
4689
|
+
__vec_deque_ifswc_off_%out_ok = mul __vec_deque_ifswc_idx_%out_ok, 8
|
|
4690
|
+
__vec_deque_ifswc_elem_ptr_%out_ok = ptr_add __vec_deque_ifswc_src_ptr_%out_ok, __vec_deque_ifswc_off_%out_ok
|
|
4691
|
+
__vec_deque_ifswc_value_%out_ok = load __vec_deque_ifswc_elem_ptr_%out_ok+0 as u64
|
|
4692
|
+
__vec_deque_ifswc_pos_%out_ok = add %index, __vec_deque_ifswc_idx_%out_ok
|
|
4693
|
+
EXPAND VEC_DEQUE_TRY_INSERT_WITHIN_CAPACITY __vec_deque_ifswc_push_ok_%out_ok, %deque_reg, __vec_deque_ifswc_pos_%out_ok, __vec_deque_ifswc_value_%out_ok
|
|
4694
|
+
br __vec_deque_ifswc_push_ok_%out_ok -> L_VEC_DEQUE_IFSWC_NEXT_%out_ok, L_VEC_DEQUE_IFSWC_FAIL_%out_ok
|
|
4695
|
+
L_VEC_DEQUE_IFSWC_NEXT_%out_ok:
|
|
4696
|
+
__vec_deque_ifswc_next_%out_ok = add __vec_deque_ifswc_idx_%out_ok, 1
|
|
4697
|
+
store __vec_deque_ifswc_idx_slot_%out_ok+0, __vec_deque_ifswc_next_%out_ok as u64
|
|
4698
|
+
!__vec_deque_ifswc_next_%out_ok
|
|
4699
|
+
!__vec_deque_ifswc_push_ok_%out_ok
|
|
4700
|
+
!__vec_deque_ifswc_pos_%out_ok
|
|
4701
|
+
!__vec_deque_ifswc_value_%out_ok
|
|
4702
|
+
!__vec_deque_ifswc_elem_ptr_%out_ok
|
|
4703
|
+
!__vec_deque_ifswc_off_%out_ok
|
|
4704
|
+
!__vec_deque_ifswc_src_ptr_%out_ok
|
|
4705
|
+
!__vec_deque_ifswc_done_%out_ok
|
|
4706
|
+
!__vec_deque_ifswc_idx_%out_ok
|
|
4707
|
+
jmp L_VEC_DEQUE_IFSWC_HEAD_%out_ok
|
|
4708
|
+
L_VEC_DEQUE_IFSWC_FAIL_%out_ok:
|
|
4709
|
+
%out_ok = add 0, 0
|
|
4710
|
+
!__vec_deque_ifswc_push_ok_%out_ok
|
|
4711
|
+
!__vec_deque_ifswc_pos_%out_ok
|
|
4712
|
+
!__vec_deque_ifswc_value_%out_ok
|
|
4713
|
+
!__vec_deque_ifswc_elem_ptr_%out_ok
|
|
4714
|
+
!__vec_deque_ifswc_off_%out_ok
|
|
4715
|
+
!__vec_deque_ifswc_src_ptr_%out_ok
|
|
4716
|
+
!__vec_deque_ifswc_done_%out_ok
|
|
4717
|
+
!__vec_deque_ifswc_idx_%out_ok
|
|
4718
|
+
!__vec_deque_ifswc_src_len_%out_ok
|
|
4719
|
+
jmp L_VEC_DEQUE_IFSWC_END_%out_ok
|
|
4720
|
+
L_VEC_DEQUE_IFSWC_DONE_%out_ok:
|
|
4721
|
+
%out_ok = add 0, 1
|
|
4722
|
+
!__vec_deque_ifswc_done_%out_ok
|
|
4723
|
+
!__vec_deque_ifswc_idx_%out_ok
|
|
4724
|
+
!__vec_deque_ifswc_src_len_%out_ok
|
|
4725
|
+
jmp L_VEC_DEQUE_IFSWC_END_%out_ok
|
|
4726
|
+
L_VEC_DEQUE_IFSWC_NO_ROOM_%out_ok:
|
|
4727
|
+
%out_ok = add 0, 0
|
|
4728
|
+
!__vec_deque_ifswc_room_ok_%out_ok
|
|
4729
|
+
!__vec_deque_ifswc_new_len_%out_ok
|
|
4730
|
+
!__vec_deque_ifswc_in_bounds_%out_ok
|
|
4731
|
+
!__vec_deque_ifswc_cap_%out_ok
|
|
4732
|
+
!__vec_deque_ifswc_len_%out_ok
|
|
4733
|
+
!__vec_deque_ifswc_src_len_%out_ok
|
|
4734
|
+
jmp L_VEC_DEQUE_IFSWC_END_%out_ok
|
|
4735
|
+
L_VEC_DEQUE_IFSWC_MISS_%out_ok:
|
|
4736
|
+
%out_ok = add 0, 0
|
|
4737
|
+
!__vec_deque_ifswc_in_bounds_%out_ok
|
|
4738
|
+
!__vec_deque_ifswc_len_%out_ok
|
|
4739
|
+
!__vec_deque_ifswc_src_len_%out_ok
|
|
4740
|
+
L_VEC_DEQUE_IFSWC_END_%out_ok:
|
|
4741
|
+
[END_MACRO]
|
|
4742
|
+
|
|
4743
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %src_slice
|
|
4744
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice
|
|
4745
|
+
[END_MACRO]
|
|
4746
|
+
|
|
4747
|
+
[MACRO] VEC_DEQUE_INSERT_FROM_SLICE_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice
|
|
4748
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice
|
|
4749
|
+
[END_MACRO]
|
|
4750
|
+
|
|
4751
|
+
[MACRO] VEC_DEQUE_INSERT_FROM_SLICE_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %src_slice
|
|
4752
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice
|
|
4753
|
+
[END_MACRO]
|
|
4754
|
+
|
|
4755
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4756
|
+
__vec_deque_ifsnwc_src_len_%out_ok = load %src_slice+Slice_len as u64
|
|
4757
|
+
__vec_deque_ifsnwc_total_%out_ok = mul __vec_deque_ifsnwc_src_len_%out_ok, %count
|
|
4758
|
+
__vec_deque_ifsnwc_len_%out_ok = load %deque_reg+VecDeque_len as u64
|
|
4759
|
+
__vec_deque_ifsnwc_in_bounds_%out_ok = ule %index, __vec_deque_ifsnwc_len_%out_ok
|
|
4760
|
+
br __vec_deque_ifsnwc_in_bounds_%out_ok -> L_VEC_DEQUE_IFSNWC_ROOM_%out_ok, L_VEC_DEQUE_IFSNWC_MISS_%out_ok
|
|
4761
|
+
L_VEC_DEQUE_IFSNWC_ROOM_%out_ok:
|
|
4762
|
+
__vec_deque_ifsnwc_new_len_%out_ok = add __vec_deque_ifsnwc_len_%out_ok, __vec_deque_ifsnwc_total_%out_ok
|
|
4763
|
+
__vec_deque_ifsnwc_cap_%out_ok = load %deque_reg+VecDeque_cap as u64
|
|
4764
|
+
__vec_deque_ifsnwc_room_ok_%out_ok = ule __vec_deque_ifsnwc_new_len_%out_ok, __vec_deque_ifsnwc_cap_%out_ok
|
|
4765
|
+
br __vec_deque_ifsnwc_room_ok_%out_ok -> L_VEC_DEQUE_IFSNWC_SETUP_%out_ok, L_VEC_DEQUE_IFSNWC_NO_ROOM_%out_ok
|
|
4766
|
+
L_VEC_DEQUE_IFSNWC_SETUP_%out_ok:
|
|
4767
|
+
__vec_deque_ifsnwc_idx_slot_%out_ok = stack_alloc 8
|
|
4768
|
+
store __vec_deque_ifsnwc_idx_slot_%out_ok+0, 0 as u64
|
|
4769
|
+
!__vec_deque_ifsnwc_in_bounds_%out_ok
|
|
4770
|
+
!__vec_deque_ifsnwc_room_ok_%out_ok
|
|
4771
|
+
!__vec_deque_ifsnwc_new_len_%out_ok
|
|
4772
|
+
!__vec_deque_ifsnwc_cap_%out_ok
|
|
4773
|
+
!__vec_deque_ifsnwc_len_%out_ok
|
|
4774
|
+
!__vec_deque_ifsnwc_total_%out_ok
|
|
4775
|
+
!__vec_deque_ifsnwc_src_len_%out_ok
|
|
4776
|
+
jmp L_VEC_DEQUE_IFSNWC_HEAD_%out_ok
|
|
4777
|
+
L_VEC_DEQUE_IFSNWC_HEAD_%out_ok:
|
|
4778
|
+
__vec_deque_ifsnwc_idx_%out_ok = load __vec_deque_ifsnwc_idx_slot_%out_ok+0 as u64
|
|
4779
|
+
__vec_deque_ifsnwc_done_%out_ok = eq __vec_deque_ifsnwc_idx_%out_ok, %count
|
|
4780
|
+
br __vec_deque_ifsnwc_done_%out_ok -> L_VEC_DEQUE_IFSNWC_DONE_%out_ok, L_VEC_DEQUE_IFSNWC_BODY_%out_ok
|
|
4781
|
+
L_VEC_DEQUE_IFSNWC_BODY_%out_ok:
|
|
4782
|
+
__vec_deque_ifsnwc_src_len2_%out_ok = load %src_slice+Slice_len as u64
|
|
4783
|
+
__vec_deque_ifsnwc_block_off_%out_ok = mul __vec_deque_ifsnwc_idx_%out_ok, __vec_deque_ifsnwc_src_len2_%out_ok
|
|
4784
|
+
__vec_deque_ifsnwc_pos_%out_ok = add %index, __vec_deque_ifsnwc_block_off_%out_ok
|
|
4785
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_WITHIN_CAPACITY __vec_deque_ifsnwc_block_ok_%out_ok, %deque_reg, __vec_deque_ifsnwc_pos_%out_ok, %src_slice
|
|
4786
|
+
br __vec_deque_ifsnwc_block_ok_%out_ok -> L_VEC_DEQUE_IFSNWC_NEXT_%out_ok, L_VEC_DEQUE_IFSNWC_FAIL_%out_ok
|
|
4787
|
+
L_VEC_DEQUE_IFSNWC_NEXT_%out_ok:
|
|
4788
|
+
__vec_deque_ifsnwc_next_%out_ok = add __vec_deque_ifsnwc_idx_%out_ok, 1
|
|
4789
|
+
store __vec_deque_ifsnwc_idx_slot_%out_ok+0, __vec_deque_ifsnwc_next_%out_ok as u64
|
|
4790
|
+
!__vec_deque_ifsnwc_next_%out_ok
|
|
4791
|
+
!__vec_deque_ifsnwc_block_ok_%out_ok
|
|
4792
|
+
!__vec_deque_ifsnwc_pos_%out_ok
|
|
4793
|
+
!__vec_deque_ifsnwc_block_off_%out_ok
|
|
4794
|
+
!__vec_deque_ifsnwc_src_len2_%out_ok
|
|
4795
|
+
!__vec_deque_ifsnwc_done_%out_ok
|
|
4796
|
+
!__vec_deque_ifsnwc_idx_%out_ok
|
|
4797
|
+
jmp L_VEC_DEQUE_IFSNWC_HEAD_%out_ok
|
|
4798
|
+
L_VEC_DEQUE_IFSNWC_FAIL_%out_ok:
|
|
4799
|
+
%out_ok = add 0, 0
|
|
4800
|
+
!__vec_deque_ifsnwc_block_ok_%out_ok
|
|
4801
|
+
!__vec_deque_ifsnwc_pos_%out_ok
|
|
4802
|
+
!__vec_deque_ifsnwc_block_off_%out_ok
|
|
4803
|
+
!__vec_deque_ifsnwc_src_len2_%out_ok
|
|
4804
|
+
!__vec_deque_ifsnwc_done_%out_ok
|
|
4805
|
+
!__vec_deque_ifsnwc_idx_%out_ok
|
|
4806
|
+
jmp L_VEC_DEQUE_IFSNWC_END_%out_ok
|
|
4807
|
+
L_VEC_DEQUE_IFSNWC_DONE_%out_ok:
|
|
4808
|
+
%out_ok = add 0, 1
|
|
4809
|
+
!__vec_deque_ifsnwc_done_%out_ok
|
|
4810
|
+
!__vec_deque_ifsnwc_idx_%out_ok
|
|
4811
|
+
jmp L_VEC_DEQUE_IFSNWC_END_%out_ok
|
|
4812
|
+
L_VEC_DEQUE_IFSNWC_NO_ROOM_%out_ok:
|
|
4813
|
+
%out_ok = add 0, 0
|
|
4814
|
+
!__vec_deque_ifsnwc_room_ok_%out_ok
|
|
4815
|
+
!__vec_deque_ifsnwc_new_len_%out_ok
|
|
4816
|
+
!__vec_deque_ifsnwc_in_bounds_%out_ok
|
|
4817
|
+
!__vec_deque_ifsnwc_cap_%out_ok
|
|
4818
|
+
!__vec_deque_ifsnwc_len_%out_ok
|
|
4819
|
+
!__vec_deque_ifsnwc_total_%out_ok
|
|
4820
|
+
!__vec_deque_ifsnwc_src_len_%out_ok
|
|
4821
|
+
jmp L_VEC_DEQUE_IFSNWC_END_%out_ok
|
|
4822
|
+
L_VEC_DEQUE_IFSNWC_MISS_%out_ok:
|
|
4823
|
+
%out_ok = add 0, 0
|
|
4824
|
+
!__vec_deque_ifsnwc_in_bounds_%out_ok
|
|
4825
|
+
!__vec_deque_ifsnwc_len_%out_ok
|
|
4826
|
+
!__vec_deque_ifsnwc_total_%out_ok
|
|
4827
|
+
!__vec_deque_ifsnwc_src_len_%out_ok
|
|
4828
|
+
L_VEC_DEQUE_IFSNWC_END_%out_ok:
|
|
4829
|
+
[END_MACRO]
|
|
4830
|
+
|
|
4831
|
+
[MACRO] VEC_DEQUE_TRY_INSERT_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4832
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4833
|
+
[END_MACRO]
|
|
4834
|
+
|
|
4835
|
+
[MACRO] VEC_DEQUE_INSERT_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4836
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4837
|
+
[END_MACRO]
|
|
4838
|
+
|
|
4839
|
+
[MACRO] VEC_DEQUE_INSERT_FROM_SLICE_N_WITHIN_CAPACITY_U64 %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4840
|
+
EXPAND VEC_DEQUE_TRY_INSERT_FROM_SLICE_N_WITHIN_CAPACITY %out_ok, %deque_reg, %index, %src_slice, %count
|
|
4841
|
+
[END_MACRO]
|
|
4842
|
+
|
|
4843
|
+
|
|
4844
|
+
[MACRO] VEC_DEQUE_APPEND %deque_reg, %other_deque_reg
|
|
4845
|
+
call @sa_vec_deque_append(&%deque_reg, &%other_deque_reg)
|
|
4846
|
+
[END_MACRO]
|
|
4847
|
+
|
|
4848
|
+
[MACRO] VEC_DEQUE_TRY_SPLIT_OFF %out_ok, %out_deque, %deque_reg, %index
|
|
4849
|
+
__vec_deque_split_slot_%out_ok = stack_alloc 8
|
|
4850
|
+
__vec_deque_split_ok_%out_ok = call @sa_vec_deque_try_split_off(&%deque_reg, %index, &__vec_deque_split_slot_%out_ok)
|
|
4851
|
+
%out_deque = load __vec_deque_split_slot_%out_ok+0 as ptr
|
|
4852
|
+
%out_ok = __vec_deque_split_ok_%out_ok
|
|
4853
|
+
[END_MACRO]
|
|
4854
|
+
|
|
4855
|
+
[MACRO] VEC_DEQUE_SPLIT_OFF %out_ok, %out_deque, %deque_reg, %index
|
|
4856
|
+
EXPAND VEC_DEQUE_TRY_SPLIT_OFF %out_ok, %out_deque, %deque_reg, %index
|
|
4857
|
+
[END_MACRO]
|
|
4858
|
+
|
|
4859
|
+
// Fixed-arity / from-collection constructors over the concrete u64 VecDeque.
|
|
4860
|
+
|
|
4861
|
+
[MACRO] VEC_DEQUE_LIT1 %out_deque, %value1
|
|
4862
|
+
EXPAND VEC_DEQUE_NEW %out_deque
|
|
4863
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value1
|
|
4864
|
+
[END_MACRO]
|
|
4865
|
+
|
|
4866
|
+
[MACRO] VEC_DEQUE_LIT2 %out_deque, %value1, %value2
|
|
4867
|
+
EXPAND VEC_DEQUE_NEW %out_deque
|
|
4868
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value1
|
|
4869
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value2
|
|
4870
|
+
[END_MACRO]
|
|
4871
|
+
|
|
4872
|
+
[MACRO] VEC_DEQUE_LIT3 %out_deque, %value1, %value2, %value3
|
|
4873
|
+
EXPAND VEC_DEQUE_NEW %out_deque
|
|
4874
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value1
|
|
4875
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value2
|
|
4876
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, %value3
|
|
4877
|
+
[END_MACRO]
|
|
4878
|
+
|
|
4879
|
+
[MACRO] VEC_DEQUE_FROM_SLICE_U64 %out_deque, %slice_reg
|
|
4880
|
+
EXPAND VEC_DEQUE_NEW %out_deque
|
|
4881
|
+
__vd_from_len_%out_deque = load %slice_reg+Slice_len as u64
|
|
4882
|
+
__vd_from_idx_slot_%out_deque = stack_alloc 8
|
|
4883
|
+
store __vd_from_idx_slot_%out_deque+0, 0 as u64
|
|
4884
|
+
jmp L_VEC_DEQUE_FROM_SLICE_HEAD_%out_deque
|
|
4885
|
+
L_VEC_DEQUE_FROM_SLICE_HEAD_%out_deque:
|
|
4886
|
+
__vd_from_idx_%out_deque = load __vd_from_idx_slot_%out_deque+0 as u64
|
|
4887
|
+
__vd_from_done_%out_deque = eq __vd_from_idx_%out_deque, __vd_from_len_%out_deque
|
|
4888
|
+
br __vd_from_done_%out_deque -> L_VEC_DEQUE_FROM_SLICE_DONE_%out_deque, L_VEC_DEQUE_FROM_SLICE_BODY_%out_deque
|
|
4889
|
+
L_VEC_DEQUE_FROM_SLICE_BODY_%out_deque:
|
|
4890
|
+
EXPAND SLICE_GET_U64 __vd_from_val_%out_deque, %slice_reg, __vd_from_idx_%out_deque
|
|
4891
|
+
EXPAND VEC_DEQUE_PUSH_BACK %out_deque, __vd_from_val_%out_deque
|
|
4892
|
+
__vd_from_next_%out_deque = add __vd_from_idx_%out_deque, 1
|
|
4893
|
+
store __vd_from_idx_slot_%out_deque+0, __vd_from_next_%out_deque as u64
|
|
4894
|
+
!__vd_from_next_%out_deque
|
|
4895
|
+
!__vd_from_val_%out_deque
|
|
4896
|
+
!__vd_from_done_%out_deque
|
|
4897
|
+
!__vd_from_idx_%out_deque
|
|
4898
|
+
jmp L_VEC_DEQUE_FROM_SLICE_HEAD_%out_deque
|
|
4899
|
+
L_VEC_DEQUE_FROM_SLICE_DONE_%out_deque:
|
|
4900
|
+
!__vd_from_done_%out_deque
|
|
4901
|
+
!__vd_from_idx_%out_deque
|
|
4902
|
+
!__vd_from_len_%out_deque
|
|
4903
|
+
[END_MACRO]
|
|
4904
|
+
|
|
4905
|
+
// Rust method-name alias over VEC_DEQUE_FROM_SLICE_U64.
|
|
4906
|
+
[MACRO] VEC_DEQUE_FROM_SLICE %out_deque, %slice_reg
|
|
4907
|
+
EXPAND VEC_DEQUE_FROM_SLICE_U64 %out_deque, %slice_reg
|
|
4908
|
+
[END_MACRO]
|
|
4909
|
+
|
|
4910
|
+
[MACRO] VEC_DEQUE_FROM_VEC_U64 %out_deque, %vec_reg
|
|
4911
|
+
EXPAND VEC_AS_SLICE __vec_deque_from_vec_slice_%out_deque, %vec_reg
|
|
4912
|
+
EXPAND VEC_DEQUE_FROM_SLICE_U64 %out_deque, __vec_deque_from_vec_slice_%out_deque
|
|
4913
|
+
!__vec_deque_from_vec_slice_%out_deque
|
|
4914
|
+
[END_MACRO]
|
|
4915
|
+
|
|
4916
|
+
// Rust method-name alias over VEC_DEQUE_FROM_VEC_U64.
|
|
4917
|
+
[MACRO] VEC_DEQUE_FROM_VEC %out_deque, %vec_reg
|
|
4918
|
+
EXPAND VEC_DEQUE_FROM_VEC_U64 %out_deque, %vec_reg
|
|
4919
|
+
[END_MACRO]
|
|
4920
|
+
|
|
4921
|
+
// Rust Default-style empty VecDeque constructor alias.
|
|
4922
|
+
|
|
4923
|
+
[MACRO] VEC_DEQUE_DEFAULT %out_deque
|
|
4924
|
+
EXPAND VEC_DEQUE_NEW %out_deque
|
|
4925
|
+
[END_MACRO]
|