pub enum BuiltinOpcode {
Nop,
StoreU32,
AtomicAdd,
LoadU32,
CompareSwap,
Memcpy,
DfaStep,
BatchFence,
Printf,
Shutdown,
}Expand description
Built-in megakernel opcodes exposed as a typed host API.
Variants§
Nop
No-op heartbeat / probe.
StoreU32
control[arg1] = arg0.
AtomicAdd
atomic_add(control[arg1], arg0).
LoadU32
control[OBSERVABLE_BASE + arg1] = control[arg0].
CompareSwap
Compare-and-swap on control[arg0].
Memcpy
Copy arg2 words from control[arg0] to control[arg1].
DfaStep
Single DFA transition step.
BatchFence
Batch fence / epoch bump.
Printf
Emit a debug log record.
Shutdown
Set SHUTDOWN=1.
Implementations§
Trait Implementations§
Source§impl Clone for BuiltinOpcode
impl Clone for BuiltinOpcode
Source§fn clone(&self) -> BuiltinOpcode
fn clone(&self) -> BuiltinOpcode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BuiltinOpcode
Source§impl Debug for BuiltinOpcode
impl Debug for BuiltinOpcode
impl Eq for BuiltinOpcode
Source§impl PartialEq for BuiltinOpcode
impl PartialEq for BuiltinOpcode
Source§fn eq(&self, other: &BuiltinOpcode) -> bool
fn eq(&self, other: &BuiltinOpcode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for BuiltinOpcode
Auto Trait Implementations§
impl Freeze for BuiltinOpcode
impl RefUnwindSafe for BuiltinOpcode
impl Send for BuiltinOpcode
impl Sync for BuiltinOpcode
impl Unpin for BuiltinOpcode
impl UnsafeUnpin for BuiltinOpcode
impl UnwindSafe for BuiltinOpcode
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.