pub struct ModuleMetadata {
    pub compile_info: CompileModuleInfo,
    pub prefix: String,
    pub data_initializers: Box<[OwnedDataInitializer]>,
    pub function_body_lengths: PrimaryMap<LocalFunctionIndex, u64>,
    pub cpu_features: u64,
}
Expand description

Serializable struct that represents the compiled metadata.

Fields

compile_info: CompileModuleInfo

Compile info

prefix: String

Prefix for function etc symbols

data_initializers: Box<[OwnedDataInitializer]>

Data initializers

function_body_lengths: PrimaryMap<LocalFunctionIndex, u64>

The function body lengths (used to find function by address)

cpu_features: u64

CPU features used (See [CpuFeature])

Implementations

Get mutable ref to compile info and a copy of the registry

Returns symbol registry.

Serialize a Module into bytes The bytes will have the following format: RKYV serialization (any length) + POS (8 bytes)

Deserialize a Module from a slice. The slice must have the following format: RKYV serialization (any length) + POS (8 bytes)

Safety

This method is unsafe since it deserializes data directly from memory. Right now we are not doing any extra work for validation, but rkyv has an option to do bytecheck on the serialized data before serializing (via rkyv::check_archived_value).

Deserialize a compilation module from an archive

Trait Implementations

The archived representation of this type. Read more
The resolver for this type. It must contain all the additional information from serializing needed to make the archived type from the normal type. Read more
Creates the archived version of this value at the given position and writes it to the given output. Read more
Formats the value using the given formatter. Read more
Deserializes using the given deserializer
Writes the dependencies for the object and returns a resolver that can create the archived type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
The archived counterpart of this type. Unlike Archive, it may be unsized. Read more
The resolver for the metadata of this type. Read more
Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
Resolves a relative pointer to this value with the given from and to and writes it to the given output. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Deserializes using the given deserializer

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type for metadata in pointers and references to Self.
Writes the object and returns the position of the archived type.
Serializes the metadata for the given type.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.