Coverage Report

Created: 2024-10-16 07:58

/src/wasmer/lib/types/src/compilation/address_map.rs
Line
Count
Source (jump to first uncovered line)
1
//! Data structures to provide transformation of the source
2
// addresses of a WebAssembly module into the native code.
3
4
use crate::lib::std::vec::Vec;
5
use crate::SourceLoc;
6
use rkyv::{Archive, Deserialize as RkyvDeserialize, Serialize as RkyvSerialize};
7
#[cfg(feature = "enable-serde")]
8
use serde::{Deserialize, Serialize};
9
10
/// Single source location to generated address mapping.
11
#[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))]
12
#[cfg_attr(feature = "artifact-size", derive(loupe::MemoryUsage))]
13
1.47M
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, Copy, PartialEq, Eq)]
<wasmer_types::compilation::address_map::InstructionAddressMap as rkyv::Serialize<rkyv::ser::serializers::CompositeSerializer<rkyv::ser::serializers::alloc::AlignedSerializer<rkyv::util::aligned_vec::AlignedVec>, rkyv::ser::serializers::core::FallbackScratch<rkyv::ser::serializers::alloc::HeapScratch<4096>, rkyv::ser::serializers::alloc::AllocScratch>, rkyv::ser::serializers::alloc::SharedSerializeMap>>>::serialize
Line
Count
Source
13
1.47M
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, Copy, PartialEq, Eq)]
Unexecuted instantiation: <wasmer_types::compilation::address_map::InstructionAddressMap as rkyv::Serialize<rkyv::ser::serializers::CompositeSerializer<rkyv::ser::serializers::alloc::AlignedSerializer<rkyv::util::aligned_vec::AlignedVec>, rkyv::ser::serializers::core::FallbackScratch<rkyv::ser::serializers::alloc::HeapScratch<4096>, rkyv::ser::serializers::alloc::AllocScratch>, rkyv::ser::serializers::alloc::SharedSerializeMap>>>::serialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::InstructionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::InstructionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::InstructionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::InstructionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
<wasmer_types::compilation::address_map::InstructionAddressMap as rkyv::Archive>::resolve
Line
Count
Source
13
1.47M
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, Copy, PartialEq, Eq)]
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#2}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#1}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#0}
Unexecuted instantiation: <wasmer_types::compilation::address_map::InstructionAddressMap as rkyv::Archive>::resolve
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#2}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#1}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedInstructionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#0}
14
#[archive_attr(derive(rkyv::CheckBytes, Debug))]
15
pub struct InstructionAddressMap {
16
    /// Original source location.
17
    pub srcloc: SourceLoc,
18
19
    /// Generated instructions offset.
20
    pub code_offset: usize,
21
22
    /// Generated instructions length.
23
    pub code_len: usize,
24
}
25
26
/// Function and its instructions addresses mappings.
27
#[cfg_attr(feature = "artifact-size", derive(loupe::MemoryUsage))]
28
#[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))]
29
263k
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, PartialEq, Eq, Default)]
<wasmer_types::compilation::address_map::FunctionAddressMap as rkyv::Serialize<rkyv::ser::serializers::CompositeSerializer<rkyv::ser::serializers::alloc::AlignedSerializer<rkyv::util::aligned_vec::AlignedVec>, rkyv::ser::serializers::core::FallbackScratch<rkyv::ser::serializers::alloc::HeapScratch<4096>, rkyv::ser::serializers::alloc::AllocScratch>, rkyv::ser::serializers::alloc::SharedSerializeMap>>>::serialize
Line
Count
Source
29
263k
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, PartialEq, Eq, Default)]
Unexecuted instantiation: <wasmer_types::compilation::address_map::FunctionAddressMap as rkyv::Serialize<rkyv::ser::serializers::CompositeSerializer<rkyv::ser::serializers::alloc::AlignedSerializer<rkyv::util::aligned_vec::AlignedVec>, rkyv::ser::serializers::core::FallbackScratch<rkyv::ser::serializers::alloc::HeapScratch<4096>, rkyv::ser::serializers::alloc::AllocScratch>, rkyv::ser::serializers::alloc::SharedSerializeMap>>>::serialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::FunctionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::FunctionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::FunctionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as rkyv::Deserialize<wasmer_types::compilation::address_map::FunctionAddressMap, rkyv::de::deserializers::alloc::SharedDeserializeMap>>::deserialize
<wasmer_types::compilation::address_map::FunctionAddressMap as rkyv::Archive>::resolve
Line
Count
Source
29
263k
#[derive(RkyvSerialize, RkyvDeserialize, Archive, Debug, Clone, PartialEq, Eq, Default)]
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#4}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#3}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#2}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#1}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#0}
Unexecuted instantiation: <wasmer_types::compilation::address_map::FunctionAddressMap as rkyv::Archive>::resolve
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#4}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#3}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#2}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#1}
Unexecuted instantiation: <wasmer_types::compilation::address_map::ArchivedFunctionAddressMap as bytecheck::CheckBytes<rkyv::validation::validators::DefaultValidator>>::check_bytes::{closure#0}
30
#[archive_attr(derive(rkyv::CheckBytes, Debug))]
31
pub struct FunctionAddressMap {
32
    /// Instructions maps.
33
    /// The array is sorted by the InstructionAddressMap::code_offset field.
34
    pub instructions: Vec<InstructionAddressMap>,
35
36
    /// Function start source location (normally declaration).
37
    pub start_srcloc: SourceLoc,
38
39
    /// Function end source location.
40
    pub end_srcloc: SourceLoc,
41
42
    /// Generated function body offset if applicable, otherwise 0.
43
    pub body_offset: usize,
44
45
    /// Generated function body length.
46
    pub body_len: usize,
47
}