class com.oracle.svm.hosted.thread.VMThreadMTFeature$1 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.hosted.thread.VMThreadMTFeature$1
super_class: java.lang.Object
{
final com.oracle.svm.hosted.thread.VMThreadMTFeature this$0;
descriptor: Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.svm.hosted.thread.VMThreadMTFeature);
descriptor: (Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.svm.hosted.thread.VMThreadMTFeature$1 this
0: .line 110
aload 0 /* this */
aload 1
putfield com.oracle.svm.hosted.thread.VMThreadMTFeature$1.this$0:Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.svm.hosted.thread.VMThreadMTFeature$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature$1;
MethodParameters:
Name Flags
this$0 final
public boolean apply(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=6
start local 0 // com.oracle.svm.hosted.thread.VMThreadMTFeature$1 this
start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
start local 4 // org.graalvm.compiler.nodes.ValueNode expect
start local 5 // org.graalvm.compiler.nodes.ValueNode update
0: .line 113
aload 1 /* b */
invokestatic com.oracle.svm.hosted.thread.VMThreadMTFeature.currentThread:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6 /* threadNode */
start local 6 // org.graalvm.compiler.nodes.ValueNode threadNode
1: .line 114
aload 0 /* this */
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature$1.this$0:Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
aload 1 /* b */
aload 2 /* targetMethod */
aload 3 /* receiver */
aload 6 /* threadNode */
aload 4 /* expect */
aload 5 /* update */
invokevirtual com.oracle.svm.hosted.thread.VMThreadMTFeature.handleCompareAndSet:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
ireturn
end local 6 // org.graalvm.compiler.nodes.ValueNode threadNode
end local 5 // org.graalvm.compiler.nodes.ValueNode update
end local 4 // org.graalvm.compiler.nodes.ValueNode expect
end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
end local 0 // com.oracle.svm.hosted.thread.VMThreadMTFeature$1 this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature$1;
0 2 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 2 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 2 4 expect Lorg/graalvm/compiler/nodes/ValueNode;
0 2 5 update Lorg/graalvm/compiler/nodes/ValueNode;
1 2 6 threadNode Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
expect
update
}
SourceFile: "VMThreadMTFeature.java"
EnclosingMethod: com.oracle.svm.hosted.thread.VMThreadMTFeature.registerInvocationPlugins:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;ZZ)V
NestHost: com.oracle.svm.hosted.thread.VMThreadMTFeature
InnerClasses:
com.oracle.svm.hosted.thread.VMThreadMTFeature$1
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin