pub struct SuperblockBuilder { /* private fields */ }Expand description
Superblock builder: Groups blocks by function or loop
Default configuration: 64 blocks per superblock (empirically optimal for amortizing work-stealing overhead).
Implementations§
Source§impl SuperblockBuilder
impl SuperblockBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new builder with default settings
Default: 64 blocks per superblock
Sourcepub fn with_target_size(self, size: usize) -> Self
pub fn with_target_size(self, size: usize) -> Self
Set the target number of blocks per superblock
Sourcepub fn with_max_size(self, size: usize) -> Self
pub fn with_max_size(self, size: usize) -> Self
Set the maximum number of blocks per superblock
Sourcepub fn build_from_blocks(
&self,
blocks: &[BlockId],
function: FunctionId,
) -> Vec<Superblock>
pub fn build_from_blocks( &self, blocks: &[BlockId], function: FunctionId, ) -> Vec<Superblock>
Build superblocks from a list of blocks
Groups blocks into superblocks of target_size (capped at max_size).
Sourcepub fn build_from_function_blocks(
&self,
function_blocks: &[(FunctionId, Vec<BlockId>)],
) -> Vec<Superblock>
pub fn build_from_function_blocks( &self, function_blocks: &[(FunctionId, Vec<BlockId>)], ) -> Vec<Superblock>
Build superblocks from blocks grouped by function
Each function’s blocks are grouped separately, respecting function boundaries.
Trait Implementations§
Source§impl Clone for SuperblockBuilder
impl Clone for SuperblockBuilder
Source§fn clone(&self) -> SuperblockBuilder
fn clone(&self) -> SuperblockBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SuperblockBuilder
impl Debug for SuperblockBuilder
Auto Trait Implementations§
impl Freeze for SuperblockBuilder
impl RefUnwindSafe for SuperblockBuilder
impl Send for SuperblockBuilder
impl Sync for SuperblockBuilder
impl Unpin for SuperblockBuilder
impl UnsafeUnpin for SuperblockBuilder
impl UnwindSafe for SuperblockBuilder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().