public class jdk.vm.ci.hotspot.HotSpotMetaAccessProvider implements jdk.vm.ci.meta.MetaAccessProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider
  super_class: java.lang.Object
{
  protected final jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 52
            ldc Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            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.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* runtime */
            putfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
         2: .line 58
            return
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    MethodParameters:
         Name  Flags
      runtime  

  public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.Class clazz
         0: .line 62
            aload 1 /* clazz */
            ifnonnull 2
         1: .line 63
            new java.lang.IllegalArgumentException
            dup
            ldc "Class parameter was null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 65
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* clazz */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
       Name  Flags
      clazz  

  public jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 70
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifne 1
            aload 1 /* constant */
            instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
            ifne 2
         1: .line 71
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 73
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
            invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.Signature parseMethodDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.String signature
         0: .line 78
            new jdk.vm.ci.hotspot.HotSpotSignature
            dup
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* signature */
            invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String signature
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  

  public jdk.vm.ci.meta.ResolvedJavaMethod lookupJavaMethod(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.reflect.Executable reflectionMethod
         0: .line 83
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* reflectionMethod */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Executable
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.asResolvedJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
            areturn
        end local 1 // java.lang.reflect.Executable reflectionMethod
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  reflectionMethod  Ljava/lang/reflect/Executable;
    MethodParameters:
                  Name  Flags
      reflectionMethod  

  public jdk.vm.ci.meta.ResolvedJavaField lookupJavaField(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.reflect.Field reflectionField
         0: .line 88
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            astore 2 /* fieldHolder */
        start local 2 // java.lang.Class fieldHolder
         1: .line 90
            aload 2 /* fieldHolder */
            invokestatic jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromObjectClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            astore 3 /* holder */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
         2: .line 91
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 11
         3: .line 92
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 1 /* reflectionField */
            invokevirtual jdk.internal.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
            lstore 4 /* offset */
        start local 4 // long offset
         4: .line 93
            aload 3 /* holder */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedObjectType long top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* field */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaField field
         6: .line 94
            lload 4 /* offset */
            aload 6 /* field */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getOffset:()I
            i2l
            lcmp
            ifne 8
         7: .line 95
            aload 6 /* field */
            areturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaField field
         8: .line 93
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 5
        end local 4 // long offset
        10: .line 98
            goto 18
        11: .line 99
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedObjectType
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 1 /* reflectionField */
            invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            lstore 4 /* offset */
        start local 4 // long offset
        12: .line 100
            aload 3 /* holder */
            iconst_0
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 17
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedObjectType long top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
        13: aload 9
            iload 7
            aaload
            astore 6 /* field */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        14: .line 101
            lload 4 /* offset */
            aload 6 /* field */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaField.getOffset:()I
            i2l
            lcmp
            ifne 16
        15: .line 102
            aload 6 /* field */
            areturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        16: .line 100
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        17: iload 7
            iload 8
            if_icmplt 13
        end local 4 // long offset
        18: .line 107
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedObjectType
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "unresolved field %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* reflectionField */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
        end local 2 // java.lang.Class fieldHolder
        end local 1 // java.lang.reflect.Field reflectionField
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   19     1  reflectionField  Ljava/lang/reflect/Field;
            1   19     2      fieldHolder  Ljava/lang/Class<*>;
            2   19     3           holder  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            4   10     4           offset  J
            6    8     6            field  Ljdk/vm/ci/meta/ResolvedJavaField;
           12   18     4           offset  J
           14   16     6            field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
                 Name  Flags
      reflectionField  

  private static int intMaskRight(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 111
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 1
            iload 0 /* n */
            bipush 32
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 112
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            bipush 32
            if_icmpne 2
            iconst_m1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
            iload 0 /* n */
            ishl
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     n  I
    MethodParameters:
      Name  Flags
      n     

  public jdk.vm.ci.meta.JavaConstant encodeDeoptActionAndReason(jdk.vm.ci.meta.DeoptimizationAction, jdk.vm.ci.meta.DeoptimizationReason, int);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;I)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        start local 2 // jdk.vm.ci.meta.DeoptimizationReason reason
        start local 3 // int debugId
         0: .line 117
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 4 /* config */
        start local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 118
            aload 0 /* this */
            aload 1 /* action */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(Ljdk/vm/ci/meta/DeoptimizationAction;)I
            istore 5 /* actionValue */
        start local 5 // int actionValue
         2: .line 119
            aload 0 /* this */
            aload 2 /* reason */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(Ljdk/vm/ci/meta/DeoptimizationReason;)I
            istore 6 /* reasonValue */
        start local 6 // int reasonValue
         3: .line 120
            iload 3 /* debugId */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 7 /* debugValue */
        start local 7 // int debugValue
         4: .line 122
            iload 7 /* debugValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
            ishl
            iload 6 /* reasonValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
            ishl
            ior
            iload 5 /* actionValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
            ishl
            ior
            iconst_m1
            ixor
         5: .line 121
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 8 /* c */
        start local 8 // jdk.vm.ci.meta.JavaConstant c
         6: .line 123
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 7
            aload 8 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iflt 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 124
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason int jdk.vm.ci.hotspot.HotSpotVMConfig int int int jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 8 /* c */
            areturn
        end local 8 // jdk.vm.ci.meta.JavaConstant c
        end local 7 // int debugValue
        end local 6 // int reasonValue
        end local 5 // int actionValue
        end local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 3 // int debugId
        end local 2 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    8     1       action  Ljdk/vm/ci/meta/DeoptimizationAction;
            0    8     2       reason  Ljdk/vm/ci/meta/DeoptimizationReason;
            0    8     3      debugId  I
            1    8     4       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    8     5  actionValue  I
            3    8     6  reasonValue  I
            4    8     7   debugValue  I
            6    8     8            c  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
         Name  Flags
      action   
      reason   
      debugId  

  public jdk.vm.ci.meta.DeoptimizationReason decodeDeoptReason(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationReason;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 129
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 130
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 3 /* reasonValue */
        start local 3 // int reasonValue
         2: .line 131
            aload 0 /* this */
            iload 3 /* reasonValue */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(I)Ljdk/vm/ci/meta/DeoptimizationReason;
            astore 4 /* reason */
        start local 4 // jdk.vm.ci.meta.DeoptimizationReason reason
         3: .line 132
            aload 4 /* reason */
            areturn
        end local 4 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 3 // int reasonValue
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    4     1     constant  Ljdk/vm/ci/meta/JavaConstant;
            1    4     2       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    4     3  reasonValue  I
            3    4     4       reason  Ljdk/vm/ci/meta/DeoptimizationReason;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.DeoptimizationAction decodeDeoptAction(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 137
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 138
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 3 /* actionValue */
        start local 3 // int actionValue
         2: .line 139
            aload 0 /* this */
            iload 3 /* actionValue */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(I)Ljdk/vm/ci/meta/DeoptimizationAction;
            astore 4 /* action */
        start local 4 // jdk.vm.ci.meta.DeoptimizationAction action
         3: .line 140
            aload 4 /* action */
            areturn
        end local 4 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 3 // int actionValue
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    4     1     constant  Ljdk/vm/ci/meta/JavaConstant;
            1    4     2       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    4     3  actionValue  I
            3    4     4       action  Ljdk/vm/ci/meta/DeoptimizationAction;
    MethodParameters:
          Name  Flags
      constant  

  public int decodeDebugId(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 145
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 146
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    2     1  constant  Ljdk/vm/ci/meta/JavaConstant;
            1    2     2    config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.JavaConstant encodeSpeculation(jdk.vm.ci.meta.SpeculationLog$Speculation);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$Speculation;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
         0: .line 151
            aload 1 /* speculation */
            invokevirtual jdk.vm.ci.meta.SpeculationLog$Speculation.getReason:()Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            instanceof jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason
            ifeq 2
         1: .line 152
            getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         2: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* speculation */
            checkcast jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.getEncoding:()Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  speculation  Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    MethodParameters:
             Name  Flags
      speculation  

  public jdk.vm.ci.meta.SpeculationLog$Speculation decodeSpeculation(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.meta.SpeculationLog);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/SpeculationLog;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
        start local 2 // jdk.vm.ci.meta.SpeculationLog speculationLog
         0: .line 159
            aload 1 /* constant */
            getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 160
            getstatic jdk.vm.ci.meta.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            areturn
         2: .line 162
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 3
            aload 2 /* speculationLog */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "Must have a speculation log"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* speculationLog */
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.SpeculationLog.lookupSpeculation:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            areturn
        end local 2 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    4     1        constant  Ljdk/vm/ci/meta/JavaConstant;
            0    4     2  speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
    MethodParameters:
                Name  Flags
      constant        
      speculationLog  

  public int convertDeoptAction(jdk.vm.ci.meta.DeoptimizationAction);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationAction action
         0: .line 167
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 168
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:()[I
            aload 1 /* action */
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
              default: 7
          }
         2: .line 170
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
            ireturn
         3: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
            ireturn
         4: .line 174
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
            ireturn
         5: .line 176
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
            ireturn
         6: .line 178
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
            ireturn
         7: .line 180
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* action */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    8     1  action  Ljdk/vm/ci/meta/DeoptimizationAction;
            1    8     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      action  

  public jdk.vm.ci.meta.DeoptimizationAction convertDeoptAction(int);
    descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int action
         0: .line 185
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 186
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
            if_icmpne 3
         2: .line 187
            getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         3: .line 189
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
            if_icmpne 5
         4: .line 190
            getstatic jdk.vm.ci.meta.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         5: .line 192
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
            if_icmpne 7
         6: .line 193
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         7: .line 195
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
            if_icmpne 9
         8: .line 196
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         9: .line 198
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
            if_icmpne 11
        10: .line 199
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
        11: .line 201
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* action */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // int action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   12     1  action  I
            1   12     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      action  

  public int convertDeoptReason(jdk.vm.ci.meta.DeoptimizationReason);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationReason;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationReason reason
         0: .line 205
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 206
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:()[I
            aload 1 /* reason */
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iaload
            tableswitch { // 1 - 16
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 8
                    8: 9
                    9: 10
                   10: 11
                   11: 12
                   12: 13
                   13: 14
                   14: 15
                   15: 16
                   16: 17
              default: 18
          }
         2: .line 208
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
            ireturn
         3: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
            ireturn
         4: .line 212
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
            ireturn
         5: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
            ireturn
         6: .line 216
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
            ireturn
         7: .line 218
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
            ireturn
         8: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
            ireturn
         9: .line 222
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
            ireturn
        10: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
            ireturn
        11: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
            ireturn
        12: .line 228
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
            ireturn
        13: .line 230
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
            ireturn
        14: .line 232
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
            ireturn
        15: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
            ireturn
        16: .line 236
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
            ireturn
        17: .line 238
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
            ireturn
        18: .line 240
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* reason */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   19     1  reason  Ljdk/vm/ci/meta/DeoptimizationReason;
            1   19     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      reason  

  public jdk.vm.ci.meta.DeoptimizationReason convertDeoptReason(int);
    descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationReason;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int reason
         0: .line 245
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 246
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
            if_icmpne 3
         2: .line 247
            getstatic jdk.vm.ci.meta.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         3: .line 249
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
            if_icmpne 5
         4: .line 250
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         5: .line 252
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
            if_icmpne 7
         6: .line 253
            getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         7: .line 255
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
            if_icmpne 9
         8: .line 256
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         9: .line 258
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
            if_icmpne 11
        10: .line 259
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        11: .line 261
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
            if_icmpne 13
        12: .line 262
            getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        13: .line 264
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
            if_icmpne 15
        14: .line 265
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        15: .line 267
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
            if_icmpne 17
        16: .line 268
            getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        17: .line 270
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
            if_icmpne 19
        18: .line 271
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        19: .line 273
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
            if_icmpne 21
        20: .line 274
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        21: .line 276
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
            if_icmpne 23
        22: .line 277
            getstatic jdk.vm.ci.meta.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        23: .line 279
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
            if_icmpne 25
        24: .line 280
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        25: .line 282
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
            if_icmpne 27
        26: .line 283
            getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        27: .line 285
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
            if_icmpne 29
        28: .line 286
            getstatic jdk.vm.ci.meta.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        29: .line 288
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
            if_icmpne 31
        30: .line 289
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        31: .line 291
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
            if_icmpne 33
        32: .line 292
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        33: .line 294
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* reason */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // int reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   34     1  reason  I
            1   34     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      reason  

  public long getMemorySize(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 299
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 13
         1: .line 300
            aload 0 /* this */
            aload 1 /* constant */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            astore 2 /* lookupJavaType */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType
         2: .line 302
            aload 2 /* lookupJavaType */
            ifnonnull 4
         3: .line 303
            lconst_0
            lreturn
         4: .line 305
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectType
      StackMap stack:
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isArray:()Z
            ifeq 12
         5: .line 306
            aload 1 /* constant */
            checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
            invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.object:()Ljava/lang/Object;
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 3 /* length */
        start local 3 // int length
         6: .line 307
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* elementType */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType elementType
         7: .line 308
            aload 4 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
        start local 5 // jdk.vm.ci.meta.JavaKind elementKind
         8: .line 309
            aload 0 /* this */
            aload 5 /* elementKind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 6 /* headerSize */
        start local 6 // int headerSize
         9: .line 310
            aload 0 /* this */
            aload 5 /* elementKind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 7 /* sizeOfElement */
        start local 7 // int sizeOfElement
        10: .line 311
            iload 7 /* sizeOfElement */
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            istore 8 /* log2ElementSize */
        start local 8 // int log2ElementSize
        11: .line 312
            aload 0 /* this */
            iload 3 /* length */
            iload 6 /* headerSize */
            iload 8 /* log2ElementSize */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.computeArrayAllocationSize:(III)I
            i2l
            lreturn
        end local 8 // int log2ElementSize
        end local 7 // int sizeOfElement
        end local 6 // int headerSize
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType elementType
        end local 3 // int length
        12: .line 314
      StackMap locals:
      StackMap stack:
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.instanceSize:()I
            i2l
            lreturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType
        13: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            i2l
            lreturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   14     1         constant  Ljdk/vm/ci/meta/JavaConstant;
            2   13     2   lookupJavaType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            6   12     3           length  I
            7   12     4      elementType  Ljdk/vm/ci/meta/ResolvedJavaType;
            8   12     5      elementKind  Ljdk/vm/ci/meta/JavaKind;
            9   12     6       headerSize  I
           10   12     7    sizeOfElement  I
           11   12     8  log2ElementSize  I
    MethodParameters:
          Name  Flags
      constant  

  public int computeArrayAllocationSize(int, int, int);
    descriptor: (III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int length
        start local 2 // int headerSize
        start local 3 // int log2ElementSize
         0: .line 332
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 4 /* config */
        start local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 333
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.objectAlignment:I
            istore 5 /* alignment */
        start local 5 // int alignment
         2: .line 334
            iload 1 /* length */
            iload 3 /* log2ElementSize */
            ishl
            iload 2 /* headerSize */
            iadd
            iload 5 /* alignment */
            iconst_1
            isub
            iadd
            istore 6 /* size */
        start local 6 // int size
         3: .line 335
            iload 5 /* alignment */
            iconst_1
            isub
            iconst_m1
            ixor
            istore 7 /* mask */
        start local 7 // int mask
         4: .line 336
            iload 6 /* size */
            iload 7 /* mask */
            iand
            ireturn
        end local 7 // int mask
        end local 6 // int size
        end local 5 // int alignment
        end local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 3 // int log2ElementSize
        end local 2 // int headerSize
        end local 1 // int length
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    5     1           length  I
            0    5     2       headerSize  I
            0    5     3  log2ElementSize  I
            1    5     4           config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    5     5        alignment  I
            3    5     6             size  I
            4    5     7             mask  I
    MethodParameters:
                 Name  Flags
      length           
      headerSize       
      log2ElementSize  

  public int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 341
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     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=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 346
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 52
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.DeoptimizationAction.values:()[Ljdk/vm/ci/meta/DeoptimizationAction;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_4
            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.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_3
            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.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_5
            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.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_1
            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.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[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

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 52
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.DeoptimizationReason.values:()[Ljdk/vm/ci/meta/DeoptimizationReason;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 15
            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.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 12
            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.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_5
            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.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_3
            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.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_4
            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.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 14
            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.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_1
            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.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_2
            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.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 8
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 13
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 16
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 7
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 6
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 10
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[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
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotMetaAccessProvider.java"
InnerClasses:
  public final HotSpotSpeculation = jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation of jdk.vm.ci.hotspot.HotSpotSpeculationLog
  public final NoSpeculationReason = jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason of jdk.vm.ci.meta.SpeculationLog
  public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
  public abstract SpeculationReason = jdk.vm.ci.meta.SpeculationLog$SpeculationReason of jdk.vm.ci.meta.SpeculationLog