final class java.util.concurrent.ConcurrentHashMap$ReduceKeysTask<K, V> extends java.util.concurrent.ConcurrentHashMap$BulkTask<K, V, K>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
  super_class: java.util.concurrent.ConcurrentHashMap$BulkTask
{
  final java.util.function.BiFunction<? super K, ? super K, ? extends K> reducer;
    descriptor: Ljava/util/function/BiFunction;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/BiFunction<-TK;-TK;+TK;>;

  K result;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 
    Signature: TK;

  java.util.concurrent.ConcurrentHashMap$ReduceKeysTask<K, V> rights;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
    flags: (0x0000) 
    Signature: Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;

  java.util.concurrent.ConcurrentHashMap$ReduceKeysTask<K, V> nextRight;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
    flags: (0x0000) 
    Signature: Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;

  void <init>(java.util.concurrent.ConcurrentHashMap$BulkTask<K, V, ?>, int, int, int, java.util.concurrent.ConcurrentHashMap$Node<K, V>[], java.util.concurrent.ConcurrentHashMap$ReduceKeysTask<K, V>, java.util.function.BiFunction<? super K, ? super K, ? extends K>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;Ljava/util/function/BiFunction;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
        start local 1 // java.util.concurrent.ConcurrentHashMap$BulkTask p
        start local 2 // int b
        start local 3 // int i
        start local 4 // int f
        start local 5 // java.util.concurrent.ConcurrentHashMap$Node[] t
        start local 6 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask nextRight
        start local 7 // java.util.function.BiFunction reducer
         0: .line 5398
            aload 0 /* this */
            aload 1 /* p */
            iload 2 /* b */
            iload 3 /* i */
            iload 4 /* f */
            aload 5 /* t */
            invokespecial java.util.concurrent.ConcurrentHashMap$BulkTask.<init>:(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
            aload 0 /* this */
            aload 6 /* nextRight */
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
         1: .line 5399
            aload 0 /* this */
            aload 7 /* reducer */
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.reducer:Ljava/util/function/BiFunction;
         2: .line 5400
            return
        end local 7 // java.util.function.BiFunction reducer
        end local 6 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask nextRight
        end local 5 // java.util.concurrent.ConcurrentHashMap$Node[] t
        end local 4 // int f
        end local 3 // int i
        end local 2 // int b
        end local 1 // java.util.concurrent.ConcurrentHashMap$BulkTask p
        end local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
            0    3     1          p  Ljava/util/concurrent/ConcurrentHashMap$BulkTask<TK;TV;*>;
            0    3     2          b  I
            0    3     3          i  I
            0    3     4          f  I
            0    3     5          t  [Ljava/util/concurrent/ConcurrentHashMap$Node;
            0    3     6  nextRight  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
            0    3     7    reducer  Ljava/util/function/BiFunction<-TK;-TK;+TK;>;
    Signature: (Ljava/util/concurrent/ConcurrentHashMap$BulkTask<TK;TV;*>;III[Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;Ljava/util/function/BiFunction<-TK;-TK;+TK;>;)V
    MethodParameters:
           Name  Flags
      p          
      b          
      i          
      f          
      t          
      nextRight  
      reducer    

  public final K getRawResult();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
         0: .line 5401
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.result:Ljava/lang/Object;
            areturn
        end local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
    Signature: ()TK;

  public final void compute();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=10, locals=8, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
         0: .line 5404
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.reducer:Ljava/util/function/BiFunction;
            dup
            astore 1 /* reducer */
        start local 1 // java.util.function.BiFunction reducer
         1: ifnull 40
         2: .line 5405
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.baseIndex:I
            istore 2 /* i */
        start local 2 // int i
         3: goto 10
        start local 3 // int f
        start local 4 // int h
         4: .line 5407
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.function.BiFunction int int int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.addToPendingCount:(I)V
         5: .line 5408
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
            dup
         6: .line 5409
            aload 0 /* this */
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.batch:I
            iconst_1
            iushr
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.batch:I
            aload 0 /* this */
            iload 4 /* h */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.baseLimit:I
            iload 3 /* f */
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.tab:[Ljava/util/concurrent/ConcurrentHashMap$Node;
         7: .line 5410
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
            aload 1 /* reducer */
            invokespecial java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.<init>:(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;Ljava/util/function/BiFunction;)V
         8: .line 5408
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
         9: .line 5410
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.fork:()Ljava/util/concurrent/ForkJoinTask;
            pop
        end local 4 // int h
        end local 3 // int f
        10: .line 5405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.batch:I
            ifle 15
        11: .line 5406
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.baseLimit:I
            dup
            istore 3 /* f */
        start local 3 // int f
        12: iload 2 /* i */
            iadd
            iconst_1
            iushr
            dup
            istore 4 /* h */
        start local 4 // int h
        13: iload 2 /* i */
        14: .line 5405
            if_icmpgt 4
        end local 4 // int h
        end local 3 // int f
        end local 2 // int i
        15: .line 5412
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* r */
        start local 2 // java.lang.Object r
        16: .line 5413
            goto 22
        start local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        17: .line 5414
      StackMap locals: java.lang.Object java.util.concurrent.ConcurrentHashMap$Node
      StackMap stack:
            aload 3 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$Node.key:Ljava/lang/Object;
            astore 4 /* u */
        start local 4 // java.lang.Object u
        18: .line 5415
            aload 2 /* r */
            ifnonnull 19
            aload 4 /* u */
            goto 21
      StackMap locals: java.lang.Object
      StackMap stack:
        19: aload 4 /* u */
            ifnonnull 20
            aload 2 /* r */
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1 /* reducer */
            aload 2 /* r */
            aload 4 /* u */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        21: astore 2 /* r */
        end local 4 // java.lang.Object u
        end local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        22: .line 5413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.advance:()Ljava/util/concurrent/ConcurrentHashMap$Node;
            dup
            astore 3 /* p */
        start local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        23: ifnonnull 17
        end local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        24: .line 5417
            aload 0 /* this */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.result:Ljava/lang/Object;
        25: .line 5419
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.firstComplete:()Ljava/util/concurrent/CountedCompleter;
            astore 3 /* c */
        start local 3 // java.util.concurrent.CountedCompleter c
        26: goto 39
        27: .line 5422
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 3 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
            astore 4 /* t */
        start local 4 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask t
        28: .line 5423
            aload 4 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
            astore 5 /* s */
        start local 5 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask s
        29: .line 5424
            goto 37
        30: .line 5426
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
      StackMap stack:
            aload 5 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.result:Ljava/lang/Object;
            dup
            astore 7 /* sr */
        start local 7 // java.lang.Object sr
        31: ifnull 36
        32: .line 5427
            aload 4 /* t */
            aload 4 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.result:Ljava/lang/Object;
            dup
            astore 6 /* tr */
        start local 6 // java.lang.Object tr
        33: ifnonnull 34
            aload 7 /* sr */
            goto 35
        34: .line 5428
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.function.BiFunction java.lang.Object java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.lang.Object java.lang.Object
      StackMap stack: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
            aload 1 /* reducer */
            aload 6 /* tr */
            aload 7 /* sr */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
        35: .line 5427
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.function.BiFunction java.lang.Object java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.lang.Object java.lang.Object
      StackMap stack: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.lang.Object
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.result:Ljava/lang/Object;
        end local 6 // java.lang.Object tr
        36: .line 5429
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.function.BiFunction java.lang.Object java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.concurrent.ConcurrentHashMap$ReduceKeysTask top java.lang.Object
      StackMap stack:
            aload 4 /* t */
            aload 5 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceKeysTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask;
            astore 5 /* s */
        end local 7 // java.lang.Object sr
        37: .line 5424
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.function.BiFunction java.lang.Object java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceKeysTask java.util.concurrent.ConcurrentHashMap$ReduceKeysTask
      StackMap stack:
            aload 5 /* s */
            ifnonnull 30
        end local 5 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask s
        end local 4 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask t
        38: .line 5419
            aload 3 /* c */
            invokevirtual java.util.concurrent.CountedCompleter.nextComplete:()Ljava/util/concurrent/CountedCompleter;
            astore 3 /* c */
      StackMap locals:
      StackMap stack:
        39: aload 3 /* c */
            ifnonnull 27
        end local 3 // java.util.concurrent.CountedCompleter c
        end local 2 // java.lang.Object r
        40: .line 5433
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.BiFunction reducer
        end local 0 // java.util.concurrent.ConcurrentHashMap$ReduceKeysTask this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   41     0     this  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
            1   41     1  reducer  Ljava/util/function/BiFunction<-TK;-TK;+TK;>;
            3   15     2        i  I
            4   10     3        f  I
           12   15     3        f  I
            4   10     4        h  I
           13   15     4        h  I
           16   40     2        r  TK;
           17   22     3        p  Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
           23   24     3        p  Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
           18   22     4        u  TK;
           26   40     3        c  Ljava/util/concurrent/CountedCompleter<*>;
           28   38     4        t  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
           29   38     5        s  Ljava/util/concurrent/ConcurrentHashMap$ReduceKeysTask<TK;TV;>;
           33   36     6       tr  TK;
           31   37     7       sr  TK;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/ConcurrentHashMap$BulkTask<TK;TV;TK;>;
SourceFile: "ConcurrentHashMap.java"
NestHost: java.util.concurrent.ConcurrentHashMap
InnerClasses:
  abstract BulkTask = java.util.concurrent.ConcurrentHashMap$BulkTask of java.util.concurrent.ConcurrentHashMap
  Node = java.util.concurrent.ConcurrentHashMap$Node of java.util.concurrent.ConcurrentHashMap
  final ReduceKeysTask = java.util.concurrent.ConcurrentHashMap$ReduceKeysTask of java.util.concurrent.ConcurrentHashMap