public final class org.graalvm.compiler.api.directives.GraalDirectives
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.api.directives.GraalDirectives
  super_class: java.lang.Object
{
  public static final double LIKELY_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.75

  public static final double UNLIKELY_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.25

  public static final double SLOWPATH_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-4

  public static final double FASTPATH_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.9999

  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 33
            ldc Lorg/graalvm/compiler/api/directives/GraalDirectives;
            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 org.graalvm.compiler.api.directives.GraalDirectives.$assertionsDisabled:Z
         3: .line 39
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.api.directives.GraalDirectives this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.api.directives.GraalDirectives this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/api/directives/GraalDirectives;

  public static void deoptimize();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 45
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void deoptimizeAndInvalidate();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 52
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void deoptimizeAndInvalidateWithSpeculation();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean inCompiledCode();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void controlFlowAnchor();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 72
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void sideEffect();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 80
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int sideEffect(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int a
         0: .line 87
            iconst_0
            ireturn
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  I
    MethodParameters:
      Name  Flags
      a     

  public static boolean injectBranchProbability(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double probability
        start local 2 // boolean condition
         0: .line 109
            getstatic org.graalvm.compiler.api.directives.GraalDirectives.$assertionsDisabled:Z
            ifne 2
            dload 0 /* probability */
            dconst_0
            dcmpl
            iflt 1
            dload 0 /* probability */
            dconst_1
            dcmpg
            ifle 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 110
      StackMap locals:
      StackMap stack:
            iload 2 /* condition */
            ireturn
        end local 2 // boolean condition
        end local 0 // double probability
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  probability  D
            0    3     2    condition  Z
    MethodParameters:
             Name  Flags
      probability  
      condition    

  public static boolean injectIterationCount(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // double iterations
        start local 2 // boolean condition
         0: .line 131
            dconst_1
            dconst_1
            dload 0 /* iterations */
            ddiv
            dsub
            iload 2 /* condition */
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.injectBranchProbability:(DZ)Z
            ireturn
        end local 2 // boolean condition
        end local 0 // double iterations
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  iterations  D
            0    1     2   condition  Z
    MethodParameters:
            Name  Flags
      iterations  
      condition   

  public static void blackhole(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 140
            return
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(byte);
    descriptor: (B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // byte value
         0: .line 148
            return
        end local 0 // byte value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  B
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(short);
    descriptor: (S)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // short value
         0: .line 156
            return
        end local 0 // short value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  S
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(char);
    descriptor: (C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // char value
         0: .line 164
            return
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  C
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // int value
         0: .line 172
            return
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(long);
    descriptor: (J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=2, args_size=1
        start local 0 // long value
         0: .line 180
            return
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(float);
    descriptor: (F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // float value
         0: .line 188
            return
        end local 0 // float value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  F
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(double);
    descriptor: (D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=2, args_size=1
        start local 0 // double value
         0: .line 196
            return
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static void blackhole(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 204
            return
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 211
            return
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(byte);
    descriptor: (B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // byte value
         0: .line 218
            return
        end local 0 // byte value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  B
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(short);
    descriptor: (S)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // short value
         0: .line 225
            return
        end local 0 // short value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  S
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(char);
    descriptor: (C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // char value
         0: .line 232
            return
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  C
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // int value
         0: .line 239
            return
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(long);
    descriptor: (J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=2, args_size=1
        start local 0 // long value
         0: .line 246
            return
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(float);
    descriptor: (F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // float value
         0: .line 253
            return
        end local 0 // float value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  F
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(double);
    descriptor: (D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=2, args_size=1
        start local 0 // double value
         0: .line 260
            return
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static void bindToRegister(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 267
            return
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static void spillRegisters();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 273
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean opaque(boolean);
    descriptor: (Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 283
            iload 0 /* value */
            ireturn
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static byte opaque(byte);
    descriptor: (B)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // byte value
         0: .line 294
            iload 0 /* value */
            ireturn
        end local 0 // byte value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  B
    MethodParameters:
       Name  Flags
      value  

  public static short opaque(short);
    descriptor: (S)S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short value
         0: .line 305
            iload 0 /* value */
            ireturn
        end local 0 // short value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  S
    MethodParameters:
       Name  Flags
      value  

  public static char opaque(char);
    descriptor: (C)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char value
         0: .line 316
            iload 0 /* value */
            ireturn
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  C
    MethodParameters:
       Name  Flags
      value  

  public static int opaque(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int value
         0: .line 327
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static long opaque(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long value
         0: .line 338
            lload 0 /* value */
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static float opaque(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float value
         0: .line 349
            fload 0 /* value */
            freturn
        end local 0 // float value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  F
    MethodParameters:
       Name  Flags
      value  

  public static double opaque(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 360
            dload 0 /* value */
            dreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static <T> T opaque();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 371
            aload 0 /* value */
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
       Name  Flags
      value  

  public static <T> T guardingNonNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 375
            aload 0 /* value */
            ifnonnull 2
         1: .line 376
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
         2: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
       Name  Flags
      value  

  public static void ensureVirtualized(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 386
            return
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  

  public static void ensureVirtualizedHere(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 392
            return
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  
}
SourceFile: "GraalDirectives.java"