class com.oracle.svm.jni.functions.JNIInvocationInterface$Exports
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.jni.functions.JNIInvocationInterface$Exports
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/jni/functions/JNIInvocationInterface$Exports;
static int JNI_GetCreatedJavaVMs(com.oracle.svm.jni.nativeapi.JNIJavaVMPointer, int, org.graalvm.nativeimage.c.type.CIntPointer);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;ILorg/graalvm/nativeimage/c/type/CIntPointer;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokestatic com.oracle.svm.jni.JNIJavaVMList.gather:(Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;ILorg/graalvm/nativeimage/c/type/CIntPointer;)V
1: invokestatic com.oracle.svm.jni.nativeapi.JNIErrors.JNI_OK:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 vmBuf Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;
0 2 1 bufLen I
0 2 2 nVMs Lorg/graalvm/nativeimage/c/type/CIntPointer;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint(name = "JNI_GetCreatedJavaVMs")
com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoPrologue;, epilogue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoEpilogue;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.SymbolOnly:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;, include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;)
com.oracle.svm.core.annotate.Uninterruptible(reason = "No Java context.")
MethodParameters:
Name Flags
vmBuf
bufLen
nVMs
static int JNI_CreateJavaVM(com.oracle.svm.jni.nativeapi.JNIJavaVMPointer, com.oracle.svm.jni.nativeapi.JNIEnvironmentPointer, com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;Lcom/oracle/svm/jni/nativeapi/JNIEnvironmentPointer;Lcom/oracle/svm/jni/nativeapi/JNIJavaVMInitArgs;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 3
start local 3 1: aload 2
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs.isNonNull:()Z
ifeq 20
2: aload 2
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs.getOptions:()Lcom/oracle/svm/jni/nativeapi/JNIJavaVMOption;
checkcast org.graalvm.word.Pointer
astore 4
start local 4 3: aload 2
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs.getNOptions:()I
istore 5
start local 5 4: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 17
7: StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVMPointer com.oracle.svm.jni.nativeapi.JNIEnvironmentPointer com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs org.graalvm.nativeimage.c.type.WordPointer org.graalvm.word.Pointer int java.util.ArrayList int
StackMap stack:
aload 4
iload 7
ldc Lcom/oracle/svm/jni/nativeapi/JNIJavaVMOption;
invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
imul
invokeinterface org.graalvm.word.Pointer.add:(I)Lorg/graalvm/word/Pointer;
checkcast com.oracle.svm.jni.nativeapi.JNIJavaVMOption
astore 8
start local 8 8: aload 8
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMOption.getOptionString:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 9
start local 9 9: aload 9
invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.isNonNull:()Z
ifeq 16
10: aload 8
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMOption.getOptionString:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
astore 10
start local 10 11: aload 10
aload 8
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMOption.getExtraInfo:()Lorg/graalvm/nativeimage/c/type/WordPointer;
invokestatic com.oracle.svm.core.log.FunctionPointerLogHandler.parseVMOption:(Ljava/lang/String;Lorg/graalvm/nativeimage/c/type/WordPointer;)Z
ifne 16
12: aload 10
ldc "_javavm_id"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 8
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMOption.getExtraInfo:()Lorg/graalvm/nativeimage/c/type/WordPointer;
astore 3
14: goto 16
15: StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVMOption org.graalvm.nativeimage.c.type.CCharPointer java.lang.String
StackMap stack:
aload 6
aload 10
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 8 16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 5
if_icmplt 7
end local 7 18: invokestatic com.oracle.svm.core.log.FunctionPointerLogHandler.afterParsingVMOptions:()V
19: aload 6
iconst_0
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic com.oracle.svm.core.option.RuntimeOptionParser.parseAndConsumeAllOptions:([Ljava/lang/String;)[Ljava/lang/String;
pop
end local 6 end local 5 end local 4 20: StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVMPointer com.oracle.svm.jni.nativeapi.JNIEnvironmentPointer com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs org.graalvm.nativeimage.c.type.WordPointer
StackMap stack:
invokestatic com.oracle.svm.jni.functions.JNIFunctionTables.singleton:()Lcom/oracle/svm/jni/functions/JNIFunctionTables;
invokevirtual com.oracle.svm.jni.functions.JNIFunctionTables.getGlobalJavaVM:()Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
astore 4
start local 4 21: aload 4
invokestatic com.oracle.svm.jni.JNIJavaVMList.addJavaVM:(Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
22: aload 3
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.isNonNull:()Z
ifeq 25
23: invokestatic org.graalvm.compiler.serviceprovider.IsolateUtil.getIsolateID:()J
lstore 5
start local 5 24: aload 3
lload 5
invokestatic org.graalvm.word.WordFactory.pointer:(J)Lorg/graalvm/word/PointerBase;
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.write:(Lorg/graalvm/word/WordBase;)V
end local 5 25: StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVM
StackMap stack:
invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
new com.oracle.svm.jni.functions.JNIInvocationInterface$Exports$1
dup
aload 4
invokespecial com.oracle.svm.jni.functions.JNIInvocationInterface$Exports$1.<init>:(Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.addTearDownHook:(Ljava/lang/Runnable;)V
26: aload 0
aload 4
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMPointer.write:(Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
27: aload 1
invokestatic com.oracle.svm.jni.JNIThreadLocalEnvironment.getAddress:()Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
invokeinterface com.oracle.svm.jni.nativeapi.JNIEnvironmentPointer.write:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
28: invokestatic com.oracle.svm.jni.nativeapi.JNIErrors.JNI_OK:()I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 vmBuf Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;
0 29 1 penv Lcom/oracle/svm/jni/nativeapi/JNIEnvironmentPointer;
0 29 2 vmArgs Lcom/oracle/svm/jni/nativeapi/JNIJavaVMInitArgs;
1 29 3 javavmIdPointer Lorg/graalvm/nativeimage/c/type/WordPointer;
3 20 4 p Lorg/graalvm/word/Pointer;
4 20 5 count I
5 20 6 options Ljava/util/ArrayList<Ljava/lang/String;>;
6 18 7 i I
8 16 8 option Lcom/oracle/svm/jni/nativeapi/JNIJavaVMOption;
9 16 9 str Lorg/graalvm/nativeimage/c/type/CCharPointer;
11 16 10 optionString Ljava/lang/String;
21 29 4 javavm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
24 25 5 javavmId J
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint(name = "JNI_CreateJavaVM")
com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/jni/functions/JNIInvocationInterface$Exports$JNICreateJavaVMPrologue;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.SymbolOnly:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;, include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;)
MethodParameters:
Name Flags
vmBuf
penv
vmArgs
static int JNI_GetDefaultJavaVMInitArgs(com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVMInitArgs;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs.getVersion:()I
istore 1
start local 1 1: iload 1
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_8:()I
if_icmpeq 2
iload 1
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_6:()I
if_icmpeq 2
iload 1
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_4:()I
if_icmpeq 2
iload 1
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_2:()I
if_icmpne 3
2: StackMap locals: int
StackMap stack:
invokestatic com.oracle.svm.jni.nativeapi.JNIErrors.JNI_OK:()I
ireturn
3: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_1:()I
if_icmpne 5
4: aload 0
invokestatic com.oracle.svm.jni.nativeapi.JNIVersion.JNI_VERSION_1_2:()I
invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMInitArgs.setVersion:(I)V
5: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.jni.nativeapi.JNIErrors.JNI_ERR:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 vmArgs Lcom/oracle/svm/jni/nativeapi/JNIJavaVMInitArgs;
1 6 1 version I
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint(name = "JNI_GetDefaultJavaVMInitArgs")
com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoPrologue;, epilogue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoEpilogue;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.SymbolOnly:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;, include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;)
com.oracle.svm.core.annotate.Uninterruptible(reason = "No Java context")
MethodParameters:
Name Flags
vmArgs
}
SourceFile: "JNIInvocationInterface.java"
NestHost: com.oracle.svm.jni.functions.JNIInvocationInterface
InnerClasses:
public final Publish = com.oracle.svm.core.c.function.CEntryPointOptions$Publish of com.oracle.svm.core.c.function.CEntryPointOptions
Exports = com.oracle.svm.jni.functions.JNIInvocationInterface$Exports of com.oracle.svm.jni.functions.JNIInvocationInterface
com.oracle.svm.jni.functions.JNIInvocationInterface$Exports$1
JNICreateJavaVMPrologue = com.oracle.svm.jni.functions.JNIInvocationInterface$Exports$JNICreateJavaVMPrologue of com.oracle.svm.jni.functions.JNIInvocationInterface$Exports