pub suberror ArtifactDecodeError {
ArtifactTooLarge(size~ : Int, limit~ : Int)
BadMagic
UnsupportedVersion(version~ : Int)
Truncated(field~ : String, offset~ : Int, needed~ : Int, remaining~ : Int)
InvalidTag(field~ : String, tag~ : Int)
InvalidValue(field~ : String, message~ : String)
InvalidUtf8(field~ : String)
LimitExceeded(field~ : String, count~ : Int, limit~ : Int)
TrailingBytes(count~ : Int)
} derive(Eq, Debug)pub(all) struct Artifact {
manifest : CompatibilityManifest
imports : Array[ImportIdentity]
functions : Array[FunctionCode]
} derive(Eq, Debug)pub(all) struct CompatibilityManifest {
format_version : Int
target : TargetSpec
required_cpu_features : Array[CpuFeature]
jit_abi_version : Int
codegen_revision : String
module_identity : ModuleIdentity
policy : CompilationPolicy
} derive(Eq, Debug)pub(all) struct CompilationPolicy {
optimization_level : OptimizationLevel
code_model : CodeModel
call_binding : CallBinding
cancellation_safepoints : Bool
debug_info : Bool
} derive(Eq, Debug)pub(all) struct DecodeLimits {
max_artifact_bytes : Int
max_imports : Int
max_functions : Int
max_cpu_features : Int
max_string_bytes : Int
max_signature_values : Int
max_code_bytes_per_function : Int
max_total_code_bytes : Int
max_relocations_per_function : Int
max_sources_per_function : Int
max_traps_per_function : Int
max_safepoints_per_function : Int
max_unwind_directives_per_function : Int
max_roots_per_safepoint : Int
} derive(Eq, Debug)pub(all) struct FunctionCode {
identity : FunctionIdentity
entry_offset : Int
frame_size : Int
code : Array[Byte]
relocations : Array[Relocation]
sources : Array[SourceSite]
traps : Array[TrapSite]
safepoints : Array[SafepointSite]
unwind : Array[UnwindDirective]
} derive(Eq, Debug)pub(all) struct FunctionIdentity {
function_index : Int
symbol : CodeSymbol
signature : Signature
} derive(Eq, Debug)pub(all) struct ImportIdentity {
function_index : Int
module_name : String
function_name : String
symbol : ExternalSymbol
signature : Signature
} derive(Eq, Debug)pub(all) struct TargetSpec {
architecture : Architecture
operating_system_abi : OperatingSystemAbi
endianness : Endianness
pointer_width : PointerWidth
} derive(Eq, Debug)let FORMAT_VERSION : IntWasmoon-specific JIT integration and native runtime glue
Dependencies