public class org.graalvm.compiler.core.test.MergeCanonicalizerTest extends org.graalvm.compiler.core.test.GraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.test.MergeCanonicalizerTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
public static int staticField;
descriptor: I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private int field;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/MergeCanonicalizerTest;
protected org.graalvm.compiler.phases.tiers.HighTierContext getDefaultHighTierContext();
descriptor: ()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.phases.tiers.HighTierContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
aload 0
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
iconst_1
anewarray org.graalvm.compiler.phases.OptimisticOptimizations$Optimization
dup
iconst_0
getstatic org.graalvm.compiler.phases.OptimisticOptimizations$Optimization.RemoveNeverExecutedCode:Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;
aastore
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.remove:([Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;)Lorg/graalvm/compiler/phases/OptimisticOptimizations;
invokespecial org.graalvm.compiler.phases.tiers.HighTierContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/MergeCanonicalizerTest;
public void testSplitReturn();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/MergeCanonicalizerTest;
RuntimeInvisibleAnnotations:
Test()
public int testSplitReturnSnippet(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifge 4
1: iconst_1
putstatic org.graalvm.compiler.core.test.MergeCanonicalizerTest.staticField:I
2: bipush 10
istore 2
start local 2 3: goto 6
end local 2 4: StackMap locals:
StackMap stack:
iconst_2
putstatic org.graalvm.compiler.core.test.MergeCanonicalizerTest.staticField:I
5: bipush 20
istore 2
start local 2 6: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.test.MergeCanonicalizerTest.field:I
istore 3
start local 3 7: aload 0
getfield org.graalvm.compiler.core.test.MergeCanonicalizerTest.field:I
iload 3
iadd
istore 3
8: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/test/MergeCanonicalizerTest;
0 9 1 b I
3 4 2 v I
6 9 2 v I
7 9 3 i I
MethodParameters:
Name Flags
b
private void testReturnCount(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
2: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
3: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_1
aload 3
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
4: aload 0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.core.test.MergeCanonicalizerTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/test/MergeCanonicalizerTest;
0 6 1 snippet Ljava/lang/String;
0 6 2 returnCount I
1 6 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
snippet
returnCount
}
SourceFile: "MergeCanonicalizerTest.java"
InnerClasses:
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public final Optimization = org.graalvm.compiler.phases.OptimisticOptimizations$Optimization of org.graalvm.compiler.phases.OptimisticOptimizations