public class org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest 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.WriteBarrierAdditionTest
super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
private static java.util.EnumSet<org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC> knownSupport;
descriptor: Ljava/util/EnumSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/EnumSet<Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;>;
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int expectedBarriers;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.lang.ref.WeakReference<?> weakReference;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<*>;
private static final java.lang.Object weakReferenceAsObject;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long referenceReferentFieldOffset;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long referenceQueueFieldOffset;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference dummyReference;
descriptor: Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long dummyReferenceReferentFieldOffset;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static java.lang.Object[] src;
descriptor: [Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
static java.lang.Object[] dst;
descriptor: [Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.G1:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.CMS:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.Parallel:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.Serial:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.knownSupport:Ljava/util/EnumSet;
1: new java.lang.ref.WeakReference
dup
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
2: new java.lang.ref.WeakReference
dup
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReferenceAsObject:Ljava/lang/Object;
3: invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/ref/Reference;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
ldc "referent"
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
i2l
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
4: invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/ref/Reference;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
ldc "queue"
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
i2l
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceQueueFieldOffset:J
5: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference.<init>:()V
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReference:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
6: invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
ldc "referent"
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
i2l
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReferenceReferentFieldOffset:J
7: iconst_1
anewarray java.lang.Object
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
8: iconst_1
anewarray java.lang.Object
putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
9: iconst_0
istore 0
start local 0 10: goto 13
11: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
iload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
12: iinc 0 1
StackMap locals:
StackMap stack:
13: iload 0
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
arraylength
if_icmplt 11
end local 0 14: iconst_0
istore 0
start local 0 15: goto 18
16: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
iload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
17: iinc 0 1
StackMap locals:
StackMap stack:
18: iload 0
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
arraylength
if_icmplt 16
end local 0 19: return
LocalVariableTable:
Start End Slot Name Signature
10 14 0 i I
15 19 0 i I
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.WriteBarrierAdditionTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.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/WriteBarrierAdditionTest;
public void testAllocation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
iconst_4
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_2
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "testAllocationSnippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public static org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container testAllocationSnippet();
descriptor: ()Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 0
start local 0 1: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 1
start local 1 2: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 2
start local 2 3: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
4: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 main Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
2 6 1 temp1 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
3 6 2 temp2 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
public void testLoopAllocation1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
bipush 8
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_4
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "test2Snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: aload 0
ldc "test2Snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public static void test2Snippet(boolean);
descriptor: (Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 1
start local 1 1: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 2
start local 2 2: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 12
5: StackMap locals: int org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container int
StackMap stack:
iload 0
ifeq 9
6: aload 1
aload 2
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
7: aload 1
aload 3
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
8: goto 11
9: StackMap locals:
StackMap stack:
aload 1
aload 3
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
10: aload 1
aload 2
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
bipush 10
if_icmplt 5
end local 4 13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 test Z
1 14 1 main Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
2 14 2 temp1 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
3 14 3 temp2 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
4 13 4 i I
MethodParameters:
Name Flags
test
public void testLoopAllocation2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
bipush 8
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_4
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "test3Snippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public static void test3Snippet();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: bipush 10
anewarray org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
astore 0
start local 0 1: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 1
start local 1 2: new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
dup
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container[] org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container int
StackMap stack:
aload 0
iload 3
aaload
aload 0
iload 3
aaload
aload 1
dup_x1
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
bipush 10
if_icmplt 5
end local 3 8: iconst_0
istore 3
start local 3 9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
iload 3
aaload
aload 0
iload 3
aaload
aload 2
dup_x1
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
bipush 10
if_icmplt 10
end local 3 13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 14 0 main [Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
2 14 1 temp1 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
3 14 2 temp2 Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
4 8 3 i I
9 13 3 i I
public void testReferenceGet();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "testReferenceGetSnippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.Object testReferenceGetSnippet();
descriptor: ()Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static jdk.vm.ci.meta.MetaAccessProvider getStaticMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.runtime.RuntimeProvider
invokeinterface org.graalvm.compiler.runtime.RuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/core/target/Backend;
checkcast org.graalvm.compiler.hotspot.HotSpotBackend
invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getHostProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void testReferenceReferent1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "testReferenceReferentSnippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public java.lang.Object testReferenceReferentSnippet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
public void testReferenceReferent2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "testReferenceReferent2Snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public java.lang.Object testReferenceReferent2Snippet(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
lload 1
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
0 1 1 offset J
MethodParameters:
Name Flags
offset
public void testReferenceReferent3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
1: aload 0
ldc "testReferenceReferent3Snippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public java.lang.Object testReferenceReferent3Snippet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceQueueFieldOffset:J
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
public void testReferenceReferent4();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
1: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
3: aload 0
ldc "testReferenceReferent4Snippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public java.lang.Object testReferenceReferent4Snippet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReferenceAsObject:Ljava/lang/Object;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
public void testReferenceReferent5();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
1: ldc "expected fields to have the same offset"
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReferenceReferentFieldOffset:J
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
2: aload 0
ldc "testReferenceReferent5Snippet"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public java.lang.Object testReferenceReferent5Snippet();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReference:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
public static void testArrayCopySnippet(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 1
iconst_0
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a Ljava/lang/Object;
0 2 1 b Ljava/lang/Object;
0 2 2 c Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
a
b
c
public void testArrayCopy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
1: aload 0
ldc "testArrayCopySnippet"
iconst_3
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private void verifyBarriers(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: ldc "Unknown collector selected"
getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.knownSupport:Ljava/util/EnumSet;
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getGarbageCollector:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
1: ldc "test must set expected barrier count"
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
i2l
ldc -1
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
2: iconst_0
istore 2
start local 2 3: aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 8
4: aload 1
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 1
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
5: aload 1
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
6: iadd
istore 2
7: goto 9
8: StackMap locals: int
StackMap stack:
aload 1
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 2
9: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
iload 2
if_icmpeq 11
10: aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
i2l
iload 2
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/memory/WriteNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 24
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
12: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 3
start local 3 13: aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 21
14: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
if_acmpeq 24
15: lconst_1
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.gc.G1PostWriteBarrier
invokestatic org.junit.Assert.assertTrue:(Z)V
17: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.gc.G1PreWriteBarrier
ifne 18
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.word.LocationIdentity.isImmutable:()Z
ifne 18
iconst_0
goto 19
StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.memory.WriteNode java.util.Iterator
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: invokestatic org.junit.Assert.assertTrue:(Z)V
20: goto 24
21: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
if_acmpeq 24
22: lconst_1
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.gc.SerialWriteBarrier
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 3 24: StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
25: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/memory/ReadNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 37
StackMap locals:
StackMap stack:
26: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 3
start local 3 27: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
if_acmpeq 37
28: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
ifeq 32
29: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 5
start local 5 30: aload 5
ifnull 32
31: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.referentOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;)J
aload 5
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
end local 5 32: StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.memory.ReadNode java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
if_acmpeq 33
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.MAYBE_WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
if_acmpeq 33
iconst_0
goto 34
StackMap locals:
StackMap stack:
33: iconst_1
StackMap locals:
StackMap stack: int
34: invokestatic org.junit.Assert.assertTrue:(Z)V
35: aload 0
getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
ifeq 37
36: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.gc.G1ReferentFieldReadBarrier
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 3 37: StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
38: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
0 39 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 39 2 barriers I
13 24 3 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
27 37 3 read Lorg/graalvm/compiler/nodes/memory/ReadNode;
30 32 5 constDisp Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
graph
protected org.graalvm.compiler.core.test.GraalCompilerTest$Result testWithoutPEA(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=10, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.core.common.GraalOptions.PartialEscapeAnalysis:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
bipush 6
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.core.common.GraalOptions.FullUnroll:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.core.common.GraalOptions.LoopPeeling:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_4
getstatic org.graalvm.compiler.core.common.GraalOptions.PartialUnroll:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_5
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
aload 1
aload 2
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
0 1 1 name Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
name
args
public void before();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
RuntimeVisibleAnnotations:
org.junit.Before()
protected org.graalvm.compiler.phases.tiers.Suites createSuites(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getBackend:()Lorg/graalvm/compiler/core/target/Backend;
invokevirtual org.graalvm.compiler.core.target.Backend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
aload 1
invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
invokevirtual org.graalvm.compiler.phases.tiers.Suites.copy:()Lorg/graalvm/compiler/phases/tiers/Suites;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.phases.tiers.Suites.getMidTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
ldc Lorg/graalvm/compiler/phases/common/WriteBarrierAdditionPhase;
iconst_1
invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;Z)Ljava/util/ListIterator;
astore 3
start local 3 2: aload 3
new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1
dup
aload 0
invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1.<init>:(Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
3: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
0 4 1 opts Lorg/graalvm/compiler/options/OptionValues;
1 4 2 ret Lorg/graalvm/compiler/phases/tiers/Suites;
2 4 3 iter Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/MidTierContext;>;>;
MethodParameters:
Name Flags
opts
}
SourceFile: "WriteBarrierAdditionTest.java"
NestMembers:
org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1 org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
public final HotSpotGC = org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC of org.graalvm.compiler.hotspot.HotSpotGraalRuntime
org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1
public Container = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
DummyReference = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess