ImmixHooks

Trait ImmixHooks 

Source
pub trait ImmixHooks<VM: VMBinding>: Send + Sync {
    // Provided methods
    fn on_clean_block_acquired(&self, _block: Block, _copy: bool) { ... }
    fn on_reusable_block_acquired(&self, _block: Block, _copy: bool) { ... }
    fn cm_in_progress_or_final_mark(&self) -> bool { ... }
}
Expand description

Plan-level hooks invoked by ImmixSpace during mutator allocation. Default impls are no-ops; LXR provides the concrete implementation.

Provided Methods§

Source

fn on_clean_block_acquired(&self, _block: Block, _copy: bool)

Called after a fresh clean block is acquired. copy distinguishes mutator vs. GC-copy allocation. The hook owns any plan-specific per-block bookkeeping (e.g. nursery list, mark-table init).

Source

fn on_reusable_block_acquired(&self, _block: Block, _copy: bool)

Called after a reusable block is handed out to a mutator.

Source

fn cm_in_progress_or_final_mark(&self) -> bool

Whether tracing is in progress; consulted on the mutator reused-line fast path so newly handed-out lines can be marked.

Implementors§