pub struct WebizenVM {
pub registers: [Option<u64>; 16],
pub bytecode_buffer: [Option<WebizenOpcode>; 64],
pub scrubbing_lock: Option<Arc<AtomicBool>>,
pub yielded_op: Option<WebizenOpcode>,
}Expand description
The Zero-Allocation Virtual Machine for N3Logic and Constraints.
Fields§
§registers: [Option<u64>; 16]The local L1-cached execution stack for bound variables
bytecode_buffer: [Option<WebizenOpcode>; 64]The maximum number of instructions allowed in a single rule block
scrubbing_lock: Option<Arc<AtomicBool>>Shared reference to the orchestrator’s cryptographic memory flush lock
yielded_op: Option<WebizenOpcode>State tracking for suspended opcodes that yielded due to a hardware lock
Implementations§
Source§impl WebizenVM
impl WebizenVM
pub fn new() -> Self
pub fn with_scrubbing_lock(lock: Arc<AtomicBool>) -> Self
pub fn load_bytecode(&mut self, instructions: &[WebizenOpcode])
Sourcepub fn flatten_to_suspended(
&self,
agreement_id: u64,
threshold: u8,
current_quin: NQuin,
) -> SuspendedTransaction
pub fn flatten_to_suspended( &self, agreement_id: u64, threshold: u8, current_quin: NQuin, ) -> SuspendedTransaction
Serializes the current VM execution frame into a strictly-sized zero-allocation buffer for offline suspension in the CRDT queue while awaiting M:N Guardianship signatures.
Sourcepub fn execute_constraint(&mut self, quin: &NQuin) -> bool
pub fn execute_constraint(&mut self, quin: &NQuin) -> bool
Evaluates a loaded constraint block against a target Quin.
Sourcepub fn execute_implication(&mut self, quin: &NQuin) -> Option<NQuin>
pub fn execute_implication(&mut self, quin: &NQuin) -> Option<NQuin>
Evaluates an N3 Implication => constraint against a target Quin.
Returns Some(NQuin) if the antecedent passes and yields a consequence.
Sourcepub fn prune_defeasible_claims(qualia_graph: &mut [NQuin]) -> usize
pub fn prune_defeasible_claims(qualia_graph: &mut [NQuin]) -> usize
Prunes neural hallucinations: If a Defeasible claim is contradicted by a hard physical fact, it is removed.
Auto Trait Implementations§
impl Freeze for WebizenVM
impl RefUnwindSafe for WebizenVM
impl Send for WebizenVM
impl Sync for WebizenVM
impl Unpin for WebizenVM
impl UnsafeUnpin for WebizenVM
impl UnwindSafe for WebizenVM
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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