public class org.graalvm.compiler.core.test.LateMembarInsertionTest 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.LateMembarInsertionTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
private final jdk.vm.ci.meta.ResolvedJavaType volatileAccessType;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.ResolvedJavaType regularAccessField;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.ResolvedJavaType volatileAccess2Type;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$VolatileAccess;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.volatileAccessType:Ljdk/vm/ci/meta/ResolvedJavaType;
2: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$RegularAccess;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.regularAccessField:Ljdk/vm/ci/meta/ResolvedJavaType;
3: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$VolatileAccess2;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.volatileAccess2Type:Ljdk/vm/ci/meta/ResolvedJavaType;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
public static int volatileFieldLoadFieldLoad();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
istore 0
start local 0 1: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess.field:I
istore 1
start local 1 2: iload 0
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 v1 I
2 3 1 v2 I
public void test01();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int volatileFieldLoadVolatileFieldLoad();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
istore 0
start local 0 1: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
istore 1
start local 1 2: iload 0
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 v1 I
2 3 1 v2 I
public void test02();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int volatileFieldLoadVolatileFieldStore(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
istore 1
start local 1 1: iload 0
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 v2 I
1 3 1 v1 I
MethodParameters:
Name Flags
v2
public void test03();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int volatileFieldStoreVolatileFieldLoad(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
1: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 v2 I
MethodParameters:
Name Flags
v2
public void test04();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int fieldLoadVolatileFieldStore(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess.field:I
istore 1
start local 1 1: iload 0
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 v2 I
1 3 1 v1 I
MethodParameters:
Name Flags
v2
public void test05();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static void volatileFieldStoreVolatileFieldStore(int, int);
descriptor: (II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 0
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
1: iload 1
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 v1 I
0 3 1 v2 I
MethodParameters:
Name Flags
v1
v2
public void test06();
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 problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int volatileFieldLoad();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public void test07();
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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
private boolean membarsExpected();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
instanceof jdk.vm.ci.aarch64.AArch64
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
public static void volatileFieldStore(int);
descriptor: (I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 v I
MethodParameters:
Name Flags
v
public void test08();
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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static int unsafeVolatileFieldLoad(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
invokevirtual sun.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
0 1 1 offset J
MethodParameters:
Name Flags
o
offset
public void test11();
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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
public static void unsafeVolatileFieldStore(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
iload 3
invokevirtual sun.misc.Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 o Ljava/lang/Object;
0 2 1 offset J
0 2 3 v I
MethodParameters:
Name Flags
o
offset
v
public void test12();
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/LateMembarInsertionTest;
RuntimeInvisibleAnnotations:
Test()
private void verifyMembars(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\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/LateMembarInsertionTest;
MethodParameters:
Name Flags
method
expectsMembar
private static org.graalvm.compiler.options.OptionValues stressTestEarlyReads();
descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic org.graalvm.compiler.options.OptionValues.newOptionMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 0
start local 0 1: aload 0
getstatic org.graalvm.compiler.core.common.GraalOptions.StressTestEarlyReads:Lorg/graalvm/compiler/options/OptionKey;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.core.test.LateMembarInsertionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 0
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 overrides Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(java.lang.String, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 2
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getFinalGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getAccesses:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
0 2 1 test Ljava/lang/String;
0 2 2 options Lorg/graalvm/compiler/options/OptionValues;
1 2 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
Signature: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
MethodParameters:
Name Flags
test
options
private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
astore 4
start local 4 3: aload 4
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 2
invokedynamic apply(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/core/test/LateMembarInsertionTest.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream; (6)
(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/core/test/LateMembarInsertionTest.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 0
invokedynamic apply(Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/core/test/LateMembarInsertionTest.lambda$2(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair; (7)
(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;
5: invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
6: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
7: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
0 8 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 8 2 schedule Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
2 8 3 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
3 8 4 blocks [Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
MethodParameters:
Name Flags
graph
private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getFinalGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getAccesses:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
0 2 1 test Ljava/lang/String;
1 2 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
MethodParameters:
Name Flags
test
private jdk.vm.ci.meta.ResolvedJavaType classForAccess(org.graalvm.compiler.nodes.memory.FixedAccessNode);
descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.nodes.memory.address.AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 2: aload 3
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
start local 4 3: aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 5
start local 5 4: aload 4
aload 5
invokevirtual org.graalvm.compiler.core.common.type.Stamp.javaType:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 5: aload 6
aload 5
ldc Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
if_acmpne 8
aload 3
instanceof org.graalvm.compiler.nodes.ConstantNode
ifeq 8
6: aload 0
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
astore 7
start local 7 7: aload 7
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
end local 7 8: StackMap locals: org.graalvm.compiler.core.test.LateMembarInsertionTest org.graalvm.compiler.nodes.memory.FixedAccessNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 6
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 9 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
0 9 1 n Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
1 9 2 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
2 9 3 base Lorg/graalvm/compiler/nodes/ValueNode;
3 9 4 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 9 5 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
5 9 6 javaType Ljdk/vm/ci/meta/ResolvedJavaType;
7 8 7 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
MethodParameters:
Name Flags
n
private static java.util.stream.Stream lambda$0(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.nodesFor:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
private static boolean lambda$1(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Lorg/graalvm/compiler/graph/Node;
private org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair lambda$2(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair
dup
aload 1
instanceof org.graalvm.compiler.nodes.memory.ReadNode
aload 0
aload 1
checkcast org.graalvm.compiler.nodes.memory.FixedAccessNode
invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.classForAccess:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokespecial org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair.<init>:(ZLjdk/vm/ci/meta/ResolvedJavaType;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
0 1 1 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "LateMembarInsertionTest.java"
NestMembers:
org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RegularAccess = org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess of org.graalvm.compiler.core.test.LateMembarInsertionTest
TypePair = org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair of org.graalvm.compiler.core.test.LateMembarInsertionTest
VolatileAccess = org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess of org.graalvm.compiler.core.test.LateMembarInsertionTest
VolatileAccess2 = org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2 of org.graalvm.compiler.core.test.LateMembarInsertionTest
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph