pub struct Core<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize = { CALL_STACK_SIZE_MAX as usize }> {
pub cx: Cx,
/* private fields */
}
Expand description
Registers of a single CPU/VM core.
Fields§
§cx: Cx
Core extension module.
Implementations§
Source§impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Core<Id, Cx, CALL_STACK_SIZE>
impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Core<Id, Cx, CALL_STACK_SIZE>
Sourcepub fn new() -> Self
pub fn new() -> Self
Initializes registers. Sets CK
to true
, counters to zero, call stack to empty and the
rest of registers to None
value.
An alias for Core::with
(
CoreConfig::default()
, Cx::default())
.
Sourcepub fn with(config: CoreConfig, cx_config: Cx::Config) -> Self
pub fn with(config: CoreConfig, cx_config: Cx::Config) -> Self
Initializes registers using a configuration object CoreConfig
.
Source§impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Core<Id, Cx, CALL_STACK_SIZE>
Microcode for flag registers.
impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Core<Id, Cx, CALL_STACK_SIZE>
Microcode for flag registers.
Trait Implementations§
Source§impl<Id: Clone + SiteId, Cx: Clone + CoreExt, const CALL_STACK_SIZE: usize> Clone for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id: Clone + SiteId, Cx: Clone + CoreExt, const CALL_STACK_SIZE: usize> Clone for Core<Id, Cx, CALL_STACK_SIZE>
Source§impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Debug for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Debug for Core<Id, Cx, CALL_STACK_SIZE>
Source§impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Default for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id: SiteId, Cx: CoreExt, const CALL_STACK_SIZE: usize> Default for Core<Id, Cx, CALL_STACK_SIZE>
Auto Trait Implementations§
impl<Id, Cx, const CALL_STACK_SIZE: usize> Freeze for Core<Id, Cx, CALL_STACK_SIZE>where
Cx: Freeze,
impl<Id, Cx, const CALL_STACK_SIZE: usize> RefUnwindSafe for Core<Id, Cx, CALL_STACK_SIZE>where
Cx: RefUnwindSafe,
Id: RefUnwindSafe,
impl<Id, Cx, const CALL_STACK_SIZE: usize> Send for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id, Cx, const CALL_STACK_SIZE: usize> Sync for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id, Cx, const CALL_STACK_SIZE: usize> Unpin for Core<Id, Cx, CALL_STACK_SIZE>
impl<Id, Cx, const CALL_STACK_SIZE: usize> UnwindSafe for Core<Id, Cx, CALL_STACK_SIZE>where
Cx: UnwindSafe,
Id: UnwindSafe,
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