pub trait RegisterAllocatorDyn {
// Required methods
fn alloc_scratch_dyn(&mut self) -> Option<PhysRegHandle>;
fn free_scratch_dyn(&mut self, phys: PhysRegHandle);
fn get_mapping_dyn(&self, vreg: &VirtualReg) -> Option<PhysRegHandle>;
fn ensure_mapping_dyn(&mut self, vreg: VirtualReg) -> Option<PhysRegHandle>;
fn mapped_for_register_dyn(&self, reg: &Register) -> Option<PhysRegHandle>;
fn occupy_dyn(&mut self, phys: PhysRegHandle);
fn release_dyn(&mut self, phys: PhysRegHandle);
fn is_occupied_dyn(&self, phys: PhysRegHandle) -> bool;
}Expand description
Object-safe wrapper around RegisterAllocator permitting dynamic dispatch
via dyn RegisterAllocatorDyn.
Required Methods§
fn alloc_scratch_dyn(&mut self) -> Option<PhysRegHandle>
fn free_scratch_dyn(&mut self, phys: PhysRegHandle)
fn get_mapping_dyn(&self, vreg: &VirtualReg) -> Option<PhysRegHandle>
fn ensure_mapping_dyn(&mut self, vreg: VirtualReg) -> Option<PhysRegHandle>
fn mapped_for_register_dyn(&self, reg: &Register) -> Option<PhysRegHandle>
fn occupy_dyn(&mut self, phys: PhysRegHandle)
fn release_dyn(&mut self, phys: PhysRegHandle)
fn is_occupied_dyn(&self, phys: PhysRegHandle) -> bool
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".