jtenner/starshine/representation does not have a README file
pub struct AccessSiteFacts {
site : CodeSite
facts : AccessFacts
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn AccessSiteFacts::new(site : CodeSite, facts : AccessFacts, provenance? : SourceProvenance?) -> AccessSiteFactspub struct AllocationFacts {
kind : AllocationKind
escape_sinks : EscapeSinkMask?
identity_unobserved : Bool
thread_confined : Bool
length : IntegerFacts?
fields : Array[AllocationFieldFacts]
} derive(Eq, Hash, Debug)fn AllocationFacts::new(kind : AllocationKind, escape_sinks? : EscapeSinkMask?, identity_unobserved? : Bool, thread_confined? : Bool, length? : IntegerFacts?, fields? : Array[AllocationFieldFacts]) -> AllocationFactspub struct AllocationFieldFacts {
field : UInt
no_post_init_writes : Bool
stored_value : ValueFacts?
} derive(Eq, Hash, Debug)fn AllocationFieldFacts::new(field : UInt, no_post_init_writes? : Bool, stored_value? : ValueFacts?) -> AllocationFieldFactspub struct AllocationSiteFacts {
site : ValueSite
facts : AllocationFacts
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn AllocationSiteFacts::new(site : ValueSite, facts : AllocationFacts, provenance? : SourceProvenance?) -> AllocationSiteFactspub struct ArrayElementFacts {
view : TypeView
stored_contents : ValueFacts?
writes : WriteFacts?
} derive(Eq, Hash, Debug)fn ArrayElementFacts::new(view : TypeView, stored_contents? : ValueFacts?, writes? : WriteFacts?) -> ArrayElementFactspub struct BranchFacts {
site : CodeSite
profile : BranchProfile?
temperature : TemperatureHint?
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn BranchFacts::new(site : CodeSite, profile? : BranchProfile?, temperature? : TemperatureHint?, provenance? : SourceProvenance?) -> BranchFactspub struct CallSiteFacts {
site : CodeSite
direct_target : UInt?
profile : CallProfile?
inline_policy : InlinePolicy?
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn CallSiteFacts::new(site : CodeSite, direct_target? : UInt?, profile? : CallProfile?, inline_policy? : InlinePolicy?, provenance? : SourceProvenance?) -> CallSiteFactspub struct CompilerFactCustomSection {
version : UInt
module_fingerprint : Bytes?
facts : OptimizationFactsSec
} derive(Eq, Hash, Debug)fn CompilerFactCustomSection::new(facts : OptimizationFactsSec, version? : UInt, module_fingerprint? : Bytes?) -> CompilerFactCustomSectionpub struct EffectFacts {
may : EffectMask
read_globals : ClosedGlobalSet?
written_globals : ClosedGlobalSet?
read_memories : ClosedMemorySet?
written_memories : ClosedMemorySet?
read_tables : ClosedTableSet?
written_tables : ClosedTableSet?
read_heap_types : ClosedTypeViewSet?
written_heap_types : ClosedTypeViewSet?
direct_callees : ClosedFunctionSet?
} derive(Eq, Hash, Debug)fn EffectFacts::new(may : EffectMask, read_globals? : ClosedGlobalSet?, written_globals? : ClosedGlobalSet?, read_memories? : ClosedMemorySet?, written_memories? : ClosedMemorySet?, read_tables? : ClosedTableSet?, written_tables? : ClosedTableSet?, read_heap_types? : ClosedTypeViewSet?, written_heap_types? : ClosedTypeViewSet?, direct_callees? : ClosedFunctionSet?) -> EffectFactspub struct ExpressionFact {
value : ValueSite
facts : ValueFacts
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn ExpressionFact::new(value : ValueSite, facts : ValueFacts, provenance? : SourceProvenance?) -> ExpressionFactpub enum FactValue {
IntegerValue(IntConstant)
F32Bits(UInt)
F64Bits(UInt64)
V128Value(V128Bits)
RefNullValue(FactHeapType)
RefFuncValue(UInt)
ImmutableGlobalValue(UInt)
} derive(Eq, Hash, Debug)pub struct FieldFacts {
view : TypeView
field : UInt
stored_contents : ValueFacts?
writes : WriteFacts?
usage : FieldUsageFacts?
} derive(Eq, Hash, Debug)fn FieldFacts::new(view : TypeView, field : UInt, stored_contents? : ValueFacts?, writes? : WriteFacts?, usage? : FieldUsageFacts?) -> FieldFactsfn FieldUsageFacts::new(never_read? : Bool, never_written_after_initialization? : Bool) -> FieldUsageFactspub struct FloatFacts {
width : FloatWidth
possible_classes : FloatClassMask
} derive(Eq, Hash, Debug)pub struct FunctionBodyFacts {
function : UInt
sites : Array[ExpressionFact]
relations : Array[ScopedRelationFacts]
calls : Array[CallSiteFacts]
branches : Array[BranchFacts]
loops : Array[LoopFacts]
allocations : Array[AllocationSiteFacts]
accesses : Array[AccessSiteFacts]
numeric_operations : Array[NumericOperationSiteFacts]
} derive(Eq, Hash, Debug)fn FunctionBodyFacts::new(function : UInt, sites? : Array[ExpressionFact], relations? : Array[ScopedRelationFacts], calls? : Array[CallSiteFacts], branches? : Array[BranchFacts], loops? : Array[LoopFacts], allocations? : Array[AllocationSiteFacts], accesses? : Array[AccessSiteFacts], numeric_operations? : Array[NumericOperationSiteFacts]) -> FunctionBodyFactsfn FunctionBoundaryFacts::new(all_call_sites_known : Bool, address_taken : Bool, host_callable : Bool) -> FunctionBoundaryFactspub struct FunctionFacts {
function : UInt
effects : EffectFacts?
parameters : Array[ParameterFacts]
results : Array[ResultFacts]
boundary : FunctionBoundaryFacts?
profile : FunctionProfile?
inline_policy : InlinePolicy?
} derive(Eq, Hash, Debug)fn FunctionFacts::new(function : UInt, effects? : EffectFacts?, parameters? : Array[ParameterFacts], results? : Array[ResultFacts], boundary? : FunctionBoundaryFacts?, profile? : FunctionProfile?, inline_policy? : InlinePolicy?) -> FunctionFactspub struct FunctionProfile {
entry_count : UInt64?
temperature : TemperatureHint?
} derive(Eq, Hash, Debug)pub struct GlobalFacts {
global : UInt
initial_value : ValueFacts?
steady_state_value : ValueFacts?
mutation : MutationFacts?
} derive(Eq, Hash, Debug)fn GlobalFacts::new(global : UInt, initial_value? : ValueFacts?, steady_state_value? : ValueFacts?, mutation? : MutationFacts?) -> GlobalFactspub enum HeapDomain {
ExactRuntimeType(FactHeapType)
SubtypesOf(FactHeapType)
ClosedRuntimeTypes(ClosedHeapTypeSet)
} derive(Eq, Hash, Debug)pub struct IntegerFacts {
width : IntWidth
unsigned_range : UnsignedRange?
signed_range : SignedRange?
known_bits : KnownBits?
nonzero : Bool
} derive(Eq, Hash, Debug)fn IntegerFacts::new(width : IntWidth, unsigned_range? : UnsignedRange?, signed_range? : SignedRange?, known_bits? : KnownBits?, nonzero? : Bool) -> IntegerFactspub struct LoopFacts {
site : CodeSite
profile : LoopProfile?
temperature : TemperatureHint?
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn LoopFacts::new(site : CodeSite, profile? : LoopProfile?, temperature? : TemperatureHint?, provenance? : SourceProvenance?) -> LoopFactsfn NumericOperationFacts::new(signed_no_wrap? : Bool, unsigned_no_wrap? : Bool, exact_division? : Bool) -> NumericOperationFactspub struct NumericOperationSiteFacts {
site : ValueSite
facts : NumericOperationFacts
provenance : SourceProvenance?
} derive(Eq, Hash, Debug)fn NumericOperationSiteFacts::new(site : ValueSite, facts : NumericOperationFacts, provenance? : SourceProvenance?) -> NumericOperationSiteFactspub struct OptimizationFactsBuilder {
producer : ProducerInfo?
world : WorldFacts?
functions : Array[FunctionFacts]
signatures : Array[SignatureFacts]
types : Array[TypeFacts]
globals : Array[GlobalFacts]
tables : Array[TableFacts]
bodies : Array[FunctionBodyFacts]
hints : Array[OptimizationHint]
} derive(Eq, Hash, Debug)fn OptimizationFactsBuilder::add_body(self : OptimizationFactsBuilder, facts : FunctionBodyFacts) -> Unitfn OptimizationFactsBuilder::add_function(self : OptimizationFactsBuilder, facts : FunctionFacts) -> Unitfn OptimizationFactsBuilder::add_global(self : OptimizationFactsBuilder, facts : GlobalFacts) -> Unitfn OptimizationFactsBuilder::add_hint(self : OptimizationFactsBuilder, hint : OptimizationHint) -> Unitfn OptimizationFactsBuilder::add_signature(self : OptimizationFactsBuilder, facts : SignatureFacts) -> Unitfn OptimizationFactsBuilder::set_producer(self : OptimizationFactsBuilder, producer : ProducerInfo) -> Unitpub struct OptimizationFactsSec {
producer : ProducerInfo?
world : WorldFacts?
functions : Array[FunctionFacts]
signatures : Array[SignatureFacts]
types : Array[TypeFacts]
globals : Array[GlobalFacts]
tables : Array[TableFacts]
bodies : Array[FunctionBodyFacts]
hints : Array[OptimizationHint]
} derive(Eq, Hash, Debug)fn OptimizationFactsSec::new(producer? : ProducerInfo?, world? : WorldFacts?, functions? : Array[FunctionFacts], signatures? : Array[SignatureFacts], types? : Array[TypeFacts], globals? : Array[GlobalFacts], tables? : Array[TableFacts], bodies? : Array[FunctionBodyFacts], hints? : Array[OptimizationHint]) -> OptimizationFactsSecpub enum OptimizationHint {
HotnessHint(HintTarget, TemperatureHint)
InlineHint(HintTarget, InlinePolicy)
GoalHint(HintTarget, OptimizationGoal)
BranchProbabilityHint(CodeSite, UInt)
EstimatedLoopTripsHint(CodeSite, UInt64)
LikelyCallTargetHint(CodeSite, UInt, UInt)
LikelyHeapTypeHint(ValueSite, FactHeapType, UInt)
} derive(Eq, Hash, Debug)fn OptimizationHint::hotness(target : HintTarget, temperature : TemperatureHint) -> OptimizationHintfn OptimizationHint::likely_call_target(site : CodeSite, function : UInt, confidence : UInt) -> OptimizationHintfn OptimizationHint::likely_heap_type(site : ValueSite, type_ : FactHeapType, confidence : UInt) -> OptimizationHintpub struct ParameterFacts {
parameter : UInt
value : ValueFacts?
uses : ParameterUseMask?
escape_sinks : EscapeSinkMask?
} derive(Eq, Hash, Debug)fn ParameterFacts::new(parameter : UInt, value? : ValueFacts?, uses? : ParameterUseMask?, escape_sinks? : EscapeSinkMask?) -> ParameterFactspub struct ReferenceFacts {
nullability : NullabilityFacts?
heap : HeapDomain?
function_targets : ClosedFunctionSet?
} derive(Eq, Hash, Debug)fn ReferenceFacts::new(nullability? : NullabilityFacts?, heap? : HeapDomain?, function_targets? : ClosedFunctionSet?) -> ReferenceFactspub struct ResultFacts {
result : UInt
value : ValueFacts?
identity : ResultIdentityFacts?
} derive(Eq, Hash, Debug)fn ResultFacts::new(result : UInt, value? : ValueFacts?, identity? : ResultIdentityFacts?) -> ResultFactspub enum ResultIdentityFacts {
FreshReference
ClosedAliases(ClosedAliasSet)
} derive(Eq, Hash, Debug)pub struct ScopedRelationFacts {
at : CodeSite
left : FactOperand
kind : RelationKind
right : FactOperand
} derive(Eq, Hash, Debug)fn ScopedRelationFacts::new(at : CodeSite, left : FactOperand, kind : RelationKind, right : FactOperand) -> ScopedRelationFactspub struct SignatureFacts {
signature : UInt
parameters : Array[IndexedValueFacts]
results : Array[IndexedValueFacts]
call_sites_complete : Bool
} derive(Eq, Hash, Debug)fn SignatureFacts::new(signature : UInt, parameters? : Array[IndexedValueFacts], results? : Array[IndexedValueFacts], call_sites_complete? : Bool) -> SignatureFactsfn SourceProvenance::new(module_id? : UInt64?, declaration_id? : UInt64?, body_id? : UInt64?, expression_id? : UInt64?, source_offset? : UInt64?, specialization_id? : UInt64?) -> SourceProvenancepub struct TableFacts {
table : UInt
mutation : MutationFacts?
may_grow : Bool?
default_value : ReferenceFacts?
entries : Array[TableEntryFacts]
contents_complete : Bool
} derive(Eq, Hash, Debug)fn TableFacts::new(table : UInt, mutation? : MutationFacts?, may_grow? : Bool?, default_value? : ReferenceFacts?, entries? : Array[TableEntryFacts], contents_complete? : Bool) -> TableFactspub struct TypeFacts {
type_ : UInt
population : TypePopulation?
fields : Array[FieldFacts]
array_element : ArrayElementFacts?
} derive(Eq, Hash, Debug)fn TypeFacts::new(type_ : UInt, population? : TypePopulation?, fields? : Array[FieldFacts], array_element? : ArrayElementFacts?) -> TypeFactspub enum TypePopulation {
EmptyTypePopulation
ClosedTypePopulation(ClosedHeapTypeSet)
} derive(Eq, Hash, Debug)pub struct ValueFacts {
possible_values : ClosedValueSet?
integer : IntegerFacts?
float_ : FloatFacts?
vector : VectorFacts?
reference : ReferenceFacts?
} derive(Eq, Hash, Debug)fn ValueFacts::new(possible_values? : ClosedValueSet?, integer? : IntegerFacts?, float_? : FloatFacts?, vector? : VectorFacts?, reference? : ReferenceFacts?) -> ValueFactspub enum ValueRef {
SiteValue(ValueSite)
ParameterValue(ParameterRef)
FunctionResultValue(FunctionResultRef)
GlobalValue(UInt)
} derive(Eq, Hash, Debug)pub struct VectorFacts {
known_bits : KnownV128Bits?
splat : FactValue?
lane_shape : VectorLaneShape?
} derive(Eq, Hash, Debug)fn VectorFacts::new(known_bits? : KnownV128Bits?, splat? : FactValue?, lane_shape? : VectorLaneShape?) -> VectorFactsfn WorldFacts::closed_module(host_can_call_exports? : Bool, host_can_mutate_exported_state? : Bool) -> WorldFactsfn WorldFacts::closed_program(host_can_call_exports? : Bool, host_can_mutate_exported_state? : Bool) -> WorldFactsfn WorldFacts::new(mode : WorldMode, host_can_call_exports : Bool, host_can_mutate_exported_state : Bool) -> WorldFactsfn WorldFacts::open_world(host_can_call_exports? : Bool, host_can_mutate_exported_state? : Bool) -> WorldFactsInstall
Download zipWebAssembly parsing, validation, encoding, and optimization toolkit
Dependencies