1
- use sync:: atomic:: { AtomicUsize , ATOMIC_USIZE_INIT , Ordering } ;
1
+ use sync:: atomic:: { AtomicUsize , Ordering } ;
2
2
use ptr;
3
3
use mem;
4
4
use cell:: Cell ;
@@ -15,7 +15,40 @@ macro_rules! dup {
15
15
( ( * $( $exp: tt) * ) $( $val: tt) * ) => ( dup!( ( $( $exp) * ) $( $val) * $( $val) * ) ) ;
16
16
( ( ) $( $val: tt) * ) => ( [ $( $val) ,* ] )
17
17
}
18
- static TLS_DESTRUCTOR : [ AtomicUsize ; TLS_KEYS ] = dup ! ( ( * * * * * * * ) ATOMIC_USIZE_INIT ) ;
18
+ static TLS_DESTRUCTOR : [ AtomicUsize ; TLS_KEYS ] = [
19
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
20
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
21
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
22
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
23
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
24
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
25
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
26
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
27
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
28
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
29
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
30
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
31
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
32
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
33
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
34
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
35
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
36
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
37
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
38
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
39
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
40
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
41
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
42
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
43
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
44
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
45
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
46
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
47
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
48
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
49
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
50
+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
51
+ ] ;
19
52
20
53
extern "C" {
21
54
fn get_tls_ptr ( ) -> * const u8 ;
@@ -119,7 +152,7 @@ impl Tls {
119
152
}
120
153
121
154
mod sync_bitset {
122
- use sync:: atomic:: { AtomicUsize , ATOMIC_USIZE_INIT , Ordering } ;
155
+ use sync:: atomic:: { AtomicUsize , Ordering } ;
123
156
use iter:: { Enumerate , Peekable } ;
124
157
use slice:: Iter ;
125
158
use super :: { TLS_KEYS_BITSET_SIZE , USIZE_BITS } ;
@@ -128,7 +161,7 @@ mod sync_bitset {
128
161
pub ( super ) struct SyncBitset ( [ AtomicUsize ; TLS_KEYS_BITSET_SIZE ] ) ;
129
162
130
163
pub ( super ) const SYNC_BITSET_INIT : SyncBitset =
131
- SyncBitset ( [ ATOMIC_USIZE_INIT , ATOMIC_USIZE_INIT ] ) ;
164
+ SyncBitset ( [ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ] ) ;
132
165
133
166
impl SyncBitset {
134
167
pub fn get ( & self , index : usize ) -> bool {
0 commit comments