Show / Hide Table of Contents

    Class LowerBox

    A transform that lowers reference type creating 'box' instructions to 'newobj' instructions if possible and calls to well-known functions if not.

    Inheritance
    System.Object
    Optimization
    IntraproceduralOptimization
    LowerBox
    Inherited Members
    IntraproceduralOptimization.IsCheckpoint
    IntraproceduralOptimization.ApplyAsync(MethodBody, OptimizationState)
    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.Clr.Transforms
    Assembly: Flame.Clr.dll
    Syntax
    public sealed class LowerBox : IntraproceduralOptimization

    Constructors

    | Improve this Doc View Source

    LowerBox(IAssembly)

    Creates an instance of the box-lowering transform for CIL.

    Declaration
    public LowerBox(IAssembly corlib)
    Parameters
    Type Name Description
    IAssembly corlib

    The corlib assembly.

    | Improve this Doc View Source

    LowerBox(IMethod, IMethod)

    Creates an instance of the box-lowering transform for CIL.

    Declaration
    public LowerBox(IMethod getTypeFromHandleMethod, IMethod createUninitializedObjectMethod)
    Parameters
    Type Name Description
    IMethod getTypeFromHandleMethod

    A reference to a GetTypeFromHandle method that takes a type token and produces a type.

    IMethod createUninitializedObjectMethod

    A reference to a GetUninitializedObject method that takes a type and produces a default-initialized object of that type.

    | Improve this Doc View Source

    LowerBox(TypeResolver)

    Creates an instance of the box-lowering transform for CIL.

    Declaration
    public LowerBox(TypeResolver corlibResolver)
    Parameters
    Type Name Description
    TypeResolver corlibResolver

    A type resolver for corlib.

    Properties

    | Improve this Doc View Source

    CreateUninitializedObjectMethod

    Gets a reference to a GetUninitializedObject method that takes a type and produces a default-initialized object of that type.

    Declaration
    public IMethod CreateUninitializedObjectMethod { get; }
    Property Value
    Type Description
    IMethod

    A method reference.

    | Improve this Doc View Source

    GetTypeFromHandleMethod

    Gets a reference to a GetTypeFromHandle method that takes a type token and produces a type.

    Declaration
    public IMethod GetTypeFromHandleMethod { get; }
    Property Value
    Type Description
    IMethod

    A method reference.

    Methods

    | Improve this Doc View Source

    Apply(FlowGraph)

    Applies this intraprocedural optimization to a flow graph.

    Declaration
    public override FlowGraph Apply(FlowGraph graph)
    Parameters
    Type Name Description
    FlowGraph graph

    The flow graph to transform.

    Returns
    Type Description
    FlowGraph

    A transformed flow graph.

    Overrides
    IntraproceduralOptimization.Apply(FlowGraph)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX