@@ -53,14 +53,13 @@ mod worker_local;
53
53
54
54
pub use std:: sync:: atomic:: Ordering ;
55
55
pub use std:: sync:: atomic:: Ordering :: SeqCst ;
56
- use std:: sync:: { Mutex , MutexGuard } ;
57
56
58
57
pub use vec:: { AppendOnlyIndexVec , AppendOnlyVec } ;
59
58
60
59
mod vec;
61
60
use parking_lot:: lock_api:: RawMutex as _;
62
61
use parking_lot:: lock_api:: RawRwLock as _;
63
- use parking_lot:: { RawMutex , RawRwLock } ;
62
+ use parking_lot:: { Mutex , MutexGuard , RawMutex , RawRwLock } ;
64
63
65
64
mod mode {
66
65
use super :: Ordering ;
@@ -644,7 +643,7 @@ impl<T> Lock<T> {
644
643
}
645
644
}
646
645
647
- #[ inline( never ) ]
646
+ #[ inline]
648
647
fn lock_raw( & self ) {
649
648
if likely( self . single_thread) {
650
649
assert!( !self . borrow. replace( true ) ) ;
@@ -660,7 +659,7 @@ impl<T> Lock<T> {
660
659
LockGuard { lock: & self , marker: PhantomData }
661
660
}
662
661
663
- #[ inline( never ) ]
662
+ #[ inline]
664
663
pub ( crate ) fn with_mt_lock<F : FnOnce ( & mut T ) -> R , R >( & self , f: F ) -> R {
665
664
unsafe {
666
665
self . mutex. lock( ) ;
@@ -683,7 +682,7 @@ impl<T> Lock<T> {
683
682
}
684
683
}
685
684
686
- #[ inline( never ) ]
685
+ #[ inline]
687
686
fn with_mt_borrow<F : FnOnce ( & T ) -> R , R >( & self , f: F ) -> R {
688
687
unsafe {
689
688
self . mutex. lock( ) ;
@@ -751,7 +750,7 @@ impl<T> DerefMut for LockGuard<'_, T> {
751
750
}
752
751
}
753
752
754
- #[ inline( never ) ]
753
+ #[ inline]
755
754
fn unlock_mt<T >( guard: & mut LockGuard <' _, T >) {
756
755
unsafe { guard. lock. mutex. unlock( ) }
757
756
}
@@ -842,26 +841,23 @@ impl<T> LockLike<T> for Mutex<T> {
842
841
843
842
#[ inline]
844
843
fn into_inner( self ) -> T {
845
- self . into_inner( ) . unwrap ( )
844
+ self . into_inner( )
846
845
}
847
846
848
847
#[ inline]
849
848
fn get_mut( & mut self ) -> & mut T {
850
- self . get_mut( ) . unwrap ( )
849
+ self . get_mut( )
851
850
}
852
851
853
852
#[ inline]
854
853
fn try_lock( & self ) -> Option <MutexGuard <' _, T >> {
855
- self . try_lock( ) . ok ( )
854
+ self . try_lock( )
856
855
}
857
856
858
857
#[ inline( always) ]
859
858
#[ track_caller]
860
859
fn lock( & self ) -> MutexGuard <' _, T > {
861
- self . lock( ) . unwrap_or_else( |e| {
862
- self . clear_poison( ) ;
863
- e. into_inner( )
864
- } )
860
+ self . lock( )
865
861
}
866
862
}
867
863
@@ -1095,7 +1091,7 @@ impl<T> RwLock<T> {
1095
1091
self . data. get_mut( )
1096
1092
}
1097
1093
1098
- #[ inline( never ) ]
1094
+ #[ inline]
1099
1095
fn mt_read( & self ) -> ReadGuard <' _, T > {
1100
1096
self . raw. raw. lock_shared( ) ;
1101
1097
ReadGuard { rwlock: self , marker: PhantomData }
@@ -1113,7 +1109,7 @@ impl<T> RwLock<T> {
1113
1109
}
1114
1110
}
1115
1111
1116
- #[ inline( never ) ]
1112
+ #[ inline]
1117
1113
fn with_mt_read_lock<F : FnOnce ( & T ) -> R , R >( & self , f: F ) -> R {
1118
1114
self . raw. raw. lock_shared( ) ;
1119
1115
let r = unsafe { f( & * self . data. get( ) ) } ;
@@ -1157,7 +1153,7 @@ impl<T> RwLock<T> {
1157
1153
}
1158
1154
}
1159
1155
1160
- #[ inline( never ) ]
1156
+ #[ inline]
1161
1157
fn mt_write( & self ) -> WriteGuard <' _, T > {
1162
1158
self . raw. raw. lock_exclusive( ) ;
1163
1159
WriteGuard { rwlock: self , marker: PhantomData }
@@ -1173,7 +1169,7 @@ impl<T> RwLock<T> {
1173
1169
}
1174
1170
}
1175
1171
1176
- #[ inline( never ) ]
1172
+ #[ inline]
1177
1173
pub fn with_mt_write_lock<F : FnOnce ( & mut T ) -> R , R >( & self , f: F ) -> R {
1178
1174
self . raw. raw. lock_exclusive( ) ;
1179
1175
unsafe {
0 commit comments