wasmer_types/stack/
trap.rs

1//! Types for traps.
2use crate::CodeOffset;
3use crate::TrapCode;
4use rkyv::{Archive, Deserialize as RkyvDeserialize, Serialize as RkyvSerialize};
5#[cfg(feature = "enable-serde")]
6use serde::{Deserialize, Serialize};
7
8/// Information about trap.
9#[cfg_attr(feature = "enable-serde", derive(Deserialize, Serialize))]
10#[cfg_attr(feature = "artifact-size", derive(loupe::MemoryUsage))]
11#[derive(
12    RkyvSerialize, RkyvDeserialize, Archive, rkyv::CheckBytes, Clone, Copy, Debug, PartialEq, Eq,
13)]
14#[archive(as = "Self")]
15pub struct TrapInformation {
16    /// The offset of the trapping instruction in native code. It is relative to the beginning of the function.
17    pub code_offset: CodeOffset,
18    /// Code of the trap.
19    pub trap_code: TrapCode,
20}