Milky2018/vcode/native_types does not have a README file

AccessWidth

pub(all) enum AccessWidth {
W8
W16
W32
W64
W128
} derive(Eq, Hash,
Debug
)

AccessWidth::equal

fn AccessWidth::equal(AccessWidth, AccessWidth) -> Bool

AccessWidth::hash

fn AccessWidth::hash(self : AccessWidth) -> Int

AccessWidth::hash_combine

fn AccessWidth::hash_combine(AccessWidth, Hasher) -> Unit

AccessWidth::not_equal

fn AccessWidth::not_equal(x : AccessWidth, y : AccessWidth) -> Bool

CallBehavior

pub(all) struct CallBehavior {
memory : MemoryEffect
may_trap : Bool
may_unwind : Bool
gc_safepoint : Bool
cancellation_safepoint : Bool
returns_twice : Bool
} derive(Eq, Hash,
Debug
)

Explicit call behavior. Protocol and callee identity never imply effects.

CallBehavior::conservative

fn CallBehavior::conservative() -> CallBehavior

CallBehavior::equal

CallBehavior::hash

fn CallBehavior::hash(self : CallBehavior) -> Int

CallBehavior::hash_combine

fn CallBehavior::hash_combine(CallBehavior, Hasher) -> Unit

CallBehavior::new

fn CallBehavior::new(memory : MemoryEffect, may_trap : Bool, may_unwind : Bool, gc_safepoint : Bool, cancellation_safepoint : Bool, returns_twice? : Bool) -> CallBehavior

CallBehavior::not_equal

fn CallBehavior::not_equal(x : CallBehavior, y : CallBehavior) -> Bool

CallBehavior::semantics

CallProtocol

pub(all) enum CallProtocol {
Internal
Platform
} derive(Eq, Hash,
Debug
)

CallProtocol::equal

CallProtocol::hash

fn CallProtocol::hash(self : CallProtocol) -> Int

CallProtocol::hash_combine

fn CallProtocol::hash_combine(CallProtocol, Hasher) -> Unit

CallProtocol::not_equal

fn CallProtocol::not_equal(x : CallProtocol, y : CallProtocol) -> Bool

Callee

pub(all) enum Callee {
Internal(CodeSymbol)
External(ExternalSymbol)
Indirect
} derive(Eq, Hash,
Debug
)

Native call target selected during streaming lowering.

Callee::equal

fn Callee::equal(Callee, Callee) -> Bool

Callee::hash

fn Callee::hash(self : Callee) -> Int

Callee::hash_combine

fn Callee::hash_combine(Callee, Hasher) -> Unit

Callee::not_equal

fn Callee::not_equal(x : Callee, y : Callee) -> Bool

Callee::to_repr

CodeSymbol

pub(all) struct CodeSymbol {
name : String
} derive(Eq, Hash,
Debug
)

CodeSymbol::equal

fn CodeSymbol::equal(CodeSymbol, CodeSymbol) -> Bool

CodeSymbol::hash

fn CodeSymbol::hash(self : CodeSymbol) -> Int

CodeSymbol::hash_combine

fn CodeSymbol::hash_combine(CodeSymbol, Hasher) -> Unit

CodeSymbol::new

fn CodeSymbol::new(name : String) -> CodeSymbol

CodeSymbol::not_equal

fn CodeSymbol::not_equal(x : CodeSymbol, y : CodeSymbol) -> Bool

ConversionMode

pub(all) enum ConversionMode {
Trapping
Saturating
} derive(Eq, Hash,
Debug
)

ConversionMode::equal

ConversionMode::hash

fn ConversionMode::hash(self : ConversionMode) -> Int

ConversionMode::hash_combine

fn ConversionMode::hash_combine(ConversionMode, Hasher) -> Unit

ConversionMode::not_equal

fn ConversionMode::not_equal(x : ConversionMode, y : ConversionMode) -> Bool

DataSymbol

