public final class com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod extends com.oracle.svm.jni.hosted.JNIGeneratedMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod
  super_class: com.oracle.svm.jni.hosted.JNIGeneratedMethod
{
  private static final java.lang.ClassCastException cachedArgumentClassCastException;
    descriptor: Ljava/lang/ClassCastException;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.oracle.svm.hosted.c.NativeLibraries nativeLibs;
    descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ResolvedJavaType declaringClass;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ConstantPool constantPool;
    descriptor: Ljdk/vm/ci/meta/ConstantPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Executable reflectMethod;
    descriptor: Ljava/lang/reflect/Executable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant callVariant;
    descriptor: Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean nonVirtual;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ResolvedJavaMethod targetMethod;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.Signature signature;
    descriptor: Ljdk/vm/ci/meta/Signature;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 109
            ldc Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            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.hosted.JNIJavaCallWrapperMethod.$assertionsDisabled:Z
         3: .line 119
            new java.lang.ClassCastException
            dup
            ldc "Object argument to JNI call does not match type in Java signature"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.cachedArgumentClassCastException:Ljava/lang/ClassCastException;
         4: .line 120
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.cachedArgumentClassCastException:Ljava/lang/ClassCastException;
            iconst_0
            anewarray java.lang.StackTraceElement
            invokevirtual java.lang.ClassCastException.setStackTrace:([Ljava/lang/StackTraceElement;)V
         5: .line 121
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.reflect.Executable, com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant, boolean, jdk.vm.ci.meta.MetaAccessProvider, com.oracle.svm.hosted.c.NativeLibraries);
    descriptor: (Ljava/lang/reflect/Executable;Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;ZLjdk/vm/ci/meta/MetaAccessProvider;Lcom/oracle/svm/hosted/c/NativeLibraries;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
        start local 1 // java.lang.reflect.Executable reflectMethod
        start local 2 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant callVariant
        start local 3 // boolean nonVirtual
        start local 4 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 5 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
         0: .line 133
            aload 0 /* this */
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.<init>:()V
         1: .line 134
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.$assertionsDisabled:Z
            ifne 2
            iload 3 /* nonVirtual */
            ifeq 2
            aload 1 /* reflectMethod */
            invokevirtual java.lang.reflect.Executable.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 135
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod java.lang.reflect.Executable com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant int jdk.vm.ci.meta.MetaAccessProvider com.oracle.svm.hosted.c.NativeLibraries
      StackMap stack:
            aload 0 /* this */
            aload 4 /* metaAccess */
            ldc Lcom/oracle/svm/jni/JNIJavaCallWrappers;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.declaringClass:Ljdk/vm/ci/meta/ResolvedJavaType;
         3: .line 136
            aload 0 /* this */
            aload 4 /* metaAccess */
            invokestatic com.oracle.svm.jni.JNIJavaCallWrappers.getConstantPool:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ConstantPool;
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.constantPool:Ljdk/vm/ci/meta/ConstantPool;
         4: .line 137
            aload 0 /* this */
            aload 1 /* reflectMethod */
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.reflectMethod:Ljava/lang/reflect/Executable;
         5: .line 138
            aload 0 /* this */
            aload 5 /* nativeLibs */
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
         6: .line 139
            aload 0 /* this */
            aload 2 /* callVariant */
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
         7: .line 140
            aload 0 /* this */
            iload 3 /* nonVirtual */
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nonVirtual:Z
         8: .line 141
            aload 0 /* this */
            aload 4 /* metaAccess */
            aload 1 /* reflectMethod */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         9: .line 142
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* metaAccess */
            invokevirtual com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.createSignature:(Ljdk/vm/ci/meta/MetaAccessProvider;)Lcom/oracle/svm/hosted/code/SimpleSignature;
            putfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.signature:Ljdk/vm/ci/meta/Signature;
        10: .line 143
            return
        end local 5 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        end local 4 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 3 // boolean nonVirtual
        end local 2 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant callVariant
        end local 1 // java.lang.reflect.Executable reflectMethod
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            0   11     1  reflectMethod  Ljava/lang/reflect/Executable;
            0   11     2    callVariant  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            0   11     3     nonVirtual  Z
            0   11     4     metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   11     5     nativeLibs  Lcom/oracle/svm/hosted/c/NativeLibraries;
    MethodParameters:
               Name  Flags
      reflectMethod  
      callVariant    
      nonVirtual     
      metaAccess     
      nativeLibs     

  private com.oracle.svm.hosted.code.SimpleSignature createSignature(jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)Lcom/oracle/svm/hosted/code/SimpleSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 146
            aload 1 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* objectHandle */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType objectHandle
         1: .line 147
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* args */
        start local 3 // java.util.List args
         2: .line 148
            aload 3 /* args */
            aload 1 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 149
            aload 3 /* args */
            aload 2 /* objectHandle */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 150
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nonVirtual:Z
            ifeq 6
         5: .line 151
            aload 3 /* args */
            aload 2 /* objectHandle */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 153
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType java.util.List
      StackMap stack:
            aload 3 /* args */
            aload 1 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 154
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 4 /* targetSignature */
        start local 4 // jdk.vm.ci.meta.Signature targetSignature
         8: .line 155
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 22
         9: .line 156
            aload 4 /* targetSignature */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.toParameterTypes:(Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 20
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.Signature top int int jdk.vm.ci.meta.JavaType[]
      StackMap stack:
        10: aload 8
            iload 6
            aaload
            astore 5 /* targetArg */
        start local 5 // jdk.vm.ci.meta.JavaType targetArg
        11: .line 157
            aload 5 /* targetArg */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 9 /* kind */
        start local 9 // jdk.vm.ci.meta.JavaKind kind
        12: .line 158
            aload 9 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 15
        13: .line 159
            aload 3 /* args */
            aload 2 /* objectHandle */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 160
            goto 19
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType int int jdk.vm.ci.meta.JavaType[] jdk.vm.ci.meta.JavaKind
      StackMap stack:
        15: aload 9 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 18
        16: .line 161
            aload 3 /* args */
            aload 1 /* metaAccess */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 162
            goto 19
        18: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* args */
            aload 5 /* targetArg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // jdk.vm.ci.meta.JavaKind kind
        end local 5 // jdk.vm.ci.meta.JavaType targetArg
        19: .line 156
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.Signature top int int jdk.vm.ci.meta.JavaType[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        20: iload 6
            iload 7
            if_icmplt 10
        21: .line 166
            goto 29
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType java.util.List jdk.vm.ci.meta.Signature
      StackMap stack:
        22: aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.ARRAY:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 25
        23: .line 167
            aload 3 /* args */
            aload 1 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIValue;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 168
            goto 29
      StackMap locals:
      StackMap stack:
        25: aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 28
        26: .line 169
            aload 3 /* args */
            aload 1 /* metaAccess */
            ldc Lorg/graalvm/word/WordBase;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 170
            goto 29
        28: .line 171
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        29: .line 173
      StackMap locals:
      StackMap stack:
            aload 4 /* targetSignature */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 5 /* returnType */
        start local 5 // jdk.vm.ci.meta.JavaType returnType
        30: .line 174
            aload 5 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifne 31
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 32
        31: .line 176
      StackMap locals: jdk.vm.ci.meta.JavaType
      StackMap stack:
            aload 2 /* objectHandle */
            astore 5 /* returnType */
        32: .line 178
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.code.SimpleSignature
            dup
            aload 3 /* args */
            aload 5 /* returnType */
            invokespecial com.oracle.svm.hosted.code.SimpleSignature.<init>:(Ljava/util/List;Ljdk/vm/ci/meta/JavaType;)V
            areturn
        end local 5 // jdk.vm.ci.meta.JavaType returnType
        end local 4 // jdk.vm.ci.meta.Signature targetSignature
        end local 3 // java.util.List args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType objectHandle
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   33     0             this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            0   33     1       metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            1   33     2     objectHandle  Ljdk/vm/ci/meta/ResolvedJavaType;
            2   33     3             args  Ljava/util/List<Ljdk/vm/ci/meta/JavaType;>;
            8   33     4  targetSignature  Ljdk/vm/ci/meta/Signature;
           11   19     5        targetArg  Ljdk/vm/ci/meta/JavaType;
           12   19     9             kind  Ljdk/vm/ci/meta/JavaKind;
           30   33     5       returnType  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
            Name  Flags
      metaAccess  

  public org.graalvm.compiler.nodes.StructuredGraph buildGraph(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, com.oracle.graal.pointsto.meta.HostedProviders, com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/graal/pointsto/meta/HostedProviders;Lcom/oracle/graal/pointsto/infrastructure/GraphProvider$Purpose;)Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=25, args_size=5
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // com.oracle.graal.pointsto.meta.HostedProviders providers
        start local 4 // com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose purpose
         0: .line 183
            aload 3 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            checkcast com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess
            astore 5 /* metaAccess */
        start local 5 // com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess metaAccess
         1: .line 184
            new com.oracle.svm.jni.hosted.JNIGraphKit
            dup
            aload 1 /* debug */
            aload 3 /* providers */
            aload 2 /* method */
            invokespecial com.oracle.svm.jni.hosted.JNIGraphKit.<init>:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            astore 6 /* kit */
        start local 6 // com.oracle.svm.jni.hosted.JNIGraphKit kit
         2: .line 185
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 7 /* graph */
        start local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 186
            new org.graalvm.compiler.java.FrameStateBuilder
            dup
            aconst_null
            aload 2 /* method */
            aload 7 /* graph */
            invokespecial org.graalvm.compiler.java.FrameStateBuilder.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 8 /* state */
        start local 8 // org.graalvm.compiler.java.FrameStateBuilder state
         4: .line 187
            aload 8 /* state */
            aconst_null
            iconst_1
            aload 3 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.initializeForMethodStart:(Ljdk/vm/ci/meta/Assumptions;ZLorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
         5: .line 189
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
            invokevirtual com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 9 /* vmThreadKind */
        start local 9 // jdk.vm.ci.meta.JavaKind vmThreadKind
         6: .line 190
            aload 6 /* kit */
            iconst_0
            aload 9 /* vmThreadKind */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadLocal:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* vmThread */
        start local 10 // org.graalvm.compiler.nodes.ValueNode vmThread
         7: .line 191
            aload 6 /* kit */
            aload 10 /* vmThread */
            invokestatic com.oracle.svm.core.graal.nodes.CEntryPointEnterNode.enter:(Lorg/graalvm/compiler/nodes/ValueNode;)Lcom/oracle/svm/core/graal/nodes/CEntryPointEnterNode;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         8: .line 193
            aload 3 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.reflectMethod:Ljava/lang/reflect/Executable;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 11 /* invokeMethod */
        start local 11 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
         9: .line 194
            aload 11 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 12 /* invokeSignature */
        start local 12 // jdk.vm.ci.meta.Signature invokeSignature
        10: .line 195
            aload 0 /* this */
            aload 6 /* kit */
            aload 3 /* providers */
            aload 11 /* invokeMethod */
            aload 12 /* invokeSignature */
            invokevirtual com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.loadAndUnboxArguments:(Lcom/oracle/svm/jni/hosted/JNIGraphKit;Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Ljava/util/List;
            astore 13 /* argsWithTypes */
        start local 13 // java.util.List argsWithTypes
        11: .line 196
            aload 12 /* invokeSignature */
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* returnKind */
        start local 14 // jdk.vm.ci.meta.JavaKind returnKind
        12: .line 197
            aload 11 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 15
        13: .line 198
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.$assertionsDisabled:Z
            ifne 14
            aload 14 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 199
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.graal.pointsto.meta.HostedProviders com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess com.oracle.svm.jni.hosted.JNIGraphKit org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.java.FrameStateBuilder jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature java.util.List jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* returnKind */
        15: .line 202
      StackMap locals:
      StackMap stack:
            aload 6 /* kit */
            aconst_null
            ldc 0.99
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.startIf:(Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/IfNode;
            astore 15 /* ifNode */
        start local 15 // org.graalvm.compiler.nodes.IfNode ifNode
        16: .line 204
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.thenPart:()V
        17: .line 205
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.LogicConstantNode.tautology:(Lorg/graalvm/compiler/graph/Graph;)Lorg/graalvm/compiler/nodes/LogicConstantNode;
            astore 16 /* typeChecks */
        start local 16 // org.graalvm.compiler.nodes.LogicNode typeChecks
        18: .line 206
            aload 13 /* argsWithTypes */
            invokeinterface java.util.List.size:()I
            anewarray org.graalvm.compiler.nodes.ValueNode
            astore 17 /* args */
        start local 17 // org.graalvm.compiler.nodes.ValueNode[] args
        19: .line 207
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        20: goto 31
        21: .line 208
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod com.oracle.graal.pointsto.meta.HostedProviders com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess com.oracle.svm.jni.hosted.JNIGraphKit org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.java.FrameStateBuilder jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature java.util.List jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ValueNode[] int
      StackMap stack:
            aload 13 /* argsWithTypes */
            iload 18 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.collections.Pair
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 19 /* value */
        start local 19 // org.graalvm.compiler.nodes.ValueNode value
        22: .line 209
            aload 13 /* argsWithTypes */
            iload 18 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.collections.Pair
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 20 /* type */
        start local 20 // jdk.vm.ci.meta.ResolvedJavaType type
        23: .line 210
            aload 20 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
            ifne 29
            aload 20 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 29
        24: .line 211
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 20 /* type */
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 21 /* typeRef */
        start local 21 // org.graalvm.compiler.core.common.type.TypeReference typeRef
        25: .line 212
            aload 6 /* kit */
            aload 21 /* typeRef */
            aload 19 /* value */
            aconst_null
            aconst_null
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.createAllowNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 22 /* instanceOf */
        start local 22 // org.graalvm.compiler.nodes.LogicNode instanceOf
        26: .line 213
            aload 16 /* typeChecks */
            aload 22 /* instanceOf */
            ldc 0.99
            invokestatic org.graalvm.compiler.nodes.LogicNode.and:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 16 /* typeChecks */
        27: .line 214
            aload 6 /* kit */
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 22 /* instanceOf */
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 23 /* guard */
        start local 23 // org.graalvm.compiler.nodes.FixedGuardNode guard
        28: .line 215
            aload 6 /* kit */
            aload 19 /* value */
            aload 21 /* typeRef */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
            aload 23 /* guard */
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 19 /* value */
        end local 23 // org.graalvm.compiler.nodes.FixedGuardNode guard
        end local 22 // org.graalvm.compiler.nodes.LogicNode instanceOf
        end local 21 // org.graalvm.compiler.core.common.type.TypeReference typeRef
        29: .line 217
      StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 17 /* args */
            iload 18 /* i */
            aload 19 /* value */
            aastore
        end local 20 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 19 // org.graalvm.compiler.nodes.ValueNode value
        30: .line 207
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 18 /* i */
            aload 13 /* argsWithTypes */
            invokeinterface java.util.List.size:()I
            if_icmplt 21
        end local 18 // int i
        32: .line 219
            aload 15 /* ifNode */
            aload 16 /* typeChecks */
            invokevirtual org.graalvm.compiler.nodes.IfNode.setCondition:(Lorg/graalvm/compiler/nodes/LogicNode;)V
        33: .line 221
            aload 11 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 34
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            goto 37
        34: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nonVirtual:Z
            ifne 35
            aload 11 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 36
      StackMap locals:
      StackMap stack:
        35: getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            goto 37
      StackMap locals:
      StackMap stack:
        36: getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
        37: .line 221
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
            astore 18 /* kind */
        start local 18 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
        38: .line 223
            aload 6 /* kit */
            aload 11 /* invokeMethod */
            aload 18 /* kind */
            aload 8 /* state */
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.bci:()I
            aload 17 /* args */
            invokestatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.createInvoke:(Lcom/oracle/svm/jni/hosted/JNIGraphKit;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 19 /* invokeResult */
        start local 19 // org.graalvm.compiler.nodes.ValueNode invokeResult
        39: .line 224
            aload 11 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 41
        40: .line 225
            aload 17 /* args */
            iconst_0
            aaload
            astore 19 /* invokeResult */
        41: .line 228
      StackMap locals: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.elsePart:()V
        42: .line 229
            aload 6 /* kit */
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.cachedArgumentClassCastException:Ljava/lang/ClassCastException;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createObject:(Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 20 /* exceptionObject */
        start local 20 // org.graalvm.compiler.nodes.ConstantNode exceptionObject
        43: .line 230
            aload 6 /* kit */
            aload 20 /* exceptionObject */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.setPendingException:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            pop
        44: .line 231
            aconst_null
            astore 21 /* typeMismatchResult */
        start local 21 // org.graalvm.compiler.nodes.ValueNode typeMismatchResult
        45: .line 232
            aload 14 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 47
        46: .line 233
            aload 6 /* kit */
            aload 14 /* returnKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.defaultForKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 21 /* typeMismatchResult */
        47: .line 236
      StackMap locals: org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.endIf:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 22 /* merge */
        start local 22 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        48: .line 238
            aconst_null
            astore 23 /* returnValue */
        start local 23 // org.graalvm.compiler.nodes.ValueNode returnValue
        49: .line 239
            aload 14 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 53
        50: .line 240
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 19 /* invokeResult */
            aastore
            dup
            iconst_1
            aload 21 /* typeMismatchResult */
            aastore
            astore 24 /* inputs */
        start local 24 // org.graalvm.compiler.nodes.ValueNode[] inputs
        51: .line 241
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 19 /* invokeResult */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 22 /* merge */
            aload 24 /* inputs */
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 23 /* returnValue */
        52: .line 242
            aload 8 /* state */
            aload 14 /* returnKind */
            aload 23 /* returnValue */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 24 // org.graalvm.compiler.nodes.ValueNode[] inputs
        53: .line 244
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 22 /* merge */
            aload 8 /* state */
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.bci:()I
            aload 22 /* merge */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        54: .line 245
            aload 14 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 58
        55: .line 246
            aload 8 /* state */
            aload 14 /* returnKind */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.pop:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        56: .line 247
            aload 14 /* returnKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 58
        57: .line 248
            aload 6 /* kit */
            aload 23 /* returnValue */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.boxObjectInLocalHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 23 /* returnValue */
        58: .line 251
      StackMap locals:
      StackMap stack:
            aload 6 /* kit */
            aload 8 /* state */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.appendStateSplitProxy:(Lorg/graalvm/compiler/java/FrameStateBuilder;)V
        59: .line 252
            new com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode
            dup
            getstatic com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode$LeaveAction.Leave:Lcom/oracle/svm/core/graal/nodes/CEntryPointLeaveNode$LeaveAction;
            invokespecial com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode.<init>:(Lcom/oracle/svm/core/graal/nodes/CEntryPointLeaveNode$LeaveAction;)V
            astore 24 /* leave */
        start local 24 // com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode leave
        60: .line 253
            aload 6 /* kit */
            aload 24 /* leave */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        61: .line 254
            aload 6 /* kit */
            aload 23 /* returnValue */
            aload 14 /* returnKind */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createReturn:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        62: .line 256
            aload 6 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.finalizeGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            areturn
        end local 24 // com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode leave
        end local 23 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 22 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 21 // org.graalvm.compiler.nodes.ValueNode typeMismatchResult
        end local 20 // org.graalvm.compiler.nodes.ConstantNode exceptionObject
        end local 19 // org.graalvm.compiler.nodes.ValueNode invokeResult
        end local 18 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
        end local 17 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 16 // org.graalvm.compiler.nodes.LogicNode typeChecks
        end local 15 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 14 // jdk.vm.ci.meta.JavaKind returnKind
        end local 13 // java.util.List argsWithTypes
        end local 12 // jdk.vm.ci.meta.Signature invokeSignature
        end local 11 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
        end local 10 // org.graalvm.compiler.nodes.ValueNode vmThread
        end local 9 // jdk.vm.ci.meta.JavaKind vmThreadKind
        end local 8 // org.graalvm.compiler.java.FrameStateBuilder state
        end local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 6 // com.oracle.svm.jni.hosted.JNIGraphKit kit
        end local 5 // com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess metaAccess
        end local 4 // com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose purpose
        end local 3 // com.oracle.graal.pointsto.meta.HostedProviders providers
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   63     0                this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            0   63     1               debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   63     2              method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   63     3           providers  Lcom/oracle/graal/pointsto/meta/HostedProviders;
            0   63     4             purpose  Lcom/oracle/graal/pointsto/infrastructure/GraphProvider$Purpose;
            1   63     5          metaAccess  Lcom/oracle/graal/pointsto/infrastructure/UniverseMetaAccess;
            2   63     6                 kit  Lcom/oracle/svm/jni/hosted/JNIGraphKit;
            3   63     7               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   63     8               state  Lorg/graalvm/compiler/java/FrameStateBuilder;
            6   63     9        vmThreadKind  Ljdk/vm/ci/meta/JavaKind;
            7   63    10            vmThread  Lorg/graalvm/compiler/nodes/ValueNode;
            9   63    11        invokeMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           10   63    12     invokeSignature  Ljdk/vm/ci/meta/Signature;
           11   63    13       argsWithTypes  Ljava/util/List<Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;>;>;
           12   63    14          returnKind  Ljdk/vm/ci/meta/JavaKind;
           16   63    15              ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           18   63    16          typeChecks  Lorg/graalvm/compiler/nodes/LogicNode;
           19   63    17                args  [Lorg/graalvm/compiler/nodes/ValueNode;
           20   32    18                   i  I
           22   30    19               value  Lorg/graalvm/compiler/nodes/ValueNode;
           23   30    20                type  Ljdk/vm/ci/meta/ResolvedJavaType;
           25   29    21             typeRef  Lorg/graalvm/compiler/core/common/type/TypeReference;
           26   29    22          instanceOf  Lorg/graalvm/compiler/nodes/LogicNode;
           28   29    23               guard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           38   63    18                kind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
           39   63    19        invokeResult  Lorg/graalvm/compiler/nodes/ValueNode;
           43   63    20     exceptionObject  Lorg/graalvm/compiler/nodes/ConstantNode;
           45   63    21  typeMismatchResult  Lorg/graalvm/compiler/nodes/ValueNode;
           48   63    22               merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           49   63    23         returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
           51   53    24              inputs  [Lorg/graalvm/compiler/nodes/ValueNode;
           60   63    24               leave  Lcom/oracle/svm/core/graal/nodes/CEntryPointLeaveNode;
    MethodParameters:
           Name  Flags
      debug      
      method     
      providers  
      purpose    

  private static org.graalvm.compiler.nodes.ValueNode createInvoke(com.oracle.svm.jni.hosted.JNIGraphKit, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.java.FrameStateBuilder, int, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lcom/oracle/svm/jni/hosted/JNIGraphKit;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // com.oracle.svm.jni.hosted.JNIGraphKit kit
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
        start local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
        start local 3 // org.graalvm.compiler.java.FrameStateBuilder state
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 260
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getAndClearPendingException:()Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 6 /* formerPendingException */
        start local 6 // org.graalvm.compiler.nodes.ValueNode formerPendingException
         1: .line 262
            aload 0 /* kit */
            aload 1 /* invokeMethod */
            aload 2 /* kind */
            aload 3 /* state */
            iload 4 /* bci */
            aload 5 /* args */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.startInvokeWithException:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 7 /* invoke */
        start local 7 // org.graalvm.compiler.nodes.InvokeWithExceptionNode invoke
         2: .line 264
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.noExceptionPart:()V
         3: .line 265
            aload 0 /* kit */
            aload 6 /* formerPendingException */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.setPendingException:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            pop
         4: .line 267
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.exceptionPart:()V
         5: .line 268
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.exceptionObject:()Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
            astore 8 /* exceptionObject */
        start local 8 // org.graalvm.compiler.nodes.java.ExceptionObjectNode exceptionObject
         6: .line 269
            aload 0 /* kit */
            aload 8 /* exceptionObject */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.setPendingException:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            pop
         7: .line 270
            aconst_null
            astore 9 /* exceptionValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode exceptionValue
         8: .line 271
            aload 7 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 10
         9: .line 272
            aload 0 /* kit */
            aload 7 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.defaultForKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 9 /* exceptionValue */
        10: .line 275
      StackMap locals: com.oracle.svm.jni.hosted.JNIGraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.CallTargetNode$InvokeKind org.graalvm.compiler.java.FrameStateBuilder int org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.InvokeWithExceptionNode org.graalvm.compiler.nodes.java.ExceptionObjectNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.endInvokeWithException:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 10 /* merge */
        start local 10 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        11: .line 276
            aconst_null
            astore 11 /* returnValue */
        start local 11 // org.graalvm.compiler.nodes.ValueNode returnValue
        12: .line 277
            aload 1 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* returnKind */
        start local 12 // jdk.vm.ci.meta.JavaKind returnKind
        13: .line 278
            aload 7 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 17
        14: .line 279
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 7 /* invoke */
            aastore
            dup
            iconst_1
            aload 9 /* exceptionValue */
            aastore
            astore 13 /* inputs */
        start local 13 // org.graalvm.compiler.nodes.ValueNode[] inputs
        15: .line 280
            aload 0 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 7 /* invoke */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 10 /* merge */
            aload 13 /* inputs */
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 11 /* returnValue */
        16: .line 281
            aload 3 /* state */
            aload 12 /* returnKind */
            aload 11 /* returnValue */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 13 // org.graalvm.compiler.nodes.ValueNode[] inputs
        17: .line 283
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 10 /* merge */
            aload 3 /* state */
            iload 4 /* bci */
            aload 10 /* merge */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        18: .line 284
            aload 7 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 20
        19: .line 285
            aload 3 /* state */
            aload 12 /* returnKind */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.pop:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        20: .line 287
      StackMap locals:
      StackMap stack:
            aload 11 /* returnValue */
            areturn
        end local 12 // jdk.vm.ci.meta.JavaKind returnKind
        end local 11 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 10 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 9 // org.graalvm.compiler.nodes.ValueNode exceptionValue
        end local 8 // org.graalvm.compiler.nodes.java.ExceptionObjectNode exceptionObject
        end local 7 // org.graalvm.compiler.nodes.InvokeWithExceptionNode invoke
        end local 6 // org.graalvm.compiler.nodes.ValueNode formerPendingException
        end local 5 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 4 // int bci
        end local 3 // org.graalvm.compiler.java.FrameStateBuilder state
        end local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
        end local 0 // com.oracle.svm.jni.hosted.JNIGraphKit kit
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                     kit  Lcom/oracle/svm/jni/hosted/JNIGraphKit;
            0   21     1            invokeMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   21     2                    kind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0   21     3                   state  Lorg/graalvm/compiler/java/FrameStateBuilder;
            0   21     4                     bci  I
            0   21     5                    args  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   21     6  formerPendingException  Lorg/graalvm/compiler/nodes/ValueNode;
            2   21     7                  invoke  Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            6   21     8         exceptionObject  Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
            8   21     9          exceptionValue  Lorg/graalvm/compiler/nodes/ValueNode;
           11   21    10                   merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           12   21    11             returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
           13   21    12              returnKind  Ljdk/vm/ci/meta/JavaKind;
           15   17    13                  inputs  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      kit           
      invokeMethod  
      kind          
      state         
      bci           
      args          

  private java.util.List<org.graalvm.collections.Pair<org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType>> loadAndUnboxArguments(com.oracle.svm.jni.hosted.JNIGraphKit, com.oracle.graal.pointsto.meta.HostedProviders, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature);
    descriptor: (Lcom/oracle/svm/jni/hosted/JNIGraphKit;Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=23, args_size=5
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
        start local 1 // com.oracle.svm.jni.hosted.JNIGraphKit kit
        start local 2 // com.oracle.graal.pointsto.meta.HostedProviders providers
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
        start local 4 // jdk.vm.ci.meta.Signature invokeSignature
         0: .line 291
            aload 2 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 5 /* metaAccess */
        start local 5 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         1: .line 292
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* args */
        start local 6 // java.util.List args
         2: .line 293
            iconst_0
            istore 7 /* javaIndex */
        start local 7 // int javaIndex
         3: .line 294
            iload 7 /* javaIndex */
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            iadd
            istore 7 /* javaIndex */
         4: .line 295
            aload 3 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifne 21
         5: .line 296
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* kind */
        start local 8 // jdk.vm.ci.meta.JavaKind kind
         6: .line 297
            aload 1 /* kit */
            iload 7 /* javaIndex */
            aload 8 /* kind */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadLocal:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* handle */
        start local 9 // org.graalvm.compiler.nodes.ValueNode handle
         7: .line 298
            aload 1 /* kit */
            aload 9 /* handle */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unboxHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 10 /* unboxed */
        start local 10 // org.graalvm.compiler.nodes.ValueNode unboxed
         8: .line 300
            aload 3 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 12 /* receiverClass */
        start local 12 // jdk.vm.ci.meta.ResolvedJavaType receiverClass
         9: .line 301
            aload 3 /* invokeMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 19
        10: .line 308
            aload 2 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 12 /* receiverClass */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
            astore 13 /* hub */
        start local 13 // jdk.vm.ci.meta.Constant hub
        11: .line 309
            aload 1 /* kit */
            aload 13 /* hub */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createConstant:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 14 /* hubNode */
        start local 14 // org.graalvm.compiler.nodes.ConstantNode hubNode
        12: .line 310
            aload 1 /* kit */
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.calc.ObjectEqualsNode
            dup
            aload 10 /* unboxed */
            aload 14 /* hubNode */
            invokespecial org.graalvm.compiler.nodes.calc.ObjectEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            checkcast org.graalvm.compiler.nodes.LogicNode
            ldc 0.99
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.startIf:(Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/IfNode;
            pop
        13: .line 311
            aload 1 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.thenPart:()V
        14: .line 312
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.java.NewInstanceNode
            dup
            aload 12 /* receiverClass */
            iconst_1
            invokespecial org.graalvm.compiler.nodes.java.NewInstanceNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 15 /* created */
        start local 15 // org.graalvm.compiler.nodes.ValueNode created
        15: .line 313
            aload 1 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.endIf:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 16 /* merge */
        start local 16 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        16: .line 314
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 16 /* merge */
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 15 /* created */
            aastore
            dup
            iconst_1
            aload 10 /* unboxed */
            aastore
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 11 /* receiver */
        start local 11 // org.graalvm.compiler.nodes.ValueNode receiver
        17: .line 315
            aload 16 /* merge */
            aload 1 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.getFrameState:()Lorg/graalvm/compiler/java/FrameStateBuilder;
            aload 1 /* kit */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.bci:()I
            aload 16 /* merge */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        end local 16 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 15 // org.graalvm.compiler.nodes.ValueNode created
        end local 14 // org.graalvm.compiler.nodes.ConstantNode hubNode
        end local 13 // jdk.vm.ci.meta.Constant hub
        18: .line 316
            goto 20
        end local 11 // org.graalvm.compiler.nodes.ValueNode receiver
        19: .line 317
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode top jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 10 /* unboxed */
            astore 11 /* receiver */
        start local 11 // org.graalvm.compiler.nodes.ValueNode receiver
        20: .line 319
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 6 /* args */
            aload 11 /* receiver */
            aload 12 /* receiverClass */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // jdk.vm.ci.meta.ResolvedJavaType receiverClass
        end local 11 // org.graalvm.compiler.nodes.ValueNode receiver
        end local 10 // org.graalvm.compiler.nodes.ValueNode unboxed
        end local 9 // org.graalvm.compiler.nodes.ValueNode handle
        end local 8 // jdk.vm.ci.meta.JavaKind kind
        21: .line 321
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int
      StackMap stack:
            iload 7 /* javaIndex */
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            iadd
            istore 7 /* javaIndex */
        22: .line 322
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nonVirtual:Z
            ifeq 24
        23: .line 323
            iload 7 /* javaIndex */
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            iadd
            istore 7 /* javaIndex */
        24: .line 325
      StackMap locals:
      StackMap stack:
            iload 7 /* javaIndex */
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            iadd
            istore 7 /* javaIndex */
        25: .line 326
            aload 4 /* invokeSignature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            istore 8 /* count */
        start local 8 // int count
        26: .line 329
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getstatic com.oracle.svm.core.OS.DARWIN:Lcom/oracle/svm/core/OS;
            if_acmpne 27
            ldc Lorg/graalvm/nativeimage/Platform$AARCH64;
            invokestatic org.graalvm.nativeimage.Platform.includedIn:(Ljava/lang/Class;)Z
            ifeq 27
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpeq 29
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpeq 29
        27: .line 330
      StackMap locals: int
      StackMap stack:
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
            if_acmpne 28
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpeq 29
      StackMap locals:
      StackMap stack:
        28: aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.ARRAY:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 67
        29: .line 331
      StackMap locals:
      StackMap stack:
            aload 5 /* metaAccess */
            ldc Lcom/oracle/svm/jni/nativeapi/JNIValue;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 9 /* elementType */
        start local 9 // jdk.vm.ci.meta.ResolvedJavaType elementType
        30: .line 332
            ldc Lcom/oracle/svm/jni/nativeapi/JNIValue;
            invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
            istore 10 /* elementSize */
        start local 10 // int elementSize
        31: .line 334
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 34
        32: .line 335
            aload 1 /* kit */
            new com.oracle.svm.core.graal.nodes.ReadCallerStackPointerNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.ReadCallerStackPointerNode.<init>:()V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* array */
        start local 11 // org.graalvm.compiler.nodes.ValueNode array
        33: .line 336
            goto 35
        end local 11 // org.graalvm.compiler.nodes.ValueNode array
        34: .line 337
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType int
      StackMap stack:
            aload 1 /* kit */
            iload 7 /* javaIndex */
            aload 9 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadLocal:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* array */
        start local 11 // org.graalvm.compiler.nodes.ValueNode array
        35: .line 339
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        36: goto 65
        37: .line 340
      StackMap locals: int
      StackMap stack:
            aload 4 /* invokeSignature */
            iload 12 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 13 /* type */
        start local 13 // jdk.vm.ci.meta.ResolvedJavaType type
        38: .line 341
            aload 13 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* readKind */
        start local 14 // jdk.vm.ci.meta.JavaKind readKind
        39: .line 342
            aload 14 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 41
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpeq 40
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 41
        40: .line 343
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* readKind */
        41: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* elementType */
            aload 14 /* readKind */
            invokevirtual com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.getJNIValueOffsetOf:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaKind;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
            astore 15 /* fieldInfo */
        start local 15 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        42: .line 346
            iload 12 /* i */
            iload 10 /* elementSize */
            imul
            aload 15 /* fieldInfo */
            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
            iadd
            istore 16 /* offset */
        start local 16 // int offset
        43: .line 347
            aload 1 /* kit */
            iload 16 /* offset */
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            aload 2 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.createConstant:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 17 /* offsetConstant */
        start local 17 // org.graalvm.compiler.nodes.ConstantNode offsetConstant
        44: .line 348
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 11 /* array */
            aload 17 /* offsetConstant */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            astore 18 /* address */
        start local 18 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode address
        45: .line 349
            aload 15 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 19 /* locationIdentity */
        start local 19 // org.graalvm.word.LocationIdentity locationIdentity
        46: .line 350
            aload 19 /* locationIdentity */
            ifnonnull 48
        47: .line 351
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            astore 19 /* locationIdentity */
        48: .line 353
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int int jdk.vm.ci.meta.ResolvedJavaType int org.graalvm.compiler.nodes.ValueNode int jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind com.oracle.svm.hosted.c.info.StructFieldInfo int org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.memory.address.OffsetAddressNode org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 2 /* providers */
            aload 14 /* readKind */
            invokestatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.getNarrowStamp:(Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 20 /* readStamp */
        start local 20 // org.graalvm.compiler.core.common.type.Stamp readStamp
        49: .line 354
            aload 1 /* kit */
            new com.oracle.svm.core.graal.nodes.CInterfaceReadNode
            dup
            aload 18 /* address */
            aload 19 /* locationIdentity */
            aload 20 /* readStamp */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            new java.lang.StringBuilder
            dup
            ldc "args["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.svm.core.graal.nodes.CInterfaceReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Ljava/lang/String;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 21 /* value */
        start local 21 // org.graalvm.compiler.nodes.ValueNode value
        50: .line 355
            aload 14 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 22 /* stackKind */
        start local 22 // jdk.vm.ci.meta.JavaKind stackKind
        51: .line 356
            aload 13 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 54
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpeq 52
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 54
        52: .line 357
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.calc.FloatConvertNode
            dup
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            aload 21 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.FloatConvertNode.<init>:(Lorg/graalvm/compiler/core/common/calc/FloatConvert;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 21 /* value */
        53: .line 358
            goto 63
      StackMap locals:
      StackMap stack:
        54: aload 14 /* readKind */
            aload 22 /* stackKind */
            if_acmpeq 61
        55: .line 359
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.$assertionsDisabled:Z
            ifne 56
            aload 22 /* stackKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            aload 14 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            if_icmpgt 56
            new java.lang.AssertionError
            dup
            ldc "read kind must be narrower than stack kind"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        56: .line 360
      StackMap locals:
      StackMap stack:
            aload 14 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isUnsigned:()Z
            ifeq 59
        57: .line 361
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 21 /* value */
            aload 22 /* stackKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 21 /* value */
        58: .line 362
            goto 63
        59: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 21 /* value */
            aload 22 /* stackKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 21 /* value */
        60: .line 365
            goto 63
      StackMap locals:
      StackMap stack:
        61: aload 14 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 63
        62: .line 366
            aload 1 /* kit */
            aload 21 /* value */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unboxHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 21 /* value */
        63: .line 368
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            aload 21 /* value */
            aload 13 /* type */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 22 // jdk.vm.ci.meta.JavaKind stackKind
        end local 21 // org.graalvm.compiler.nodes.ValueNode value
        end local 20 // org.graalvm.compiler.core.common.type.Stamp readStamp
        end local 19 // org.graalvm.word.LocationIdentity locationIdentity
        end local 18 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode address
        end local 17 // org.graalvm.compiler.nodes.ConstantNode offsetConstant
        end local 16 // int offset
        end local 15 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        end local 14 // jdk.vm.ci.meta.JavaKind readKind
        end local 13 // jdk.vm.ci.meta.ResolvedJavaType type
        64: .line 339
            iinc 12 /* i */ 1
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int int jdk.vm.ci.meta.ResolvedJavaType int org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
        65: iload 12 /* i */
            iload 8 /* count */
            if_icmplt 37
        end local 12 // int i
        end local 11 // org.graalvm.compiler.nodes.ValueNode array
        end local 10 // int elementSize
        end local 9 // jdk.vm.ci.meta.ResolvedJavaType elementType
        66: .line 370
            goto 102
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int int
      StackMap stack:
        67: aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VARARGS:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 86
        68: .line 371
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        69: goto 84
        70: .line 372
      StackMap locals: int
      StackMap stack:
            aload 4 /* invokeSignature */
            iload 9 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 10 /* type */
        start local 10 // jdk.vm.ci.meta.ResolvedJavaType type
        71: .line 373
            aload 10 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 11 /* kind */
        start local 11 // jdk.vm.ci.meta.JavaKind kind
        72: .line 374
            aload 11 /* kind */
            astore 12 /* loadKind */
        start local 12 // jdk.vm.ci.meta.JavaKind loadKind
        73: .line 375
            aload 12 /* loadKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 75
        74: .line 376
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* loadKind */
        75: .line 378
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 1 /* kit */
            iload 7 /* javaIndex */
            aload 12 /* loadKind */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadLocal:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 13 /* value */
        start local 13 // org.graalvm.compiler.nodes.ValueNode value
        76: .line 379
            aload 11 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 79
        77: .line 380
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.calc.FloatConvertNode
            dup
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            aload 13 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.FloatConvertNode.<init>:(Lorg/graalvm/compiler/core/common/calc/FloatConvert;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            astore 13 /* value */
        78: .line 381
            goto 81
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        79: aload 11 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 81
        80: .line 382
            aload 1 /* kit */
            aload 13 /* value */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unboxHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 13 /* value */
        81: .line 384
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            aload 13 /* value */
            aload 10 /* type */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        82: .line 385
            iload 7 /* javaIndex */
            aload 12 /* loadKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
            iadd
            istore 7 /* javaIndex */
        end local 13 // org.graalvm.compiler.nodes.ValueNode value
        end local 12 // jdk.vm.ci.meta.JavaKind loadKind
        end local 11 // jdk.vm.ci.meta.JavaKind kind
        end local 10 // jdk.vm.ci.meta.ResolvedJavaType type
        83: .line 371
            iinc 9 /* i */ 1
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod com.oracle.svm.jni.hosted.JNIGraphKit com.oracle.graal.pointsto.meta.HostedProviders jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature jdk.vm.ci.meta.MetaAccessProvider java.util.List int int int
      StackMap stack:
        84: iload 9 /* i */
            iload 8 /* count */
            if_icmplt 70
        end local 9 // int i
        85: .line 387
            goto 102
      StackMap locals:
      StackMap stack:
        86: aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            getstatic com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.VA_LIST:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            if_acmpne 101
        87: .line 388
            aload 1 /* kit */
            iload 7 /* javaIndex */
            aload 5 /* metaAccess */
            ldc Lorg/graalvm/word/WordBase;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.loadLocal:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* valist */
        start local 9 // org.graalvm.compiler.nodes.ValueNode valist
        88: .line 389
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        89: goto 99
        90: .line 390
      StackMap locals: org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 4 /* invokeSignature */
            iload 10 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 11 /* type */
        start local 11 // jdk.vm.ci.meta.ResolvedJavaType type
        91: .line 391
            aload 11 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* loadKind */
        start local 12 // jdk.vm.ci.meta.JavaKind loadKind
        92: .line 392
            aload 12 /* loadKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 94
        93: .line 393
            aload 2 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* loadKind */
        94: .line 395
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 1 /* kit */
            new com.oracle.svm.core.graal.nodes.VaListNextArgNode
            dup
            aload 12 /* loadKind */
            aload 9 /* valist */
            invokespecial com.oracle.svm.core.graal.nodes.VaListNextArgNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 13 /* value */
        start local 13 // org.graalvm.compiler.nodes.ValueNode value
        95: .line 396
            aload 11 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 97
        96: .line 397
            aload 1 /* kit */
            aload 13 /* value */
            invokevirtual com.oracle.svm.jni.hosted.JNIGraphKit.unboxHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
            astore 13 /* value */
        97: .line 399
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* args */
            aload 13 /* value */
            aload 11 /* type */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.graalvm.compiler.nodes.ValueNode value
        end local 12 // jdk.vm.ci.meta.JavaKind loadKind
        end local 11 // jdk.vm.ci.meta.ResolvedJavaType type
        98: .line 389
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        99: iload 10 /* i */
            iload 8 /* count */
            if_icmplt 90
        end local 10 // int i
        end local 9 // org.graalvm.compiler.nodes.ValueNode valist
       100: .line 401
            goto 102
       101: .line 402
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Call variant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.unsupportedFeature:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
       102: .line 404
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            areturn
        end local 8 // int count
        end local 7 // int javaIndex
        end local 6 // java.util.List args
        end local 5 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 4 // jdk.vm.ci.meta.Signature invokeSignature
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod invokeMethod
        end local 2 // com.oracle.graal.pointsto.meta.HostedProviders providers
        end local 1 // com.oracle.svm.jni.hosted.JNIGraphKit kit
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  103     0              this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            0  103     1               kit  Lcom/oracle/svm/jni/hosted/JNIGraphKit;
            0  103     2         providers  Lcom/oracle/graal/pointsto/meta/HostedProviders;
            0  103     3      invokeMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0  103     4   invokeSignature  Ljdk/vm/ci/meta/Signature;
            1  103     5        metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            2  103     6              args  Ljava/util/List<Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;>;>;
            3  103     7         javaIndex  I
            6   21     8              kind  Ljdk/vm/ci/meta/JavaKind;
            7   21     9            handle  Lorg/graalvm/compiler/nodes/ValueNode;
            8   21    10           unboxed  Lorg/graalvm/compiler/nodes/ValueNode;
           17   19    11          receiver  Lorg/graalvm/compiler/nodes/ValueNode;
           20   21    11          receiver  Lorg/graalvm/compiler/nodes/ValueNode;
            9   21    12     receiverClass  Ljdk/vm/ci/meta/ResolvedJavaType;
           11   18    13               hub  Ljdk/vm/ci/meta/Constant;
           12   18    14           hubNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           15   18    15           created  Lorg/graalvm/compiler/nodes/ValueNode;
           16   18    16             merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           26  103     8             count  I
           30   66     9       elementType  Ljdk/vm/ci/meta/ResolvedJavaType;
           31   66    10       elementSize  I
           33   34    11             array  Lorg/graalvm/compiler/nodes/ValueNode;
           35   66    11             array  Lorg/graalvm/compiler/nodes/ValueNode;
           36   66    12                 i  I
           38   64    13              type  Ljdk/vm/ci/meta/ResolvedJavaType;
           39   64    14          readKind  Ljdk/vm/ci/meta/JavaKind;
           42   64    15         fieldInfo  Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
           43   64    16            offset  I
           44   64    17    offsetConstant  Lorg/graalvm/compiler/nodes/ConstantNode;
           45   64    18           address  Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
           46   64    19  locationIdentity  Lorg/graalvm/word/LocationIdentity;
           49   64    20         readStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           50   64    21             value  Lorg/graalvm/compiler/nodes/ValueNode;
           51   64    22         stackKind  Ljdk/vm/ci/meta/JavaKind;
           69   85     9                 i  I
           71   83    10              type  Ljdk/vm/ci/meta/ResolvedJavaType;
           72   83    11              kind  Ljdk/vm/ci/meta/JavaKind;
           73   83    12          loadKind  Ljdk/vm/ci/meta/JavaKind;
           76   83    13             value  Lorg/graalvm/compiler/nodes/ValueNode;
           88  100     9            valist  Lorg/graalvm/compiler/nodes/ValueNode;
           89  100    10                 i  I
           91   98    11              type  Ljdk/vm/ci/meta/ResolvedJavaType;
           92   98    12          loadKind  Ljdk/vm/ci/meta/JavaKind;
           95   98    13             value  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Lcom/oracle/svm/jni/hosted/JNIGraphKit;Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Ljava/util/List<Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;>;>;
    MethodParameters:
                 Name  Flags
      kit              
      providers        
      invokeMethod     
      invokeSignature  

  private static org.graalvm.compiler.core.common.type.Stamp getNarrowStamp(com.oracle.graal.pointsto.meta.HostedProviders, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lcom/oracle/graal/pointsto/meta/HostedProviders;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.graal.pointsto.meta.HostedProviders providers
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 408
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 4
         1: .line 410
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isUnsigned:()Z
            ifeq 3
         2: .line 411
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getMinValue:()J
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getMaxValue:()J
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forUnsignedInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
         3: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getMinValue:()J
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getMaxValue:()J
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
         4: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 7
         5: .line 416
            aload 0 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* objectHandle */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType objectHandle
         6: .line 417
            aload 0 /* providers */
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
            aload 2 /* objectHandle */
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType objectHandle
         7: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // com.oracle.graal.pointsto.meta.HostedProviders providers
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0     providers  Lcom/oracle/graal/pointsto/meta/HostedProviders;
            0    8     1          kind  Ljdk/vm/ci/meta/JavaKind;
            6    7     2  objectHandle  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
           Name  Flags
      providers  
      kind       

  private com.oracle.svm.hosted.c.info.StructFieldInfo getJNIValueOffsetOf(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaKind;)Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType jniValueType
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         0: .line 424
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 1
            bipush 108
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokestatic java.lang.Character.toLowerCase:(C)C
      StackMap locals:
      StackMap stack: int
         2: invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 425
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 1 /* jniValueType */
            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
            astore 4 /* structInfo */
        start local 4 // com.oracle.svm.hosted.c.info.StructInfo structInfo
         4: .line 426
            aload 4 /* structInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructInfo.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind java.lang.String com.oracle.svm.hosted.c.info.StructInfo top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.c.info.ElementInfo
            astore 5 /* elementInfo */
        start local 5 // com.oracle.svm.hosted.c.info.ElementInfo elementInfo
         6: .line 427
            aload 5 /* elementInfo */
            instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
            ifeq 10
         7: .line 428
            aload 5 /* elementInfo */
            checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
            astore 7 /* fieldInfo */
        start local 7 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
         8: .line 429
            aload 3 /* name */
            aload 7 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 430
            aload 7 /* fieldInfo */
            areturn
        end local 7 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        end local 5 // com.oracle.svm.hosted.c.info.ElementInfo elementInfo
        10: .line 426
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 434
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // com.oracle.svm.hosted.c.info.StructInfo structInfo
        end local 3 // java.lang.String name
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType jniValueType
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            0   12     1  jniValueType  Ljdk/vm/ci/meta/ResolvedJavaType;
            0   12     2          kind  Ljdk/vm/ci/meta/JavaKind;
            3   12     3          name  Ljava/lang/String;
            4   12     4    structInfo  Lcom/oracle/svm/hosted/c/info/StructInfo;
            6   10     5   elementInfo  Lcom/oracle/svm/hosted/c/info/ElementInfo;
            8   10     7     fieldInfo  Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
    MethodParameters:
              Name  Flags
      jniValueType  
      kind          

  public jdk.vm.ci.meta.Signature getSignature();
    descriptor: ()Ljdk/vm/ci/meta/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
         0: .line 439
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.signature:Ljdk/vm/ci/meta/Signature;
            areturn
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
         0: .line 444
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.toMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* full */
        start local 1 // java.lang.String full
         1: .line 445
            new java.lang.StringBuilder
            dup
            ldc "jniInvoke_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.callVariant:Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod$CallVariant;
            invokevirtual com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.nonVirtual:Z
            ifeq 2
            ldc "_Nonvirtual"
            goto 3
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod java.lang.String
      StackMap stack: java.lang.StringBuilder
         2: ldc ""
      StackMap locals: com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* full */
            invokestatic com.oracle.svm.jni.access.JNINativeLinkage.mangle:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String full
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;
            1    4     1  full  Ljava/lang/String;

  public jdk.vm.ci.meta.ResolvedJavaType getDeclaringClass();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
         0: .line 450
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.declaringClass:Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;

  public jdk.vm.ci.meta.ConstantPool getConstantPool();
    descriptor: ()Ljdk/vm/ci/meta/ConstantPool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
         0: .line 455
            aload 0 /* this */
            getfield com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.constantPool:Ljdk/vm/ci/meta/ConstantPool;
            areturn
        end local 0 // com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/jni/hosted/JNIJavaCallWrapperMethod;

  public boolean hasNeverInlineDirective();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.hasNeverInlineDirective:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.annotation.Annotation[] getDeclaredAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getMaxLocals();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getMaxLocals:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.ExceptionHandler[] getExceptionHandlers();
    descriptor: ()[Ljdk/vm/ci/meta/ExceptionHandler;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getExceptionHandlers:()[Ljdk/vm/ci/meta/ExceptionHandler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isVarArgs();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isVarArgs:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isBridge();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isBridge:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isDefault();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isDefault:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getModifiers();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getModifiers:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.StackTraceElement asStackTraceElement(int);
    descriptor: (I)Ljava/lang/StackTraceElement;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isInVirtualMethodTable:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean allowRuntimeCompilation();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.allowRuntimeCompilation:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isSynthetic();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isSynthetic:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean canBeInlined();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.canBeInlined:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.reflect.Type[] getGenericParameterTypes();
    descriptor: ()[Ljava/lang/reflect/Type;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.JavaType getDeclaringClass();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isConstructor:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.LocalVariableTable getLocalVariableTable();
    descriptor: ()Ljdk/vm/ci/meta/LocalVariableTable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getLocalVariableTable:()Ljdk/vm/ci/meta/LocalVariableTable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.SpeculationLog getSpeculationLog();
    descriptor: ()Ljdk/vm/ci/meta/SpeculationLog;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getMaxStackSize();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getMaxStackSize:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean shouldBeInlined();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.shouldBeInlined:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.annotation.Annotation[] getAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getAnnotations:()[Ljava/lang/annotation/Annotation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void reprofile();
    descriptor: ()V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.reprofile:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getCodeSize();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getCodeSize:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean canBeStaticallyBound();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.canBeStaticallyBound:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isClassInitializer();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.isClassInitializer:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.ProfilingInfo getProfilingInfo(boolean, boolean);
    descriptor: (ZZ)Ljdk/vm/ci/meta/ProfilingInfo;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            iload 2
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getProfilingInfo:(ZZ)Ljdk/vm/ci/meta/ProfilingInfo;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.LineNumberTable getLineNumberTable();
    descriptor: ()Ljdk/vm/ci/meta/LineNumberTable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Constant getEncoding();
    descriptor: ()Ljdk/vm/ci/meta/Constant;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getEncoding:()Ljdk/vm/ci/meta/Constant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.annotation.Annotation[][] getParameterAnnotations();
    descriptor: ()[[Ljava/lang/annotation/Annotation;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public byte[] getCode();
    descriptor: ()[B
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.svm.jni.hosted.JNIGeneratedMethod.getCode:()[B
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JNIJavaCallWrapperMethod.java"
NestMembers:
  com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant
InnerClasses:
  public final Purpose = com.oracle.graal.pointsto.infrastructure.GraphProvider$Purpose of com.oracle.graal.pointsto.infrastructure.GraphProvider
  public final LeaveAction = com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode$LeaveAction of com.oracle.svm.core.graal.nodes.CEntryPointLeaveNode
  public final CallVariant = com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod$CallVariant of com.oracle.svm.jni.hosted.JNIJavaCallWrapperMethod
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess
  public abstract AARCH64 = org.graalvm.nativeimage.Platform$AARCH64 of org.graalvm.nativeimage.Platform