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: .line 80
            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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            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: .line 83
            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: .line 82
            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: .line 80
            return
        end local 0 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
         0: .line 93
            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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess arg
         0: .line 98
            aload 1 /* arg */
            checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
            astore 2 /* access */
        start local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
         1: .line 99
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            astore 3 /* metaAccess */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         2: .line 101
            invokestatic com.oracle.svm.jni.functions.JNIFunctionTables.create:()V
         3: .line 103
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getNativeLibraries:()Lcom/oracle/svm/hosted/c/NativeLibraries;
            astore 4 /* nativeLibraries */
        start local 4 // com.oracle.svm.hosted.c.NativeLibraries nativeLibraries
         4: .line 104
            aload 3 /* metaAccess */
            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 /* invokeInterface */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisType invokeInterface
         5: .line 105
            aload 0 /* this */
            aload 4 /* nativeLibraries */
            aload 5 /* invokeInterface */
            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: .line 106
            aload 3 /* metaAccess */
            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 /* functionTable */
        start local 6 // com.oracle.graal.pointsto.meta.AnalysisType functionTable
         7: .line 107
            aload 0 /* this */
            aload 4 /* nativeLibraries */
            aload 6 /* functionTable */
            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: .line 110
            aload 3 /* metaAccess */
            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 /* invokes */
        start local 7 // com.oracle.graal.pointsto.meta.AnalysisType invokes
         9: .line 111
            aload 3 /* metaAccess */
            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 /* exports */
        start local 8 // com.oracle.graal.pointsto.meta.AnalysisType exports
        10: .line 112
            aload 3 /* metaAccess */
            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 /* functions */
        start local 9 // com.oracle.graal.pointsto.meta.AnalysisType functions
        11: .line 113
            iconst_3
            anewarray com.oracle.graal.pointsto.meta.AnalysisType
            dup
            iconst_0
            aload 7 /* invokes */
            aastore
            dup
            iconst_1
            aload 9 /* functions */
            aastore
            dup
            iconst_2
            aload 8 /* exports */
            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 /* analysisMethods */
        start local 10 // java.util.stream.Stream analysisMethods
        12: .line 114
            iconst_2
            anewarray com.oracle.graal.pointsto.meta.AnalysisMethod
            dup
            iconst_0
            aload 3 /* metaAccess */
            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: .line 115
            aload 3 /* metaAccess */
            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: .line 114
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            astore 11 /* unimplementedMethods */
        start local 11 // java.util.stream.Stream unimplementedMethods
        15: .line 116
            aload 10 /* analysisMethods */
            aload 11 /* unimplementedMethods */
            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: .line 128
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* generated */
        start local 12 // java.util.ArrayList generated
        17: .line 129
            aload 3 /* metaAccess */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.getWrapped:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 13 /* wrappedMetaAccess */
        start local 13 // jdk.vm.ci.meta.MetaAccessProvider wrappedMetaAccess
        18: .line 130
            aload 13 /* wrappedMetaAccess */
            ldc Lcom/oracle/svm/jni/functions/JNIFunctions;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 14 /* generatedMethodClass */
        start local 14 // jdk.vm.ci.meta.ResolvedJavaType generatedMethodClass
        19: .line 131
            aload 14 /* generatedMethodClass */
            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 /* constantPool */
        start local 15 // jdk.vm.ci.meta.ConstantPool constantPool
        20: .line 133
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            astore 16 /* fldKinds */
        start local 16 // java.util.EnumSet fldKinds
        21: .line 134
            aload 16 /* fldKinds */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        22: .line 135
            aload 16 /* fldKinds */
            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 /* kind */
        start local 17 // jdk.vm.ci.meta.JavaKind kind
        24: .line 136
            iconst_2
            newarray 4
            dup
            iconst_0
            iconst_1
            bastore
            astore 19 /* trueFalse */
        start local 19 // boolean[] trueFalse
        25: .line 137
            aload 19 /* trueFalse */
            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 /* isSetter */
        start local 20 // boolean isSetter
        27: .line 138
            aload 19 /* trueFalse */
            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 /* isStatic */
        start local 24 // boolean isStatic
        29: .line 139
            new com.oracle.svm.jni.hosted.JNIFieldAccessorMethod
            dup
            aload 17 /* kind */
            iload 20 /* isSetter */
            iload 24 /* isStatic */
            aload 14 /* generatedMethodClass */
            aload 15 /* constantPool */
            aload 13 /* wrappedMetaAccess */
            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 /* method */
        start local 28 // com.oracle.svm.jni.hosted.JNIFieldAccessorMethod method
        30: .line 140
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 28 /* method */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 29 /* analysisMethod */
        start local 29 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        31: .line 141
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
            aload 29 /* analysisMethod */
            invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            aload 28 /* method */
            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: .line 142
            aload 12 /* generated */
            aload 28 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 29 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        end local 28 // com.oracle.svm.jni.hosted.JNIFieldAccessorMethod method
        end local 24 // boolean isStatic
        33: .line 138
            iinc 25 1
      StackMap locals:
      StackMap stack:
        34: iload 25
            iload 26
            if_icmplt 28
        end local 20 // boolean isSetter
        35: .line 137
            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 // boolean[] trueFalse
        end local 17 // jdk.vm.ci.meta.JavaKind kind
        37: .line 135
      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: .line 147
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.jniKinds:Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            astore 17 /* primitiveArrayKinds */
        start local 17 // java.util.EnumSet primitiveArrayKinds
        39: .line 148
            aload 17 /* primitiveArrayKinds */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        40: .line 149
            aload 17 /* primitiveArrayKinds */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        41: .line 150
            aload 17 /* primitiveArrayKinds */
            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 /* kind */
        start local 18 // jdk.vm.ci.meta.JavaKind kind
        43: .line 151
            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 /* op */
        start local 20 // com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod$Operation op
        45: .line 152
            new com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod
            dup
            aload 18 /* kind */
            aload 20 /* op */
            aload 14 /* generatedMethodClass */
            aload 15 /* constantPool */
            aload 13 /* wrappedMetaAccess */
            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 /* method */
        start local 24 // com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod method
        46: .line 153
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 24 /* method */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 25 /* analysisMethod */
        start local 25 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        47: .line 154
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
            aload 25 /* analysisMethod */
            invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            aload 24 /* method */
            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: .line 155
            aload 12 /* generated */
            aload 24 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 25 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        end local 24 // com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod method
        end local 20 // com.oracle.svm.jni.hosted.JNIPrimitiveArrayOperationMethod$Operation op
        49: .line 151
            iinc 21 1
      StackMap locals:
      StackMap stack:
        50: iload 21
            iload 22
            if_icmplt 44
        end local 18 // jdk.vm.ci.meta.JavaKind kind
        51: .line 150
      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: .line 158
            aload 0 /* this */
            aload 12 /* generated */
            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: .line 159
            return
        end local 17 // java.util.EnumSet primitiveArrayKinds
        end local 16 // java.util.EnumSet fldKinds
        end local 15 // jdk.vm.ci.meta.ConstantPool constantPool
        end local 14 // jdk.vm.ci.meta.ResolvedJavaType generatedMethodClass
        end local 13 // jdk.vm.ci.meta.MetaAccessProvider wrappedMetaAccess
        end local 12 // java.util.ArrayList generated
        end local 11 // java.util.stream.Stream unimplementedMethods
        end local 10 // java.util.stream.Stream analysisMethods
        end local 9 // com.oracle.graal.pointsto.meta.AnalysisType functions
        end local 8 // com.oracle.graal.pointsto.meta.AnalysisType exports
        end local 7 // com.oracle.graal.pointsto.meta.AnalysisType invokes
        end local 6 // com.oracle.graal.pointsto.meta.AnalysisType functionTable
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisType invokeInterface
        end local 4 // com.oracle.svm.hosted.c.NativeLibraries nativeLibraries
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess arg
        end local 0 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess a
         0: .line 163
            aload 1 /* a */
            checkcast com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl
            astore 2 /* access */
        start local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl access
         1: .line 164
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            astore 3 /* metaAccess */
        start local 3 // com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess
         2: .line 166
            aload 2 /* access */
            aload 3 /* metaAccess */
            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 /* unimplementedWithJavaVMArgument */
        start local 4 // org.graalvm.nativeimage.c.function.CFunctionPointer unimplementedWithJavaVMArgument
         3: .line 167
            aload 0 /* this */
            aload 2 /* access */
            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 /* unimplementedWithJavaVMArgument */
            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: .line 169
            aload 2 /* access */
            aload 3 /* metaAccess */
            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 /* unimplementedWithJNIEnvArgument */
        start local 5 // org.graalvm.nativeimage.c.function.CFunctionPointer unimplementedWithJNIEnvArgument
         5: .line 170
            aload 0 /* this */
            aload 2 /* access */
            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 /* unimplementedWithJNIEnvArgument */
            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: .line 171
            return
        end local 5 // org.graalvm.nativeimage.c.function.CFunctionPointer unimplementedWithJNIEnvArgument
        end local 4 // org.graalvm.nativeimage.c.function.CFunctionPointer unimplementedWithJavaVMArgument
        end local 3 // com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess
        end local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl access
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess a
        end local 0 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        start local 1 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant variant
        start local 2 // boolean nonVirtual
         0: .line 174
            invokestatic com.oracle.svm.jni.access.JNIAccessFeature.singleton:()Lcom/oracle/svm/jni/access/JNIAccessFeature;
            aload 1 /* variant */
            iload 2 /* nonVirtual */
            invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.getCallTrampolineMethod:(Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;Z)Lcom/oracle/svm/jni/hosted/JNICallTrampolineMethod;
            astore 3 /* trampolineMethod */
        start local 3 // com.oracle.svm.jni.hosted.JNICallTrampolineMethod trampolineMethod
         1: .line 175
            aload 0 /* access */
            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 /* trampolineMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 4 /* analysisTrampoline */
        start local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisTrampoline
         2: .line 176
            aload 0 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 4 /* analysisTrampoline */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 5 /* hostedTrampoline */
        start local 5 // com.oracle.svm.hosted.meta.HostedMethod hostedTrampoline
         3: .line 177
            aload 5 /* hostedTrampoline */
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 3 /* trampolineMethod */
            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: .line 178
            aload 5 /* hostedTrampoline */
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 3 /* trampolineMethod */
            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: .line 179
            aload 5 /* hostedTrampoline */
            invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            areturn
        end local 5 // com.oracle.svm.hosted.meta.HostedMethod hostedTrampoline
        end local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisTrampoline
        end local 3 // com.oracle.svm.jni.hosted.JNICallTrampolineMethod trampolineMethod
        end local 2 // boolean nonVirtual
        end local 1 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant variant
        end local 0 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
      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 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // java.lang.Class holder
         0: .line 183
            aload 0 /* metaAccess */
            aload 1 /* holder */
            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 /* methods */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
         1: .line 184
            getstatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.$assertionsDisabled:Z
            ifne 2
            aload 2 /* methods */
            arraylength
            iconst_1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 185
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
            aload 2 /* methods */
            iconst_0
            aaload
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
        end local 1 // java.lang.Class holder
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      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 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod method
         0: .line 189
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 1 /* method */
            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 /* stub */
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMethod stub
         1: .line 190
            aload 0 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 2 /* stub */
            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 // com.oracle.graal.pointsto.meta.AnalysisMethod stub
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod method
        end local 0 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
      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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        start local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        start local 3 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
         0: .line 194
            aload 1 /* access */
            aload 2 /* table */
            aload 3 /* defaultValue */
            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: .line 196
            aload 1 /* access */
            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 /* invokes */
        start local 4 // com.oracle.svm.hosted.meta.HostedType invokes
         2: .line 197
            aload 4 /* invokes */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getDeclaredMethods:()[Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 5 /* methods */
        start local 5 // com.oracle.svm.hosted.meta.HostedMethod[] methods
         3: .line 198
            aload 5 /* methods */
            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 /* method */
        start local 6 // com.oracle.svm.hosted.meta.HostedMethod method
         5: .line 199
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.invokeInterfaceMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
            aload 6 /* method */
            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 /* field */
        start local 10 // com.oracle.svm.hosted.c.info.StructFieldInfo field
         6: .line 200
            aload 10 /* field */
            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 /* offset */
        start local 11 // int offset
         7: .line 201
            aload 2 /* table */
            iload 11 /* offset */
            aload 1 /* access */
            aload 6 /* method */
            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 // int offset
        end local 10 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 6 // com.oracle.svm.hosted.meta.HostedMethod method
         8: .line 198
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 4
        10: .line 203
            return
        end local 5 // com.oracle.svm.hosted.meta.HostedMethod[] methods
        end local 4 // com.oracle.svm.hosted.meta.HostedType invokes
        end local 3 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
        end local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        end local 1 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        end local 0 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        start local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        start local 3 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
         0: .line 206
            aload 1 /* access */
            aload 2 /* table */
            aload 3 /* defaultValue */
            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: .line 208
            ldc Lcom/oracle/svm/jni/functions/JNIFunctions;
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
         2: .line 209
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 4 /* clazz */
            invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 5 /* functions */
        start local 5 // com.oracle.svm.hosted.meta.HostedType functions
         3: .line 210
            aload 5 /* functions */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getDeclaredMethods:()[Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 6 /* methods */
        start local 6 // com.oracle.svm.hosted.meta.HostedMethod[] methods
         4: .line 211
            aload 6 /* methods */
            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 /* method */
        start local 7 // com.oracle.svm.hosted.meta.HostedMethod method
         6: .line 212
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
            aload 7 /* method */
            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 /* field */
        start local 11 // com.oracle.svm.hosted.c.info.StructFieldInfo field
         7: .line 213
            aload 11 /* field */
            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 /* offset */
        start local 12 // int offset
         8: .line 214
            aload 2 /* table */
            iload 12 /* offset */
            aload 1 /* access */
            aload 7 /* method */
            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 // int offset
        end local 11 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 7 // com.oracle.svm.hosted.meta.HostedMethod method
         9: .line 211
            iinc 8 1
      StackMap locals:
      StackMap stack:
        10: iload 8
            iload 9
            if_icmplt 5
        11: .line 216
            aload 0 /* this */
            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 /* accessor */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
        13: .line 217
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
            aload 7 /* accessor */
            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 /* field */
        start local 11 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        14: .line 219
            aload 1 /* access */
            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 /* analysisUniverse */
        start local 12 // com.oracle.graal.pointsto.meta.AnalysisUniverse analysisUniverse
        15: .line 220
            aload 12 /* analysisUniverse */
            aload 7 /* accessor */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 13 /* analysisMethod */
        start local 13 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        16: .line 221
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 13 /* analysisMethod */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 14 /* hostedMethod */
        start local 14 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
        17: .line 223
            aload 11 /* field */
            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 /* offset */
        start local 15 // int offset
        18: .line 224
            aload 2 /* table */
            iload 15 /* offset */
            aload 14 /* hostedMethod */
            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 // int offset
        end local 14 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
        end local 13 // com.oracle.graal.pointsto.meta.AnalysisMethod analysisMethod
        end local 12 // com.oracle.graal.pointsto.meta.AnalysisUniverse analysisUniverse
        end local 11 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 7 // jdk.vm.ci.meta.ResolvedJavaMethod accessor
        19: .line 216
            iinc 8 1
      StackMap locals:
      StackMap stack:
        20: iload 8
            iload 9
            if_icmplt 12
        21: .line 226
            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 /* variant */
        start local 7 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant variant
        23: .line 227
            aload 1 /* access */
            aload 7 /* variant */
            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 /* trampoline */
        start local 11 // org.graalvm.nativeimage.c.function.CFunctionPointer trampoline
        24: .line 228
            aload 7 /* variant */
            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 /* variant */
            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 /* suffix */
        start local 12 // java.lang.String suffix
        28: .line 229
            aload 1 /* access */
            aload 7 /* variant */
            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 /* nonvirtualTrampoline */
        start local 13 // org.graalvm.nativeimage.c.function.CFunctionPointer nonvirtualTrampoline
        29: .line 230
            aload 0 /* this */
            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 /* kind */
        start local 14 // jdk.vm.ci.meta.JavaKind kind
        31: .line 231
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Call"
            aastore
            dup
            iconst_1
            ldc "CallStatic"
            aastore
            astore 16 /* prefixes */
        start local 16 // java.lang.String[] prefixes
        32: .line 232
            aload 16 /* prefixes */
            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 /* prefix */
        start local 17 // java.lang.String prefix
        34: .line 233
            aload 0 /* this */
            getfield com.oracle.svm.jni.functions.JNIFunctionTablesFeature.functionTableMetadata:Lcom/oracle/svm/hosted/c/info/StructInfo;
            new java.lang.StringBuilder
            dup
            aload 17 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* kind */
            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 /* suffix */
            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 /* field */
        start local 21 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        35: .line 234
            aload 21 /* field */
            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 /* offset */
        start local 22 // int offset
        36: .line 235
            aload 2 /* table */
            iload 22 /* offset */
            aload 11 /* trampoline */
            invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
        end local 22 // int offset
        end local 21 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 17 // java.lang.String prefix
        37: .line 232
            iinc 18 1
      StackMap locals:
      StackMap stack:
        38: iload 18
            iload 19
            if_icmplt 33
        39: .line 237
            aload 0 /* this */
            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 /* kind */
            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 /* suffix */
            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 /* field */
        start local 17 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        40: .line 238
            aload 17 /* field */
            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 /* offset */
        start local 18 // int offset
        41: .line 239
            aload 2 /* table */
            iload 18 /* offset */
            aload 13 /* nonvirtualTrampoline */
            invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
        end local 18 // int offset
        end local 17 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 16 // java.lang.String[] prefixes
        end local 14 // jdk.vm.ci.meta.JavaKind kind
        42: .line 230
      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: .line 241
            aload 0 /* this */
            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 /* suffix */
            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 /* field */
        start local 14 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        44: .line 242
            aload 14 /* field */
            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 /* offset */
        start local 15 // int offset
        45: .line 243
            aload 2 /* table */
            iload 15 /* offset */
            aload 11 /* trampoline */
            invokestatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.setFunctionPointerTable:([Lorg/graalvm/nativeimage/c/function/CFunctionPointer;ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
        end local 15 // int offset
        end local 14 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 13 // org.graalvm.nativeimage.c.function.CFunctionPointer nonvirtualTrampoline
        end local 12 // java.lang.String suffix
        end local 11 // org.graalvm.nativeimage.c.function.CFunctionPointer trampoline
        end local 7 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant variant
        46: .line 226
            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: .line 245
            return
        end local 6 // com.oracle.svm.hosted.meta.HostedMethod[] methods
        end local 5 // com.oracle.svm.hosted.meta.HostedType functions
        end local 4 // java.lang.Class clazz
        end local 3 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
        end local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        end local 1 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        end local 0 // com.oracle.svm.jni.functions.JNIFunctionTablesFeature this
      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 // com.oracle.svm.hosted.c.info.StructInfo info
        start local 1 // java.lang.String name
         0: .line 248
            aload 0 /* info */
            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 /* element */
        start local 2 // com.oracle.svm.hosted.c.info.ElementInfo element
         2: .line 249
            aload 2 /* element */
            instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
            ifeq 6
         3: .line 250
            aload 2 /* element */
            checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
            astore 4 /* field */
        start local 4 // com.oracle.svm.hosted.c.info.StructFieldInfo field
         4: .line 251
            aload 4 /* field */
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 252
            aload 4 /* field */
            areturn
        end local 4 // com.oracle.svm.hosted.c.info.StructFieldInfo field
        end local 2 // com.oracle.svm.hosted.c.info.ElementInfo element
         6: .line 248
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 256
            new java.lang.StringBuilder
            dup
            ldc "Cannot find JNI function table field for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.c.info.StructInfo info
      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 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
        start local 1 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        start local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
         0: .line 260
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 261
      StackMap locals: int
      StackMap stack:
            aload 1 /* table */
            iload 3 /* i */
            aload 2 /* defaultValue */
            aastore
         3: .line 260
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 1 /* table */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 267
            aload 0 /* access */
            aload 1 /* table */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.registerAsImmutable:(Ljava/lang/Object;)V
         6: .line 268
            return
        end local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer defaultValue
        end local 1 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        end local 0 // com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl access
      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 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
        start local 1 // int offsetInBytes
        start local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer value
         0: .line 271
            invokestatic com.oracle.svm.core.FrameAccess.wordSize:()I
            istore 3 /* wordSize */
        start local 3 // int wordSize
         1: .line 272
            iload 1 /* offsetInBytes */
            iload 3 /* wordSize */
            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: .line 273
            aload 0 /* table */
            iload 1 /* offsetInBytes */
            iload 3 /* wordSize */
            idiv
            aload 2 /* value */
            aastore
         5: .line 274
            return
        end local 3 // int wordSize
        end local 2 // org.graalvm.nativeimage.c.function.CFunctionPointer value
        end local 1 // int offsetInBytes
        end local 0 // org.graalvm.nativeimage.c.function.CFunctionPointer[] table
      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 // com.oracle.graal.pointsto.meta.AnalysisType t
         0: .line 113
            aload 0 /* t */
            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 // com.oracle.graal.pointsto.meta.AnalysisType t
      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 // com.oracle.graal.pointsto.meta.AnalysisMethod method
         0: .line 117
            aload 0 /* method */
            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 /* annotation */
        start local 1 // org.graalvm.nativeimage.c.function.CEntryPoint annotation
         1: .line 118
            getstatic com.oracle.svm.jni.functions.JNIFunctionTablesFeature.$assertionsDisabled:Z
            ifne 2
            aload 1 /* annotation */
            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: .line 119
      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 /* method */
            aload 0 /* method */
            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 // org.graalvm.nativeimage.c.function.CEntryPoint annotation
         3: .line 126
            return
        end local 0 // com.oracle.graal.pointsto.meta.AnalysisMethod method
      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: .line 120
            aload 0
            invokestatic com.oracle.svm.hosted.code.CEntryPointData.create:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/code/CEntryPointData;
            astore 1 /* data */
        start local 1 // com.oracle.svm.hosted.code.CEntryPointData data
         1: .line 121
            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 /* data */
            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: .line 122
            aload 1 /* data */
            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 /* data */
         3: .line 124
      StackMap locals: com.oracle.svm.hosted.code.CEntryPointData
      StackMap stack:
            aload 1 /* data */
            areturn
        end local 1 // com.oracle.svm.hosted.code.CEntryPointData data
      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