public final class jdk.vm.ci.hotspot.HotSpotJVMCIRuntime implements jdk.vm.ci.runtime.JVMCIRuntime
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
  super_class: java.lang.Object
{
  private static volatile jdk.vm.ci.hotspot.HotSpotJVMCIRuntime instance;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      jdk.vm.ci.common.NativeImageReinitialize()

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaLangObject;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaLangInvokeMethodHandle;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl constantCallSiteType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl callSiteType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaLangString;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaLangClass;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl throwableType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl serializableType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl cloneableType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl enumType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0002) ACC_PRIVATE

  static final java.util.Map<java.lang.String, java.lang.Object> options;
    descriptor: Ljava/util/Map;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static volatile java.util.List<jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory> cachedHotSpotJVMCIBackendFactories;
    descriptor: Ljava/util/List;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
    Signature: Ljava/util/List<Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;>;

  protected final jdk.vm.ci.hotspot.CompilerToVM compilerToVm;
    descriptor: Ljdk/vm/ci/hotspot/CompilerToVM;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.hotspot.HotSpotVMConfigStore configStore;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.hotspot.HotSpotVMConfig config;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final jdk.vm.ci.runtime.JVMCIBackend hostBackend;
    descriptor: Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.runtime.JVMCICompilerFactory compilerFactory;
    descriptor: Ljdk/vm/ci/runtime/JVMCICompilerFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory hsCompilerFactory;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile jdk.vm.ci.runtime.JVMCICompiler compiler;
    descriptor: Ljdk/vm/ci/runtime/JVMCICompiler;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  protected final jdk.vm.ci.hotspot.HotSpotJVMCIReflection reflection;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private volatile boolean creatingCompiler;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      jdk.vm.ci.common.NativeImageReinitialize()

  private volatile java.lang.ClassValue<jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder<jdk.vm.ci.hotspot.HotSpotResolvedJavaType>> resolvedJavaType;
    descriptor: Ljava/lang/ClassValue;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/lang/ClassValue<Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$WeakReferenceHolder<Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;>;>;
    RuntimeVisibleAnnotations: 
      jdk.vm.ci.common.NativeImageReinitialize()

  private java.util.HashMap<java.lang.Long, java.lang.ref.WeakReference<jdk.vm.ci.meta.ResolvedJavaType>> resolvedJavaTypes;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Long;Ljava/lang/ref/WeakReference<Ljdk/vm/ci/meta/ResolvedJavaType;>;>;
    RuntimeVisibleAnnotations: 
      jdk.vm.ci.common.NativeImageReinitialize()

  private java.lang.Module[] excludeFromJVMCICompilation;
    descriptor: [Ljava/lang/Module;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      jdk.vm.ci.common.NativeImageReinitialize()

  private final java.util.Map<java.lang.Class<? extends jdk.vm.ci.code.Architecture>, jdk.vm.ci.runtime.JVMCIBackend> backends;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Ljdk/vm/ci/code/Architecture;>;Ljdk/vm/ci/runtime/JVMCIBackend;>;

  private volatile java.util.List<jdk.vm.ci.hotspot.HotSpotVMEventListener> vmEventListeners;
    descriptor: Ljava/util/List;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/List<Ljdk/vm/ci/hotspot/HotSpotVMEventListener;>;

  private boolean isShutdown;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 73
            ldc Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            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 jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
         3: .line 221
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.options:Ljava/util/Map;
         4: .line 223
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.options:Ljava/util/Map;
            ldc "jvmci.class.path.append"
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.options:Ljava/util/Map;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 432
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangObject();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 92
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangObject:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 93
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangObject:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangObject:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangString();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 99
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangString:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 100
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/String;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangString:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangString:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangClass();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 106
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangClass:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 107
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/Class;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangClass:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangClass:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangCloneable();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 113
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cloneableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 114
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/Cloneable;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cloneableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cloneableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangSerializable();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 120
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.serializableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 121
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/io/Serializable;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.serializableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.serializableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangThrowable();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 127
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.throwableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 128
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/Throwable;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.throwableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.throwableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getJavaLangEnum();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 134
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.enumType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 135
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/Enum;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.enumType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.enumType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getConstantCallSite();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 141
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.constantCallSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 142
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/invoke/ConstantCallSite;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.constantCallSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.constantCallSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl getCallSite();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 148
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.callSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 149
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/invoke/CallSite;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.callSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.callSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotResolvedObjectType getMethodHandleClass();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 155
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangInvokeMethodHandle:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 156
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangInvokeMethodHandle:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangInvokeMethodHandle:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public static jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=0
         0: .line 167
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.instance:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            astore 0 /* result */
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime result
         1: .line 168
            aload 0 /* result */
            ifnonnull 27
         2: .line 172
            ldc Ljdk/vm/ci/runtime/JVMCI;
            dup
            astore 1
            monitorenter
         3: .line 173
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.instance:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            astore 0 /* result */
         4: .line 174
            aload 0 /* result */
            ifnonnull 17
         5: .line 175
            aconst_null
            astore 2
            aconst_null
            astore 3
         6: ldc "HotSpotJVMCIRuntime.<init>"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 4 /* t */
        start local 4 // jdk.vm.ci.common.InitTimer t
         7: .line 176
            new jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
            dup
            invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.<init>:()V
            dup
            astore 0 /* result */
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.instance:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
         8: .line 180
            aload 0 /* result */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            ldc "EagerJVMCI"
            ldc Ljava/lang/Boolean;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfig.getFlag:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 10
         9: .line 181
            aload 0 /* result */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            pop
        10: .line 183
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.lang.Class java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aload 4 /* t */
            ifnull 16
            aload 4 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* t */
            ifnull 12
            aload 4 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 4 // jdk.vm.ci.common.InitTimer t
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 186
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            pop
        17: .line 191
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            pop
        18: .line 192
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            pop
        19: .line 193
            iconst_0
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            pop
        20: .line 194
            iconst_0
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            pop
        21: .line 195
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            pop
        22: .line 196
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            pop
        23: .line 172
            aload 1
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 1
            monitorexit
        26: athrow
        27: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   28     0  result  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            7   12     4       t  Ljdk/vm/ci/common/InitTimer;
      Exception table:
        from    to  target  type
           7    10      11  any
           6    13      13  any
           3    24      25  any
          25    26      25  any
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()

  static java.lang.Throwable decodeThrowable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Throwable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String encodedThrowable
         0: .line 204
            aload 0 /* encodedThrowable */
            invokestatic jdk.vm.ci.hotspot.TranslatedException.decodeThrowable:(Ljava/lang/String;)Ljava/lang/Throwable;
            areturn
        end local 0 // java.lang.String encodedThrowable
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  encodedThrowable  Ljava/lang/String;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    MethodParameters:
                  Name  Flags
      encodedThrowable  

  static java.lang.String encodeThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 209
            aload 0 /* throwable */
            invokestatic jdk.vm.ci.hotspot.TranslatedException.encodeThrowable:(Ljava/lang/Throwable;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  throwable  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    MethodParameters:
           Name  Flags
      throwable  

  static java.lang.String callToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 214
            aload 0 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Ljava/lang/Object;
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    MethodParameters:
      Name  Flags
      o     

  private static jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory findFactory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // java.lang.String architecture
         0: .line 421
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHotSpotJVMCIBackendFactories:()Ljava/lang/Iterable;
            astore 1 /* factories */
        start local 1 // java.lang.Iterable factories
         1: .line 422
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 2
            aload 1 /* factories */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            ldc "sanity"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 423
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 1 /* factories */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.lang.String java.lang.Iterable top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory
            astore 2 /* factory */
        start local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
         4: .line 424
            aload 2 /* factory */
            invokeinterface jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory.getArchitecture:()Ljava/lang/String;
            aload 0 /* architecture */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 425
            aload 2 /* factory */
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
         6: .line 423
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 429
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "No JVMCI runtime available for the %s architecture"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* architecture */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.Iterable factories
        end local 0 // java.lang.String architecture
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0  architecture  Ljava/lang/String;
            1    8     1     factories  Ljava/lang/Iterable<Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;>;
            4    6     2       factory  Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
    MethodParameters:
              Name  Flags
      architecture  

  private static java.lang.Iterable<jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory> getHotSpotJVMCIBackendFactories();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 436
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifne 1
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
            ifnull 2
         1: .line 437
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
            areturn
         2: .line 439
      StackMap locals:
      StackMap stack:
            ldc Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            astore 0 /* result */
        start local 0 // java.lang.Iterable result
         3: .line 440
            getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
            ifeq 9
         4: .line 441
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
         5: .line 442
            aload 0 /* result */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 8
      StackMap locals: java.lang.Iterable top java.util.Iterator
      StackMap stack:
         6: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory
            astore 1 /* factory */
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
         7: .line 443
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
            aload 1 /* factory */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
         8: .line 442
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 446
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 0 // java.lang.Iterable result
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            3   10     0   result  Ljava/lang/Iterable<Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;>;
            7    8     1  factory  Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
    Signature: ()Ljava/lang/Iterable<Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;>;
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.SuppressFBWarnings(value = {"LI_LAZY_INIT_UPDATE_STATIC"}, justification = "not sure about this")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.SuppressFBWarnings(value = {"LI_LAZY_INIT_UPDATE_STATIC"}, justification = "not sure about this")

  public static jdk.vm.ci.meta.JavaKind getHostWordKind();
    descriptor: ()Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 453
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Iterable<jdk.vm.ci.hotspot.HotSpotVMEventListener> getVmEventListeners();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 509
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
            ifnonnull 8
         1: .line 510
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 511
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
            ifnonnull 4
         3: .line 512
            aload 0 /* this */
            ldc Ljdk/vm/ci/hotspot/HotSpotVMEventListener;
            invokestatic jdk.vm.ci.services.JVMCIServiceLocator.getProviders:(Ljava/lang/Class;)Ljava/util/List;
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
         4: .line 510
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    Signature: ()Ljava/lang/Iterable<Ljdk/vm/ci/hotspot/HotSpotVMEventListener;>;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 520
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 504
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.backends:Ljava/util/Map;
         2: .line 521
            aload 0 /* this */
            new jdk.vm.ci.hotspot.CompilerToVM
            dup
            invokespecial jdk.vm.ci.hotspot.CompilerToVM.<init>:()V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
         3: .line 523
            aconst_null
            astore 1
            aconst_null
            astore 2
         4: ldc "HotSpotVMConfig<init>"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 3 /* t */
        start local 3 // jdk.vm.ci.common.InitTimer t
         5: .line 524
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotVMConfigStore
            dup
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokespecial jdk.vm.ci.hotspot.HotSpotVMConfigStore.<init>:(Ljdk/vm/ci/hotspot/CompilerToVM;)V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.configStore:Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
         6: .line 525
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotVMConfig
            dup
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.configStore:Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            invokespecial jdk.vm.ci.hotspot.HotSpotVMConfig.<init>:(Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;)V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
         7: .line 526
            aload 3 /* t */
            ifnull 13
            aload 3 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 13
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 3 /* t */
            ifnull 9
            aload 3 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 3 // jdk.vm.ci.common.InitTimer t
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        13: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 14
            new jdk.vm.ci.hotspot.SharedLibraryJVMCIReflection
            dup
            invokespecial jdk.vm.ci.hotspot.SharedLibraryJVMCIReflection.<init>:()V
            goto 15
      StackMap locals:
      StackMap stack: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
        14: new jdk.vm.ci.hotspot.HotSpotJDKReflection
            dup
            invokespecial jdk.vm.ci.hotspot.HotSpotJDKReflection.<init>:()V
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.hotspot.HotSpotJVMCIReflection
        15: putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
        16: .line 530
            aconst_null
            astore 1 /* vmLogStream */
        start local 1 // java.io.PrintStream vmLogStream
        17: .line 531
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 21
        18: .line 533
            new java.io.PrintStream
            dup
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getLogStream:()Ljava/io/OutputStream;
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* vmLogStream */
        19: .line 534
            aload 1 /* vmLogStream */
            invokestatic java.lang.System.setOut:(Ljava/io/PrintStream;)V
        20: .line 535
            aload 1 /* vmLogStream */
            invokestatic java.lang.System.setErr:(Ljava/io/PrintStream;)V
        21: .line 539
      StackMap locals: java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.parse:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
        22: .line 541
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfig.getHostArchitectureName:()Ljava/lang/String;
            astore 2 /* hostArchitecture */
        start local 2 // java.lang.String hostArchitecture
        23: .line 544
            aconst_null
            astore 4
            aconst_null
            astore 5
        24: ldc "find factory:"
            aload 2 /* hostArchitecture */
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;Ljava/lang/Object;)Ljdk/vm/ci/common/InitTimer;
            astore 6 /* t */
        start local 6 // jdk.vm.ci.common.InitTimer t
        25: .line 545
            aload 2 /* hostArchitecture */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.findFactory:(Ljava/lang/String;)Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
            astore 3 /* factory */
        start local 3 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
        26: .line 546
            aload 6 /* t */
            ifnull 32
            aload 6 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 32
        end local 3 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.io.PrintStream java.lang.String top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        27: astore 4
            aload 6 /* t */
            ifnull 28
            aload 6 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 6 // jdk.vm.ci.common.InitTimer t
      StackMap locals:
      StackMap stack:
        28: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 5
            aload 4
            ifnonnull 30
            aload 5
            astore 4
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 4
            aload 5
            if_acmpeq 31
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 4
            athrow
        start local 3 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
        32: .line 548
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.io.PrintStream java.lang.String jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
        33: ldc "create JVMCI backend:"
            aload 2 /* hostArchitecture */
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;Ljava/lang/Object;)Ljdk/vm/ci/common/InitTimer;
            astore 6 /* t */
        start local 6 // jdk.vm.ci.common.InitTimer t
        34: .line 549
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* factory */
            aload 0 /* this */
            aconst_null
            invokeinterface jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory.createJVMCIBackend:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Ljdk/vm/ci/runtime/JVMCIBackend;)Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.registerBackend:(Ljdk/vm/ci/runtime/JVMCIBackend;)Ljdk/vm/ci/runtime/JVMCIBackend;
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hostBackend:Ljdk/vm/ci/runtime/JVMCIBackend;
        35: .line 550
            aload 6 /* t */
            ifnull 41
            aload 6 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 41
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.io.PrintStream java.lang.String jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        36: astore 4
            aload 6 /* t */
            ifnull 37
            aload 6 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 6 // jdk.vm.ci.common.InitTimer t
      StackMap locals:
      StackMap stack:
        37: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 5
            aload 4
            ifnonnull 39
            aload 5
            astore 4
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 4
            aload 5
            if_acmpeq 40
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 4
            athrow
        41: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.getCompilerFactory:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)Ljdk/vm/ci/runtime/JVMCICompilerFactory;
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
        42: .line 553
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
            instanceof jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory
            ifeq 50
        43: .line 554
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
            checkcast jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hsCompilerFactory:Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
        44: .line 555
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hsCompilerFactory:Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory.getCompilationLevelAdjustment:()Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory$CompilationLevelAdjustment;
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory$CompilationLevelAdjustment.None:Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory$CompilationLevelAdjustment;
            if_acmpeq 51
        45: .line 556
            ldc Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        46: .line 557
            ldc "%s.getCompilationLevelAdjustment() is no longer supported. Use %s.excludeFromJVMCICompilation() instead."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        47: .line 558
            aload 4 /* name */
            aastore
            dup
            iconst_1
            aload 4 /* name */
            aastore
        48: .line 557
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        49: .line 559
            new java.lang.UnsupportedOperationException
            dup
            aload 5 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String msg
        end local 4 // java.lang.String name
        50: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hsCompilerFactory:Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
        51: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            ldc "JVMCIPrintProperties"
            ldc Ljava/lang/Boolean;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfig.getFlag:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 57
        52: .line 566
            aload 1 /* vmLogStream */
            ifnonnull 54
        53: .line 567
            new java.io.PrintStream
            dup
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getLogStream:()Ljava/io/OutputStream;
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* vmLogStream */
        54: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* vmLogStream */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.printProperties:(Ljava/io/PrintStream;)V
        55: .line 570
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
            aload 1 /* vmLogStream */
            invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.printProperties:(Ljava/io/PrintStream;)V
        56: .line 571
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        57: .line 574
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.PrintConfig:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getBoolean:()Z
            ifeq 59
        58: .line 575
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.configStore:Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigStore.printConfig:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
        59: .line 577
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
        end local 2 // java.lang.String hostArchitecture
        end local 1 // java.io.PrintStream vmLogStream
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   60     0              this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            5    9     3                 t  Ljdk/vm/ci/common/InitTimer;
           17   60     1       vmLogStream  Ljava/io/PrintStream;
           23   60     2  hostArchitecture  Ljava/lang/String;
           26   27     3           factory  Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
           32   60     3           factory  Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
           25   28     6                 t  Ljdk/vm/ci/common/InitTimer;
           34   37     6                 t  Ljdk/vm/ci/common/InitTimer;
           46   50     4              name  Ljava/lang/String;
           49   50     5               msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  any
           4    10      10  any
          25    26      27  any
          24    29      29  any
          34    35      36  any
          33    38      38  any

  jdk.vm.ci.hotspot.HotSpotResolvedJavaType createClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class javaClass
         0: .line 580
            aload 1 /* javaClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 581
            aload 1 /* javaClass */
            invokestatic jdk.vm.ci.meta.JavaKind.fromJavaClass:(Ljava/lang/Class;)Ljdk/vm/ci/meta/JavaKind;
            invokestatic jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType.forKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType;
            areturn
         2: .line 583
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 7
         3: .line 585
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* javaClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aconst_null
            iconst_1
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupType:(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Z)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
         4: areturn
         5: .line 586
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 2 /* e */
        start local 2 // java.lang.ClassNotFoundException e
         6: .line 587
            new jdk.vm.ci.common.JVMCIError
            dup
            aload 2 /* e */
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ClassNotFoundException e
         7: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* javaClass */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            areturn
        end local 1 // java.lang.Class javaClass
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    8     1  javaClass  Ljava/lang/Class<*>;
            6    7     2          e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    MethodParameters:
           Name  Flags
      javaClass  

  private jdk.vm.ci.hotspot.HotSpotResolvedJavaType fromClass0(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class javaClass
         0: .line 594
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
            ifnonnull 8
         1: .line 595
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 596
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
            ifnonnull 4
         3: .line 597
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$1
            dup
            aload 0 /* this */
            invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$1.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
         4: .line 595
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
            aload 1 /* javaClass */
            invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder
            astore 2 /* ref */
        start local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder ref
         9: .line 608
            aload 2 /* ref */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder.get:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
            astore 3 /* javaType */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType javaType
        10: .line 609
            aload 3 /* javaType */
            ifnonnull 13
        11: .line 613
            aload 0 /* this */
            aload 1 /* javaClass */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.createClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            astore 3 /* javaType */
        12: .line 614
            aload 2 /* ref */
            aload 3 /* javaType */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder.set:(Ljava/lang/Object;)V
        13: .line 616
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder jdk.vm.ci.hotspot.HotSpotResolvedJavaType
      StackMap stack:
            aload 3 /* javaType */
            areturn
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType javaType
        end local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder ref
        end local 1 // java.lang.Class javaClass
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   14     1  javaClass  Ljava/lang/Class<*>;
            9   14     2        ref  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$WeakReferenceHolder<Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;>;
           10   14     3   javaType  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    MethodParameters:
           Name  Flags
      javaClass  

  jdk.vm.ci.hotspot.HotSpotResolvedJavaType fromClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class javaClass
         0: .line 625
            aload 1 /* javaClass */
            ifnonnull 2
         1: .line 626
            aconst_null
            areturn
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* javaClass */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass0:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            areturn
        end local 1 // java.lang.Class javaClass
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    3     1  javaClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
    MethodParameters:
           Name  Flags
      javaClass  

  synchronized jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl fromMetaspace(long, java.lang.String);
    descriptor: (JLjava/lang/String;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // long klassPointer
        start local 3 // java.lang.String signature
         0: .line 632
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaTypes:Ljava/util/HashMap;
            ifnonnull 2
         1: .line 633
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaTypes:Ljava/util/HashMap;
         2: .line 635
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 3
            lload 1 /* klassPointer */
            lconst_0
            lcmp
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaTypes:Ljava/util/HashMap;
            lload 1 /* klassPointer */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 4 /* klassReference */
        start local 4 // java.lang.ref.WeakReference klassReference
         4: .line 637
            aconst_null
            astore 5 /* javaType */
        start local 5 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaType
         5: .line 638
            aload 4 /* klassReference */
            ifnull 7
         6: .line 639
            aload 4 /* klassReference */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            astore 5 /* javaType */
         7: .line 641
      StackMap locals: java.lang.ref.WeakReference jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
      StackMap stack:
            aload 5 /* javaType */
            ifnonnull 10
         8: .line 642
            new jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            dup
            lload 1 /* klassPointer */
            aload 3 /* signature */
            invokespecial jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.<init>:(JLjava/lang/String;)V
            astore 5 /* javaType */
         9: .line 643
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaTypes:Ljava/util/HashMap;
            lload 1 /* klassPointer */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            new java.lang.ref.WeakReference
            dup
            aload 5 /* javaType */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 645
      StackMap locals:
      StackMap stack:
            aload 5 /* javaType */
            areturn
        end local 5 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaType
        end local 4 // java.lang.ref.WeakReference klassReference
        end local 3 // java.lang.String signature
        end local 1 // long klassPointer
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   11     1    klassPointer  J
            0   11     3       signature  Ljava/lang/String;
            4   11     4  klassReference  Ljava/lang/ref/WeakReference<Ljdk/vm/ci/meta/ResolvedJavaType;>;
            5   11     5        javaType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
    MethodParameters:
              Name  Flags
      klassPointer  
      signature     

  private jdk.vm.ci.runtime.JVMCIBackend registerBackend(jdk.vm.ci.runtime.JVMCIBackend);
    descriptor: (Ljdk/vm/ci/runtime/JVMCIBackend;)Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.runtime.JVMCIBackend backend
         0: .line 649
            aload 1 /* backend */
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* arch */
        start local 2 // java.lang.Class arch
         1: .line 650
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.backends:Ljava/util/Map;
            aload 2 /* arch */
            aload 1 /* backend */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.vm.ci.runtime.JVMCIBackend
            astore 3 /* oldValue */
        start local 3 // jdk.vm.ci.runtime.JVMCIBackend oldValue
         2: .line 651
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 3
            aload 3 /* oldValue */
            ifnull 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot overwrite existing backend for architecture "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* arch */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 652
      StackMap locals: java.lang.Class jdk.vm.ci.runtime.JVMCIBackend
      StackMap stack:
            aload 1 /* backend */
            areturn
        end local 3 // jdk.vm.ci.runtime.JVMCIBackend oldValue
        end local 2 // java.lang.Class arch
        end local 1 // jdk.vm.ci.runtime.JVMCIBackend backend
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    4     1   backend  Ljdk/vm/ci/runtime/JVMCIBackend;
            1    4     2      arch  Ljava/lang/Class<+Ljdk/vm/ci/code/Architecture;>;
            2    4     3  oldValue  Ljdk/vm/ci/runtime/JVMCIBackend;
    MethodParameters:
         Name  Flags
      backend  

  public jdk.vm.ci.hotspot.HotSpotVMConfigStore getConfigStore();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 656
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.configStore:Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public jdk.vm.ci.hotspot.HotSpotVMConfig getConfig();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 660
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.config:Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public jdk.vm.ci.hotspot.CompilerToVM getCompilerToVM();
    descriptor: ()Ljdk/vm/ci/hotspot/CompilerToVM;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 664
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  jdk.vm.ci.hotspot.HotSpotJVMCIReflection getReflection();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 668
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public java.util.function.Predicate<jdk.vm.ci.meta.ResolvedJavaType> getIntrinsificationTrustPredicate(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)Ljava/util/function/Predicate;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class[] compilerLeafClasses
         0: .line 679
            new jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$2
            dup
            aload 0 /* this */
            invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$2.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            areturn
        end local 1 // java.lang.Class[] compilerLeafClasses
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1  compilerLeafClasses  [Ljava/lang/Class;
    Signature: ([Ljava/lang/Class<*>;)Ljava/util/function/Predicate<Ljdk/vm/ci/meta/ResolvedJavaType;>;
    MethodParameters:
                     Name  Flags
      compilerLeafClasses  

  public java.lang.Class<?> getMirror(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 701
            aload 1 /* type */
            instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaType
            ifeq 2
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
            instanceof jdk.vm.ci.hotspot.HotSpotJDKReflection
            ifeq 2
         1: .line 702
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
            checkcast jdk.vm.ci.hotspot.HotSpotJDKReflection
            aload 1 /* type */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
            invokevirtual jdk.vm.ci.hotspot.HotSpotJDKReflection.getMirror:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Ljava/lang/Class;
            areturn
         2: .line 704
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    3     1  type  Ljdk/vm/ci/meta/ResolvedJavaType;
    Signature: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      type  

  public jdk.vm.ci.runtime.JVMCICompiler getCompiler();
    descriptor: ()Ljdk/vm/ci/runtime/JVMCICompiler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 727
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            ifnonnull 18
         1: .line 728
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 729
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            ifnonnull 14
         3: .line 730
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
            ifeq 4
            new java.lang.AssertionError
            dup
            ldc "recursive compiler creation"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 731
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
         5: .line 733
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
            aload 0 /* this */
            invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.createCompiler:(Ljdk/vm/ci/runtime/JVMCIRuntime;)Ljdk/vm/ci/runtime/JVMCICompiler;
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
         6: .line 734
            goto 13
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 2 /* t */
        start local 2 // java.lang.RuntimeException t
         8: .line 735
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler
            dup
            aload 2 /* t */
            invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler.<init>:(Ljava/lang/RuntimeException;)V
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
        end local 2 // java.lang.RuntimeException t
         9: .line 737
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
            goto 14
        10: .line 736
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        11: .line 737
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
        12: .line 738
            aload 3
            athrow
        13: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
        14: .line 728
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 1
            monitorexit
        17: athrow
        18: .line 742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            instanceof jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler
            ifeq 20
        19: .line 743
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            checkcast jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler.t:Ljava/lang/RuntimeException;
            athrow
        20: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            8    9     2     t  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.RuntimeException
           5     9      10  any
           2    15      16  any
          16    17      16  any

  public jdk.vm.ci.meta.JavaType lookupType(java.lang.String, jdk.vm.ci.hotspot.HotSpotResolvedObjectType, boolean);
    descriptor: (Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;Z)Ljdk/vm/ci/meta/JavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.String name
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType accessingType
        start local 3 // boolean resolve
         0: .line 762
            aload 2 /* accessingType */
            ldc "cannot resolve type without an accessing class"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 763
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* accessingType */
            iload 3 /* resolve */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.lookupTypeInternal:(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;Z)Ljdk/vm/ci/meta/JavaType;
            areturn
        end local 3 // boolean resolve
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType accessingType
        end local 1 // java.lang.String name
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    2     1           name  Ljava/lang/String;
            0    2     2  accessingType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            0    2     3        resolve  Z
    MethodParameters:
               Name  Flags
      name           
      accessingType  
      resolve        

  jdk.vm.ci.meta.JavaType lookupTypeInternal(java.lang.String, jdk.vm.ci.hotspot.HotSpotResolvedObjectType, boolean);
    descriptor: (Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;Z)Ljdk/vm/ci/meta/JavaType;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.String name
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType accessingType
        start local 3 // boolean resolve
         0: .line 768
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 3
         1: .line 769
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.vm.ci.meta.JavaKind.fromPrimitiveOrVoidTypeChar:(C)Ljdk/vm/ci/meta/JavaKind;
            astore 4 /* kind */
        start local 4 // jdk.vm.ci.meta.JavaKind kind
         2: .line 770
            aload 4 /* kind */
            invokestatic jdk.vm.ci.hotspot.HotSpotResolvedPrimitiveType.forKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType;
            areturn
        end local 4 // jdk.vm.ci.meta.JavaKind kind
         3: .line 774
      StackMap locals:
      StackMap stack:
            aload 2 /* accessingType */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            astore 4 /* hsAccessingType */
        start local 4 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl hsAccessingType
         4: .line 776
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* name */
            aload 4 /* hsAccessingType */
            iload 3 /* resolve */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupType:(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;Z)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            astore 5 /* klass */
        start local 5 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType klass
         5: .line 778
            aload 5 /* klass */
            ifnonnull 9
         6: .line 779
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 7
            iload 3 /* resolve */
            ifeq 7
            new java.lang.AssertionError
            dup
            aload 1 /* name */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 780
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl jdk.vm.ci.hotspot.HotSpotResolvedJavaType
      StackMap stack:
            aload 1 /* name */
            invokestatic jdk.vm.ci.meta.UnresolvedJavaType.create:(Ljava/lang/String;)Ljdk/vm/ci/meta/UnresolvedJavaType;
         8: areturn
         9: .line 782
      StackMap locals:
      StackMap stack:
            aload 5 /* klass */
        10: areturn
        end local 5 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType klass
        11: .line 783
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime java.lang.String jdk.vm.ci.hotspot.HotSpotResolvedObjectType int jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
      StackMap stack: java.lang.ClassNotFoundException
            astore 5 /* e */
        start local 5 // java.lang.ClassNotFoundException e
        12: .line 784
            new java.lang.NoClassDefFoundError
            dup
            invokespecial java.lang.NoClassDefFoundError.<init>:()V
            aload 5 /* e */
            invokevirtual java.lang.NoClassDefFoundError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.NoClassDefFoundError
            athrow
        end local 5 // java.lang.ClassNotFoundException e
        end local 4 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl hsAccessingType
        end local 3 // boolean resolve
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType accessingType
        end local 1 // java.lang.String name
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   13     1             name  Ljava/lang/String;
            0   13     2    accessingType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            0   13     3          resolve  Z
            2    3     4             kind  Ljdk/vm/ci/meta/JavaKind;
            4   13     4  hsAccessingType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            5   11     5            klass  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
           12   13     5                e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           4     8      11  Class java.lang.ClassNotFoundException
           9    10      11  Class java.lang.ClassNotFoundException
    MethodParameters:
               Name  Flags
      name           
      accessingType  
      resolve        

  public jdk.vm.ci.runtime.JVMCIBackend getHostJVMCIBackend();
    descriptor: ()Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 790
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hostBackend:Ljdk/vm/ci/runtime/JVMCIBackend;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public <T extends jdk.vm.ci.code.Architecture> jdk.vm.ci.runtime.JVMCIBackend getJVMCIBackend(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class arch
         0: .line 795
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 1
            aload 1 /* arch */
            ldc Ljdk/vm/ci/code/Architecture;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.backends:Ljava/util/Map;
            aload 1 /* arch */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.vm.ci.runtime.JVMCIBackend
            areturn
        end local 1 // java.lang.Class arch
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    2     1  arch  Ljava/lang/Class<TT;>;
    Signature: <T:Ljdk/vm/ci/code/Architecture;>(Ljava/lang/Class<TT;>;)Ljdk/vm/ci/runtime/JVMCIBackend;
    MethodParameters:
      Name  Flags
      arch  

  public java.util.Map<java.lang.Class<? extends jdk.vm.ci.code.Architecture>, jdk.vm.ci.runtime.JVMCIBackend> getJVMCIBackends();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 800
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.backends:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    Signature: ()Ljava/util/Map<Ljava/lang/Class<+Ljdk/vm/ci/code/Architecture;>;Ljdk/vm/ci/runtime/JVMCIBackend;>;

  private jdk.vm.ci.hotspot.HotSpotCompilationRequestResult compileMethod(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod, int, long, int);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;IJI)Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        start local 2 // int entryBCI
        start local 3 // long compileState
        start local 5 // int id
         0: .line 806
            new jdk.vm.ci.hotspot.HotSpotCompilationRequest
            dup
            aload 1 /* method */
            iload 2 /* entryBCI */
            lload 3 /* compileState */
            iload 5 /* id */
            invokespecial jdk.vm.ci.hotspot.HotSpotCompilationRequest.<init>:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;IJI)V
            astore 6 /* request */
        start local 6 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
         1: .line 807
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            aload 6 /* request */
            invokeinterface jdk.vm.ci.runtime.JVMCICompiler.compileMethod:(Ljdk/vm/ci/code/CompilationRequest;)Ljdk/vm/ci/code/CompilationRequestResult;
            astore 7 /* result */
        start local 7 // jdk.vm.ci.code.CompilationRequestResult result
         2: .line 808
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$assertionsDisabled:Z
            ifne 3
            aload 7 /* result */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "compileMethod must always return something"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 810
      StackMap locals: jdk.vm.ci.hotspot.HotSpotCompilationRequest jdk.vm.ci.code.CompilationRequestResult
      StackMap stack:
            aload 7 /* result */
            instanceof jdk.vm.ci.hotspot.HotSpotCompilationRequestResult
            ifeq 6
         4: .line 811
            aload 7 /* result */
            checkcast jdk.vm.ci.hotspot.HotSpotCompilationRequestResult
            astore 8 /* hsResult */
        start local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
         5: .line 812
            goto 13
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
         6: .line 813
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            invokeinterface jdk.vm.ci.code.CompilationRequestResult.getFailure:()Ljava/lang/Object;
            astore 9 /* failure */
        start local 9 // java.lang.Object failure
         7: .line 814
            aload 9 /* failure */
            ifnull 11
         8: .line 815
            iconst_0
            istore 10 /* retry */
        start local 10 // boolean retry
         9: .line 816
            aload 9 /* failure */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            iload 10 /* retry */
            invokestatic jdk.vm.ci.hotspot.HotSpotCompilationRequestResult.failure:(Ljava/lang/String;Z)Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
            astore 8 /* hsResult */
        end local 10 // boolean retry
        start local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
        10: .line 817
            goto 13
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
        11: .line 818
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod int long int jdk.vm.ci.hotspot.HotSpotCompilationRequest jdk.vm.ci.code.CompilationRequestResult top java.lang.Object
      StackMap stack:
            iconst_m1
            istore 10 /* inlinedBytecodes */
        start local 10 // int inlinedBytecodes
        12: .line 819
            iload 10 /* inlinedBytecodes */
            invokestatic jdk.vm.ci.hotspot.HotSpotCompilationRequestResult.success:(I)Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
            astore 8 /* hsResult */
        end local 10 // int inlinedBytecodes
        end local 9 // java.lang.Object failure
        start local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
        13: .line 822
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod int long int jdk.vm.ci.hotspot.HotSpotCompilationRequest jdk.vm.ci.code.CompilationRequestResult jdk.vm.ci.hotspot.HotSpotCompilationRequestResult
      StackMap stack:
            aload 8 /* hsResult */
            areturn
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
        end local 7 // jdk.vm.ci.code.CompilationRequestResult result
        end local 6 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
        end local 5 // int id
        end local 3 // long compileState
        end local 2 // int entryBCI
        end local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   14     1            method  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            0   14     2          entryBCI  I
            0   14     3      compileState  J
            0   14     5                id  I
            1   14     6           request  Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
            2   14     7            result  Ljdk/vm/ci/code/CompilationRequestResult;
            5    6     8          hsResult  Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
           10   11     8          hsResult  Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
           13   14     8          hsResult  Ljdk/vm/ci/hotspot/HotSpotCompilationRequestResult;
            7   13     9           failure  Ljava/lang/Object;
            9   10    10             retry  Z
           12   13    10  inlinedBytecodes  I
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    MethodParameters:
              Name  Flags
      method        
      entryBCI      
      compileState  
      id            

  private boolean isGCSupported(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // int gcIdentifier
         0: .line 828
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            iload 1 /* gcIdentifier */
            invokeinterface jdk.vm.ci.runtime.JVMCICompiler.isGCSupported:(I)Z
            ireturn
        end local 1 // int gcIdentifier
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1  gcIdentifier  I
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    MethodParameters:
              Name  Flags
      gcIdentifier  

  private synchronized void shutdown();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 841
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.isShutdown:Z
            ifne 7
         1: .line 842
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.isShutdown:Z
         2: .line 845
            invokestatic jdk.vm.ci.hotspot.Cleaner.clean:()V
         3: .line 847
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getVmEventListeners:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime top java.util.Iterator
      StackMap stack:
         4: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotVMEventListener
            astore 1 /* vmEventListener */
        start local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         5: .line 848
            aload 1 /* vmEventListener */
            invokeinterface jdk.vm.ci.hotspot.HotSpotVMEventListener.notifyShutdown:()V
        end local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         6: .line 847
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 851
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            5    6     1  vmEventListener  Ljdk/vm/ci/hotspot/HotSpotVMEventListener;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()

  private void bootstrapFinished();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 858
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getVmEventListeners:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotVMEventListener
            astore 1 /* vmEventListener */
        start local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         2: .line 859
            aload 1 /* vmEventListener */
            invokeinterface jdk.vm.ci.hotspot.HotSpotVMEventListener.notifyBootstrapFinished:()V
        end local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         3: .line 858
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 861
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            2    3     1  vmEventListener  Ljdk/vm/ci/hotspot/HotSpotVMEventListener;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()

  void notifyInstall(jdk.vm.ci.hotspot.HotSpotCodeCacheProvider, jdk.vm.ci.code.InstalledCode, jdk.vm.ci.code.CompiledCode);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;Ljdk/vm/ci/code/InstalledCode;Ljdk/vm/ci/code/CompiledCode;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider hotSpotCodeCacheProvider
        start local 2 // jdk.vm.ci.code.InstalledCode installedCode
        start local 3 // jdk.vm.ci.code.CompiledCode compiledCode
         0: .line 871
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getVmEventListeners:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 3
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.code.InstalledCode jdk.vm.ci.code.CompiledCode top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotVMEventListener
            astore 4 /* vmEventListener */
        start local 4 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         2: .line 872
            aload 4 /* vmEventListener */
            aload 1 /* hotSpotCodeCacheProvider */
            aload 2 /* installedCode */
            aload 3 /* compiledCode */
            invokeinterface jdk.vm.ci.hotspot.HotSpotVMEventListener.notifyInstall:(Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;Ljdk/vm/ci/code/InstalledCode;Ljdk/vm/ci/code/CompiledCode;)V
        end local 4 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         3: .line 871
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 874
            return
        end local 3 // jdk.vm.ci.code.CompiledCode compiledCode
        end local 2 // jdk.vm.ci.code.InstalledCode installedCode
        end local 1 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider hotSpotCodeCacheProvider
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    5     0                      this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    5     1  hotSpotCodeCacheProvider  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            0    5     2             installedCode  Ljdk/vm/ci/code/InstalledCode;
            0    5     3              compiledCode  Ljdk/vm/ci/code/CompiledCode;
            2    3     4           vmEventListener  Ljdk/vm/ci/hotspot/HotSpotVMEventListener;
    MethodParameters:
                          Name  Flags
      hotSpotCodeCacheProvider  
      installedCode             
      compiledCode              

  public int writeDebugOutput(byte[], int, int, boolean, boolean);
    descriptor: ([BIIZZ)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
        start local 4 // boolean flush
        start local 5 // boolean canThrow
         0: .line 890
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            iload 4 /* flush */
            iload 5 /* canThrow */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.writeDebugOutput0:(Ljdk/vm/ci/hotspot/CompilerToVM;[BIIZZ)I
            ireturn
        end local 5 // boolean canThrow
        end local 4 // boolean flush
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1     bytes  [B
            0    1     2    offset  I
            0    1     3    length  I
            0    1     4     flush  Z
            0    1     5  canThrow  Z
    MethodParameters:
          Name  Flags
      bytes     
      offset    
      length    
      flush     
      canThrow  

  static int writeDebugOutput0(jdk.vm.ci.hotspot.CompilerToVM, byte[], int, int, boolean, boolean);
    descriptor: (Ljdk/vm/ci/hotspot/CompilerToVM;[BIIZZ)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=10, args_size=6
        start local 0 // jdk.vm.ci.hotspot.CompilerToVM vm
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
        start local 4 // boolean flush
        start local 5 // boolean canThrow
         0: .line 897
            aload 1 /* bytes */
            ifnonnull 4
         1: .line 898
            iload 5 /* canThrow */
            ifne 3
         2: .line 899
            iconst_m1
            ireturn
         3: .line 901
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         4: .line 903
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iflt 5
            iload 3 /* length */
            iflt 5
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            aload 1 /* bytes */
            arraylength
            if_icmple 8
         5: .line 904
      StackMap locals:
      StackMap stack:
            iload 5 /* canThrow */
            ifne 7
         6: .line 905
            bipush -2
            ireturn
         7: .line 907
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         8: .line 909
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            bipush 8
            if_icmpgt 18
         9: .line 910
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 6 /* buffer */
        start local 6 // java.nio.ByteBuffer buffer
        10: .line 911
            iload 3 /* length */
            bipush 8
            if_icmpeq 15
        11: .line 912
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 7 /* buffer8 */
        start local 7 // java.nio.ByteBuffer buffer8
        12: .line 913
            aload 7 /* buffer8 */
            aload 6 /* buffer */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        13: .line 914
            aload 7 /* buffer8 */
            bipush 8
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        14: .line 915
            aload 7 /* buffer8 */
            astore 6 /* buffer */
        end local 7 // java.nio.ByteBuffer buffer8
        15: .line 917
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 6 /* buffer */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
        16: .line 918
            aload 0 /* vm */
            aload 6 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.getLong:(I)J
            iload 3 /* length */
            iload 4 /* flush */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.writeDebugOutput:(JIZ)V
        end local 6 // java.nio.ByteBuffer buffer
        17: .line 919
            goto 27
        18: .line 920
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            astore 6 /* unsafe */
        start local 6 // jdk.internal.misc.Unsafe unsafe
        19: .line 921
            aload 6 /* unsafe */
            iload 3 /* length */
            i2l
            invokevirtual jdk.internal.misc.Unsafe.allocateMemory:(J)J
            lstore 7 /* buffer */
        start local 7 // long buffer
        20: .line 923
            aload 6 /* unsafe */
            aload 1 /* bytes */
            aload 0 /* vm */
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_BYTE_BASE_OFFSET:I
            i2l
            aconst_null
            lload 7 /* buffer */
            iload 3 /* length */
            i2l
            invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
        21: .line 924
            aload 0 /* vm */
            lload 7 /* buffer */
            iload 3 /* length */
            iload 4 /* flush */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.writeDebugOutput:(JIZ)V
        22: .line 925
            goto 26
      StackMap locals: jdk.vm.ci.hotspot.CompilerToVM byte[] int int int int jdk.internal.misc.Unsafe long
      StackMap stack: java.lang.Throwable
        23: astore 9
        24: .line 926
            aload 6 /* unsafe */
            lload 7 /* buffer */
            invokevirtual jdk.internal.misc.Unsafe.freeMemory:(J)V
        25: .line 927
            aload 9
            athrow
        26: .line 926
      StackMap locals:
      StackMap stack:
            aload 6 /* unsafe */
            lload 7 /* buffer */
            invokevirtual jdk.internal.misc.Unsafe.freeMemory:(J)V
        end local 7 // long buffer
        end local 6 // jdk.internal.misc.Unsafe unsafe
        27: .line 929
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean canThrow
        end local 4 // boolean flush
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // jdk.vm.ci.hotspot.CompilerToVM vm
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0        vm  Ljdk/vm/ci/hotspot/CompilerToVM;
            0   28     1     bytes  [B
            0   28     2    offset  I
            0   28     3    length  I
            0   28     4     flush  Z
            0   28     5  canThrow  Z
           10   17     6    buffer  Ljava/nio/ByteBuffer;
           12   15     7   buffer8  Ljava/nio/ByteBuffer;
           19   27     6    unsafe  Ljdk/internal/misc/Unsafe;
           20   27     7    buffer  J
      Exception table:
        from    to  target  type
          20    23      23  any
    MethodParameters:
          Name  Flags
      vm        
      bytes     
      offset    
      length    
      flush     
      canThrow  

  public java.io.OutputStream getLogStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 936
            new jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$3
            dup
            aload 0 /* this */
            invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$3.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public long[] collectCounters();
    descriptor: ()[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 966
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.collectCounters:()[J
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public int getCountersSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 975
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getCountersSize:()I
            ireturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public boolean setCountersSize(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // int newSize
         0: .line 986
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            iload 1 /* newSize */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.setCountersSize:(I)Z
            ireturn
        end local 1 // int newSize
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1  newSize  I
    MethodParameters:
         Name  Flags
      newSize  

  public int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 995
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 1
                    2: 2
                    3: 4
                    4: 3
                    5: 5
                    6: 7
                    7: 6
                    8: 8
                    9: 9
              default: 10
          }
         1: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_BOOLEAN_BASE_OFFSET:I
            ireturn
         2: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_BYTE_BASE_OFFSET:I
            ireturn
         3: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_CHAR_BASE_OFFSET:I
            ireturn
         4: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_SHORT_BASE_OFFSET:I
            ireturn
         5: .line 1005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_INT_BASE_OFFSET:I
            ireturn
         6: .line 1007
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_LONG_BASE_OFFSET:I
            ireturn
         7: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_FLOAT_BASE_OFFSET:I
            ireturn
         8: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_DOUBLE_BASE_OFFSET:I
            ireturn
         9: .line 1013
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_OBJECT_BASE_OFFSET:I
            ireturn
        10: .line 1015
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* kind */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   11     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public int getArrayIndexScale(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 1026
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 1
                    2: 2
                    3: 4
                    4: 3
                    5: 5
                    6: 7
                    7: 6
                    8: 8
                    9: 9
              default: 10
          }
         1: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_BOOLEAN_INDEX_SCALE:I
            ireturn
         2: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_BYTE_INDEX_SCALE:I
            ireturn
         3: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_CHAR_INDEX_SCALE:I
            ireturn
         4: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_SHORT_INDEX_SCALE:I
            ireturn
         5: .line 1036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_INT_INDEX_SCALE:I
            ireturn
         6: .line 1038
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_LONG_INDEX_SCALE:I
            ireturn
         7: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_FLOAT_INDEX_SCALE:I
            ireturn
         8: .line 1042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_DOUBLE_INDEX_SCALE:I
            ireturn
         9: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            getfield jdk.vm.ci.hotspot.CompilerToVM.ARRAY_OBJECT_INDEX_SCALE:I
            ireturn
        10: .line 1046
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* kind */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0   11     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public long[] registerNativeMethods(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class clazz
         0: .line 1115
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* clazz */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.registerNativeMethods:(Ljava/lang/Class;)[J
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)[J
    MethodParameters:
       Name  Flags
      clazz  

  public long translate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Object obj
         0: .line 1143
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* obj */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.translate:(Ljava/lang/Object;)J
            lreturn
        end local 1 // java.lang.Object obj
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public <T> T unhand(java.lang.Class<T>, );
    descriptor: (Ljava/lang/Class;J)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Class type
        start local 2 // long handle
         0: .line 1161
            aload 1 /* type */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            lload 2 /* handle */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.unhand:(J)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // long handle
        end local 1 // java.lang.Class type
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     1    type  Ljava/lang/Class<TT;>;
            0    1     2  handle  J
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;J)TT;
    MethodParameters:
        Name  Flags
      type    
      handle  

  public boolean isCurrentThreadAttached();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 1172
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.isCurrentThreadAttached:()Z
            ireturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public long getCurrentJavaThread();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 1180
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getCurrentJavaThread:()J
            lreturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public boolean attachCurrentThread(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // boolean asDaemon
         0: .line 1197
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 1
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: byte[]
         2: astore 2 /* name */
        start local 2 // byte[] name
         3: .line 1198
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 2 /* name */
            iload 1 /* asDaemon */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.attachCurrentThread:([BZ)Z
            ireturn
        end local 2 // byte[] name
        end local 1 // boolean asDaemon
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    4     1  asDaemon  Z
            3    4     2      name  [B
    MethodParameters:
          Name  Flags
      asDaemon  

  public void detachCurrentThread();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
         0: .line 1210
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.detachCurrentThread:()V
         1: .line 1211
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;

  public void excludeFromJVMCICompilation(java.lang.Module[]);
    descriptor: ([Ljava/lang/Module;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // java.lang.Module[] modules
         0: .line 1220
            aload 0 /* this */
            aload 1 /* modules */
            invokevirtual java.lang.Module[].clone:()Ljava/lang/Object;
            checkcast java.lang.Module[]
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.excludeFromJVMCICompilation:[Ljava/lang/Module;
         1: .line 1221
            return
        end local 1 // java.lang.Module[] modules
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    2     1  modules  [Ljava/lang/Module;
    MethodParameters:
         Name  Flags
      modules  

  public void exitHotSpot(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // int status
         0: .line 1227
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifne 2
         1: .line 1228
            iload 1 /* status */
            invokestatic java.lang.System.exit:(I)V
         2: .line 1230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            iload 1 /* status */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.callSystemExit:(I)V
         3: .line 1231
            return
        end local 1 // int status
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    4     1  status  I
    MethodParameters:
        Name  Flags
      status  

  jdk.vm.ci.common.JVMCIError exitHotSpotWithMessage(int, java.lang.String, java.lang.Object[]);
    descriptor: (ILjava/lang/String;[Ljava/lang/Object;)Ljdk/vm/ci/common/JVMCIError;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
        start local 1 // int status
        start local 2 // java.lang.String format
        start local 3 // java.lang.Object[] args
         0: .line 1238
            aload 2 /* format */
            aload 3 /* args */
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* messageBytes */
        start local 4 // byte[] messageBytes
         1: .line 1239
            aload 0 /* this */
            aload 4 /* messageBytes */
            iconst_0
            aload 4 /* messageBytes */
            arraylength
            iconst_1
            iconst_1
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.writeDebugOutput:([BIIZZ)I
            pop
         2: .line 1240
            aload 0 /* this */
            iload 1 /* status */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.exitHotSpot:(I)V
         3: .line 1241
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // byte[] messageBytes
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.String format
        end local 1 // int status
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    4     1        status  I
            0    4     2        format  Ljava/lang/String;
            0    4     3          args  [Ljava/lang/Object;
            1    4     4  messageBytes  [B
    MethodParameters:
        Name  Flags
      status  
      format  
      args    

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 73
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotJVMCIRuntime.java"
NestMembers:
  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$1  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$2  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$3  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder
InnerClasses:
  public final CompilationLevelAdjustment = jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory$CompilationLevelAdjustment of jdk.vm.ci.hotspot.HotSpotJVMCICompilerFactory
  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$1
  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$2
  jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$3
  ErrorCreatingCompiler = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$ErrorCreatingCompiler of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
  public final Option = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
  private WeakReferenceHolder = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime