pub struct CreateSpecificPlanArgs<'a, VM: VMBinding> {
pub global_args: CreateGeneralPlanArgs<'a, VM>,
pub constraints: &'static PlanConstraints,
pub global_side_metadata_specs: Vec<SideMetadataSpec>,
}Expand description
Args needed for creating a specific plan. This includes plan-specific args, such as plan constrainst
and their global side metadata specs. This is created in each plan’s constructor, and will be passed
to CommonPlan or BasePlan. Also you can create PlanCreateSpaceArg from this type, and use that
to create spaces.
Fields§
§global_args: CreateGeneralPlanArgs<'a, VM>§constraints: &'static PlanConstraints§global_side_metadata_specs: Vec<SideMetadataSpec>Implementations§
source§impl<VM: VMBinding> CreateSpecificPlanArgs<'_, VM>
impl<VM: VMBinding> CreateSpecificPlanArgs<'_, VM>
sourcepub fn _get_space_args(
&mut self,
name: &'static str,
zeroed: bool,
permission_exec: bool,
unlog_allocated_object: bool,
unlog_traced_object: bool,
vmrequest: VMRequest,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn _get_space_args( &mut self, name: &'static str, zeroed: bool, permission_exec: bool, unlog_allocated_object: bool, unlog_traced_object: bool, vmrequest: VMRequest, ) -> PlanCreateSpaceArgs<'_, VM>
Get a PlanCreateSpaceArgs that can be used to create a space
sourcepub fn get_nursery_space_args(
&mut self,
name: &'static str,
zeroed: bool,
permission_exec: bool,
vmrequest: VMRequest,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn get_nursery_space_args( &mut self, name: &'static str, zeroed: bool, permission_exec: bool, vmrequest: VMRequest, ) -> PlanCreateSpaceArgs<'_, VM>
Get a preset for a nursery space (where young objects are located).
sourcepub fn get_mature_space_args(
&mut self,
name: &'static str,
zeroed: bool,
permission_exec: bool,
vmrequest: VMRequest,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn get_mature_space_args( &mut self, name: &'static str, zeroed: bool, permission_exec: bool, vmrequest: VMRequest, ) -> PlanCreateSpaceArgs<'_, VM>
Get a preset for a mature space (where mature objects are located).
pub fn get_mixed_age_space_args( &mut self, name: &'static str, zeroed: bool, permission_exec: bool, vmrequest: VMRequest, ) -> PlanCreateSpaceArgs<'_, VM>
sourcepub fn get_normal_space_args(
&mut self,
name: &'static str,
zeroed: bool,
permission_exec: bool,
vmrequest: VMRequest,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn get_normal_space_args( &mut self, name: &'static str, zeroed: bool, permission_exec: bool, vmrequest: VMRequest, ) -> PlanCreateSpaceArgs<'_, VM>
Get a preset for spaces in a non-generational plan.
sourcepub fn get_common_space_args(
&mut self,
generational: bool,
name: &'static str,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn get_common_space_args( &mut self, generational: bool, name: &'static str, ) -> PlanCreateSpaceArgs<'_, VM>
Get a preset for spaces in crate::plan::global::CommonPlan.
Spaces like LOS which may include both young and mature objects should not use this method.
sourcepub fn get_base_space_args(
&mut self,
generational: bool,
name: &'static str,
permission_exec: bool,
) -> PlanCreateSpaceArgs<'_, VM>
pub fn get_base_space_args( &mut self, generational: bool, name: &'static str, permission_exec: bool, ) -> PlanCreateSpaceArgs<'_, VM>
Get a preset for spaces in crate::plan::global::BasePlan.
Auto Trait Implementations§
impl<'a, VM> Freeze for CreateSpecificPlanArgs<'a, VM>
impl<'a, VM> !RefUnwindSafe for CreateSpecificPlanArgs<'a, VM>
impl<'a, VM> Send for CreateSpecificPlanArgs<'a, VM>
impl<'a, VM> Sync for CreateSpecificPlanArgs<'a, VM>
impl<'a, VM> Unpin for CreateSpecificPlanArgs<'a, VM>
impl<'a, VM> !UnwindSafe for CreateSpecificPlanArgs<'a, VM>
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
§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>
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>
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)
&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)
&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>
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>
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