pub struct WriteBarrier { /* private fields */ }Expand description
Write barrier implementation for generational GC
Implementations§
Source§impl WriteBarrier
impl WriteBarrier
pub fn new(enable_barriers: bool) -> Self
Sourcepub fn record_reference(&self, old_object: *const u8, _young_object: *const u8)
pub fn record_reference(&self, old_object: *const u8, _young_object: *const u8)
Record a potential old-to-young reference
Should be called whenever a reference from an old generation object to a young generation object is created
Sourcepub fn remove_object(&self, object: *const u8)
pub fn remove_object(&self, object: *const u8)
Remove an object from the remembered set
Should be called when an old generation object is collected or when its references are updated
Sourcepub fn get_remembered_roots(&self) -> Vec<*const u8>
pub fn get_remembered_roots(&self) -> Vec<*const u8>
Get all objects in the remembered set as additional roots for minor GC
Sourcepub fn clear_remembered_set(&self)
pub fn clear_remembered_set(&self)
Clear the remembered set (typically after major GC)
Sourcepub fn stats(&self) -> WriteBarrierStats
pub fn stats(&self) -> WriteBarrierStats
Get write barrier statistics
Sourcepub fn reset_stats(&self)
pub fn reset_stats(&self)
Reset statistics
Auto Trait Implementations§
impl !Freeze for WriteBarrier
impl !RefUnwindSafe for WriteBarrier
impl !Send for WriteBarrier
impl !Sync for WriteBarrier
impl Unpin for WriteBarrier
impl UnwindSafe for WriteBarrier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more