public class org.graalvm.compiler.core.test.LockEliminationTest 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.LockEliminationTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
static int field1;
descriptor: I
flags: (0x0008) ACC_STATIC
static int field2;
descriptor: I
flags: (0x0008) 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/LockEliminationTest;
public static void testSynchronizedSnippet(org.graalvm.compiler.core.test.LockEliminationTest$A, org.graalvm.compiler.core.test.LockEliminationTest$A);
descriptor: (Lorg/graalvm/compiler/core/test/LockEliminationTest$A;Lorg/graalvm/compiler/core/test/LockEliminationTest$A;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield org.graalvm.compiler.core.test.LockEliminationTest$A.value:I
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field1:I
2: aload 2
monitorexit
3: goto 6
StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
7: aload 1
getfield org.graalvm.compiler.core.test.LockEliminationTest$A.value:I
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field2:I
8: aload 2
monitorexit
9: goto 12
StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 x Lorg/graalvm/compiler/core/test/LockEliminationTest$A;
0 13 1 y Lorg/graalvm/compiler/core/test/LockEliminationTest$A;
Exception table:
from to target type
1 3 4 any
4 5 4 any
7 9 10 any
10 11 10 any
MethodParameters:
Name Flags
x
y
public void testLock();
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/LockEliminationTest;
RuntimeInvisibleAnnotations:
Test()
public static void testSynchronizedMethodSnippet(org.graalvm.compiler.core.test.LockEliminationTest$A);
descriptor: (Lorg/graalvm/compiler/core/test/LockEliminationTest$A;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest$A.getValue:()I
istore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest$A.getValue:()I
istore 2
start local 2 2: iload 1
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field1:I
3: iload 2
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field2:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x Lorg/graalvm/compiler/core/test/LockEliminationTest$A;
1 5 1 value1 I
2 5 2 value2 I
MethodParameters:
Name Flags
x
public void testSynchronizedMethod();
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/LockEliminationTest;
RuntimeInvisibleAnnotations:
Test()
public void testUnrolledSyncSnippet(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 1
dup
monitorenter
monitorexit
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iconst_3
if_icmplt 2
end local 2 5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/test/LockEliminationTest;
0 6 1 a Ljava/lang/Object;
1 5 2 i I
MethodParameters:
Name Flags
a
public void testUnrolledSync();
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/LockEliminationTest;
RuntimeInvisibleAnnotations:
Test()
private org.graalvm.compiler.nodes.StructuredGraph getGraph(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 1: aload 0
aload 3
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.parseEager:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 2: aload 0
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
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 6
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
5: aload 0
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.createInliningPhase:()Lorg/graalvm/compiler/phases/BasePhase;
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.BasePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
6: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
7: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
aload 4
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
8: iload 2
ifeq 10
9: new org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase
dup
iconst_1
aload 6
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.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 4
aload 5
invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack:
new org.graalvm.compiler.phases.common.LoweringPhase
dup
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
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 4
aload 5
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
11: aload 4
areturn
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 12 0 this Lorg/graalvm/compiler/core/test/LockEliminationTest;
0 12 1 snippet Ljava/lang/String;
0 12 2 doEscapeAnalysis Z
1 12 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 12 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 12 5 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
4 12 6 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
MethodParameters:
Name Flags
snippet
doEscapeAnalysis
public void testEscapeAnalysisSnippet(org.graalvm.compiler.core.test.LockEliminationTest$A);
descriptor: (Lorg/graalvm/compiler/core/test/LockEliminationTest$A;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.core.test.LockEliminationTest$A
dup
invokespecial org.graalvm.compiler.core.test.LockEliminationTest$A.<init>:()V
astore 2
start local 2 1: aload 2
dup
astore 3
monitorenter
2: aload 1
dup
astore 4
monitorenter
3: aload 1
getfield org.graalvm.compiler.core.test.LockEliminationTest$A.value:I
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field1:I
4: aload 4
monitorexit
5: goto 8
StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 1
dup
astore 3
monitorenter
13: aload 1
getfield org.graalvm.compiler.core.test.LockEliminationTest$A.value:I
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field2:I
14: aload 3
monitorexit
15: goto 18
StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 1
dup
astore 3
monitorenter
19: aload 1
getfield org.graalvm.compiler.core.test.LockEliminationTest$A.value:I
putstatic org.graalvm.compiler.core.test.LockEliminationTest.field1:I
20: aload 3
monitorexit
21: goto 24
StackMap locals: org.graalvm.compiler.core.test.LockEliminationTest org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A org.graalvm.compiler.core.test.LockEliminationTest$A
StackMap stack: java.lang.Throwable
22: aload 3
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/graalvm/compiler/core/test/LockEliminationTest;
0 25 1 a Lorg/graalvm/compiler/core/test/LockEliminationTest$A;
1 25 2 newA Lorg/graalvm/compiler/core/test/LockEliminationTest$A;
Exception table:
from to target type
3 5 6 any
6 7 6 any
2 9 10 any
10 11 10 any
13 15 16 any
16 17 16 any
19 21 22 any
22 23 22 any
MethodParameters:
Name Flags
a
public void testEscapeAnalysis();
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/LockEliminationTest;
RuntimeInvisibleAnnotations:
Test()
}
SourceFile: "LockEliminationTest.java"
NestMembers:
org.graalvm.compiler.core.test.LockEliminationTest$A
InnerClasses:
A = org.graalvm.compiler.core.test.LockEliminationTest$A of org.graalvm.compiler.core.test.LockEliminationTest
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