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§
Sourcefn on_clean_block_acquired(&self, _block: Block, _copy: bool)
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).
Sourcefn on_reusable_block_acquired(&self, _block: Block, _copy: bool)
fn on_reusable_block_acquired(&self, _block: Block, _copy: bool)
Called after a reusable block is handed out to a mutator.
Sourcefn cm_in_progress_or_final_mark(&self) -> bool
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.