class com.oracle.svm.hosted.jdk.JNIRegistrationSupport$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.jdk.JNIRegistrationSupport$1
super_class: java.lang.Object
{
final com.oracle.svm.hosted.jdk.JNIRegistrationSupport this$0;
descriptor: Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.svm.hosted.jdk.JNIRegistrationSupport);
descriptor: (Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1 this
0: .line 66
aload 0 /* this */
aload 1
putfield com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1.this$0:Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport$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);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=5
start local 0 // com.oracle.svm.hosted.jdk.JNIRegistrationSupport$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 libnameNode
0: .line 69
aload 4 /* libnameNode */
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 4
1: .line 70
aload 4 /* libnameNode */
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
checkcast java.lang.String
astore 5 /* libname */
start local 5 // java.lang.String libname
2: .line 71
aload 5 /* libname */
ifnull 4
invokestatic com.oracle.svm.core.jdk.NativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/NativeLibrarySupport;
aload 5 /* libname */
invokevirtual com.oracle.svm.core.jdk.NativeLibrarySupport.isPreregisteredBuiltinLibrary:(Ljava/lang/String;)Z
ifeq 4
aload 0 /* this */
getfield com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1.this$0:Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport;
getfield com.oracle.svm.hosted.jdk.JNIRegistrationSupport.registeredLibraries:Ljava/util/concurrent/ConcurrentMap;
aload 5 /* libname */
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpeq 4
3: .line 79
aload 0 /* this */
getfield com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1.this$0:Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport;
getfield com.oracle.svm.hosted.jdk.JNIRegistrationSupport.nativeLibraries:Lcom/oracle/svm/hosted/c/NativeLibraries;
aload 5 /* libname */
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addStaticJniLibrary:(Ljava/lang/String;[Ljava/lang/String;)V
end local 5 // java.lang.String libname
4: .line 85
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 // org.graalvm.compiler.nodes.ValueNode libnameNode
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.jdk.JNIRegistrationSupport$1 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/jdk/JNIRegistrationSupport$1;
0 5 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 5 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 5 4 libnameNode Lorg/graalvm/compiler/nodes/ValueNode;
2 4 5 libname Ljava/lang/String;
MethodParameters:
Name Flags
b
targetMethod
receiver
libnameNode
}
SourceFile: "JNIRegistrationSupport.java"
EnclosingMethod: com.oracle.svm.hosted.jdk.JNIRegistrationSupport.registerNativeLibrary:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Ljava/lang/Class;Ljava/lang/String;)V
NestHost: com.oracle.svm.hosted.jdk.JNIRegistrationSupport
InnerClasses:
com.oracle.svm.hosted.jdk.JNIRegistrationSupport$1
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin