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 70
            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 218
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.options:Ljava/util/Map;
         4: .line 220
            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 429
            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 89
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangObject:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 90
            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 92
      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 96
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangString:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 97
            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 99
      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 103
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangClass:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 104
            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 106
      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 110
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cloneableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 111
            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 113
      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 117
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.serializableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 118
            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 120
      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 124
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.throwableType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 125
            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 127
      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 131
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.enumType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 132
            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 134
      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 138
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.constantCallSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 139
            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 141
      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 145
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.callSiteType:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 146
            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 148
      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 152
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.javaLangInvokeMethodHandle:Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            ifnonnull 2
         1: .line 153
            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 155
      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 164
            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 165
            aload 0 /* result */
            ifnonnull 27
         2: .line 169
            ldc Ljdk/vm/ci/runtime/JVMCI;
            dup
            astore 1
            monitorenter
         3: .line 170
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.instance:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            astore 0 /* result */
         4: .line 171
            aload 0 /* result */
            ifnonnull 17
         5: .line 172
            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 173
            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 177
            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 178
            aload 0 /* result */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            pop
        10: .line 180
      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 183
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            pop
        17: .line 188
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            pop
        18: .line 189
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            pop
        19: .line 190
            iconst_0
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            pop
        20: .line 191
            iconst_0
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            pop
        21: .line 192
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            pop
        22: .line 193
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            pop
        23: .line 169
            aload 1
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 1
            monitorexit
        26: athrow
        27: .line 196
      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 201
            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 206
            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 211
            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 418
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHotSpotJVMCIBackendFactories:()Ljava/lang/Iterable;
            astore 1 /* factories */
        start local 1 // java.lang.Iterable factories
         1: .line 419
            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 420
      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 421
            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 422
            aload 2 /* factory */
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory factory
         6: .line 420
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 426
            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 433
            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 434
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
            areturn
         2: .line 436
      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 437
            getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
            ifeq 9
         4: .line 438
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.cachedHotSpotJVMCIBackendFactories:Ljava/util/List;
         5: .line 439
            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 440
            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 439
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 443
      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 450
            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 506
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
            ifnonnull 8
         1: .line 507
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 508
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.vmEventListeners:Ljava/util/List;
            ifnonnull 4
         3: .line 509
            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 507
      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 513
      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 517
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 501
            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 518
            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 520
            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 521
            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 522
            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 523
            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 525
      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 527
            aconst_null
            astore 1 /* vmLogStream */
        start local 1 // java.io.PrintStream vmLogStream
        17: .line 528
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 21
        18: .line 530
            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 531
            aload 1 /* vmLogStream */
            invokestatic java.lang.System.setOut:(Ljava/io/PrintStream;)V
        20: .line 532
            aload 1 /* vmLogStream */
            invokestatic java.lang.System.setErr:(Ljava/io/PrintStream;)V
        21: .line 536
      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 538
            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 541
            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 542
            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 543
            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 545
      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 546
            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 547
            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 549
      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 550
            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 551
            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 552
            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 553
            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 554
            ldc "%s.getCompilationLevelAdjustment() is no longer supported. Use %s.excludeFromJVMCICompilation() instead."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        47: .line 555
            aload 4 /* name */
            aastore
            dup
            iconst_1
            aload 4 /* name */
            aastore
        48: .line 554
            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 556
            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 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.hsCompilerFactory:Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory;
        51: .line 562
      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 563
            aload 1 /* vmLogStream */
            ifnonnull 54
        53: .line 564
            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 566
      StackMap locals:
      StackMap stack:
            aload 1 /* vmLogStream */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.printProperties:(Ljava/io/PrintStream;)V
        55: .line 567
            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 568
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        57: .line 571
      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 572
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.configStore:Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigStore.printConfig:()V
        59: .line 574
      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 577
            aload 1 /* javaClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 578
            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 580
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifeq 7
         3: .line 582
            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 583
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 2 /* e */
        start local 2 // java.lang.ClassNotFoundException e
         6: .line 584
            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 587
      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 591
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
            ifnonnull 8
         1: .line 592
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 593
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaType:Ljava/lang/ClassValue;
            ifnonnull 4
         3: .line 594
            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 592
      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 604
      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 605
            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 606
            aload 3 /* javaType */
            ifnonnull 13
        11: .line 610
            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 611
            aload 2 /* ref */
            aload 3 /* javaType */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$WeakReferenceHolder.set:(Ljava/lang/Object;)V
        13: .line 613
      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 622
            aload 1 /* javaClass */
            ifnonnull 2
         1: .line 623
            aconst_null
            areturn
         2: .line 625
      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 629
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.resolvedJavaTypes:Ljava/util/HashMap;
            ifnonnull 2
         1: .line 630
            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 632
      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 633
      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 634
            aconst_null
            astore 5 /* javaType */
        start local 5 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl javaType
         5: .line 635
            aload 4 /* klassReference */
            ifnull 7
         6: .line 636
            aload 4 /* klassReference */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            astore 5 /* javaType */
         7: .line 638
      StackMap locals: java.lang.ref.WeakReference jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
      StackMap stack:
            aload 5 /* javaType */
            ifnonnull 10
         8: .line 639
            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 640
            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 642
      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 646
            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 647
            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 648
            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 649
      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 653
            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 657
            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 661
            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 665
            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 676
            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 698
            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 699
            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 701
      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 724
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            ifnonnull 18
         1: .line 725
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 726
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compiler:Ljdk/vm/ci/runtime/JVMCICompiler;
            ifnonnull 14
         3: .line 727
            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 728
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
         5: .line 730
            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 731
            goto 13
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 2 /* t */
        start local 2 // java.lang.RuntimeException t
         8: .line 732
            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 734
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
            goto 14
        10: .line 733
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        11: .line 734
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
        12: .line 735
            aload 3
            athrow
        13: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.creatingCompiler:Z
        14: .line 725
      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 739
      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 740
            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 742
      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 759
            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 760
            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 765
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 3
         1: .line 766
            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 767
            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 771
      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 773
            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 775
            aload 5 /* klass */
            ifnonnull 9
         6: .line 776
            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 777
      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 779
      StackMap locals:
      StackMap stack:
            aload 5 /* klass */
        10: areturn
        end local 5 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType klass
        11: .line 780
      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 781
            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 787
            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 792
            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 793
      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 797
            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 803
            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 804
            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 805
            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 807
      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 808
            aload 7 /* result */
            checkcast jdk.vm.ci.hotspot.HotSpotCompilationRequestResult
            astore 8 /* hsResult */
        start local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
         5: .line 809
            goto 13
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
         6: .line 810
      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 811
            aload 9 /* failure */
            ifnull 11
         8: .line 812
            iconst_0
            istore 10 /* retry */
        start local 10 // boolean retry
         9: .line 813
            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 814
            goto 13
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompilationRequestResult hsResult
        11: .line 815
      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 816
            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 819
      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 825
            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 838
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.isShutdown:Z
            ifne 7
         1: .line 839
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.isShutdown:Z
         2: .line 842
            invokestatic jdk.vm.ci.hotspot.Cleaner.clean:()V
         3: .line 844
            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 845
            aload 1 /* vmEventListener */
            invokeinterface jdk.vm.ci.hotspot.HotSpotVMEventListener.notifyShutdown:()V
        end local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         6: .line 844
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 848
      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 855
            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 856
            aload 1 /* vmEventListener */
            invokeinterface jdk.vm.ci.hotspot.HotSpotVMEventListener.notifyBootstrapFinished:()V
        end local 1 // jdk.vm.ci.hotspot.HotSpotVMEventListener vmEventListener
         3: .line 855
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 858
            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 868
            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 869
            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 868
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 871
            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 887
            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 */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.writeDebugOutput:([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  

  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 894
            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 924
            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 933
            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 944
            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 953
            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 955
      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 957
      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 959
      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 961
      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 963
      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 965
      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 967
      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 969
      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 971
      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 973
      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 984
            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 986
      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 988
      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 990
      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 992
      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 994
      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 996
      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 998
      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 1000
      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 1002
      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 1004
      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 1073
            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 1101
            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 1119
            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 1130
            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 1138
            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 1155
            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 1156
            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 1168
            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 1169
            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 1178
            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 1179
            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 1185
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ifne 2
         1: .line 1186
            iload 1 /* status */
            invokestatic java.lang.System.exit:(I)V
         2: .line 1188
      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 1189
            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 1196
            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 1197
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 4 /* messageBytes */
            iconst_0
            aload 4 /* messageBytes */
            arraylength
            iconst_1
            iconst_1
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.writeDebugOutput:([BIIZZ)I
            pop
         2: .line 1198
            aload 0 /* this */
            iload 1 /* status */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.exitHotSpot:(I)V
         3: .line 1199
            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 70
            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