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);
descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
start local 2 1: aload 0
aload 2
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 3
start local 3 2: aload 0
invokevirtual org.graalvm.compiler.core.test.LockEliminationTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
astore 4
start local 4 3: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
aload 4
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
4: new org.graalvm.compiler.phases.common.inlining.InliningPhase
dup
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
invokespecial org.graalvm.compiler.phases.common.inlining.InliningPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
aload 3
aload 4
invokevirtual org.graalvm.compiler.phases.common.inlining.InliningPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
5: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
aload 4
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
6: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
aload 3
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
7: 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 3
aload 4
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
8: new org.graalvm.compiler.phases.common.LockEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.LockEliminationPhase.<init>:()V
aload 3
invokevirtual org.graalvm.compiler.phases.common.LockEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
9: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/core/test/LockEliminationTest;
0 10 1 snippet Ljava/lang/String;
1 10 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 10 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 10 4 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
MethodParameters:
Name Flags
snippet
}
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