rollup merge of #17582 : kmcallister/gc-box
This commit is contained in:
commit
e44393a953
5 changed files with 10 additions and 10 deletions
|
@ -16,7 +16,7 @@ use core::raw;
|
|||
#[inline]
|
||||
#[deprecated]
|
||||
pub fn get_box_size(body_size: uint, body_align: uint) -> uint {
|
||||
let header_size = mem::size_of::<raw::Box<()>>();
|
||||
let header_size = mem::size_of::<raw::GcBox<()>>();
|
||||
let total_size = align_to(header_size, body_align) + body_size;
|
||||
total_size
|
||||
}
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
|
||||
use mem;
|
||||
|
||||
/// The representation of a Rust managed box
|
||||
pub struct Box<T> {
|
||||
/// The representation of `std::gc::Gc`.
|
||||
pub struct GcBox<T> {
|
||||
pub ref_count: uint,
|
||||
pub drop_glue: fn(ptr: *mut u8),
|
||||
pub prev: *mut Box<T>,
|
||||
pub next: *mut Box<T>,
|
||||
pub prev: *mut GcBox<T>,
|
||||
pub next: *mut GcBox<T>,
|
||||
pub data: T,
|
||||
}
|
||||
|
||||
|
|
|
@ -277,7 +277,7 @@ impl<'a> TyVisitor for ReprVisitor<'a> {
|
|||
fn visit_box(&mut self, mtbl: uint, inner: *const TyDesc) -> bool {
|
||||
try!(self, self.writer.write("box(GC) ".as_bytes()));
|
||||
self.write_mut_qualifier(mtbl);
|
||||
self.get::<&raw::Box<()>>(|this, b| {
|
||||
self.get::<&raw::GcBox<()>>(|this, b| {
|
||||
let p = &b.data as *const () as *const u8;
|
||||
this.visit_ptr_inner(p, inner)
|
||||
})
|
||||
|
|
|
@ -24,7 +24,7 @@ use task::Task;
|
|||
|
||||
static RC_IMMORTAL : uint = 0x77777777;
|
||||
|
||||
pub type Box = raw::Box<()>;
|
||||
pub type Box = raw::GcBox<()>;
|
||||
|
||||
pub struct MemoryRegion {
|
||||
live_allocations: uint,
|
||||
|
@ -32,7 +32,7 @@ pub struct MemoryRegion {
|
|||
|
||||
pub struct LocalHeap {
|
||||
memory_region: MemoryRegion,
|
||||
live_allocs: *mut raw::Box<()>,
|
||||
live_allocs: *mut raw::GcBox<()>,
|
||||
}
|
||||
|
||||
impl LocalHeap {
|
||||
|
@ -161,7 +161,7 @@ impl LocalHeap {
|
|||
}
|
||||
|
||||
unsafe fn each_live_alloc(&mut self, read_next_before: bool,
|
||||
f: |&mut LocalHeap, alloc: *mut raw::Box<()>|) {
|
||||
f: |&mut LocalHeap, alloc: *mut raw::GcBox<()>|) {
|
||||
//! Walks the internal list of allocations
|
||||
|
||||
let mut alloc = self.live_allocs;
|
||||
|
|
|
@ -89,7 +89,7 @@ impl<T: Default + 'static> Default for Gc<T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<T: 'static> raw::Repr<*const raw::Box<T>> for Gc<T> {}
|
||||
impl<T: 'static> raw::Repr<*const raw::GcBox<T>> for Gc<T> {}
|
||||
|
||||
impl<S: hash::Writer, T: hash::Hash<S> + 'static> hash::Hash<S> for Gc<T> {
|
||||
fn hash(&self, s: &mut S) {
|
||||
|
|
Loading…
Add table
Reference in a new issue