pub struct RawRun {
pub exit_reason: u32,
pub exit_arg: u32,
pub return_value: u64,
pub gas_used: u64,
pub scratchpad_head: [u8; 128],
}Expand description
Raw invocation outcome for differential testing — the four
InvocationResult fields with no clean-halt assertion.
run_interpreter/run_recompiler assert a clean HostCall(0) halt
(via finish) and panic otherwise — correct for benches, wrong for a
differential harness that must observe a divergent exit. These raw
variants surface whatever happened, with exit_reason = ABORT_SENTINEL
for the recompiler’s guest-abort path.
gas_used is INITIAL_GAS - gas_remaining; on an abort it is 0 (no
InvocationResult was produced).
scratchpad_head is the running Instance’s scratchpad (slot[0]) region head
— the lossless, model-conformant result readback that supersedes the former
x10 fold. The fuzz differential compares it across engines and against the
oracle gold (see javm_fuzz::replay).
Fields§
§exit_reason: u32§exit_arg: u32§return_value: u64§gas_used: u64§scratchpad_head: [u8; 128]Trait Implementations§
impl Copy for RawRun
impl Eq for RawRun
impl StructuralPartialEq for RawRun
Auto Trait Implementations§
impl Freeze for RawRun
impl RefUnwindSafe for RawRun
impl Send for RawRun
impl Sync for RawRun
impl Unpin for RawRun
impl UnsafeUnpin for RawRun
impl UnwindSafe for RawRun
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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