pub struct AllocInvariantChecker;Expand description
Allocator invariant checker
Implementations§
Source§impl AllocInvariantChecker
impl AllocInvariantChecker
Sourcepub fn verify_no_double_alloc(
model: &AllocatorModel,
) -> Result<(), AllocModelError>
pub fn verify_no_double_alloc( model: &AllocatorModel, ) -> Result<(), AllocModelError>
Verify no double allocation: allocated set has no duplicates (BTreeSet guarantees this structurally, but we verify operationally)
Sourcepub fn verify_no_use_after_free(
model: &AllocatorModel,
frame: u64,
) -> Result<(), AllocModelError>
pub fn verify_no_use_after_free( model: &AllocatorModel, frame: u64, ) -> Result<(), AllocModelError>
Verify no use-after-free: freed frame is not in allocated set
Sourcepub fn verify_buddy_consistency(
block: &BuddyBlock,
) -> Result<(), AllocModelError>
pub fn verify_buddy_consistency( block: &BuddyBlock, ) -> Result<(), AllocModelError>
Verify buddy consistency: buddy pairs are properly tracked
Sourcepub fn verify_frame_conservation(
model: &AllocatorModel,
) -> Result<(), AllocModelError>
pub fn verify_frame_conservation( model: &AllocatorModel, ) -> Result<(), AllocModelError>
Verify frame conservation: allocated + free = total
Sourcepub fn verify_zone_correctness(
frame: u64,
zone: MemoryZone,
) -> Result<(), AllocModelError>
pub fn verify_zone_correctness( frame: u64, zone: MemoryZone, ) -> Result<(), AllocModelError>
Verify zone correctness: allocations come from the correct zone