public interface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<T extends org.graalvm.compiler.core.common.cfg.AbstractBlockBase<T>>
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph
super_class: java.lang.Object
{
public static final int BLOCK_ID_INITIAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int BLOCK_ID_VISITED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2
public static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public abstract T[] getBlocks();
descriptor: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()[TT;
public abstract java.util.Collection<org.graalvm.compiler.core.common.cfg.Loop<T>> getLoops();
descriptor: ()Ljava/util/Collection;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Collection<Lorg/graalvm/compiler/core/common/cfg/Loop<TT;>;>;
public abstract T getStartBlock();
descriptor: ()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()TT;
public static boolean isDominatedBy(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorNumber:()I
istore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorNumber:()I
istore 3
start local 3 2: iload 2
iload 3
if_icmplt 3
iload 2
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getMaxChildDominatorNumber:()I
if_icmpgt 3
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
3: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 4 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 4 2 domNumberA I
2 4 3 domNumberB I
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
a
b
public static boolean strictlyDominates(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 1
aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.dominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 2 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
a
b
public static boolean dominates(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.$assertionsDisabled:Z
ifne 2
aload 0
ifnull 1
aload 1
ifnonnull 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.isDominatedBy:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 3 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
a
b
public static org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> commonDominator(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorDepth:()I
istore 2
start local 2 5: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorDepth:()I
istore 3
start local 3 6: iload 2
iload 3
if_icmple 10
7: aload 0
astore 4
start local 4 8: aload 1
astore 5
start local 5 9: goto 12
end local 5 end local 4 10: StackMap locals: int int
StackMap stack:
aload 1
astore 4
start local 4 11: aload 0
astore 5
start local 5 12: StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
aload 4
aload 5
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominatorHelper:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 13 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
5 13 2 aDomDepth I
6 13 3 bDomDepth I
8 10 4 aTemp Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
11 13 4 aTemp Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
9 10 5 bTemp Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
12 13 5 bTemp Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
a
b
public static org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> commonDominatorHelper(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorNumber:()I
istore 2
start local 2 1: aload 1
astore 3
start local 3 2: goto 4
3: StackMap locals: int org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 3
4: StackMap locals:
StackMap stack:
iload 2
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatorNumber:()I
if_icmplt 3
5: goto 7
6: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 3
7: StackMap locals:
StackMap stack:
iload 2
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getMaxChildDominatorNumber:()I
if_icmpgt 6
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 a Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 9 1 b Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 9 2 domNumberA I
2 9 3 result Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
a
b
public static <T extends org.graalvm.compiler.core.common.cfg.AbstractBlockBase<T>> T commonDominatorTyped(T, );
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominator:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a TT;
0 1 1 b TT;
Signature: <T:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<TT;>;>(TT;TT;)TT;
MethodParameters:
Name Flags
a
b
}
Signature: <T:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<TT;>;>Ljava/lang/Object;
SourceFile: "AbstractControlFlowGraph.java"