public class com.oracle.svm.jni.functions.JNIFunctionTablesFeature implements org.graalvm.nativeimage.hosted.Feature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.jni.functions.JNIFunctionTablesFeature
super_class: java.lang.Object
{
private final java.util.EnumSet<jdk.vm.ci.meta.JavaKind> jniKinds;
descriptor: Ljava/util/EnumSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/EnumSet<Ljdk/vm/ci/meta/JavaKind;>;
private com.oracle.svm.hosted.c.info.StructInfo functionTableMetadata;
descriptor: Lcom/oracle/svm/hosted/c/info/StructInfo;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.hosted.c.info.StructInfo invokeInterfaceMetadata;
descriptor: Lcom/oracle/svm/hosted/c/info/StructInfo;
flags: (0x0002) ACC_PRIVATE
private jdk.vm.ci.meta.ResolvedJavaMethod[] generatedMethods;
descriptor: [Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
bipush 9
anewarray jdk.vm.ci.meta.JavaKind
dup
iconst_0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_1
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_2
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_3
2: getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_4
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_5
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
bipush 6
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
bipush 7
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
bipush 8
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
aastore
3: invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
putfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
public java.util.List<java.lang.Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/svm/jni/access/JNIAccessFeature;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=30, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
astore 3
start local 3 2: invokestatic com.oracle.svm.jni.functions.JNIFunctionTables.create:()V
3: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getNativeLibraries:()Lcom/oracle/svm/hosted/c/NativeLibraries;
astore 4
start local 4 4: aload 3
ldc Lcom/oracle/svm/jni/nativeapi/JNIInvokeInterface;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 5
start local 5 5: aload 0
aload 4
aload 5
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.StructInfo
putfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.invokeInterfaceMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
6: aload 3
ldc Lcom/oracle/svm/jni/nativeapi/JNINativeInterface;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 6
start local 6 7: aload 0
aload 4
aload 6
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
checkcast com.oracle.svm.hosted.c.info.StructInfo
putfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
8: aload 3
ldc Lcom/oracle/svm/jni/functions/JNIInvocationInterface;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 7
start local 7 9: aload 3
ldc Lcom/oracle/svm/jni/functions/JNIInvocationInterface$Exports;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 8
start local 8 10: aload 3
ldc Lcom/oracle/svm/jni/functions/JNIFunctions;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 9
start local 9 11: iconst_3
anewarray com.oracle.graal.pointsto.meta.AnalysisType
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 8
aastore
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic apply()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;
com/oracle/svm/jni/functions/JNIFunctionTablesFeature.lambda$0(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/stream/Stream; (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
astore 10
start local 10 12: iconst_2
anewarray com.oracle.graal.pointsto.meta.AnalysisMethod
dup
iconst_0
aload 3
ldc Lcom/oracle/svm/jni/functions/JNIFunctions$UnimplementedWithJNIEnvArgument;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getSingleMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
aastore
dup
iconst_1
13: aload 3
ldc Lcom/oracle/svm/jni/functions/JNIFunctions$UnimplementedWithJavaVMArgument;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getSingleMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
aastore
14: invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
astore 11
start local 11 15: aload 10
aload 11
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
invokedynamic accept()Ljava/util/function/Consumer;
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;)V
com/oracle/svm/jni/functions/JNIFunctionTablesFeature.lambda$1(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
16: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 17: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.getWrapped:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 13
start local 13 18: aload 13
ldc Lcom/oracle/svm/jni/functions/JNIFunctions;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 14
start local 14 19: aload 14
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
iconst_0
aaload
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
astore 15
start local 15 20: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
astore 16
start local 16 21: aload 16
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
pop
22: aload 16
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 18
goto 37
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet top java.util.Iterator
StackMap stack:
23: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.JavaKind
astore 17
start local 17 24: iconst_2
newarray 4
dup
iconst_0
iconst_1
bastore
astore 19
start local 19 25: aload 19
dup
astore 23
arraylength
istore 22
iconst_0
istore 21
goto 36
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet jdk.vm.ci.meta.JavaKind java.util.Iterator boolean[] top int int boolean[]
StackMap stack:
26: aload 23
iload 21
baload
istore 20
start local 20 27: aload 19
dup
astore 27
arraylength
istore 26
iconst_0
istore 25
goto 34
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet jdk.vm.ci.meta.JavaKind java.util.Iterator boolean[] int int int boolean[] top int int boolean[]
StackMap stack:
28: aload 27
iload 25
baload
istore 24
start local 24 29: new com.oracle.svm.jni.hosted.JNIFieldAccessorMethod
dup
aload 17
iload 20
iload 24
aload 14
aload 15
aload 13
invokespecial com.oracle.svm.jni.hosted.JNIFieldAccessorMethod.<init>:(Ljdk/vm/ci/meta/JavaKind;ZZLjdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ConstantPool;Ljdk/vm/ci/meta/MetaAccessProvider;)V
astore 28
start local 28 30: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 28
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 29
start local 29 31: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
aload 29
invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 28
invokevirtual com.oracle.svm.jni.hosted.JNIFieldAccessorMethod.createEntryPointData:()Lcom/oracle/svm/hosted/code/CEntryPointData;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.registerAsEntryPoint:(Ljava/lang/Object;)V
32: aload 12
aload 28
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 29 end local 28 end local 24 33: iinc 25 1
StackMap locals:
StackMap stack:
34: iload 25
iload 26
if_icmplt 28
end local 20 35: iinc 21 1
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet jdk.vm.ci.meta.JavaKind java.util.Iterator boolean[] top int int boolean[]
StackMap stack:
36: iload 21
iload 22
if_icmplt 26
end local 19 end local 17 37: StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
38: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
astore 17
start local 17 39: aload 17
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
pop
40: aload 17
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
pop
41: aload 17
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 19
goto 51
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet java.util.EnumSet top java.util.Iterator
StackMap stack:
42: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.JavaKind
astore 18
start local 18 43: invokestatic com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod$Operation.values:()[Lcom/oracle/svm/jni/hosted/JNIPrimitiveArrayOperationMethod$Operation;
dup
astore 23
arraylength
istore 22
iconst_0
istore 21
goto 50
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet java.util.EnumSet jdk.vm.ci.meta.JavaKind java.util.Iterator top int int com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod$Operation[]
StackMap stack:
44: aload 23
iload 21
aaload
astore 20
start local 20 45: new com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod
dup
aload 18
aload 20
aload 14
aload 15
aload 13
invokespecial com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod.<init>:(Ljdk/vm/ci/meta/JavaKind;Lcom/oracle/svm/jni/hosted/JNIPrimitiveArrayOperationMethod$Operation;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ConstantPool;Ljdk/vm/ci/meta/MetaAccessProvider;)V
astore 24
start local 24 46: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 24
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 25
start local 25 47: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
aload 25
invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 24
invokevirtual com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod.createEntryPointData:()Lcom/oracle/svm/hosted/code/CEntryPointData;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.registerAsEntryPoint:(Ljava/lang/Object;)V
48: aload 12
aload 24
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 25 end local 24 end local 20 49: iinc 21 1
StackMap locals:
StackMap stack:
50: iload 21
iload 22
if_icmplt 44
end local 18 51: StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType java.util.stream.Stream java.util.stream.Stream java.util.ArrayList jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ConstantPool java.util.EnumSet java.util.EnumSet top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
52: aload 0
aload 12
iconst_0
anewarray jdk.vm.ci.meta.ResolvedJavaMethod
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod[]
putfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.generatedMethods:[Ljdk/vm/ci/meta/ResolvedJavaMethod;
53: return
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 54 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
0 54 1 arg Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
1 54 2 access Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
2 54 3 metaAccess Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
4 54 4 nativeLibraries Lcom/oracle/svm/hosted/c/NativeLibraries;
5 54 5 invokeInterface Lcom/oracle/graal/pointsto/meta/AnalysisType;
7 54 6 functionTable Lcom/oracle/graal/pointsto/meta/AnalysisType;
9 54 7 invokes Lcom/oracle/graal/pointsto/meta/AnalysisType;
10 54 8 exports Lcom/oracle/graal/pointsto/meta/AnalysisType;
11 54 9 functions Lcom/oracle/graal/pointsto/meta/AnalysisType;
12 54 10 analysisMethods Ljava/util/stream/Stream<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
15 54 11 unimplementedMethods Ljava/util/stream/Stream<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
17 54 12 generated Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
18 54 13 wrappedMetaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
19 54 14 generatedMethodClass Ljdk/vm/ci/meta/ResolvedJavaType;
20 54 15 constantPool Ljdk/vm/ci/meta/ConstantPool;
21 54 16 fldKinds Ljava/util/EnumSet<Ljdk/vm/ci/meta/JavaKind;>;
24 37 17 kind Ljdk/vm/ci/meta/JavaKind;
25 37 19 trueFalse [Z
27 35 20 isSetter Z
29 33 24 isStatic Z
30 33 28 method Lcom/oracle/svm/jni/hosted/JNIFieldAccessorMethod;
31 33 29 analysisMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
39 54 17 primitiveArrayKinds Ljava/util/EnumSet<Ljdk/vm/ci/meta/JavaKind;>;
43 51 18 kind Ljdk/vm/ci/meta/JavaKind;
45 49 20 op Lcom/oracle/svm/jni/hosted/JNIPrimitiveArrayOperationMethod$Operation;
46 49 24 method Lcom/oracle/svm/jni/hosted/JNIPrimitiveArrayOperationMethod;
47 49 25 analysisMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
arg
public void beforeCompilation(org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
astore 3
start local 3 2: aload 2
aload 3
ldc Lcom/oracle/svm/jni/functions/JNIFunctions$UnimplementedWithJavaVMArgument;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getSingleMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getStubFunctionPointer:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
astore 4
start local 4 3: aload 0
aload 2
invokestatic com.oracle.svm.jni.functions.JNIFunctionTables.singleton:()Lcom/oracle/svm/jni/functions/JNIFunctionTables;
getfield com.oracle.svm.jni.functions.JNIFunctionTables.invokeInterfaceDataPrototype:[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
aload 4
invokevirtual com.oracle.svm.jni.functions.JNIFunctionTablesFeature.fillJNIInvocationInterfaceTable:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
4: aload 2
aload 3
ldc Lcom/oracle/svm/jni/functions/JNIFunctions$UnimplementedWithJNIEnvArgument;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getSingleMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getStubFunctionPointer:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
astore 5
start local 5 5: aload 0
aload 2
invokestatic com.oracle.svm.jni.functions.JNIFunctionTables.singleton:()Lcom/oracle/svm/jni/functions/JNIFunctionTables;
getfield com.oracle.svm.jni.functions.JNIFunctionTables.functionTableData:[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
aload 5
invokevirtual com.oracle.svm.jni.functions.JNIFunctionTablesFeature.fillJNIFunctionsTable:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
6: return
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 7 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
0 7 1 a Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;
1 7 2 access Lcom/oracle/svm/hosted/FeatureImpl$BeforeCompilationAccessImpl;
2 7 3 metaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
3 7 4 unimplementedWithJavaVMArgument Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
5 7 5 unimplementedWithJNIEnvArgument Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
MethodParameters:
Name Flags
a
private static org.graalvm.nativeimage.c.function.CFunctionPointer prepareCallTrampoline(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl, com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant, boolean);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;Z)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.jni.access.JNIAccessFeature.singleton:()Lcom/oracle/svm/jni/access/JNIAccessFeature;
aload 1
iload 2
invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.getCallTrampolineMethod:(Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;Z)Lcom/oracle/svm/jni/hosted/JNICallTrampolineMethod;
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getBigBang:()Lcom/oracle/svm/hosted/analysis/Inflation;
invokevirtual com.oracle.svm.hosted.analysis.Inflation.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 4
start local 4 2: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
aload 4
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
astore 5
start local 5 3: aload 5
getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
aload 3
invokevirtual com.oracle.svm.jni.hosted.JNICallTrampolineMethod.createCustomParseFunction:()Lcom/oracle/svm/hosted/code/CompileQueue$ParseFunction;
invokevirtual com.oracle.svm.hosted.code.CompilationInfo.setCustomParseFunction:(Lcom/oracle/svm/hosted/code/CompileQueue$ParseFunction;)V
4: aload 5
getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
aload 3
invokevirtual com.oracle.svm.jni.hosted.JNICallTrampolineMethod.createCustomCompileFunction:()Lcom/oracle/svm/hosted/code/CompileQueue$CompileFunction;
invokevirtual com.oracle.svm.hosted.code.CompilationInfo.setCustomCompileFunction:(Lcom/oracle/svm/hosted/code/CompileQueue$CompileFunction;)V
5: aload 5
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
areturn
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 6 0 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 6 1 variant Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
0 6 2 nonVirtual Z
1 6 3 trampolineMethod Lcom/oracle/svm/jni/hosted/JNICallTrampolineMethod;
2 6 4 analysisTrampoline Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
3 6 5 hostedTrampoline Lcom/oracle/svm/hosted/meta/HostedMethod;
MethodParameters:
Name Flags
access
variant
nonVirtual
private static jdk.vm.ci.meta.ResolvedJavaMethod getSingleMethod(jdk.vm.ci.meta.MetaAccessProvider, java.lang.Class<?>);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
start local 2 1: getstatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.$assertionsDisabled:Z
ifne 2
aload 2
arraylength
iconst_1
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
aload 2
iconst_0
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 3 1 holder Ljava/lang/Class<*>;
1 3 2 methods [Ljdk/vm/ci/meta/ResolvedJavaMethod;
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
metaAccess
holder
private static org.graalvm.nativeimage.c.function.CFunctionPointer getStubFunctionPointer(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl, com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.getStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 2 1 method Lcom/oracle/svm/hosted/meta/HostedMethod;
1 2 2 stub Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
access
method
private void fillJNIInvocationInterfaceTable(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl, org.graalvm.nativeimage.c.function.CFunctionPointer[], org.graalvm.nativeimage.c.function.CFunctionPointer);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.initializeFunctionPointerTable:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
1: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
ldc Lcom/oracle/svm/jni/functions/JNIInvocationInterface;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 4
start local 4 2: aload 4
invokevirtual com.oracle.svm.hosted.meta.HostedType.getDeclaredMethods:()[Lcom/oracle/svm/hosted/meta/HostedMethod;
astore 5
start local 5 3: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] top int int com.oracle.svm.hosted.meta.HostedMethod[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.invokeInterfaceMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getName:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 10
start local 10 6: aload 10
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 11
start local 11 7: aload 2
iload 11
aload 1
aload 6
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getStubFunctionPointer:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 11 end local 10 end local 6 8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 4
10: return
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 11 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
0 11 1 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 11 2 table [Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
0 11 3 defaultValue Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
2 11 4 invokes Lcom/oracle/svm/hosted/meta/HostedType;
3 11 5 methods [Lcom/oracle/svm/hosted/meta/HostedMethod;
5 8 6 method Lcom/oracle/svm/hosted/meta/HostedMethod;
6 8 10 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
7 8 11 offset I
MethodParameters:
Name Flags
access
table
defaultValue
private void fillJNIFunctionsTable(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl, org.graalvm.nativeimage.c.function.CFunctionPointer[], org.graalvm.nativeimage.c.function.CFunctionPointer);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=23, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.initializeFunctionPointerTable:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
1: ldc Lcom/oracle/svm/jni/functions/JNIFunctions;
astore 4
start local 4 2: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 4
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.svm.hosted.meta.HostedType.getDeclaredMethods:()[Lcom/oracle/svm/hosted/meta/HostedMethod;
astore 6
start local 6 4: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 10
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] top int int com.oracle.svm.hosted.meta.HostedMethod[]
StackMap stack:
5: aload 10
iload 8
aaload
astore 7
start local 7 6: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getName:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 11
start local 11 7: aload 11
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 12
start local 12 8: aload 2
iload 12
aload 1
aload 7
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.getStubFunctionPointer:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 12 end local 11 end local 7 9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
iload 9
if_icmplt 5
11: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.generatedMethods:[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 20
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
12: aload 10
iload 8
aaload
astore 7
start local 7 13: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 11
start local 11 14: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getBigBang:()Lcom/oracle/svm/hosted/analysis/Inflation;
invokevirtual com.oracle.svm.hosted.analysis.Inflation.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
astore 12
start local 12 15: aload 12
aload 7
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 13
start local 13 16: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
aload 13
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
astore 14
start local 14 17: aload 11
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 15
start local 15 18: aload 2
iload 15
aload 14
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 7 19: iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
iload 9
if_icmplt 12
21: invokestatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.values:()[Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 47
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] top int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[]
StackMap stack:
22: aload 10
iload 8
aaload
astore 7
start local 7 23: aload 1
aload 7
iconst_0
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.prepareCallTrampoline:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;Z)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
astore 11
start local 11 24: aload 7
getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.ARRAY:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
if_acmpne 25
ldc "A"
goto 27
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[] org.graalvm.nativeimage.c.function.CFunctionPointer
StackMap stack:
25: aload 7
getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
if_acmpne 26
ldc "V"
goto 27
StackMap locals:
StackMap stack:
26: ldc ""
StackMap locals:
StackMap stack: java.lang.String
27: astore 12
start local 12 28: aload 1
aload 7
iconst_1
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.prepareCallTrampoline:(Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;Z)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
astore 13
start local 13 29: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 15
goto 42
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.String org.graalvm.nativeimage.c.function.CFunctionPointer top java.util.Iterator
StackMap stack:
30: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.JavaKind
astore 14
start local 14 31: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "Call"
aastore
dup
iconst_1
ldc "CallStatic"
aastore
astore 16
start local 16 32: aload 16
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 38
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.String org.graalvm.nativeimage.c.function.CFunctionPointer jdk.vm.ci.meta.JavaKind java.util.Iterator java.lang.String[] top int int java.lang.String[]
StackMap stack:
33: aload 20
iload 18
aaload
astore 17
start local 17 34: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
new java.lang.StringBuilder
dup
aload 17
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 21
start local 21 35: aload 21
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 22
start local 22 36: aload 2
iload 22
aload 11
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 22 end local 21 end local 17 37: iinc 18 1
StackMap locals:
StackMap stack:
38: iload 18
iload 19
if_icmplt 33
39: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
new java.lang.StringBuilder
dup
ldc "CallNonvirtual"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 17
start local 17 40: aload 17
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 18
start local 18 41: aload 2
iload 18
aload 13
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 18 end local 17 end local 16 end local 14 42: StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.String org.graalvm.nativeimage.c.function.CFunctionPointer top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
43: aload 0
getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
new java.lang.StringBuilder
dup
ldc "NewObject"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.findFieldFor:(Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
astore 14
start local 14 44: aload 14
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 15
start local 15 45: aload 2
iload 15
aload 11
invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 7 46: iinc 8 1
StackMap locals: com.oracle.svm.jni.functions.JNIFunctionTablesFeature com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl org.graalvm.nativeimage.c.function.CFunctionPointer[] org.graalvm.nativeimage.c.function.CFunctionPointer java.lang.Class com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod[] top int int com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant[]
StackMap stack:
47: iload 8
iload 9
if_icmplt 22
48: return
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 49 0 this Lcom/oracle/svm/jni/functions/JNIFunctionTablesFeature;
0 49 1 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 49 2 table [Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
0 49 3 defaultValue Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
2 49 4 clazz Ljava/lang/Class<Lcom/oracle/svm/jni/functions/JNIFunctions;>;
3 49 5 functions Lcom/oracle/svm/hosted/meta/HostedType;
4 49 6 methods [Lcom/oracle/svm/hosted/meta/HostedMethod;
6 9 7 method Lcom/oracle/svm/hosted/meta/HostedMethod;
7 9 11 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
8 9 12 offset I
13 19 7 accessor Ljdk/vm/ci/meta/ResolvedJavaMethod;
14 19 11 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
15 19 12 analysisUniverse Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
16 19 13 analysisMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
17 19 14 hostedMethod Lcom/oracle/svm/hosted/meta/HostedMethod;
18 19 15 offset I
23 46 7 variant Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
24 46 11 trampoline Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
28 46 12 suffix Ljava/lang/String;
29 46 13 nonvirtualTrampoline Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
31 42 14 kind Ljdk/vm/ci/meta/JavaKind;
32 42 16 prefixes [Ljava/lang/String;
34 37 17 prefix Ljava/lang/String;
35 37 21 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
36 37 22 offset I
40 42 17 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
41 42 18 offset I
44 46 14 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
45 46 15 offset I
MethodParameters:
Name Flags
access
table
defaultValue
private static com.oracle.svm.hosted.c.info.StructFieldInfo findFieldFor(com.oracle.svm.hosted.c.info.StructInfo, java.lang.String);
descriptor: (Lcom/oracle/svm/hosted/c/info/StructInfo;Ljava/lang/String;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.hosted.c.info.StructInfo.getChildren:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.svm.hosted.c.info.StructInfo java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.c.info.ElementInfo
astore 2
start local 2 2: aload 2
instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
ifeq 6
3: aload 2
checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 4
areturn
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: new java.lang.StringBuilder
dup
ldc "Cannot find JNI function table field for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 info Lcom/oracle/svm/hosted/c/info/StructInfo;
0 8 1 name Ljava/lang/String;
2 6 2 element Lcom/oracle/svm/hosted/c/info/ElementInfo;
4 6 4 field Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
MethodParameters:
Name Flags
info
name
private static void initializeFunctionPointerTable(com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl, org.graalvm.nativeimage.c.function.CFunctionPointer[], org.graalvm.nativeimage.c.function.CFunctionPointer);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 1
iload 3
aload 2
aastore
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 5: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.registerAsImmutable:(Ljava/lang/Object;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 access Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 7 1 table [Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
0 7 2 defaultValue Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
1 5 3 i I
MethodParameters:
Name Flags
access
table
defaultValue
private static void setFunctionPointerTable(org.graalvm.nativeimage.c.function.CFunctionPointer[], int, org.graalvm.nativeimage.c.function.CFunctionPointer);
descriptor: ([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.FrameAccess.wordSize:()I
istore 3
start local 3 1: iload 1
iload 3
irem
ifne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic com.oracle.svm.core.util.VMError.guarantee:(Z)V
4: aload 0
iload 1
iload 3
idiv
aload 2
aastore
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 table [Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
0 6 1 offsetInBytes I
0 6 2 value Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
1 6 3 wordSize I
MethodParameters:
Name Flags
table
offsetInBytes
value
private static java.util.stream.Stream lambda$0(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getDeclaredMethods:()[Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Lcom/oracle/graal/pointsto/meta/AnalysisType;
private static void lambda$1(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
invokestatic org.graalvm.util.GuardedAnnotationAccess.getAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.function.CEntryPoint
astore 1
start local 1 1: getstatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
ldc "only entry points allowed in class"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: org.graalvm.nativeimage.c.function.CEntryPoint
StackMap stack:
invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 0
aload 0
invokedynamic get(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/function/Supplier;
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;
com/oracle/svm/jni/functions/JNIFunctionTablesFeature.lambda$2(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/svm/hosted/code/CEntryPointData; (6)
()Lcom/oracle/svm/hosted/code/CEntryPointData;
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.registerStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/function/Supplier;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
pop
end local 1 3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
1 3 1 annotation Lorg/graalvm/nativeimage/c/function/CEntryPoint;
private static com.oracle.svm.hosted.code.CEntryPointData lambda$2(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/svm/hosted/code/CEntryPointData;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
0: aload 0
invokestatic com.oracle.svm.hosted.code.CEntryPointData.create:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/code/CEntryPointData;
astore 1
start local 1 1: getstatic com.oracle.svm.core.SubstrateOptions.JNIExportSymbols:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 3
aload 1
invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getPublishAs:()Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;
getstatic com.oracle.svm.core.c.function.CEntryPointOptions$Publish.NotPublished:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;
if_acmpeq 3
2: aload 1
getstatic com.oracle.svm.core.c.function.CEntryPointOptions$Publish.NotPublished:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;
invokevirtual com.oracle.svm.hosted.code.CEntryPointData.copyWithPublishAs:(Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;)Lcom/oracle/svm/hosted/code/CEntryPointData;
astore 1
3: StackMap locals: com.oracle.svm.hosted.code.CEntryPointData
StackMap stack:
aload 1
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
1 4 1 data Lcom/oracle/svm/hosted/code/CEntryPointData;
}
SourceFile: "JNIFunctionTablesFeature.java"
InnerClasses:
public final Publish = com.oracle.svm.core.c.function.CEntryPointOptions$Publish of com.oracle.svm.core.c.function.CEntryPointOptions
public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public BeforeCompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
public CompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
public abstract CompileFunction = com.oracle.svm.hosted.code.CompileQueue$CompileFunction of com.oracle.svm.hosted.code.CompileQueue
public abstract ParseFunction = com.oracle.svm.hosted.code.CompileQueue$ParseFunction of com.oracle.svm.hosted.code.CompileQueue
UnimplementedWithJNIEnvArgument = com.oracle.svm.jni.functions.JNIFunctions$UnimplementedWithJNIEnvArgument of com.oracle.svm.jni.functions.JNIFunctions
UnimplementedWithJavaVMArgument = com.oracle.svm.jni.functions.JNIFunctions$UnimplementedWithJavaVMArgument of com.oracle.svm.jni.functions.JNIFunctions
Exports = com.oracle.svm.jni.functions.JNIInvocationInterface$Exports of com.oracle.svm.jni.functions.JNIInvocationInterface
public final CallVariant = com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant of com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod
public final Operation = com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod$Operation of com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract BeforeCompilationAccess = org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess of org.graalvm.nativeimage.hosted.Feature