Use fast TLS on Fuchsia

This commit is contained in:
Taylor Cramer 2018-07-11 18:11:53 -07:00
parent 704af2d7e1
commit a6fa656555
1 changed files with 1 additions and 6 deletions

View File

@ -20,7 +20,7 @@
// fallback implementation to use as well. // fallback implementation to use as well.
// //
// Due to rust-lang/rust#18804, make sure this is not generic! // Due to rust-lang/rust#18804, make sure this is not generic!
#[cfg(target_os = "linux")] #[cfg(any(target_os = "linux", target_os = "fuchsia"))]
pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) { pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) {
use libc; use libc;
use mem; use mem;
@ -55,11 +55,6 @@ pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) {
_tlv_atexit(dtor, t); _tlv_atexit(dtor, t);
} }
// Just use the thread_local fallback implementation, at least until there's
// a more direct implementation.
#[cfg(target_os = "fuchsia")]
pub use sys_common::thread_local::register_dtor_fallback as register_dtor;
pub fn requires_move_before_drop() -> bool { pub fn requires_move_before_drop() -> bool {
// The macOS implementation of TLS apparently had an odd aspect to it // The macOS implementation of TLS apparently had an odd aspect to it
// where the pointer we have may be overwritten while this destructor // where the pointer we have may be overwritten while this destructor