public final class org.openjdk.jmh.infra.Blackhole extends org.openjdk.jmh.infra.BlackholeL4
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.openjdk.jmh.infra.Blackhole
  super_class: org.openjdk.jmh.infra.BlackholeL4
{
  private static volatile long consumedCPU;
    descriptor: J
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 250
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "b1"
            aastore
            dup
            iconst_1
            ldc "b2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         1: .line 251
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "bool1"
            aastore
            dup
            iconst_1
            ldc "bool2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         2: .line 252
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "c1"
            aastore
            dup
            iconst_1
            ldc "c2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         3: .line 253
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "s1"
            aastore
            dup
            iconst_1
            ldc "s2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         4: .line 254
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "i1"
            aastore
            dup
            iconst_1
            ldc "i2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         5: .line 255
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "l1"
            aastore
            dup
            iconst_1
            ldc "l2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         6: .line 256
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "f1"
            aastore
            dup
            iconst_1
            ldc "f2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         7: .line 257
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "d1"
            aastore
            dup
            iconst_1
            ldc "d2"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
         8: .line 258
            ldc Lorg/openjdk/jmh/infra/Blackhole;
            ldc "obj1"
            invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;Ljava/lang/String;)V
         9: .line 428
            invokestatic java.lang.System.nanoTime:()J
            putstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // java.lang.String challengeResponse
         0: .line 261
            aload 0 /* this */
            invokespecial org.openjdk.jmh.infra.BlackholeL4.<init>:()V
         1: .line 281
            aload 1 /* challengeResponse */
            ldc "Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 282
            new java.lang.IllegalStateException
            dup
            ldc "Blackholes should not be instantiated directly."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 284
      StackMap locals: org.openjdk.jmh.infra.Blackhole java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String challengeResponse
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/openjdk/jmh/infra/Blackhole;
            0    4     1  challengeResponse  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      challengeResponse  

  public void evaporate(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // java.lang.String challengeResponse
         0: .line 295
            aload 1 /* challengeResponse */
            ldc "Yes, I am Stephen Hawking, and know a thing or two about black holes."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 296
            new java.lang.IllegalStateException
            dup
            ldc "Who are you?"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.openjdk.jmh.infra.Blackhole.obj1:Ljava/lang/Object;
         3: .line 299
            return
        end local 1 // java.lang.String challengeResponse
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/openjdk/jmh/infra/Blackhole;
            0    4     1  challengeResponse  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      challengeResponse  

  public final void consume(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // java.lang.Object obj
         0: .line 307
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.tlrMask:I
            istore 2 /* tlrMask */
        start local 2 // int tlrMask
         1: .line 308
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.tlr:I
            ldc 1664525
            imul
            ldc 1013904223
            iadd
            dup_x1
            putfield org.openjdk.jmh.infra.Blackhole.tlr:I
            istore 3 /* tlr */
        start local 3 // int tlr
         2: .line 309
            iload 3 /* tlr */
            iload 2 /* tlrMask */
            iand
            ifne 5
         3: .line 311
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* obj */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.openjdk.jmh.infra.Blackhole.obj1:Ljava/lang/Object;
         4: .line 312
            aload 0 /* this */
            iload 2 /* tlrMask */
            iconst_1
            ishl
            iconst_1
            iadd
            putfield org.openjdk.jmh.infra.Blackhole.tlrMask:I
         5: .line 314
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // int tlr
        end local 2 // int tlrMask
        end local 1 // java.lang.Object obj
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/openjdk/jmh/infra/Blackhole;
            0    6     1      obj  Ljava/lang/Object;
            1    6     2  tlrMask  I
            2    6     3      tlr  I
    MethodParameters:
      Name  Flags
      obj   

  public final void consume(byte);
    descriptor: (B)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // byte b
         0: .line 322
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.b1:B
            istore 2 /* b1 */
        start local 2 // byte b1
         1: .line 323
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.b2:B
            istore 3 /* b2 */
        start local 3 // byte b2
         2: .line 324
            iload 1 /* b */
            iload 2 /* b1 */
            ixor
            iload 1 /* b */
            iload 3 /* b2 */
            ixor
            if_icmpne 4
         3: .line 326
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            iload 1 /* b */
            putfield org.openjdk.jmh.infra.BlackholeL2.b1:B
         4: .line 328
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // byte b2
        end local 2 // byte b1
        end local 1 // byte b
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1     b  B
            1    5     2    b1  B
            2    5     3    b2  B
    MethodParameters:
      Name  Flags
      b     

  public final void consume(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // boolean bool
         0: .line 336
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.bool1:Z
            istore 2 /* bool1 */
        start local 2 // boolean bool1
         1: .line 337
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.bool2:Z
            istore 3 /* bool2 */
        start local 3 // boolean bool2
         2: .line 338
            iload 1 /* bool */
            iload 2 /* bool1 */
            ixor
            iload 1 /* bool */
            iload 3 /* bool2 */
            ixor
            if_icmpne 4
         3: .line 340
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            iload 1 /* bool */
            putfield org.openjdk.jmh.infra.BlackholeL2.bool1:Z
         4: .line 342
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // boolean bool2
        end local 2 // boolean bool1
        end local 1 // boolean bool
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1   bool  Z
            1    5     2  bool1  Z
            2    5     3  bool2  Z
    MethodParameters:
      Name  Flags
      bool  

  public final void consume(char);
    descriptor: (C)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // char c
         0: .line 350
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.c1:C
            istore 2 /* c1 */
        start local 2 // char c1
         1: .line 351
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.c2:C
            istore 3 /* c2 */
        start local 3 // char c2
         2: .line 352
            iload 1 /* c */
            iload 2 /* c1 */
            ixor
            iload 1 /* c */
            iload 3 /* c2 */
            ixor
            if_icmpne 4
         3: .line 354
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            iload 1 /* c */
            putfield org.openjdk.jmh.infra.BlackholeL2.c1:C
         4: .line 356
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // char c2
        end local 2 // char c1
        end local 1 // char c
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1     c  C
            1    5     2    c1  C
            2    5     3    c2  C
    MethodParameters:
      Name  Flags
      c     

  public final void consume(short);
    descriptor: (S)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // short s
         0: .line 364
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.s1:S
            istore 2 /* s1 */
        start local 2 // short s1
         1: .line 365
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.s2:S
            istore 3 /* s2 */
        start local 3 // short s2
         2: .line 366
            iload 1 /* s */
            iload 2 /* s1 */
            ixor
            iload 1 /* s */
            iload 3 /* s2 */
            ixor
            if_icmpne 4
         3: .line 368
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            iload 1 /* s */
            putfield org.openjdk.jmh.infra.BlackholeL2.s1:S
         4: .line 370
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // short s2
        end local 2 // short s1
        end local 1 // short s
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1     s  S
            1    5     2    s1  S
            2    5     3    s2  S
    MethodParameters:
      Name  Flags
      s     

  public final void consume(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // int i
         0: .line 378
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.i1:I
            istore 2 /* i1 */
        start local 2 // int i1
         1: .line 379
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.i2:I
            istore 3 /* i2 */
        start local 3 // int i2
         2: .line 380
            iload 1 /* i */
            iload 2 /* i1 */
            ixor
            iload 1 /* i */
            iload 3 /* i2 */
            ixor
            if_icmpne 4
         3: .line 382
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            iload 1 /* i */
            putfield org.openjdk.jmh.infra.BlackholeL2.i1:I
         4: .line 384
      StackMap locals: int int
      StackMap stack:
            return
        end local 3 // int i2
        end local 2 // int i1
        end local 1 // int i
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1     i  I
            1    5     2    i1  I
            2    5     3    i2  I
    MethodParameters:
      Name  Flags
      i     

  public final void consume(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // long l
         0: .line 392
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.l1:J
            lstore 3 /* l1 */
        start local 3 // long l1
         1: .line 393
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.l2:J
            lstore 5 /* l2 */
        start local 5 // long l2
         2: .line 394
            lload 1 /* l */
            lload 3 /* l1 */
            lxor
            lload 1 /* l */
            lload 5 /* l2 */
            lxor
            lcmp
            ifne 4
         3: .line 396
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            lload 1 /* l */
            putfield org.openjdk.jmh.infra.BlackholeL2.l1:J
         4: .line 398
      StackMap locals: long long
      StackMap stack:
            return
        end local 5 // long l2
        end local 3 // long l1
        end local 1 // long l
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    5     1     l  J
            1    5     3    l1  J
            2    5     5    l2  J
    MethodParameters:
      Name  Flags
      l     

  public final void consume(float);
    descriptor: (F)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // float f
         0: .line 406
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.f1:F
            fstore 2 /* f1 */
        start local 2 // float f1
         1: .line 407
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.f2:F
            fstore 3 /* f2 */
        start local 3 // float f2
         2: .line 408
            fload 1 /* f */
            fload 2 /* f1 */
            fcmpl
            ifne 3
            iconst_1
            goto 4
      StackMap locals: float float
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: fload 1 /* f */
            fload 3 /* f2 */
            fcmpl
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: int
         5: iconst_0
      StackMap locals: org.openjdk.jmh.infra.Blackhole float float float
      StackMap stack: int int
         6: iand
            ifeq 8
         7: .line 410
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            fload 1 /* f */
            putfield org.openjdk.jmh.infra.BlackholeL2.f1:F
         8: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 3 // float f2
        end local 2 // float f1
        end local 1 // float f
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    9     1     f  F
            1    9     2    f1  F
            2    9     3    f2  F
    MethodParameters:
      Name  Flags
      f     

  public final void consume(double);
    descriptor: (D)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.openjdk.jmh.infra.Blackhole this
        start local 1 // double d
         0: .line 420
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.d1:D
            dstore 3 /* d1 */
        start local 3 // double d1
         1: .line 421
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.d2:D
            dstore 5 /* d2 */
        start local 5 // double d2
         2: .line 422
            dload 1 /* d */
            dload 3 /* d1 */
            dcmpl
            ifne 3
            iconst_1
            goto 4
      StackMap locals: double double
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: dload 1 /* d */
            dload 5 /* d2 */
            dcmpl
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: int
         5: iconst_0
      StackMap locals: org.openjdk.jmh.infra.Blackhole double double double
      StackMap stack: int int
         6: iand
            ifeq 8
         7: .line 424
            aload 0 /* this */
            getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
            dload 1 /* d */
            putfield org.openjdk.jmh.infra.BlackholeL2.d1:D
         8: .line 426
      StackMap locals:
      StackMap stack:
            return
        end local 5 // double d2
        end local 3 // double d1
        end local 1 // double d
        end local 0 // org.openjdk.jmh.infra.Blackhole this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/openjdk/jmh/infra/Blackhole;
            0    9     1     d  D
            1    9     3    d1  D
            2    9     5    d2  D
    MethodParameters:
      Name  Flags
      d     

  public static void consumeCPU(long);
    descriptor: (J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // long tokens
         0: .line 456
            getstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
            lstore 2 /* t */
        start local 2 // long t
         1: .line 466
            lload 0 /* tokens */
            lstore 4 /* i */
        start local 4 // long i
         2: goto 5
         3: .line 467
      StackMap locals: long long
      StackMap stack:
            lload 2 /* t */
            lload 2 /* t */
            ldc 25214903917
            lmul
            ldc 11
            ladd
            lload 4 /* i */
            ladd
            ldc 281474976710655
            land
            ladd
            lstore 2 /* t */
         4: .line 466
            lload 4 /* i */
            lconst_1
            lsub
            lstore 4 /* i */
      StackMap locals:
      StackMap stack:
         5: lload 4 /* i */
            lconst_0
            lcmp
            ifgt 3
        end local 4 // long i
         6: .line 474
            lload 2 /* t */
            ldc 42
            lcmp
            ifne 8
         7: .line 475
            getstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
            lload 2 /* t */
            ladd
            putstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
         8: .line 477
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long t
        end local 0 // long tokens
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  tokens  J
            1    9     2       t  J
            2    6     4       i  J
    MethodParameters:
        Name  Flags
      tokens  
}
SourceFile: "Blackhole.java"