Show / Hide Table of Contents

    Class ParallelOnDemandOptimizer

    A variant of the on-demand method optimizer that runs batches of tasks in parallel rather than in sequence.

    Inheritance
    System.Object
    Optimizer
    OnDemandOptimizer
    ParallelOnDemandOptimizer
    Inherited Members
    OnDemandOptimizer.GetBodyAsync(IMethod)
    OnDemandOptimizer.GetBodyAsync(IMethod, IMethod)
    OnDemandOptimizer.GetInitialMethodBodyDefault(IMethod)
    Optimizer.RunAllAsync(IEnumerable<Func<Task>>)
    Optimizer.RunAllAsync(IEnumerable<Task>)
    Optimizer.RunAllAsync<T>(IEnumerable<Task<T>>)
    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.Pipeline
    Assembly: Flame.Compiler.dll
    Syntax
    public class ParallelOnDemandOptimizer : OnDemandOptimizer

    Constructors

    | Improve this Doc View Source

    ParallelOnDemandOptimizer(IReadOnlyList<Optimization>)

    Creates a method body optimizer.

    Declaration
    public ParallelOnDemandOptimizer(IReadOnlyList<Optimization> pipeline)
    Parameters
    Type Name Description
    System.Collections.Generic.IReadOnlyList<Optimization> pipeline

    A pass pipeline: a sequence of optimizations to apply to every method body.

    | Improve this Doc View Source

    ParallelOnDemandOptimizer(IReadOnlyList<Optimization>, Func<IMethod, MethodBody>)

    Creates a method body optimizer.

    Declaration
    public ParallelOnDemandOptimizer(IReadOnlyList<Optimization> pipeline, Func<IMethod, MethodBody> getInitialMethodBody)
    Parameters
    Type Name Description
    System.Collections.Generic.IReadOnlyList<Optimization> pipeline

    A pass pipeline: a sequence of optimizations to apply to every method body.

    System.Func<IMethod, MethodBody> getInitialMethodBody

    A delegate that tries to find an initial method body for a method. This initial method body is is the starting point for further optimizations, both interprocedural and intraprocedural.

    Methods

    | Improve this Doc View Source

    RunAllAsync<T>(IEnumerable<Func<Task<T>>>)

    Declaration
    public override Task<IReadOnlyList<T>> RunAllAsync<T>(IEnumerable<Func<Task<T>>> tasks)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Func<System.Threading.Tasks.Task<T>>> tasks
    Returns
    Type Description
    System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<T>>
    Type Parameters
    Name Description
    T
    Overrides
    Flame.Compiler.Pipeline.Optimizer.RunAllAsync<T>(System.Collections.Generic.IEnumerable<System.Func<System.Threading.Tasks.Task<T>>>)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX