class org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12
super_class: java.lang.Object
{
private final org.graalvm.compiler.word.WordTypes val$wordTypes;
descriptor: Lorg/graalvm/compiler/word/WordTypes;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig val$config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.vm.ci.meta.MetaAccessProvider val$metaAccess;
descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.word.WordTypes, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/MetaAccessProvider;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 0
aload 2
putfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
aload 0
aload 3
putfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins$12;
MethodParameters:
Name Flags
val$wordTypes final
val$config final
val$metaAccess final
public boolean apply(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode
dup
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$wordTypes:Lorg/graalvm/compiler/word/WordTypes;
invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
invokespecial org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode.<init>:(Ljdk/vm/ci/meta/JavaKind;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode
astore 4
start local 4 1: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadObjectOffset:I
i2l
invokestatic org.graalvm.compiler.nodes.ConstantNode.forLong:(J)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 2: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 4
aload 5
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 6
start local 6 3: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/Thread;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 7
start local 7 4: aload 1
5: new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 6
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.JAVA_THREAD_THREAD_OBJECT_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
6: aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadObjectFieldIsHandle:Z
ifeq 7
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$wordTypes:Lorg/graalvm/compiler/word/WordTypes;
invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
goto 8
StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.core.common.type.ObjectStamp
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext new 5 new 5 org.graalvm.compiler.nodes.memory.address.AddressNode jdk.internal.vm.compiler.word.LocationIdentity
7: aload 7
StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.core.common.type.ObjectStamp
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext new 5 new 5 org.graalvm.compiler.nodes.memory.address.AddressNode jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp
8: getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
9: invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 8
start local 8 10: aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadObjectFieldIsHandle:Z
ifeq 14
11: aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$wordTypes:Lorg/graalvm/compiler/word/WordTypes;
invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
lconst_0
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 9
start local 9 12: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 8
aload 9
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 10
start local 10 13: aload 1
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 10
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.JAVA_THREAD_THREAD_OBJECT_HANDLE_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 7
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 8
end local 10 end local 9 14: StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode
StackMap stack:
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 8
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
15: iconst_1
ireturn
end local 8 end local 7 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 16 0 this Lorg/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins$12;
0 16 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 16 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 16 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
1 16 4 thread Lorg/graalvm/compiler/hotspot/nodes/CurrentJavaThreadNode;
2 16 5 offset Lorg/graalvm/compiler/nodes/ValueNode;
3 16 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
4 16 7 stamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
10 16 8 value Lorg/graalvm/compiler/nodes/memory/ReadNode;
12 14 9 handleOffset Lorg/graalvm/compiler/nodes/ValueNode;
13 14 10 handleAddress Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
}
SourceFile: "HotSpotGraphBuilderPlugins.java"
EnclosingMethod: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins.registerThreadPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
NestHost: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins
InnerClasses:
org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess