diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-04-01 19:04:46 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-04-18 14:07:35 -0700 |
| commit | 3dce936753b90dcf80f25251034ccee7afd8ea71 (patch) | |
| tree | 289d661fb0a6fd25dc6f5a2eb906a3c0ed9a37dc | |
| parent | 8f2d21dc0d69de134e0ed70bcf1a15f4cac4973a (diff) | |
| download | rust-3dce936753b90dcf80f25251034ccee7afd8ea71.tar.gz rust-3dce936753b90dcf80f25251034ccee7afd8ea71.zip | |
core: Remove #[doc(hidden)] attributes and atomic wrapper functions from pipes
Neither are needed
| -rw-r--r-- | src/libcore/pipes.rs | 50 |
1 files changed, 2 insertions, 48 deletions
diff --git a/src/libcore/pipes.rs b/src/libcore/pipes.rs index ba94c2ae66a..36cfdbf5617 100644 --- a/src/libcore/pipes.rs +++ b/src/libcore/pipes.rs @@ -92,14 +92,12 @@ use ptr; use task; use vec; -#[doc(hidden)] static SPIN_COUNT: uint = 0; macro_rules! move_it ( { $x:expr } => ( unsafe { let y = *ptr::addr_of(&($x)); y } ) ) -#[doc(hidden)] #[deriving(Eq)] enum State { Empty, @@ -124,7 +122,6 @@ pub fn BufferHeader() -> BufferHeader { } // This is for protocols to associate extra data to thread around. -#[doc(hidden)] pub struct Buffer<T> { header: BufferHeader, data: T, @@ -185,13 +182,11 @@ pub impl PacketHeader { } } -#[doc(hidden)] pub struct Packet<T> { header: PacketHeader, mut payload: Option<T>, } -#[doc(hidden)] pub trait HasBuffer { fn set_buffer(&self, b: *libc::c_void); } @@ -202,14 +197,12 @@ impl<T:Owned> HasBuffer for Packet<T> { } } -#[doc(hidden)] pub fn mk_packet<T:Owned>() -> Packet<T> { Packet { header: PacketHeader(), payload: None, } } -#[doc(hidden)] fn unibuffer<T>() -> ~Buffer<Packet<T>> { let b = ~Buffer { header: BufferHeader(), @@ -225,7 +218,6 @@ fn unibuffer<T>() -> ~Buffer<Packet<T>> { b } -#[doc(hidden)] pub fn packet<T>() -> *Packet<T> { let b = unibuffer(); let p = ptr::addr_of(&(b.data)); @@ -234,7 +226,6 @@ pub fn packet<T>() -> *Packet<T> { p } -#[doc(hidden)] pub fn entangle_buffer<T:Owned,Tstart:Owned>( buffer: ~Buffer<T>, init: &fn(*libc::c_void, x: &T) -> *Packet<Tstart>) @@ -245,30 +236,6 @@ pub fn entangle_buffer<T:Owned,Tstart:Owned>( (SendPacketBuffered(p), RecvPacketBuffered(p)) } -// If I call the rusti versions directly from a polymorphic function, -// I get link errors. This is a bug that needs investigated more. -#[doc(hidden)] -pub fn atomic_xchng_rel(dst: &mut int, src: int) -> int { - unsafe { - intrinsics::atomic_xchg_rel(dst, src) - } -} - -#[doc(hidden)] -pub fn atomic_add_acq(dst: &mut int, src: int) -> int { - unsafe { - intrinsics::atomic_xadd_acq(dst, src) - } -} - -#[doc(hidden)] -pub fn atomic_sub_rel(dst: &mut int, src: int) -> int { - unsafe { - intrinsics::atomic_xsub_rel(dst, src) - } -} - -#[doc(hidden)] pub fn swap_task(dst: &mut *rust_task, src: *rust_task) -> *rust_task { // It might be worth making both acquire and release versions of // this. @@ -277,11 +244,9 @@ pub fn swap_task(dst: &mut *rust_task, src: *rust_task) -> *rust_task { } } -#[doc(hidden)] #[allow(non_camel_case_types)] pub type rust_task = libc::c_void; -#[doc(hidden)] pub mod rustrt { use libc; use super::rust_task; @@ -303,7 +268,6 @@ pub mod rustrt { } } -#[doc(hidden)] fn wait_event(this: *rust_task) -> *libc::c_void { unsafe { let mut event = ptr::null(); @@ -316,21 +280,18 @@ fn wait_event(this: *rust_task) -> *libc::c_void { } } -#[doc(hidden)] fn swap_state_acq(dst: &mut State, src: State) -> State { unsafe { transmute(intrinsics::atomic_xchg_acq(transmute(dst), src as int)) } } -#[doc(hidden)] fn swap_state_rel(dst: &mut State, src: State) -> State { unsafe { transmute(intrinsics::atomic_xchg_rel(transmute(dst), src as int)) } } -#[doc(hidden)] pub unsafe fn get_buffer<T>(p: *PacketHeader) -> ~Buffer<T> { transmute((*p).buf_header()) } @@ -348,7 +309,7 @@ impl<T> ::ops::Drop for BufferResource<T> { let b = move_it!(self.buffer); //let p = ptr::addr_of(*b); //error!("drop %?", p); - let old_count = atomic_sub_rel(&mut b.header.ref_count, 1); + let old_count = intrinsics::atomic_xsub_rel(&mut b.header.ref_count, 1); //let old_count = atomic_xchng_rel(b.header.ref_count, 0); if old_count == 1 { // The new count is 0. @@ -365,7 +326,7 @@ impl<T> ::ops::Drop for BufferResource<T> { fn BufferResource<T>(b: ~Buffer<T>) -> BufferResource<T> { //let p = ptr::addr_of(*b); //error!("take %?", p); - atomic_add_acq(&mut b.header.ref_count, 1); + unsafe { intrinsics::atomic_xadd_acq(&mut b.header.ref_count, 1) }; BufferResource { // tjc: ???? @@ -373,7 +334,6 @@ fn BufferResource<T>(b: ~Buffer<T>) -> BufferResource<T> { } } -#[doc(hidden)] pub fn send<T,Tbuffer>(p: SendPacketBuffered<T,Tbuffer>, payload: T) -> bool { let header = p.header(); let p_ = p.unwrap(); @@ -550,7 +510,6 @@ pub fn peek<T:Owned,Tb:Owned>(p: &RecvPacketBuffered<T, Tb>) -> bool { } } -#[doc(hidden)] fn sender_terminate<T:Owned>(p: *Packet<T>) { let p = unsafe { &*p }; match swap_state_rel(&mut p.header.state, Terminated) { @@ -581,7 +540,6 @@ fn sender_terminate<T:Owned>(p: *Packet<T>) { } } -#[doc(hidden)] fn receiver_terminate<T:Owned>(p: *Packet<T>) { let p = unsafe { &*p }; match swap_state_rel(&mut p.header.state, Terminated) { @@ -675,7 +633,6 @@ message. */ pub type SendPacket<T> = SendPacketBuffered<T, Packet<T>>; -#[doc(hidden)] pub fn SendPacket<T>(p: *Packet<T>) -> SendPacket<T> { SendPacketBuffered(p) } @@ -746,7 +703,6 @@ pub impl<T,Tbuffer> SendPacketBuffered<T,Tbuffer> { /// message. pub type RecvPacket<T> = RecvPacketBuffered<T, Packet<T>>; -#[doc(hidden)] pub fn RecvPacket<T>(p: *Packet<T>) -> RecvPacket<T> { RecvPacketBuffered(p) } @@ -814,7 +770,6 @@ pub fn RecvPacketBuffered<T,Tbuffer>(p: *Packet<T>) } } -#[doc(hidden)] pub fn entangle<T>() -> (SendPacket<T>, RecvPacket<T>) { let p = packet(); (SendPacket(p), RecvPacket(p)) @@ -863,7 +818,6 @@ pub fn select2<A:Owned,Ab:Owned,B:Owned,Bb:Owned>( } } -#[doc(hidden)] pub trait Selectable { fn header(&self) -> *PacketHeader; } |
