pub enum ExitReason {
Halt,
Trap,
Panic,
OutOfGas,
PageFault(u32),
HostCall(u32),
Ecall,
}Expand description
Terminal status from a single execute() call.
Variants§
Halt
Normal halt (program executed a halt opcode).
Trap
Deliberate trap (opcode 0). Program-initiated termination.
Panic
Runtime error: invalid opcode, bad dynamic jump, etc.
OutOfGas
Gas counter reached zero mid-execution.
PageFault(u32)
Memory access at a page the address space doesn’t map. The argument is the page-aligned faulting address.
HostCall(u32)
Host-call with the given opcode (the integration layer
supplies an EcallHandler that interprets the opcode).
Ecall
PVM ecall (opcode 3, no immediate). The recompiler-side
counterpart to the interpreter’s EcallKind::Ecall routing.
In the kernel, the integration layer reads φ[11] (mgmt op)
and φ[12] (subject|object) to dispatch; the bench harness
loops on this to skip the prologue’s MGMT_MAP calls.
Trait Implementations§
Source§impl Clone for ExitReason
impl Clone for ExitReason
Source§fn clone(&self) -> ExitReason
fn clone(&self) -> ExitReason
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExitReason
impl Debug for ExitReason
Source§impl PartialEq for ExitReason
impl PartialEq for ExitReason
impl Eq for ExitReason
impl StructuralPartialEq for ExitReason
Auto Trait Implementations§
impl Freeze for ExitReason
impl RefUnwindSafe for ExitReason
impl Send for ExitReason
impl Sync for ExitReason
impl Unpin for ExitReason
impl UnsafeUnpin for ExitReason
impl UnwindSafe for ExitReason
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