public class jdk.vm.ci.hotspot.HotSpotSpeculationLog implements jdk.vm.ci.meta.SpeculationLog
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotSpeculationLog
  super_class: java.lang.Object
{
  private static final byte[] NO_FLATTENED_SPECULATIONS;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private long failedSpeculationsAddress;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final boolean managesFailedSpeculations;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private byte[][] failedSpeculations;
    descriptor: [[B
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<byte[]> speculations;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<[B>;

  private java.util.List<jdk.vm.ci.meta.SpeculationLog$SpeculationReason> speculationReasons;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 48
            ldc Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            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.HotSpotSpeculationLog.$assertionsDisabled:Z
         3: .line 50
            iconst_0
            newarray 8
            putstatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.NO_FLATTENED_SPECULATIONS:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.managesFailedSpeculations:Z
         2: .line 61
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // long failedSpeculationsAddress
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            lload 1 /* failedSpeculationsAddress */
            lconst_0
            lcmp
            ifne 3
         2: .line 72
            new java.lang.IllegalArgumentException
            dup
            ldc "failedSpeculationsAddress cannot be 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 74
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog long
      StackMap stack:
            aload 0 /* this */
            lload 1 /* failedSpeculationsAddress */
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
         4: .line 75
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.managesFailedSpeculations:Z
         5: .line 76
            return
        end local 1 // long failedSpeculationsAddress
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    6     0                       this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0    6     1  failedSpeculationsAddress  J
    MethodParameters:
                           Name  Flags
      failedSpeculationsAddress  

  public long getFailedSpeculationsAddress();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
         0: .line 84
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.managesFailedSpeculations:Z
            ifeq 11
         1: .line 85
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 86
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            lconst_0
            lcmp
            ifne 7
         3: .line 87
            aload 0 /* this */
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostWordKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            i2l
            invokevirtual jdk.internal.misc.Unsafe.allocateMemory:(J)J
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
         4: .line 88
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            lconst_0
            invokevirtual jdk.internal.misc.Unsafe.putAddress:(JJ)V
         5: .line 89
            new jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            invokespecial jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner.<init>:(Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;J)V
            astore 2 /* c */
        start local 2 // jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner c
         6: .line 90
            getstatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.$assertionsDisabled:Z
            ifne 7
            aload 2 /* c */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner.address:J
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            lcmp
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner c
         7: .line 85
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            lreturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            6    7     2     c  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog$LogCleaner;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any

  public boolean addFailedSpeculation(jdk.vm.ci.meta.SpeculationLog$Speculation);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$Speculation;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
         0: .line 108
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog.getFailedSpeculationsAddress:()J
            aload 1 /* speculation */
            checkcast jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.encoding:[B
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.addFailedSpeculation:(J[B)Z
            ireturn
        end local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0    1     1  speculation  Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    MethodParameters:
             Name  Flags
      speculation  

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

  public void collectFailedSpeculations();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
         0: .line 173
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            lconst_0
            lcmp
            ifeq 3
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            invokevirtual jdk.internal.misc.Unsafe.getLong:(J)J
            lconst_0
            lcmp
            ifeq 3
         1: .line 174
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getFailedSpeculations:(J[[B)[[B
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
         2: .line 175
            getstatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc [[B
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;

  byte[] getFlattenedSpeculations(boolean);
    descriptor: (Z)[B
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // boolean validate
         0: .line 180
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            ifnonnull 2
         1: .line 181
            getstatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.NO_FLATTENED_SPECULATIONS:[B
            areturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            iload 1 /* validate */
            ifeq 14
         3: .line 184
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* newFailuresStart */
        start local 2 // int newFailuresStart
         6: .line 185
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog.collectFailedSpeculations:()V
         7: .line 186
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            ifnull 14
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            arraylength
            iload 2 /* newFailuresStart */
            if_icmpeq 14
         8: .line 187
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog int int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.SpeculationLog$SpeculationReason
            astore 3 /* reason */
        start local 3 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
        10: .line 188
            aload 3 /* reason */
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encode:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)[B
            astore 5 /* encoding */
        start local 5 // byte[] encoding
        11: .line 190
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            iload 2 /* newFailuresStart */
            aload 5 /* encoding */
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.contains:([[BI[B)Z
            ifeq 13
        12: .line 191
            new jdk.vm.ci.code.BailoutException
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "Speculation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* reason */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.vm.ci.code.BailoutException.<init>:(ZLjava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // byte[] encoding
        end local 3 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
        13: .line 187
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 2 // int newFailuresStart
        14: .line 196
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog int
      StackMap stack:
            iconst_0
            istore 2 /* size */
        start local 2 // int size
        15: .line 197
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog int int top java.util.Iterator
      StackMap stack:
        16: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 3 /* s */
        start local 3 // byte[] s
        17: .line 198
            iload 2 /* size */
            aload 3 /* s */
            arraylength
            iadd
            istore 2 /* size */
        end local 3 // byte[] s
        18: .line 197
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 200
            iload 2 /* size */
            newarray 8
            astore 3 /* result */
        start local 3 // byte[] result
        20: .line 201
            iconst_0
            istore 2 /* size */
        21: .line 202
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog int int byte[] top java.util.Iterator
      StackMap stack:
        22: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* s */
        start local 4 // byte[] s
        23: .line 203
            aload 4 /* s */
            iconst_0
            aload 3 /* result */
            iload 2 /* size */
            aload 4 /* s */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 204
            iload 2 /* size */
            aload 4 /* s */
            arraylength
            iadd
            istore 2 /* size */
        end local 4 // byte[] s
        25: .line 202
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        26: .line 206
            aload 3 /* result */
            areturn
        end local 3 // byte[] result
        end local 2 // int size
        end local 1 // boolean validate
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0   27     1          validate  Z
            6   14     2  newFailuresStart  I
           10   13     3            reason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
           11   13     5          encoding  [B
           15   27     2              size  I
           17   18     3                 s  [B
           20   27     3            result  [B
           23   25     4                 s  [B
    MethodParameters:
          Name  Flags
      validate  

  public boolean maySpeculate(jdk.vm.ci.meta.SpeculationLog$SpeculationReason);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
         0: .line 211
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            ifnonnull 2
         1: .line 212
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog.collectFailedSpeculations:()V
         2: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            ifnull 7
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            arraylength
            ifeq 7
         3: .line 215
            aload 1 /* reason */
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encode:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)[B
            astore 2 /* encoding */
        start local 2 // byte[] encoding
         4: .line 216
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            iconst_0
            aload 2 /* encoding */
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.contains:([[BI[B)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: byte[]
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // byte[] encoding
         7: .line 218
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0    8     1    reason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            4    7     2  encoding  [B
    MethodParameters:
        Name  Flags
      reason  

  private static boolean contains(byte[][], int, byte[]);
    descriptor: ([[BI[B)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // byte[][] haystack
        start local 1 // int fromIndex
        start local 2 // byte[] needle
         0: .line 225
            iload 1 /* fromIndex */
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 226
      StackMap locals: int
      StackMap stack:
            aload 0 /* haystack */
            iload 3 /* i */
            aaload
            astore 4 /* fs */
        start local 4 // byte[] fs
         3: .line 228
            aload 4 /* fs */
            aload 2 /* needle */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 5
         4: .line 229
            iconst_1
            ireturn
        end local 4 // byte[] fs
         5: .line 225
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* haystack */
            arraylength
            if_icmplt 2
        end local 3 // int i
         7: .line 232
            iconst_0
            ireturn
        end local 2 // byte[] needle
        end local 1 // int fromIndex
        end local 0 // byte[][] haystack
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   haystack  [[B
            0    8     1  fromIndex  I
            0    8     2     needle  [B
            1    7     3          i  I
            3    5     4         fs  [B
    MethodParameters:
           Name  Flags
      haystack   
      fromIndex  
      needle     

  private static long encodeIndexAndLength(int, int);
    descriptor: (II)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int index
        start local 1 // int length
         0: .line 236
            iload 0 /* index */
            i2l
            bipush 32
            lshl
            iload 1 /* length */
            i2l
            lor
            lreturn
        end local 1 // int length
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   index  I
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      index   
      length  

  private static int decodeIndex(long);
    descriptor: (J)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long indexAndLength
         0: .line 240
            lload 0 /* indexAndLength */
            bipush 32
            lushr
            l2i
            ireturn
        end local 0 // long indexAndLength
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  indexAndLength  J
    MethodParameters:
                Name  Flags
      indexAndLength  

  private static int decodeLength(long);
    descriptor: (J)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long indexAndLength
         0: .line 244
            lload 0 /* indexAndLength */
            l2i
            iconst_m1
            iand
            ireturn
        end local 0 // long indexAndLength
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  indexAndLength  J
    MethodParameters:
                Name  Flags
      indexAndLength  

  public jdk.vm.ci.meta.SpeculationLog$Speculation speculate(jdk.vm.ci.meta.SpeculationLog$SpeculationReason);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
         0: .line 249
            aload 1 /* reason */
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encode:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)[B
            astore 2 /* encoding */
        start local 2 // byte[] encoding
         1: .line 251
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            ifnonnull 8
         2: .line 252
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
         3: .line 253
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
         4: .line 254
            iconst_0
            aload 2 /* encoding */
            arraylength
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encodeIndexAndLength:(II)J
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 3 /* id */
        start local 3 // jdk.vm.ci.meta.JavaConstant id
         5: .line 255
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            aload 2 /* encoding */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 256
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
            aload 1 /* reason */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 257
            goto 21
        end local 3 // jdk.vm.ci.meta.JavaConstant id
         8: .line 258
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            astore 3 /* id */
        start local 3 // jdk.vm.ci.meta.JavaConstant id
         9: .line 259
            iconst_0
            istore 4 /* flattenedIndex */
        start local 4 // int flattenedIndex
        10: .line 260
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.SpeculationLog$SpeculationReason byte[] jdk.vm.ci.meta.JavaConstant int top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* fs */
        start local 5 // byte[] fs
        12: .line 261
            aload 5 /* fs */
            aload 2 /* encoding */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 15
        13: .line 262
            iload 4 /* flattenedIndex */
            aload 5 /* fs */
            arraylength
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encodeIndexAndLength:(II)J
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 3 /* id */
        14: .line 263
            goto 17
        15: .line 265
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.SpeculationLog$SpeculationReason byte[] jdk.vm.ci.meta.JavaConstant int byte[] java.util.Iterator
      StackMap stack:
            iload 4 /* flattenedIndex */
            aload 5 /* fs */
            arraylength
            iadd
            istore 4 /* flattenedIndex */
        end local 5 // byte[] fs
        16: .line 260
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.SpeculationLog$SpeculationReason byte[] jdk.vm.ci.meta.JavaConstant int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        17: .line 267
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.SpeculationLog$SpeculationReason byte[] jdk.vm.ci.meta.JavaConstant int
      StackMap stack:
            aload 3 /* id */
            ifnonnull 21
        18: .line 268
            iload 4 /* flattenedIndex */
            aload 2 /* encoding */
            arraylength
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.encodeIndexAndLength:(II)J
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 3 /* id */
        19: .line 269
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            aload 2 /* encoding */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 270
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
            aload 1 /* reason */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // int flattenedIndex
        21: .line 274
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
            dup
            aload 1 /* reason */
            aload 3 /* id */
            aload 2 /* encoding */
            invokespecial jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.<init>:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;Ljdk/vm/ci/meta/JavaConstant;[B)V
            areturn
        end local 3 // jdk.vm.ci.meta.JavaConstant id
        end local 2 // byte[] encoding
        end local 1 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0   22     1          reason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            1   22     2        encoding  [B
            5    8     3              id  Ljdk/vm/ci/meta/JavaConstant;
            9   22     3              id  Ljdk/vm/ci/meta/JavaConstant;
           10   21     4  flattenedIndex  I
           12   16     5              fs  [B
    MethodParameters:
        Name  Flags
      reason  

  private static byte[] encode(jdk.vm.ci.meta.SpeculationLog$SpeculationReason);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
         0: .line 278
            aload 0 /* reason */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/vm/ci/hotspot/HotSpotSpeculationEncoding.<init>()V (8)
                  ()Ljdk/vm/ci/meta/SpeculationLog$SpeculationReasonEncoding;
            invokeinterface jdk.vm.ci.meta.SpeculationLog$SpeculationReason.encode:(Ljava/util/function/Supplier;)Ljdk/vm/ci/meta/SpeculationLog$SpeculationReasonEncoding;
            checkcast jdk.vm.ci.hotspot.HotSpotSpeculationEncoding
            astore 1 /* encoding */
        start local 1 // jdk.vm.ci.hotspot.HotSpotSpeculationEncoding encoding
         1: .line 279
            aload 1 /* encoding */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationEncoding
      StackMap stack:
         2: aload 1 /* encoding */
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationEncoding.getByteArray:()[B
      StackMap locals:
      StackMap stack: byte[]
         3: astore 2 /* result */
        start local 2 // byte[] result
         4: .line 280
            aload 2 /* result */
            ifnonnull 6
         5: .line 281
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " expects "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* reason */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".encode() to return a non-empty encoding"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 283
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // jdk.vm.ci.hotspot.HotSpotSpeculationEncoding encoding
        end local 0 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0    reason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            1    7     1  encoding  Ljdk/vm/ci/hotspot/HotSpotSpeculationEncoding;
            4    7     2    result  [B
    MethodParameters:
        Name  Flags
      reason  

  public boolean hasSpeculations();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
         0: .line 288
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;

  public jdk.vm.ci.meta.SpeculationLog$Speculation lookupSpeculation(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 293
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 2
         1: .line 294
            getstatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            areturn
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotSpeculationLog.decodeIndex:(J)I
            istore 2 /* flattenedIndex */
        start local 2 // int flattenedIndex
         3: .line 297
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         4: .line 298
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.JavaConstant int int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* s */
        start local 4 // byte[] s
         6: .line 299
            iload 2 /* flattenedIndex */
            ifne 9
         7: .line 300
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
            iload 3 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.SpeculationLog$SpeculationReason
            astore 6 /* reason */
        start local 6 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
         8: .line 301
            new jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
            dup
            aload 6 /* reason */
            aload 1 /* constant */
            aload 4 /* s */
            invokespecial jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.<init>:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;Ljdk/vm/ci/meta/JavaConstant;[B)V
            areturn
        end local 6 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason reason
         9: .line 303
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.JavaConstant int int byte[] java.util.Iterator
      StackMap stack:
            iinc 3 /* index */ 1
        10: .line 304
            iload 2 /* flattenedIndex */
            aload 4 /* s */
            arraylength
            isub
            istore 2 /* flattenedIndex */
        end local 4 // byte[] s
        11: .line 298
      StackMap locals: jdk.vm.ci.hotspot.HotSpotSpeculationLog jdk.vm.ci.meta.JavaConstant int int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 306
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown encoded speculation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* constant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int index
        end local 2 // int flattenedIndex
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            0   13     1        constant  Ljdk/vm/ci/meta/JavaConstant;
            3   13     2  flattenedIndex  I
            4   13     3           index  I
            6   11     4               s  [B
            8    9     6          reason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
    MethodParameters:
          Name  Flags
      constant  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
         0: .line 311
            new java.util.Formatter
            dup
            invokespecial java.util.Formatter.<init>:()V
            astore 1 /* buf */
        start local 1 // java.util.Formatter buf
         1: .line 312
            aload 1 /* buf */
            ldc "{managed:%s, failedSpeculationsAddress:0x%x, failedSpeculations:["
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.managesFailedSpeculations:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculationsAddress:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         2: .line 314
            ldc ""
            astore 2 /* sep */
        start local 2 // java.lang.String sep
         3: .line 315
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            ifnull 10
         4: .line 316
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 317
      StackMap locals: java.util.Formatter java.lang.String int
      StackMap stack:
            aload 1 /* buf */
            ldc "%s{len:%d, hash:0x%x}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* sep */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            iload 3 /* i */
            aaload
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            iload 3 /* i */
            aaload
            invokestatic java.util.Arrays.hashCode:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         7: .line 318
            ldc ", "
            astore 2 /* sep */
         8: .line 316
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.failedSpeculations:[[B
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 322
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "], speculations:["
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        11: .line 324
            iconst_0
            istore 3 /* size */
        start local 3 // int size
        12: .line 325
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            ifnull 22
        13: .line 326
            ldc ""
            astore 2 /* sep */
        14: .line 327
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 21
        16: .line 328
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* s */
        start local 5 // byte[] s
        17: .line 329
            iload 3 /* size */
            aload 5 /* s */
            arraylength
            iadd
            istore 3 /* size */
        18: .line 330
            aload 1 /* buf */
            ldc "%s{len:%d, hash:0x%x, reason:{%s}}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* sep */
            aastore
            dup
            iconst_1
            aload 5 /* s */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 5 /* s */
            invokestatic java.util.Arrays.hashCode:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculationReasons:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        19: .line 331
            ldc ", "
            astore 2 /* sep */
        end local 5 // byte[] s
        20: .line 327
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotSpeculationLog.speculations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 16
        end local 4 // int i
        22: .line 334
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "], len:%d, hash:0x%x}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* size */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iconst_0
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog.getFlattenedSpeculations:(Z)[B
            invokestatic java.util.Arrays.hashCode:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        23: .line 335
            aload 1 /* buf */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            areturn
        end local 3 // int size
        end local 2 // java.lang.String sep
        end local 1 // java.util.Formatter buf
        end local 0 // jdk.vm.ci.hotspot.HotSpotSpeculationLog this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljdk/vm/ci/hotspot/HotSpotSpeculationLog;
            1   24     1   buf  Ljava/util/Formatter;
            3   24     2   sep  Ljava/lang/String;
            5   10     3     i  I
           12   24     3  size  I
           15   22     4     i  I
           17   20     5     s  [B
}
SourceFile: "HotSpotSpeculationLog.java"
NestMembers:
  jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation  jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final HotSpotSpeculation = jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation of jdk.vm.ci.hotspot.HotSpotSpeculationLog
  private final LogCleaner = jdk.vm.ci.hotspot.HotSpotSpeculationLog$LogCleaner of jdk.vm.ci.hotspot.HotSpotSpeculationLog
  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
  public abstract SpeculationReasonEncoding = jdk.vm.ci.meta.SpeculationLog$SpeculationReasonEncoding of jdk.vm.ci.meta.SpeculationLog