Class CommonExts

java.lang.Object
io.github.eutro.wasm2j.core.ext.CommonExts

public class CommonExts extends Object
A collection of Exts that exist in both WebAssembly and Java IR.
  • Field Details

    • METADATA_STATE

      public static final Ext<MetadataState> METADATA_STATE
      Attached to a Function. Has metadata about the form of the function.
      See Also:
    • IDOM

      public static final Ext<BasicBlock> IDOM
      Attached to a BasicBlock. The immediate dominator of the block.

      Computed by ComputeDoms.

    • PREDS

      public static final Ext<List<BasicBlock>> PREDS
      Attached to a BasicBlock. The predecessors of the block.

      Computed by ComputePreds or ComputeDoms.

    • DOM_FRONTIER

      public static final Ext<Set<BasicBlock>> DOM_FRONTIER
      Attached to a BasicBlock. The dominance frontier of the block.

      Computed by ComputeDomFrontier.

    • IS_PURE

      public static final Ext<Boolean> IS_PURE
      Attached to an Insn, Op or OpKey. Whether the instruction has no observable side effects.
    • IS_TRIVIAL

      public static final Ext<Boolean> IS_TRIVIAL
      Attached to an Insn, Op or OpKey. Whether the instruction can be trivially duplicated.
    • CONSTANT_VALUE

      public static final Ext<Object> CONSTANT_VALUE
      Attached to a Var, computed by PropagateConstants. The constant value of the variable.
    • CONSTANT_NULL_SENTINEL

      public static final Object CONSTANT_NULL_SENTINEL
      An object that is a sentinel for null for CONSTANT_VALUE.
    • CONSTANT_PROPAGATOR

      public static final Ext<F<Insn,Insn>> CONSTANT_PROPAGATOR
      Attached to an Insn, Op or OpKey. A function that may process constant arguments, folding it if possible.
    • STACKIFIED

      public static final Ext<Boolean> STACKIFIED
      Attached to a Var. Whether this variable has been arranged so that it is passed on the operand stack.
      See Also:
    • IS_PHI

      public static final Ext<Boolean> IS_PHI
      Attached to a Var. Whether this variable has been lowered from a phi instruction.
      See Also:
    • ASSIGNED_AT

      public static final Ext<Effect> ASSIGNED_AT
      Attached to a Var. The Effect this was assigned at. This only makes sense if the IR is in SSA form.
    • USED_AT

      public static final Ext<Set<Insn>> USED_AT
      Attached to a Var, computed by ComputeUses. The set of instructions that use this variable.
    • OWNING_FUNCTION

      public static final Ext<Function> OWNING_FUNCTION
      Attached to a BasicBlock. The function this basic block is in.
    • OWNING_BLOCK

      public static final Ext<BasicBlock> OWNING_BLOCK
      Attached to a Control or Effect. The block this instruction is in.
    • OWNING_CONTROL

      public static final Ext<Control> OWNING_CONTROL
      Attached to a Insn. The control instruction this insn is part of, if any.
    • OWNING_EFFECT

      public static final Ext<Effect> OWNING_EFFECT
      Attached to a Insn. The effect instruction this insn is part of, if any.
    • LIVE_DATA

      public static final Ext<CommonExts.LiveData> LIVE_DATA
      Attached to a BasicBlock, computed by ComputeLiveVars. The live variable information of the block.
  • Constructor Details

    • CommonExts

      public CommonExts()
  • Method Details