wasmer_compiler/types/
address_map.rs1#![allow(missing_docs)]
6
7use crate::lib::std::vec::Vec;
11use rkyv::{Archive, Deserialize as RkyvDeserialize, Serialize as RkyvSerialize};
12#[cfg(feature = "enable-serde")]
13use serde::{Deserialize, Serialize};
14use wasmer_types::SourceLoc;
15
16#[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))]
18#[cfg_attr(feature = "artifact-size", derive(loupe::MemoryUsage))]
19#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, Copy, PartialEq, Eq)]
20#[rkyv(derive(Debug))]
21pub struct InstructionAddressMap {
22 pub srcloc: SourceLoc,
24
25 pub code_offset: usize,
27
28 pub code_len: usize,
30}
31
32#[cfg_attr(feature = "artifact-size", derive(loupe::MemoryUsage))]
34#[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))]
35#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, PartialEq, Eq, Default)]
36#[rkyv(derive(Debug))]
37pub struct FunctionAddressMap {
38 pub instructions: Vec<InstructionAddressMap>,
41
42 pub start_srcloc: SourceLoc,
44
45 pub end_srcloc: SourceLoc,
47
48 pub body_offset: usize,
50
51 pub body_len: usize,
53}