Struct wasmtime_jit::CompiledModule [−][src]
pub struct CompiledModule { /* fields omitted */ }
Expand description
A compiled wasm module, ready to be instantiated.
Implementations
pub fn from_artifacts(
mmap: MmapVec,
info: Option<CompiledModuleInfo>,
profiler: &dyn ProfilingAgent
) -> Result<Arc<Self>>
pub fn from_artifacts(
mmap: MmapVec,
info: Option<CompiledModuleInfo>,
profiler: &dyn ProfilingAgent
) -> Result<Arc<Self>>
Creates CompiledModule
directly from a precompiled artifact.
The mmap
argument is expecte to be the result of a previous call to
finish_compile
above. This is an ELF image, at this time, which
contains all necessary information to create a CompiledModule
from a
compilation.
This method also takes info
, an optionally-provided deserialization of
the artifacts’ compilation metadata section. If this information is not
provided (e.g. it’s set to None
) then the information will be
deserialized from the image of the compilation artifacts. Otherwise it
will be assumed to be what would otherwise happen if the section were to
be deserialized.
The profiler
argument here is used to inform JIT profiling runtimes
about new code that is loaded.
Returns the underlying memory which contains the compiled module’s image.
Returns the concatenated list of all data associated with this wasm module.
This is used for initialization of memories and all data ranges stored
in a Module
are relative to the slice returned here.
Returns the encoded address map section used to pass to
wasmtime_environ::lookup_file_pos
.
Returns the encoded trap information for this compiled image.
For more information see wasmtime_environ::trap_encoding
.
Returns the text section of the ELF image for this compiled module.
This memory should have the read/execute permissions.
Returns the FunctionInfo
map for all defined functions.
Return a reference to a mutable module (if possible).
pub fn finished_functions(
&self
) -> impl ExactSizeIterator<Item = (DefinedFuncIndex, *mut [VMFunctionBody])> + '_
pub fn finished_functions(
&self
) -> impl ExactSizeIterator<Item = (DefinedFuncIndex, *mut [VMFunctionBody])> + '_
Returns the map of all finished JIT functions compiled for this module
Returns the per-signature trampolines for this module.
pub fn stack_maps(
&self
) -> impl Iterator<Item = (*mut [VMFunctionBody], &[StackMapInformation])>
pub fn stack_maps(
&self
) -> impl Iterator<Item = (*mut [VMFunctionBody], &[StackMapInformation])>
Returns the stack map information for all functions defined in this module.
The iterator returned iterates over the span of the compiled function in memory with the stack maps associated with those bytes.
Lookups a defined function by a program counter value.
Returns the defined function index and the relative address of
text_offset
within the function itself.
Gets the function information for a given function index.
Creates a new symbolication context which can be used to further symbolicate stack traces.
Basically this makes a thing which parses debuginfo and can tell you what filename and line number a wasm pc comes from.
Returns whether the original wasm module had unparsed debug information based on the tunables configuration.