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

  java.util.Map$Entry<K, V> result;
    descriptor: Ljava/util/Map$Entry;
    flags: (0x0000) 
    Signature: Ljava/util/Map$Entry<TK;TV;>;

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

  java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask<K, V> nextRight;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
    flags: (0x0000) 
    Signature: Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<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$ReduceEntriesTask<K, V>, java.util.function.BiFunction<java.util.Map$Entry<K, V>, java.util.Map$Entry<K, V>, ? extends java.util.Map$Entry<K, V>>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;Ljava/util/function/BiFunction;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask 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$ReduceEntriesTask nextRight
        start local 7 // java.util.function.BiFunction reducer
         0: .line 5494
            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$ReduceEntriesTask.nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
         1: .line 5495
            aload 0 /* this */
            aload 7 /* reducer */
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.reducer:Ljava/util/function/BiFunction;
         2: .line 5496
            return
        end local 7 // java.util.function.BiFunction reducer
        end local 6 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask 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$ReduceEntriesTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<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$ReduceEntriesTask<TK;TV;>;
            0    3     7    reducer  Ljava/util/function/BiFunction<Ljava/util/Map$Entry<TK;TV;>;Ljava/util/Map$Entry<TK;TV;>;+Ljava/util/Map$Entry<TK;TV;>;>;
    Signature: (Ljava/util/concurrent/ConcurrentHashMap$BulkTask<TK;TV;*>;III[Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<TK;TV;>;Ljava/util/function/BiFunction<Ljava/util/Map$Entry<TK;TV;>;Ljava/util/Map$Entry<TK;TV;>;+Ljava/util/Map$Entry<TK;TV;>;>;)V
    MethodParameters:
           Name  Flags
      p          
      b          
      i          
      f          
      t          
      nextRight  
      reducer    

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

  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$ReduceEntriesTask this
         0: .line 5500
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.reducer:Ljava/util/function/BiFunction;
            dup
            astore 1 /* reducer */
        start local 1 // java.util.function.BiFunction reducer
         1: ifnull 38
         2: .line 5501
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.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 5503
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.function.BiFunction int int int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.addToPendingCount:(I)V
         5: .line 5504
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask
            dup
         6: .line 5505
            aload 0 /* this */
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.batch:I
            iconst_1
            iushr
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.batch:I
            aload 0 /* this */
            iload 4 /* h */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.baseLimit:I
            iload 3 /* f */
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.tab:[Ljava/util/concurrent/ConcurrentHashMap$Node;
         7: .line 5506
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
            aload 1 /* reducer */
            invokespecial java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.<init>:(Ljava/util/concurrent/ConcurrentHashMap$BulkTask;III[Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;Ljava/util/function/BiFunction;)V
         8: .line 5504
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
         9: .line 5506
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.fork:()Ljava/util/concurrent/ForkJoinTask;
            pop
        end local 4 // int h
        end local 3 // int f
        10: .line 5501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.batch:I
            ifle 15
        11: .line 5502
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.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 5501
            if_icmpgt 4
        end local 4 // int h
        end local 3 // int f
        end local 2 // int i
        15: .line 5508
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* r */
        start local 2 // java.util.Map$Entry r
        16: .line 5509
            goto 20
        start local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        17: .line 5510
      StackMap locals: java.util.Map$Entry java.util.concurrent.ConcurrentHashMap$Node
      StackMap stack:
            aload 2 /* r */
            ifnonnull 18
            aload 3 /* p */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 1 /* reducer */
            aload 2 /* r */
            aload 3 /* p */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map$Entry
      StackMap locals:
      StackMap stack: java.util.Map$Entry
        19: astore 2 /* r */
        end local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        20: .line 5509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.advance:()Ljava/util/concurrent/ConcurrentHashMap$Node;
            dup
            astore 3 /* p */
        start local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        21: ifnonnull 17
        end local 3 // java.util.concurrent.ConcurrentHashMap$Node p
        22: .line 5511
            aload 0 /* this */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.result:Ljava/util/Map$Entry;
        23: .line 5513
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.firstComplete:()Ljava/util/concurrent/CountedCompleter;
            astore 3 /* c */
        start local 3 // java.util.concurrent.CountedCompleter c
        24: goto 37
        25: .line 5516
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 3 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask
            astore 4 /* t */
        start local 4 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask t
        26: .line 5517
            aload 4 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
            astore 5 /* s */
        start local 5 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask s
        27: .line 5518
            goto 35
        28: .line 5520
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask
      StackMap stack:
            aload 5 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.result:Ljava/util/Map$Entry;
            dup
            astore 7 /* sr */
        start local 7 // java.util.Map$Entry sr
        29: ifnull 34
        30: .line 5521
            aload 4 /* t */
            aload 4 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.result:Ljava/util/Map$Entry;
            dup
            astore 6 /* tr */
        start local 6 // java.util.Map$Entry tr
        31: ifnonnull 32
            aload 7 /* sr */
            goto 33
        32: .line 5522
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.function.BiFunction java.util.Map$Entry java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.Map$Entry java.util.Map$Entry
      StackMap stack: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask
            aload 1 /* reducer */
            aload 6 /* tr */
            aload 7 /* sr */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map$Entry
        33: .line 5521
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.function.BiFunction java.util.Map$Entry java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.Map$Entry java.util.Map$Entry
      StackMap stack: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.Map$Entry
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.result:Ljava/util/Map$Entry;
        end local 6 // java.util.Map$Entry tr
        34: .line 5523
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.function.BiFunction java.util.Map$Entry java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask top java.util.Map$Entry
      StackMap stack:
            aload 4 /* t */
            aload 5 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.nextRight:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.rights:Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask;
            astore 5 /* s */
        end local 7 // java.util.Map$Entry sr
        35: .line 5518
      StackMap locals: java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.function.BiFunction java.util.Map$Entry java.util.concurrent.CountedCompleter java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask
      StackMap stack:
            aload 5 /* s */
            ifnonnull 28
        end local 5 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask s
        end local 4 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask t
        36: .line 5513
            aload 3 /* c */
            invokevirtual java.util.concurrent.CountedCompleter.nextComplete:()Ljava/util/concurrent/CountedCompleter;
            astore 3 /* c */
      StackMap locals:
      StackMap stack:
        37: aload 3 /* c */
            ifnonnull 25
        end local 3 // java.util.concurrent.CountedCompleter c
        end local 2 // java.util.Map$Entry r
        38: .line 5527
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.BiFunction reducer
        end local 0 // java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   39     0     this  Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<TK;TV;>;
            1   39     1  reducer  Ljava/util/function/BiFunction<Ljava/util/Map$Entry<TK;TV;>;Ljava/util/Map$Entry<TK;TV;>;+Ljava/util/Map$Entry<TK;TV;>;>;
            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   38     2        r  Ljava/util/Map$Entry<TK;TV;>;
           17   20     3        p  Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
           21   22     3        p  Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
           24   38     3        c  Ljava/util/concurrent/CountedCompleter<*>;
           26   36     4        t  Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<TK;TV;>;
           27   36     5        s  Ljava/util/concurrent/ConcurrentHashMap$ReduceEntriesTask<TK;TV;>;
           31   34     6       tr  Ljava/util/Map$Entry<TK;TV;>;
           29   35     7       sr  Ljava/util/Map$Entry<TK;TV;>;

  public java.lang.Object getRawResult();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask.getRawResult:()Ljava/util/Map$Entry;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/ConcurrentHashMap$BulkTask<TK;TV;Ljava/util/Map$Entry<TK;TV;>;>;
SourceFile: "ConcurrentHashMap.java"
NestHost: java.util.concurrent.ConcurrentHashMap
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  abstract BulkTask = java.util.concurrent.ConcurrentHashMap$BulkTask of java.util.concurrent.ConcurrentHashMap
  Node = java.util.concurrent.ConcurrentHashMap$Node of java.util.concurrent.ConcurrentHashMap
  final ReduceEntriesTask = java.util.concurrent.ConcurrentHashMap$ReduceEntriesTask of java.util.concurrent.ConcurrentHashMap