Show / Hide Table of Contents

    Class StoreFieldPrototype

    An instruction prototype that stores a field. It is a fused instruction prototype that is equivalent to a get-field-pointer followed by a store.

    Inheritance
    System.Object
    InstructionPrototype
    FusedInstructionPrototype
    StoreFieldPrototype
    Inherited Members
    FusedInstructionPrototype.ResultType
    FusedInstructionPrototype.CheckConformance(Instruction, MethodBody)
    InstructionPrototype.Members
    InstructionPrototype.Instantiate(IReadOnlyList<ValueTag>)
    InstructionPrototype.IsPrototypeOf(Instruction)
    InstructionPrototype.AssertIsPrototypeOf(Instruction, String)
    InstructionPrototype.AssertIsPrototypeOf(Instruction)
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: Flame.Compiler.Instructions.Fused
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class StoreFieldPrototype : FusedInstructionPrototype

    Properties

    | Improve this Doc View Source

    Field

    Gets the field that is loaded.

    Declaration
    public IField Field { get; }
    Property Value
    Type Description
    IField

    The field that is loaded.

    | Improve this Doc View Source

    ParameterCount

    Gets the number of arguments this instruction takes when instantiated.

    Declaration
    public override int ParameterCount { get; }
    Property Value
    Type Description
    System.Int32

    The number of arguments this instruction takes.

    Overrides
    InstructionPrototype.ParameterCount

    Methods

    | Improve this Doc View Source

    Create(IField)

    Gets or creates an instruction prototype for instructions that store a value in a particular field.

    Declaration
    public static StoreFieldPrototype Create(IField field)
    Parameters
    Type Name Description
    IField field

    The field that is to be updated.

    Returns
    Type Description
    StoreFieldPrototype

    A store-field instruction prototype.

    | Improve this Doc View Source

    Expand(NamedInstructionBuilder)

    Expands this fused instruction to an equivalent nonempty sequence of core instructions. The instance itself must be replaced by another instruction. Instruction expansion must be formulaic: it cannot depend on the rest of the control-flow graph.

    Declaration
    public override void Expand(NamedInstructionBuilder instance)
    Parameters
    Type Name Description
    NamedInstructionBuilder instance

    An instance of this prototype to expand.

    Overrides
    FusedInstructionPrototype.Expand(NamedInstructionBuilder)
    | Improve this Doc View Source

    Instantiate(ValueTag, ValueTag)

    Creates an instance of this store-field prototype.

    Declaration
    public Instruction Instantiate(ValueTag basePointer, ValueTag value)
    Parameters
    Type Name Description
    ValueTag basePointer

    A pointer to a value that includes the field referred to by the store-field prototype.

    ValueTag value

    The value to store in the field.

    Returns
    Type Description
    Instruction

    A store-field instruction.

    | Improve this Doc View Source

    Map(MemberMapping)

    Applies a member mapping to this instruction prototype.

    Declaration
    public override InstructionPrototype Map(MemberMapping mapping)
    Parameters
    Type Name Description
    MemberMapping mapping

    A member mapping.

    Returns
    Type Description
    InstructionPrototype

    A transformed instruction prototype.

    Overrides
    InstructionPrototype.Map(MemberMapping)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX