public class org.graalvm.compiler.core.test.ConditionalEliminationTestBase 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.ConditionalEliminationTestBase
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
private final boolean disableSimplification;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
iconst_1
putfield org.graalvm.compiler.core.test.ConditionalEliminationTestBase.disableSimplification:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
protected void <init>(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
iload 1
putfield org.graalvm.compiler.core.test.ConditionalEliminationTestBase.disableSimplification:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
0 3 1 disableSimplification Z
MethodParameters:
Name Flags
disableSimplification
protected void testConditionalElimination(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.testConditionalElimination:(Ljava/lang/String;Ljava/lang/String;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
0 2 1 snippet Ljava/lang/String;
0 2 2 referenceSnippet Ljava/lang/String;
MethodParameters:
Name Flags
snippet
referenceSnippet
protected void testConditionalElimination(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 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.ConditionalEliminationTestBase.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: iconst_1
aload 4
ldc "Graph"
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
2: new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
astore 5
start local 5 3: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
astore 6
start local 6 4: aload 0
getfield org.graalvm.compiler.core.test.ConditionalEliminationTestBase.disableSimplification:Z
ifeq 6
5: aload 6
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.disableSimplification:()V
6: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack:
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
astore 7
start local 7 7: aconst_null
astore 8
aconst_null
astore 9
8: ldc "ConditionalEliminationTest"
aload 4
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 10
start local 10 9: aload 6
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: new org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase
dup
invokespecial org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.<init>:()V
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
11: new org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase
dup
aload 7
iconst_1
invokespecial org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Z)V
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
12: aload 7
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
13: aload 7
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
14: new org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase
dup
invokespecial org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.<init>:()V
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
15: aload 10
ifnull 23
aload 10
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 23
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.CanonicalizerPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
16: astore 8
aload 10
ifnull 17
aload 10
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 10 StackMap locals:
StackMap stack:
17: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 9
aload 8
ifnonnull 19
aload 9
astore 8
goto 20
StackMap locals:
StackMap stack:
19: aload 8
aload 9
if_acmpeq 20
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 8
athrow
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack: java.lang.Throwable
21: astore 8
start local 8 22: aload 8
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 8 23: StackMap locals:
StackMap stack:
aload 0
aload 2
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 8
start local 8 24: aconst_null
astore 9
aconst_null
astore 10
25: ldc "ConditionalEliminationTest.ReferenceGraph"
aload 8
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 11
start local 11 26: new org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase
dup
invokespecial org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.<init>:()V
aload 8
aload 5
invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
27: iload 3
ifeq 32
28: new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
dup
iconst_1
invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.<init>:(Z)V
aload 8
aload 5
invokevirtual org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
29: aload 7
aload 8
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
30: aload 7
aload 8
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
31: goto 33
32: StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack:
aload 7
aload 8
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
33: StackMap locals:
StackMap stack:
aload 11
ifnull 41
aload 11
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 9
aload 11
ifnull 35
aload 11
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 11 StackMap locals:
StackMap stack:
35: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 10
aload 9
ifnonnull 37
aload 10
astore 9
goto 38
StackMap locals:
StackMap stack:
37: aload 9
aload 10
if_acmpeq 38
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 9
athrow
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
39: astore 9
start local 9 40: aload 9
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 9 41: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 4
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.assertEquals:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
42: return
end local 8 end local 7 end local 6 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 43 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
0 43 1 snippet Ljava/lang/String;
0 43 2 referenceSnippet Ljava/lang/String;
0 43 3 applyConditionalEliminationOnReference Z
1 43 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 43 5 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
4 43 6 canonicalizer1 Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
7 43 7 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
9 17 10 scope Lorg/graalvm/compiler/debug/Debug$Scope;
22 23 8 t Ljava/lang/Throwable;
24 43 8 referenceGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
26 35 11 scope Lorg/graalvm/compiler/debug/Debug$Scope;
40 41 9 t Ljava/lang/Throwable;
Exception table:
from to target type
9 15 16 any
8 18 18 any
7 21 21 Class java.lang.Throwable
26 33 34 any
25 36 36 any
24 39 39 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet
referenceSnippet
applyConditionalEliminationOnReference
public void testProxies(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tAssert cannot be resolved\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/ConditionalEliminationTestBase;
MethodParameters:
Name Flags
snippet
expectedProxiesCreated
}
SourceFile: "ConditionalEliminationTestBase.java"
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph