public interface jdk.vm.ci.meta.SpeculationLog
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.SpeculationLog
  super_class: java.lang.Object
{
  public static final jdk.vm.ci.meta.SpeculationLog$Speculation NO_SPECULATION;
    descriptor: Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 63
            new jdk.vm.ci.meta.SpeculationLog$Speculation
            dup
            new jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason
            dup
            invokespecial jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason.<init>:()V
            invokespecial jdk.vm.ci.meta.SpeculationLog$Speculation.<init>:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)V
            putstatic jdk.vm.ci.meta.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract void collectFailedSpeculations();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean maySpeculate(jdk.vm.ci.meta.SpeculationLog$SpeculationReason);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      reason  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      reason  

  public abstract boolean hasSpeculations();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      constant  
}
SourceFile: "SpeculationLog.java"
NestMembers:
  jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason  jdk.vm.ci.meta.SpeculationLog$Speculation  jdk.vm.ci.meta.SpeculationLog$SpeculationReason
InnerClasses:
  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