Interface InPlaceIRPass<T>

Type Parameters:
T - The type of the IR this pass operates on.
All Superinterfaces:
IRPass<T,T>
All Known Implementing Classes:
CheckJava, CollapseJumps, ComputeDomFrontier, ComputeDoms, ComputeLiveVars, ComputePreds, ComputeUses, EliminateDeadBlocks, EliminateDeadVars, FindBoolSelects, ForPass.BasicBlocks, ForPass.Insns, IdentityElimination, InferTypes, InferTypes.Java, LinearScan, LowerIntrinsics, LowerPhis, MergeConds, PropagateConstants, SSAify, Stackify, VerifyIntegrity, WirToJir.WirToJirPerFunc

public interface InPlaceIRPass<T> extends IRPass<T,T>
An IR pass which is in-place.

Not all in-place IR passes are instances of this, however.

  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Get whether this pass is in-place.
    default T
    run(T t)
    Run the pass.
    void
    Run the pass.

    Methods inherited from interface io.github.eutro.wasm2j.core.passes.IRPass

    then
  • Method Details

    • runInPlace

      void runInPlace(T t)
      Run the pass.
      Parameters:
      t - The IR to run this pass on.
    • run

      default T run(T t)
      Description copied from interface: IRPass
      Run the pass.
      Specified by:
      run in interface IRPass<T,T>
      Parameters:
      t - The IR to run it on.
      Returns:
      The result.
    • isInPlace

      default boolean isInPlace()
      Get whether this pass is in-place.
      Specified by:
      isInPlace in interface IRPass<T,T>
      Returns:
      true