pub(all) struct DataSymbol {
name : String
} derive(Eq, Hash,
Debug
)

DataSymbol::equal

fn DataSymbol::equal(DataSymbol, DataSymbol) -> Bool

DataSymbol::hash

fn DataSymbol::hash(self : DataSymbol) -> Int

DataSymbol::hash_combine

fn DataSymbol::hash_combine(DataSymbol, Hasher) -> Unit

DataSymbol::new

fn DataSymbol::new(name : String) -> DataSymbol

DataSymbol::not_equal

fn DataSymbol::not_equal(x : DataSymbol, y : DataSymbol) -> Bool

Endianness

pub(all) enum Endianness {
Little
Big
} derive(Eq, Hash,
Debug
)

Endianness::equal

fn Endianness::equal(Endianness, Endianness) -> Bool

Endianness::hash

fn Endianness::hash(self : Endianness) -> Int

Endianness::hash_combine

fn Endianness::hash_combine(Endianness, Hasher) -> Unit

Endianness::not_equal

fn Endianness::not_equal(x : Endianness, y : Endianness) -> Bool

EnvironmentField

pub(all) struct EnvironmentField {
name : String
value_type : ValueType
} derive(Eq, Hash,
Debug
)

Opaque embedding-context field identity with its semantic value type.

The identity carries no byte offset or target addressing mode. The embedding target environment resolves it during target lowering.

EnvironmentField::equal

EnvironmentField::hash

fn EnvironmentField::hash(self : EnvironmentField) -> Int

EnvironmentField::hash_combine

fn EnvironmentField::hash_combine(EnvironmentField, Hasher) -> Unit

EnvironmentField::new

fn EnvironmentField::new(name : String, value_type : ValueType) -> EnvironmentField

EnvironmentField::not_equal

fn EnvironmentField::not_equal(x : EnvironmentField, y : EnvironmentField) -> Bool

EnvironmentFieldStability

pub(all) enum EnvironmentFieldStability {
Stable
Mutable
} derive(Eq, Hash,
Debug
)

Whether an embedding context field may be reused during one function invocation.

Stable grants reuse permission for the invocation. Mutable requires each operation to observe the current field value. Target lowering may rematerialize either form.

EnvironmentFieldStability::equal

EnvironmentFieldStability::hash

EnvironmentFieldStability::hash_combine

EnvironmentFieldStability::not_equal

ExternalSymbol

pub(all) struct ExternalSymbol {
name : String
} derive(Eq, Hash,
Debug
)

ExternalSymbol::equal

ExternalSymbol::hash

fn ExternalSymbol::hash(self : ExternalSymbol) -> Int

ExternalSymbol::hash_combine

fn ExternalSymbol::hash_combine(ExternalSymbol, Hasher) -> Unit

ExternalSymbol::new

fn ExternalSymbol::new(name : String) -> ExternalSymbol

ExternalSymbol::not_equal

fn ExternalSymbol::not_equal(x : ExternalSymbol, y : ExternalSymbol) -> Bool

FloatType

pub(all) enum FloatType {
F32
F64
} derive(Eq, Hash,
Debug
)

FloatType::equal

fn FloatType::equal(FloatType, FloatType) -> Bool

FloatType::hash

fn FloatType::hash(self : FloatType) -> Int

FloatType::hash_combine

fn FloatType::hash_combine(FloatType, Hasher) -> Unit

FloatType::not_equal

fn FloatType::not_equal(x : FloatType, y : FloatType) -> Bool

IntegerType

pub(all) enum IntegerType {
I32
I64
} derive(Eq, Hash,
Debug
)

IntegerType::equal

fn IntegerType::equal(IntegerType, IntegerType) -> Bool

IntegerType::hash

fn IntegerType::hash(self : IntegerType) -> Int

IntegerType::hash_combine

fn IntegerType::hash_combine(IntegerType, Hasher) -> Unit

IntegerType::not_equal

fn IntegerType::not_equal(x : IntegerType, y : IntegerType) -> Bool

LoadExtension

pub(all) enum LoadExtension {
None
Signed
Unsigned
} derive(Eq, Hash,
Debug
)

LoadExtension::equal

LoadExtension::hash

fn LoadExtension::hash(self : LoadExtension) -> Int

LoadExtension::hash_combine

fn LoadExtension::hash_combine(LoadExtension, Hasher) -> Unit

LoadExtension::not_equal

fn LoadExtension::not_equal(x : LoadExtension, y : LoadExtension) -> Bool

MemoryEffect

pub(all) enum MemoryEffect {
None
Read
Write
ReadWrite
} derive(Eq, Hash,
Debug
)

MemoryEffect::equal

MemoryEffect::hash

fn MemoryEffect::hash(self : MemoryEffect) -> Int

MemoryEffect::hash_combine

fn MemoryEffect::hash_combine(MemoryEffect, Hasher) -> Unit

MemoryEffect::not_equal

fn MemoryEffect::not_equal(x : MemoryEffect, y : MemoryEffect) -> Bool

NativeCall

pub(all) struct NativeCall {
callee : Callee
signature : Signature
protocol : CallProtocol
behavior : CallBehavior
} derive(Eq, Hash,
Debug
)

Target-independent native call contract. This is ABI metadata, not an instruction or an intermediate representation node.

NativeCall::copy

fn NativeCall::copy(self : NativeCall) -> NativeCall

NativeCall::equal

fn NativeCall::equal(NativeCall, NativeCall) -> Bool

NativeCall::hash

fn NativeCall::hash(self : NativeCall) -> Int

NativeCall::hash_combine

fn NativeCall::hash_combine(NativeCall, Hasher) -> Unit

NativeCall::new

fn NativeCall::new(callee : Callee, signature : Signature, protocol : CallProtocol, behavior : CallBehavior) -> NativeCall

NativeCall::not_equal

fn NativeCall::not_equal(x : NativeCall, y : NativeCall) -> Bool

OperationSemantics

pub(all) struct OperationSemantics {
memory : MemoryEffect
may_trap : Bool
may_unwind : Bool
gc_safepoint : Bool
cancellation_safepoint : Bool
returns_twice : Bool
} derive(Eq, Hash,
Debug
)

Canonical observable behavior of one semantic operation.

OperationSemantics::equal

OperationSemantics::hash

fn OperationSemantics::hash(self : OperationSemantics) -> Int

OperationSemantics::hash_combine

fn OperationSemantics::hash_combine(OperationSemantics, Hasher) -> Unit

OperationSemantics::must_preserve_if_unused

fn OperationSemantics::must_preserve_if_unused(self : OperationSemantics) -> Bool

OperationSemantics::not_equal

OperationSemantics::pure

SafepointKind

pub(all) enum SafepointKind {
Gc
Cancellation
GcAndCancellation
} derive(Eq, Hash,
Debug
)

SafepointKind::equal

SafepointKind::hash

fn SafepointKind::hash(self : SafepointKind) -> Int

SafepointKind::hash_combine

fn SafepointKind::hash_combine(SafepointKind, Hasher) -> Unit

SafepointKind::not_equal

fn SafepointKind::not_equal(x : SafepointKind, y : SafepointKind) -> Bool

Signature

pub(all) struct Signature {
params : Array[ValueType]
results : Array[ValueType]
} derive(Eq, Hash,
Debug
)

Ordered logical parameters and results. ABI placement is intentionally absent.

Signature::equal

fn Signature::equal(Signature, Signature) -> Bool

Signature::hash

fn Signature::hash(self : Signature) -> Int

Signature::hash_combine

fn Signature::hash_combine(Signature, Hasher) -> Unit

Signature::new

fn Signature::new(params : Array[ValueType], results : Array[ValueType]) -> Signature

Signature::not_equal

fn Signature::not_equal(x : Signature, y : Signature) -> Bool

Signedness

