pub(crate) struct OVCRegion(Address);Expand description
A OVCRegion is the granularity at which super::OVCSpace
compacts the heap. Objects are allocated inside one region, and are only ever
moved within that region.
Tuple Fields§
§0: AddressTrait Implementations§
Source§impl PartialOrd for OVCRegion
impl PartialOrd for OVCRegion
Source§impl Region for OVCRegion
impl Region for OVCRegion
Source§fn from_aligned_address(address: Address) -> Self
fn from_aligned_address(address: Address) -> Self
Create a region from an address that is aligned to the region boundary. The method should panic if the address
is not properly aligned to the region. For performance, this method should always be inlined.
Source§fn start(&self) -> Address
fn start(&self) -> Address
Return the start address of the region. For performance, this method should always be inlined.
Source§fn from_unaligned_address(address: Address) -> Self
fn from_unaligned_address(address: Address) -> Self
Create a region from an arbitrary address.
Source§fn is_aligned(address: Address) -> bool
fn is_aligned(address: Address) -> bool
Check if an address is aligned to the region.
Source§fn end(&self) -> Address
fn end(&self) -> Address
Return the end address of the region. Note that the end address is not in the region.
Source§fn containing(object: ObjectReference) -> Self
fn containing(object: ObjectReference) -> Self
Return the region that contains the object.
Source§fn includes_address(&self, addr: Address) -> bool
fn includes_address(&self, addr: Address) -> bool
Check if the given address is in the region.
impl Copy for OVCRegion
impl StructuralPartialEq for OVCRegion
Auto Trait Implementations§
impl Freeze for OVCRegion
impl RefUnwindSafe for OVCRegion
impl Send for OVCRegion
impl Sync for OVCRegion
impl Unpin for OVCRegion
impl UnwindSafe for OVCRegion
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 more