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
{
protected static int sink0;
descriptor: I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
protected static int sink1;
descriptor: I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
protected static int sink2;
descriptor: I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
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/ConditionalEliminationTestBase;
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.ConditionalEliminationTestBase.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
aload 0
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.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/ConditionalEliminationTestBase;
protected void testConditionalElimination(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.testConditionalElimination:(Ljava/lang/String;Ljava/lang/String;ZZ)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, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 5
start local 5 1: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 2: aload 6
iconst_1
aload 5
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
3: 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/nodes/spi/CoreProviders;)V
astore 7
start local 7 4: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
astore 8
start local 8 5: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
astore 9
start local 9 6: aconst_null
astore 10
aconst_null
astore 11
7: aload 6
ldc "ConditionalEliminationTest"
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 12
start local 12 8: aload 0
aload 5
aload 8
aload 7
iload 4
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.prepareGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Z)V
9: new org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase
dup
aload 9
iconst_1
invokespecial org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Z)V
aload 5
aload 7
invokevirtual org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: aload 9
aload 5
aload 7
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
11: aload 9
aload 5
aload 7
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
12: aload 12
ifnull 20
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 20
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext 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.DebugContext$Scope
StackMap stack: java.lang.Throwable
13: astore 10
aload 12
ifnull 14
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 12 StackMap locals:
StackMap stack:
14: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 11
aload 10
ifnonnull 16
aload 11
astore 10
goto 17
StackMap locals:
StackMap stack:
16: aload 10
aload 11
if_acmpeq 17
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 10
athrow
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack: java.lang.Throwable
18: astore 10
start local 10 19: aload 6
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 10 20: 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 10
start local 10 21: aconst_null
astore 11
aconst_null
astore 12
22: aload 6
ldc "ConditionalEliminationTest.ReferenceGraph"
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 13
start local 13 23: aload 0
aload 10
aload 9
aload 7
iload 4
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.prepareGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Z)V
24: iload 3
ifeq 26
25: new org.graalvm.compiler.phases.common.ConditionalEliminationPhase
dup
iconst_1
invokespecial org.graalvm.compiler.phases.common.ConditionalEliminationPhase.<init>:(Z)V
aload 10
aload 7
invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
26: StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext 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.DebugContext$Scope
StackMap stack:
aload 9
aload 10
aload 7
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
27: aload 9
aload 10
aload 7
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
28: aload 13
ifnull 36
aload 13
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 36
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 11
aload 13
ifnull 30
aload 13
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 13 StackMap locals:
StackMap stack:
30: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 12
aload 11
ifnonnull 32
aload 12
astore 11
goto 33
StackMap locals:
StackMap stack:
32: aload 11
aload 12
if_acmpeq 33
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 11
athrow
StackMap locals: org.graalvm.compiler.core.test.ConditionalEliminationTestBase java.lang.String java.lang.String int int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext 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
34: astore 11
start local 11 35: aload 6
aload 11
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 11 36: StackMap locals:
StackMap stack:
aload 0
aload 10
aload 5
invokevirtual org.graalvm.compiler.core.test.ConditionalEliminationTestBase.assertEquals:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
37: return
end local 10 end local 9 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 38 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
0 38 1 snippet Ljava/lang/String;
0 38 2 referenceSnippet Ljava/lang/String;
0 38 3 applyConditionalEliminationOnReference Z
0 38 4 applyLowering Z
1 38 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 38 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 38 7 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
5 38 8 canonicalizer1 Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
6 38 9 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
8 14 12 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
19 20 10 t Ljava/lang/Throwable;
21 38 10 referenceGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
23 30 13 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
35 36 11 t Ljava/lang/Throwable;
Exception table:
from to target type
8 12 13 any
7 15 15 any
6 18 18 Class java.lang.Throwable
23 28 29 any
22 31 31 any
21 34 34 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet
referenceSnippet
applyConditionalEliminationOnReference
applyLowering
protected void prepareGraph(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.common.CanonicalizerPhase, org.graalvm.compiler.phases.tiers.PhaseContext, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 4
1: new org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase
dup
invokespecial org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.<init>:()V
aload 1
aload 3
invokevirtual org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
2: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 2
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
3: aload 2
aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
5: new org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase
dup
invokespecial org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.<init>:()V
aload 1
aload 3
invokevirtual org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/test/ConditionalEliminationTestBase;
0 7 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 7 2 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
0 7 3 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
0 7 4 applyLowering Z
MethodParameters:
Name Flags
graph
canonicalizer
context
applyLowering
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.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final Optimization = org.graalvm.compiler.phases.OptimisticOptimizations$Optimization of org.graalvm.compiler.phases.OptimisticOptimizations