NonMovingSpace

Type Alias NonMovingSpace 

Source
pub type NonMovingSpace<VM> = ImmixSpace<VM>;

Aliased Type§

pub struct NonMovingSpace<VM> {
Show 16 fields common: CommonSpace<VM>, pr: BlockPageResource<VM, Block>, pub chunk_map: ChunkMap, pub line_mark_state: AtomicU8, line_unavail_state: AtomicU8, pub reusable_blocks: ReusableBlockPool, pub(super) defrag: Defrag, lines_consumed: AtomicUsize, reused_lines_consumed: AtomicUsize, mark_state: u8, scheduler: Arc<GCWorkScheduler<VM>>, space_args: ImmixSpaceArgs, hooks: OnceLock<&'static dyn ImmixHooks<VM>>, pub rc_enabled: bool, pub is_end_of_satb_or_full_gc: bool, pub rc: RefCountHelper<VM>,
}

Fields§

§common: CommonSpace<VM>§pr: BlockPageResource<VM, Block>§chunk_map: ChunkMap

Allocation status for all chunks in immix space

§line_mark_state: AtomicU8

Current line mark state

§line_unavail_state: AtomicU8

Line mark state in previous GC

§reusable_blocks: ReusableBlockPool

A list of all reusable blocks

§defrag: Defrag

Defrag utilities

§lines_consumed: AtomicUsize

How many lines have been consumed since last GC?

§reused_lines_consumed: AtomicUsize§mark_state: u8

Object mark state

§scheduler: Arc<GCWorkScheduler<VM>>

Work packet scheduler

§space_args: ImmixSpaceArgs

Some settings for this space

§hooks: OnceLock<&'static dyn ImmixHooks<VM>>§rc_enabled: bool§is_end_of_satb_or_full_gc: bool§rc: RefCountHelper<VM>