pub(all) enum Signedness {
Signed
Unsigned
} derive(Eq, Hash,
Debug
)

Signedness::equal

fn Signedness::equal(Signedness, Signedness) -> Bool

Signedness::hash

fn Signedness::hash(self : Signedness) -> Int

Signedness::hash_combine

fn Signedness::hash_combine(Signedness, Hasher) -> Unit

Signedness::not_equal

fn Signedness::not_equal(x : Signedness, y : Signedness) -> Bool

SourceLocation

pub(all) struct SourceLocation {
file : String
line : Int
column : Int
} derive(Eq, Hash,
Debug
)

SourceLocation::equal

SourceLocation::hash

fn SourceLocation::hash(self : SourceLocation) -> Int

SourceLocation::hash_combine

fn SourceLocation::hash_combine(SourceLocation, Hasher) -> Unit

SourceLocation::is_valid

fn SourceLocation::is_valid(self : SourceLocation) -> Bool

SourceLocation::new

fn SourceLocation::new(file : String, line : Int, column : Int) -> SourceLocation

SourceLocation::not_equal

fn SourceLocation::not_equal(x : SourceLocation, y : SourceLocation) -> Bool

StackMapMetadata

pub(all) struct StackMapMetadata {
id : Int
argument_root_count : Int
} derive(Eq,
Debug
)

Embedding-visible stack-map identity and argument-root contract.

StackMapMetadata::equal

StackMapMetadata::new

fn StackMapMetadata::new(id : Int, argument_root_count~ : Int) -> StackMapMetadata

StackMapMetadata::not_equal

fn StackMapMetadata::not_equal(x : StackMapMetadata, y : StackMapMetadata) -> Bool

StackObject

pub(all) struct StackObject {
id : Int
} derive(Eq, Hash,
Debug
)

Function-local stack-object request used during native lowering. The id is interpreted only by the current target-lowering session.

StackObject::equal

fn StackObject::equal(StackObject, StackObject) -> Bool

StackObject::hash

fn StackObject::hash(self : StackObject) -> Int

StackObject::hash_combine

fn StackObject::hash_combine(StackObject, Hasher) -> Unit

StackObject::not_equal

fn StackObject::not_equal(x : StackObject, y : StackObject) -> Bool

TrapReason

pub(all) enum TrapReason {
Unreachable
IntegerDivisionByZero
IntegerOverflow
InvalidConversionToInteger
MemoryOutOfBounds
TableOutOfBounds
IndirectCallTypeMismatch
NullReference
UnalignedAtomic
UnsupportedOperation
StackOverflow
User(Int)
} derive(Eq, Hash,
Debug
)

TrapReason::equal

fn TrapReason::equal(TrapReason, TrapReason) -> Bool

TrapReason::hash

fn TrapReason::hash(self : TrapReason) -> Int

TrapReason::hash_combine

fn TrapReason::hash_combine(TrapReason, Hasher) -> Unit

TrapReason::not_equal

fn TrapReason::not_equal(x : TrapReason, y : TrapReason) -> Bool

ValueType

pub(all) enum ValueType {
I32
I64
F32
F64
V128
Ptr64
GcRef64
} derive(Eq, Hash,
Debug
)

Exact target-neutral value types shared by native lowering and target VCode.

Ptr64 is an untraced address or opaque handle. GcRef64 is a nullable managed reference and must be reported as a root at GC safepoints.
impl Show for ValueType

ValueType::equal

fn ValueType::equal(ValueType, ValueType) -> Bool

ValueType::hash

fn ValueType::hash(self : ValueType) -> Int

ValueType::hash_combine

fn ValueType::hash_combine(ValueType, Hasher) -> Unit

ValueType::not_equal

fn ValueType::not_equal(x : ValueType, y : ValueType) -> Bool

ValueType::output

fn ValueType::output(self : ValueType, logger : &Logger) -> Unit

ValueType::to_string

fn ValueType::to_string(self : ValueType) -> String