public abstract class org.graalvm.libgraal.jni.FromLibGraalCalls<T extends java.lang.Enum<T> extends org.graalvm.libgraal.jni.annotation.FromLibGraalId>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.libgraal.jni.FromLibGraalCalls
  super_class: java.lang.Object
{
  private static final java.util.Map<java.lang.String, org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass> classes;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIClass;>;

  private static final java.lang.ThreadLocal<java.lang.Boolean> inExceptionHandler;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;

  private final java.util.EnumMap<T, org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod<T>> methods;
    descriptor: Ljava/util/EnumMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/EnumMap<TT;Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;>;

  private volatile org.graalvm.libgraal.jni.JNI$JClass peer;
    descriptor: Lorg/graalvm/libgraal/jni/JNI$JClass;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.Set<java.lang.String> HotSpotCallNames;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  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=5, locals=7, args_size=0
         0: .line 59
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls;
            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 org.graalvm.libgraal.jni.FromLibGraalCalls.$assertionsDisabled:Z
         3: .line 61
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic org.graalvm.libgraal.jni.FromLibGraalCalls.classes:Ljava/util/Map;
         4: .line 68
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
         5: .line 268
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* entryPoints */
        start local 0 // java.util.Map entryPoints
         6: .line 269
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* others */
        start local 1 // java.util.Map others
         7: .line 271
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls;
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 17
      StackMap locals: java.util.Map java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
         8: aload 5
            iload 3
            aaload
            astore 2 /* m */
        start local 2 // java.lang.reflect.Method m
         9: .line 272
            aload 2 /* m */
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls$HotSpotCall;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 15
        10: .line 273
            aload 0 /* entryPoints */
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* m */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 6 /* existing */
        start local 6 // java.lang.reflect.Method existing
        11: .line 274
            aload 6 /* existing */
            ifnull 16
        12: .line 275
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Method annotated by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls$HotSpotCall;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 276
            ldc " must have unique name: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* existing */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 275
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.reflect.Method existing
        15: .line 279
      StackMap locals: java.util.Map java.util.Map java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 1 /* others */
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* m */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.reflect.Method m
        16: .line 271
      StackMap locals: java.util.Map java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        17: iload 3
            iload 4
            if_icmplt 8
        18: .line 282
            aload 0 /* entryPoints */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 25
      StackMap locals: java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        19: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* e */
        start local 2 // java.util.Map$Entry e
        20: .line 283
            aload 1 /* others */
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 4 /* existing */
        start local 4 // java.lang.reflect.Method existing
        21: .line 284
            aload 4 /* existing */
            ifnull 25
        22: .line 285
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Method annotated by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls$HotSpotCall;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 286
            ldc " must have unique name: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* existing */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 285
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.reflect.Method existing
        end local 2 // java.util.Map$Entry e
        25: .line 282
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        26: .line 289
            aload 0 /* entryPoints */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.graalvm.libgraal.jni.FromLibGraalCalls.HotSpotCallNames:Ljava/util/Set;
        end local 1 // java.util.Map others
        end local 0 // java.util.Map entryPoints
        27: .line 290
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            6   27     0  entryPoints  Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
            7   27     1       others  Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
            9   16     2            m  Ljava/lang/reflect/Method;
           11   15     6     existing  Ljava/lang/reflect/Method;
           20   25     2            e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/reflect/Method;>;
           21   25     4     existing  Ljava/lang/reflect/Method;

  protected void <init>(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // java.lang.Class idType
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            aload 0 /* this */
            new java.util.EnumMap
            dup
            aload 1 /* idType */
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            putfield org.graalvm.libgraal.jni.FromLibGraalCalls.methods:Ljava/util/EnumMap;
         2: .line 75
            return
        end local 1 // java.lang.Class idType
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    3     1  idType  Ljava/lang/Class<TT;>;
    Signature: (Ljava/lang/Class<TT;>;)V
    MethodParameters:
        Name  Flags
      idType  

  protected abstract org.graalvm.libgraal.jni.JNI$JClass resolvePeer(org.graalvm.libgraal.jni.JNI$JNIEnv);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      env   

  public final void callVoid(org.graalvm.libgraal.jni.JNI$JNIEnv, T, org.graalvm.libgraal.jni.JNI$JValue);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JValue;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum id
        start local 3 // org.graalvm.libgraal.jni.JNI$JValue args
         0: .line 115
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* id */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIMethod:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
            astore 4 /* method */
        start local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
         1: .line 116
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.traceCall:(Ljava/lang/Enum;)V
         2: .line 117
            aload 1 /* env */
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.getFunctions:()Lorg/graalvm/libgraal/jni/JNI$JNINativeInterface;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNINativeInterface.getCallStaticVoidMethodA:()Lorg/graalvm/libgraal/jni/JNI$CallStaticVoidMethodA;
            aload 1 /* env */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.peer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            aload 4 /* method */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod.jniId:Lorg/graalvm/libgraal/jni/JNI$JMethodID;
            aload 3 /* args */
            invokeinterface org.graalvm.libgraal.jni.JNI$CallStaticVoidMethodA.call:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JClass;Lorg/graalvm/libgraal/jni/JNI$JMethodID;Lorg/graalvm/libgraal/jni/JNI$JValue;)V
         3: .line 118
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         4: .line 119
            return
        end local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
        end local 3 // org.graalvm.libgraal.jni.JNI$JValue args
        end local 2 // java.lang.Enum id
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    5     1     env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    5     2      id  TT;
            0    5     3    args  Lorg/graalvm/libgraal/jni/JNI$JValue;
            1    5     4  method  Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Lorg/graalvm/libgraal/jni/JNI$JValue;)V
    RuntimeVisibleAnnotations: 
      org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall()
    MethodParameters:
      Name  Flags
      env   
      id    
      args  

  public final boolean callBoolean(org.graalvm.libgraal.jni.JNI$JNIEnv, T, org.graalvm.libgraal.jni.JNI$JValue);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JValue;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum id
        start local 3 // org.graalvm.libgraal.jni.JNI$JValue args
         0: .line 123
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* id */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIMethod:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
            astore 4 /* method */
        start local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
         1: .line 124
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.traceCall:(Ljava/lang/Enum;)V
         2: .line 125
            aload 1 /* env */
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.getFunctions:()Lorg/graalvm/libgraal/jni/JNI$JNINativeInterface;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNINativeInterface.getCallStaticBooleanMethodA:()Lorg/graalvm/libgraal/jni/JNI$CallStaticBooleanMethodA;
            aload 1 /* env */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.peer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            aload 4 /* method */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod.jniId:Lorg/graalvm/libgraal/jni/JNI$JMethodID;
            aload 3 /* args */
            invokeinterface org.graalvm.libgraal.jni.JNI$CallStaticBooleanMethodA.call:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JClass;Lorg/graalvm/libgraal/jni/JNI$JMethodID;Lorg/graalvm/libgraal/jni/JNI$JValue;)Z
            istore 5 /* res */
        start local 5 // boolean res
         3: .line 126
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         4: .line 127
            iload 5 /* res */
            ireturn
        end local 5 // boolean res
        end local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
        end local 3 // org.graalvm.libgraal.jni.JNI$JValue args
        end local 2 // java.lang.Enum id
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    5     1     env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    5     2      id  TT;
            0    5     3    args  Lorg/graalvm/libgraal/jni/JNI$JValue;
            1    5     4  method  Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
            3    5     5     res  Z
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Lorg/graalvm/libgraal/jni/JNI$JValue;)Z
    RuntimeVisibleAnnotations: 
      org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall()
    MethodParameters:
      Name  Flags
      env   
      id    
      args  

  public final long callLong(org.graalvm.libgraal.jni.JNI$JNIEnv, T, org.graalvm.libgraal.jni.JNI$JValue);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JValue;)J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum id
        start local 3 // org.graalvm.libgraal.jni.JNI$JValue args
         0: .line 132
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* id */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIMethod:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
            astore 4 /* method */
        start local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
         1: .line 133
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.traceCall:(Ljava/lang/Enum;)V
         2: .line 134
            aload 1 /* env */
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.getFunctions:()Lorg/graalvm/libgraal/jni/JNI$JNINativeInterface;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNINativeInterface.getCallStaticLongMethodA:()Lorg/graalvm/libgraal/jni/JNI$CallStaticLongMethodA;
            aload 1 /* env */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.peer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            aload 4 /* method */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod.jniId:Lorg/graalvm/libgraal/jni/JNI$JMethodID;
            aload 3 /* args */
            invokeinterface org.graalvm.libgraal.jni.JNI$CallStaticLongMethodA.call:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JClass;Lorg/graalvm/libgraal/jni/JNI$JMethodID;Lorg/graalvm/libgraal/jni/JNI$JValue;)J
            lstore 5 /* res */
        start local 5 // long res
         3: .line 135
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         4: .line 136
            lload 5 /* res */
            lreturn
        end local 5 // long res
        end local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
        end local 3 // org.graalvm.libgraal.jni.JNI$JValue args
        end local 2 // java.lang.Enum id
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    5     1     env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    5     2      id  TT;
            0    5     3    args  Lorg/graalvm/libgraal/jni/JNI$JValue;
            1    5     4  method  Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
            3    5     5     res  J
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Lorg/graalvm/libgraal/jni/JNI$JValue;)J
    RuntimeVisibleAnnotations: 
      org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall()
    MethodParameters:
      Name  Flags
      env   
      id    
      args  

  public final int callInt(org.graalvm.libgraal.jni.JNI$JNIEnv, T, org.graalvm.libgraal.jni.JNI$JValue);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JValue;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum id
        start local 3 // org.graalvm.libgraal.jni.JNI$JValue args
         0: .line 141
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* id */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIMethod:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
            astore 4 /* method */
        start local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
         1: .line 142
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.traceCall:(Ljava/lang/Enum;)V
         2: .line 143
            aload 1 /* env */
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.getFunctions:()Lorg/graalvm/libgraal/jni/JNI$JNINativeInterface;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNINativeInterface.getCallStaticIntMethodA:()Lorg/graalvm/libgraal/jni/JNI$CallStaticIntMethodA;
            aload 1 /* env */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.peer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            aload 4 /* method */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod.jniId:Lorg/graalvm/libgraal/jni/JNI$JMethodID;
            aload 3 /* args */
            invokeinterface org.graalvm.libgraal.jni.JNI$CallStaticIntMethodA.call:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JClass;Lorg/graalvm/libgraal/jni/JNI$JMethodID;Lorg/graalvm/libgraal/jni/JNI$JValue;)I
            istore 5 /* res */
        start local 5 // int res
         3: .line 144
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         4: .line 145
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
        end local 3 // org.graalvm.libgraal.jni.JNI$JValue args
        end local 2 // java.lang.Enum id
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    5     1     env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    5     2      id  TT;
            0    5     3    args  Lorg/graalvm/libgraal/jni/JNI$JValue;
            1    5     4  method  Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
            3    5     5     res  I
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Lorg/graalvm/libgraal/jni/JNI$JValue;)I
    RuntimeVisibleAnnotations: 
      org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall()
    MethodParameters:
      Name  Flags
      env   
      id    
      args  

  public final <R extends org.graalvm.libgraal.jni.JNI$JObject> R callJObject(org.graalvm.libgraal.jni.JNI$JNIEnv, T, org.graalvm.libgraal.jni.JNI$JValue);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JValue;)Lorg/graalvm/libgraal/jni/JNI$JObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum id
        start local 3 // org.graalvm.libgraal.jni.JNI$JValue args
         0: .line 151
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* id */
            ldc Ljava/lang/Object;
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIMethod:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
            astore 4 /* method */
        start local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
         1: .line 152
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.traceCall:(Ljava/lang/Enum;)V
         2: .line 153
            aload 1 /* env */
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.getFunctions:()Lorg/graalvm/libgraal/jni/JNI$JNINativeInterface;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNINativeInterface.getCallStaticObjectMethodA:()Lorg/graalvm/libgraal/jni/JNI$CallStaticObjectMethodA;
            aload 1 /* env */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.peer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            aload 4 /* method */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod.jniId:Lorg/graalvm/libgraal/jni/JNI$JMethodID;
            aload 3 /* args */
            invokeinterface org.graalvm.libgraal.jni.JNI$CallStaticObjectMethodA.call:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JClass;Lorg/graalvm/libgraal/jni/JNI$JMethodID;Lorg/graalvm/libgraal/jni/JNI$JValue;)Lorg/graalvm/libgraal/jni/JNI$JObject;
            astore 5 /* res */
        start local 5 // org.graalvm.libgraal.jni.JNI$JObject res
         3: .line 154
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         4: .line 155
            aload 5 /* res */
            areturn
        end local 5 // org.graalvm.libgraal.jni.JNI$JObject res
        end local 4 // org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod method
        end local 3 // org.graalvm.libgraal.jni.JNI$JValue args
        end local 2 // java.lang.Enum id
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    5     1     env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    5     2      id  TT;
            0    5     3    args  Lorg/graalvm/libgraal/jni/JNI$JValue;
            1    5     4  method  Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
            3    5     5     res  Lorg/graalvm/libgraal/jni/JNI$JObject;
    Signature: <R::Lorg/graalvm/libgraal/jni/JNI$JObject;>(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Lorg/graalvm/libgraal/jni/JNI$JValue;)TR;
    RuntimeVisibleAnnotations: 
      org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall()
    MethodParameters:
      Name  Flags
      env   
      id    
      args  

  public static org.graalvm.libgraal.jni.JNI$JClass getJNIClass(org.graalvm.libgraal.jni.JNI$JNIEnv, java.lang.Class<?>);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/JNI$JClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 1 // java.lang.Class clazz
         0: .line 159
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 160
            new java.lang.UnsupportedOperationException
            dup
            ldc "Array classes are not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIClassImpl:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/String;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIClass;
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass.jclass:Lorg/graalvm/libgraal/jni/JNI$JClass;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    3     1  clazz  Ljava/lang/Class<*>;
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Class<*>;)Lorg/graalvm/libgraal/jni/JNI$JClass;
    MethodParameters:
       Name  Flags
      env    
      clazz  

  public static org.graalvm.libgraal.jni.JNI$JClass getJNIClass(org.graalvm.libgraal.jni.JNI$JNIEnv, java.lang.String);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/String;)Lorg/graalvm/libgraal/jni/JNI$JClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 1 // java.lang.String className
         0: .line 166
            aload 0 /* env */
            aload 1 /* className */
            invokestatic org.graalvm.libgraal.jni.FromLibGraalCalls.getJNIClassImpl:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/String;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIClass;
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass.jclass:Lorg/graalvm/libgraal/jni/JNI$JClass;
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0        env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0    1     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      env        
      className  

  private void traceCall();
    descriptor: (Ljava/lang/Enum;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // java.lang.Enum id
         0: .line 170
            iconst_1
            ldc "LIBGRAAL->HS: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* id */
            aastore
            invokestatic org.graalvm.libgraal.jni.JNIUtil.trace:(ILjava/lang/String;[Ljava/lang/Object;)V
         1: .line 171
            return
        end local 1 // java.lang.Enum id
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    2     1    id  TT;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      id    

  private static org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass getJNIClassImpl(org.graalvm.libgraal.jni.JNI$JNIEnv, java.lang.String);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/String;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 1 // java.lang.String className
         0: .line 175
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.classes:Ljava/util/Map;
            aload 1 /* className */
            new org.graalvm.libgraal.jni.FromLibGraalCalls$1
            dup
            aload 0 /* env */
            invokespecial org.graalvm.libgraal.jni.FromLibGraalCalls$1.<init>:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)V
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass
         1: areturn
         2: .line 190
      StackMap locals:
      StackMap stack: java.lang.InternalError
            astore 2 /* ie */
        start local 2 // java.lang.InternalError ie
         3: .line 191
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpeq 11
         4: .line 192
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         5: .line 194
            aload 0 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         6: .line 195
            goto 10
      StackMap locals: org.graalvm.libgraal.jni.JNI$JNIEnv java.lang.String java.lang.InternalError
      StackMap stack: java.lang.Throwable
         7: astore 3
         8: .line 196
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
         9: .line 197
            aload 3
            athrow
        10: .line 196
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
        11: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* ie */
            athrow
        end local 2 // java.lang.InternalError ie
        end local 1 // java.lang.String className
        end local 0 // org.graalvm.libgraal.jni.JNI$JNIEnv env
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0        env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0   12     1  className  Ljava/lang/String;
            3   12     2         ie  Ljava/lang/InternalError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InternalError
           5     7       7  any
    MethodParameters:
           Name  Flags
      env        
      className  

  private org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod<T> getJNIMethod(org.graalvm.libgraal.jni.JNI$JNIEnv, T, java.lang.Class<?>);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Ljava/lang/Enum;Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        start local 2 // java.lang.Enum hcId
        start local 3 // java.lang.Class expectedReturnType
         0: .line 204
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.$assertionsDisabled:Z
            ifne 1
            aload 2 /* hcId */
            checkcast org.graalvm.libgraal.jni.annotation.FromLibGraalId
            invokeinterface org.graalvm.libgraal.jni.annotation.FromLibGraalId.getReturnType:()Ljava/lang/Class;
            aload 3 /* expectedReturnType */
            if_acmpeq 1
            aload 3 /* expectedReturnType */
            aload 2 /* hcId */
            checkcast org.graalvm.libgraal.jni.annotation.FromLibGraalId
            invokeinterface org.graalvm.libgraal.jni.annotation.FromLibGraalId.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls.methods:Ljava/util/EnumMap;
            aload 2 /* hcId */
            new org.graalvm.libgraal.jni.FromLibGraalCalls$2
            dup
            aload 0 /* this */
            aload 1 /* env */
            invokespecial org.graalvm.libgraal.jni.FromLibGraalCalls$2.<init>:(Lorg/graalvm/libgraal/jni/FromLibGraalCalls;Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)V
            invokevirtual java.util.EnumMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod
         2: areturn
         3: .line 220
      StackMap locals:
      StackMap stack: java.lang.InternalError
            astore 4 /* ie */
        start local 4 // java.lang.InternalError ie
         4: .line 221
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpeq 12
         5: .line 222
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         6: .line 224
            aload 1 /* env */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.graalvm.libgraal.jni.JNIExceptionWrapper.wrapAndThrowPendingJNIException:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;[Ljava/lang/Class;)V
         7: .line 225
            goto 11
      StackMap locals: org.graalvm.libgraal.jni.FromLibGraalCalls org.graalvm.libgraal.jni.JNI$JNIEnv java.lang.Enum java.lang.Class java.lang.InternalError
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 226
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
        10: .line 227
            aload 5
            athrow
        11: .line 226
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.inExceptionHandler:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
        12: .line 229
      StackMap locals:
      StackMap stack:
            aload 4 /* ie */
            athrow
        end local 4 // java.lang.InternalError ie
        end local 3 // java.lang.Class expectedReturnType
        end local 2 // java.lang.Enum hcId
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0   13     1                 env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            0   13     2                hcId  TT;
            0   13     3  expectedReturnType  Ljava/lang/Class<*>;
            4   13     4                  ie  Ljava/lang/InternalError;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.InternalError
           6     8       8  any
    Signature: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;TT;Ljava/lang/Class<*>;)Lorg/graalvm/libgraal/jni/FromLibGraalCalls$JNIMethod<TT;>;
    MethodParameters:
                    Name  Flags
      env                 
      hcId                
      expectedReturnType  

  private org.graalvm.libgraal.jni.JNI$JClass peer(org.graalvm.libgraal.jni.JNI$JNIEnv);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
        start local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
         0: .line 234
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls.peer:Lorg/graalvm/libgraal/jni/JNI$JClass;
            invokeinterface org.graalvm.libgraal.jni.JNI$JClass.isNull:()Z
            ifeq 2
         1: .line 235
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual org.graalvm.libgraal.jni.FromLibGraalCalls.resolvePeer:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)Lorg/graalvm/libgraal/jni/JNI$JClass;
            putfield org.graalvm.libgraal.jni.FromLibGraalCalls.peer:Lorg/graalvm/libgraal/jni/JNI$JClass;
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.FromLibGraalCalls.peer:Lorg/graalvm/libgraal/jni/JNI$JClass;
            areturn
        end local 1 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 0 // org.graalvm.libgraal.jni.FromLibGraalCalls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/libgraal/jni/FromLibGraalCalls<TT;>;
            0    3     1   env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
    MethodParameters:
      Name  Flags
      env   

  public static boolean isHotSpotCall(java.lang.StackTraceElement);
    descriptor: (Ljava/lang/StackTraceElement;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.StackTraceElement frame
         0: .line 244
            aload 0 /* frame */
            invokestatic org.graalvm.libgraal.jni.FromLibGraalCalls.isHotSpotCallImpl:(Ljava/lang/StackTraceElement;)Z
            istore 1 /* res */
        start local 1 // boolean res
         1: .line 245
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // java.lang.StackTraceElement frame
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  frame  Ljava/lang/StackTraceElement;
            1    2     1    res  Z
    MethodParameters:
       Name  Flags
      frame  

  private static boolean isHotSpotCallImpl(java.lang.StackTraceElement);
    descriptor: (Ljava/lang/StackTraceElement;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.StackTraceElement frame
         0: .line 249
            ldc Lorg/graalvm/libgraal/jni/FromLibGraalCalls;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 0 /* frame */
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 250
            iconst_0
            ireturn
         2: .line 252
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.libgraal.jni.FromLibGraalCalls.HotSpotCallNames:Ljava/util/Set;
            aload 0 /* frame */
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.StackTraceElement frame
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  frame  Ljava/lang/StackTraceElement;
    MethodParameters:
       Name  Flags
      frame  
}
Signature: <T:Ljava/lang/Enum<TT;>;:Lorg/graalvm/libgraal/jni/annotation/FromLibGraalId;>Ljava/lang/Object;
SourceFile: "FromLibGraalCalls.java"
NestMembers:
  org.graalvm.libgraal.jni.FromLibGraalCalls$1  org.graalvm.libgraal.jni.FromLibGraalCalls$2  org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall  org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass  org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.graalvm.libgraal.jni.FromLibGraalCalls$1
  org.graalvm.libgraal.jni.FromLibGraalCalls$2
  private abstract HotSpotCall = org.graalvm.libgraal.jni.FromLibGraalCalls$HotSpotCall of org.graalvm.libgraal.jni.FromLibGraalCalls
  final JNIClass = org.graalvm.libgraal.jni.FromLibGraalCalls$JNIClass of org.graalvm.libgraal.jni.FromLibGraalCalls
  final JNIMethod = org.graalvm.libgraal.jni.FromLibGraalCalls$JNIMethod of org.graalvm.libgraal.jni.FromLibGraalCalls
  public abstract CallStaticBooleanMethodA = org.graalvm.libgraal.jni.JNI$CallStaticBooleanMethodA of org.graalvm.libgraal.jni.JNI
  public abstract CallStaticIntMethodA = org.graalvm.libgraal.jni.JNI$CallStaticIntMethodA of org.graalvm.libgraal.jni.JNI
  public abstract CallStaticLongMethodA = org.graalvm.libgraal.jni.JNI$CallStaticLongMethodA of org.graalvm.libgraal.jni.JNI
  public abstract CallStaticObjectMethodA = org.graalvm.libgraal.jni.JNI$CallStaticObjectMethodA of org.graalvm.libgraal.jni.JNI
  public abstract CallStaticVoidMethodA = org.graalvm.libgraal.jni.JNI$CallStaticVoidMethodA of org.graalvm.libgraal.jni.JNI
  public abstract JClass = org.graalvm.libgraal.jni.JNI$JClass of org.graalvm.libgraal.jni.JNI
  public abstract JMethodID = org.graalvm.libgraal.jni.JNI$JMethodID of org.graalvm.libgraal.jni.JNI
  public abstract JNIEnv = org.graalvm.libgraal.jni.JNI$JNIEnv of org.graalvm.libgraal.jni.JNI
  public abstract JNINativeInterface = org.graalvm.libgraal.jni.JNI$JNINativeInterface of org.graalvm.libgraal.jni.JNI
  public abstract JObject = org.graalvm.libgraal.jni.JNI$JObject of org.graalvm.libgraal.jni.JNI
  public abstract JValue = org.graalvm.libgraal.jni.JNI$JValue of org.graalvm.libgraal.jni.JNI