public class org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest extends org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest
super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
1: aload 0
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
putfield org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/DeferredBarrierAdditionTest;
public static java.lang.Object testCrossReferences();
descriptor: ()Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: iconst_1
anewarray java.lang.Object
astore 0
start local 0 1: iconst_1
anewarray java.lang.Object
astore 1
start local 1 2: aload 0
iconst_0
aload 1
aastore
3: aload 1
iconst_0
aload 0
aastore
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 a [Ljava/lang/Object;
2 5 1 b [Ljava/lang/Object;
public void testGroupAllocation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "testCrossReferences"
iconst_1
invokestatic org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.testHelper:(Ljava/lang/String;ILorg/graalvm/compiler/options/OptionValues;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/test/DeferredBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
protected void testHelper(java.lang.String, int, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljava/lang/String;ILorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 1: aload 0
aload 3
aconst_null
aload 4
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 2: aconst_null
astore 6
aconst_null
astore 7
3: aload 5
ldc "WriteBarrierAdditionTest"
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 8
start local 8 4: aload 0
aload 4
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 5
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.parseEager:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 9
start local 9 5: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
astore 10
start local 10 6: new org.graalvm.compiler.phases.tiers.MidTierContext
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getTargetProvider:()Lorg/graalvm/compiler/phases/tiers/TargetProvider;
getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
invokespecial org.graalvm.compiler.phases.tiers.MidTierContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;)V
astore 11
start local 11 7: new org.graalvm.compiler.phases.common.inlining.InliningPhase
dup
new org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy
dup
invokespecial org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy.<init>:()V
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
invokespecial org.graalvm.compiler.phases.common.inlining.InliningPhase.<init>:(Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
aload 9
aload 10
invokevirtual org.graalvm.compiler.phases.common.inlining.InliningPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
8: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 9
aload 10
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
9: new org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase.<init>:(ZLorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/options/OptionValues;)V
aload 9
aload 10
invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
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 9
aload 10
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
11: new org.graalvm.compiler.phases.common.GuardLoweringPhase
dup
invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
aload 9
aload 11
invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
12: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.MID_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 9
aload 11
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
13: new org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase
dup
invokespecial org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase.<init>:()V
aload 9
aload 11
invokevirtual org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
14: aload 5
iconst_1
aload 9
ldc "After Write Barrier Addition"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
15: aload 0
aload 9
invokevirtual org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.checkAssumptions:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
16: iconst_0
istore 12
start local 12 17: aload 0
getfield org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 22
18: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/gc/G1ReferentFieldReadBarrier;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/gc/G1PreWriteBarrier;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iadd
19: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/gc/G1PostWriteBarrier;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
20: iadd
istore 12
21: goto 23
22: StackMap locals: org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest java.lang.String int org.graalvm.compiler.options.OptionValues jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext org.graalvm.compiler.phases.tiers.MidTierContext int
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
istore 12
23: StackMap locals:
StackMap stack:
iload 2
iload 12
if_icmpeq 25
24: aload 9
invokestatic org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest.getScheduledGraphString:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/lang/String;
iload 2
i2l
iload 12
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest java.lang.String int org.graalvm.compiler.options.OptionValues jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 8
ifnull 33
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 6
aload 8
ifnull 27
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
27: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 7
aload 6
ifnonnull 29
aload 7
astore 6
goto 30
StackMap locals:
StackMap stack:
29: aload 6
aload 7
if_acmpeq 30
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 6
athrow
StackMap locals: org.graalvm.compiler.hotspot.test.DeferredBarrierAdditionTest java.lang.String int org.graalvm.compiler.options.OptionValues jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
31: astore 6
start local 6 32: aload 5
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 33: StackMap locals:
StackMap stack:
return
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 34 0 this Lorg/graalvm/compiler/hotspot/test/DeferredBarrierAdditionTest;
0 34 1 snippetName Ljava/lang/String;
0 34 2 expectedBarriers I
0 34 3 options Lorg/graalvm/compiler/options/OptionValues;
1 34 4 snippet Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 34 5 debug Lorg/graalvm/compiler/debug/DebugContext;
4 27 8 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
5 25 9 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
6 25 10 highContext Lorg/graalvm/compiler/phases/tiers/HighTierContext;
7 25 11 midContext Lorg/graalvm/compiler/phases/tiers/MidTierContext;
17 25 12 barriers I
32 33 6 e Ljava/lang/Throwable;
Exception table:
from to target type
4 25 26 any
3 28 28 any
2 31 31 Class java.lang.Throwable
MethodParameters:
Name Flags
snippetName final
expectedBarriers final
options
protected void checkAssumptions(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
invokestatic org.junit.Assume.assumeTrue:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/test/DeferredBarrierAdditionTest;
0 2 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
}
SourceFile: "DeferredBarrierAdditionTest.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