public final class org.graalvm.compiler.asm.amd64.AMD64Address$Scale extends java.lang.Enum<org.graalvm.compiler.asm.amd64.AMD64Address$Scale>
  minor version: 0
  major version: 59
  flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: org.graalvm.compiler.asm.amd64.AMD64Address$Scale
  super_class: java.lang.Enum
{
  public static final org.graalvm.compiler.asm.amd64.AMD64Address$Scale Times1;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.graalvm.compiler.asm.amd64.AMD64Address$Scale Times2;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.graalvm.compiler.asm.amd64.AMD64Address$Scale Times4;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.graalvm.compiler.asm.amd64.AMD64Address$Scale Times8;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public final int value;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int log2;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private static final org.graalvm.compiler.asm.amd64.AMD64Address$Scale[] ENUM$VALUES;
    descriptor: [Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 117
            new org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            ldc "Times1"
            iconst_0
            iconst_1
            iconst_0
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address$Scale.<init>:(Ljava/lang/String;III)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
         1: .line 118
            new org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            ldc "Times2"
            iconst_1
            iconst_2
            iconst_1
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address$Scale.<init>:(Ljava/lang/String;III)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
         2: .line 119
            new org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            ldc "Times4"
            iconst_2
            iconst_4
            iconst_2
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address$Scale.<init>:(Ljava/lang/String;III)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times4:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
         3: .line 120
            new org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            ldc "Times8"
            iconst_3
            bipush 8
            iconst_3
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address$Scale.<init>:(Ljava/lang/String;III)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times8:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
         4: .line 116
            iconst_4
            anewarray org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            iconst_0
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aastore
            dup
            iconst_2
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times4:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aastore
            dup
            iconst_3
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times8:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aastore
            putstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ENUM$VALUES:[Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale this
        start local 3 // int value
        start local 4 // int log2
         0: .line 122
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 123
            aload 0 /* this */
            iload 3 /* value */
            putfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.value:I
         2: .line 124
            aload 0 /* this */
            iload 4 /* log2 */
            putfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
         3: .line 125
            return
        end local 4 // int log2
        end local 3 // int value
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            0    4     3  value  I
            0    4     4   log2  I
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  
      value          
      log2           

  public static org.graalvm.compiler.asm.amd64.AMD64Address$Scale fromInt(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int scale
         0: .line 143
            iload 0 /* scale */
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 5
                    4: 3
                    5: 5
                    6: 5
                    7: 5
                    8: 4
              default: 5
          }
         1: .line 145
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         3: .line 149
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times4:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         4: .line 151
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times8:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         5: .line 153
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported SIB addressing mode scaling factor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* scale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // int scale
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  scale  I
    MethodParameters:
       Name  Flags
      scale  

  public static org.graalvm.compiler.asm.amd64.AMD64Address$Scale fromShift(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int shift
         0: .line 163
            iload 0 /* shift */
            tableswitch { // 0 - 3
                    0: 1
                    1: 2
                    2: 3
                    3: 4
              default: 5
          }
         1: .line 165
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         2: .line 167
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         3: .line 169
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times4:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         4: .line 171
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times8:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            areturn
         5: .line 173
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unsupported SIB addressing mode scaling factor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iconst_1
            iload 0 /* shift */
            ishl
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // int shift
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  shift  I
    MethodParameters:
       Name  Flags
      shift  

  public static boolean isScaleSupported(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int scale
         0: .line 181
            iload 0 /* scale */
            invokestatic jdk.vm.ci.code.CodeUtil.isPowerOf2:(I)Z
            ifeq 1
            iload 0 /* scale */
            bipush 8
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int scale
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  scale  I
    MethodParameters:
       Name  Flags
      scale  

  public static boolean isScaleShiftSupported(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int shift
         0: .line 188
            iload 0 /* shift */
            iflt 1
            iload 0 /* shift */
            iconst_3
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int shift
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  shift  I
    MethodParameters:
       Name  Flags
      shift  

  public static org.graalvm.compiler.asm.amd64.AMD64Address$Scale[] values();
    descriptor: ()[Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ENUM$VALUES:[Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.compiler.asm.amd64.AMD64Address$Scale valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  
}
Signature: Ljava/lang/Enum<Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;>;
SourceFile: "AMD64Address.java"
NestHost: org.graalvm.compiler.asm.amd64.AMD64Address
InnerClasses:
  public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address