From 3dce936753b90dcf80f25251034ccee7afd8ea71 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 1 Apr 2013 19:04:46 -0700 Subject: [PATCH] core: Remove #[doc(hidden)] attributes and atomic wrapper functions from pipes Neither are needed --- src/libcore/pipes.rs | 50 ++------------------------------------------ 1 file 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 { header: BufferHeader, data: T, @@ -185,13 +182,11 @@ pub impl PacketHeader { } } -#[doc(hidden)] pub struct Packet { header: PacketHeader, mut payload: Option, } -#[doc(hidden)] pub trait HasBuffer { fn set_buffer(&self, b: *libc::c_void); } @@ -202,14 +197,12 @@ impl HasBuffer for Packet { } } -#[doc(hidden)] pub fn mk_packet() -> Packet { Packet { header: PacketHeader(), payload: None, } } -#[doc(hidden)] fn unibuffer() -> ~Buffer> { let b = ~Buffer { header: BufferHeader(), @@ -225,7 +218,6 @@ fn unibuffer() -> ~Buffer> { b } -#[doc(hidden)] pub fn packet() -> *Packet { let b = unibuffer(); let p = ptr::addr_of(&(b.data)); @@ -234,7 +226,6 @@ pub fn packet() -> *Packet { p } -#[doc(hidden)] pub fn entangle_buffer( buffer: ~Buffer, init: &fn(*libc::c_void, x: &T) -> *Packet) @@ -245,30 +236,6 @@ pub fn entangle_buffer( (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(p: *PacketHeader) -> ~Buffer { transmute((*p).buf_header()) } @@ -348,7 +309,7 @@ impl ::ops::Drop for BufferResource { 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 ::ops::Drop for BufferResource { fn BufferResource(b: ~Buffer) -> BufferResource { //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(b: ~Buffer) -> BufferResource { } } -#[doc(hidden)] pub fn send(p: SendPacketBuffered, payload: T) -> bool { let header = p.header(); let p_ = p.unwrap(); @@ -550,7 +510,6 @@ pub fn peek(p: &RecvPacketBuffered) -> bool { } } -#[doc(hidden)] fn sender_terminate(p: *Packet) { let p = unsafe { &*p }; match swap_state_rel(&mut p.header.state, Terminated) { @@ -581,7 +540,6 @@ fn sender_terminate(p: *Packet) { } } -#[doc(hidden)] fn receiver_terminate(p: *Packet) { let p = unsafe { &*p }; match swap_state_rel(&mut p.header.state, Terminated) { @@ -675,7 +633,6 @@ message. */ pub type SendPacket = SendPacketBuffered>; -#[doc(hidden)] pub fn SendPacket(p: *Packet) -> SendPacket { SendPacketBuffered(p) } @@ -746,7 +703,6 @@ pub impl SendPacketBuffered { /// message. pub type RecvPacket = RecvPacketBuffered>; -#[doc(hidden)] pub fn RecvPacket(p: *Packet) -> RecvPacket { RecvPacketBuffered(p) } @@ -814,7 +770,6 @@ pub fn RecvPacketBuffered(p: *Packet) } } -#[doc(hidden)] pub fn entangle() -> (SendPacket, RecvPacket) { let p = packet(); (SendPacket(p), RecvPacket(p)) @@ -863,7 +818,6 @@ pub fn select2( } } -#[doc(hidden)] pub trait Selectable { fn header(&self) -> *PacketHeader; }