public final class io.reactivex.internal.util.BackpressureHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.util.BackpressureHelper
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.reactivex.internal.util.BackpressureHelper this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 25
            new java.lang.IllegalStateException
            dup
            ldc "No instances!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.reactivex.internal.util.BackpressureHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/util/BackpressureHelper;

  public static long addCap(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 35
            lload 0 /* a */
            lload 2 /* b */
            ladd
            lstore 4 /* u */
        start local 4 // long u
         1: .line 36
            lload 4 /* u */
            lconst_0
            lcmp
            ifge 3
         2: .line 37
            ldc 9223372036854775807
            lreturn
         3: .line 39
      StackMap locals: long
      StackMap stack:
            lload 4 /* u */
            lreturn
        end local 4 // long u
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  J
            0    4     2     b  J
            1    4     4     u  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long multiplyCap(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 49
            lload 0 /* a */
            lload 2 /* b */
            lmul
            lstore 4 /* u */
        start local 4 // long u
         1: .line 50
            lload 0 /* a */
            lload 2 /* b */
            lor
            bipush 31
            lushr
            lconst_0
            lcmp
            ifeq 4
         2: .line 51
            lload 4 /* u */
            lload 0 /* a */
            ldiv
            lload 2 /* b */
            lcmp
            ifeq 4
         3: .line 52
            ldc 9223372036854775807
            lreturn
         4: .line 55
      StackMap locals: long
      StackMap stack:
            lload 4 /* u */
            lreturn
        end local 4 // long u
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  J
            0    5     2     b  J
            1    5     4     u  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long add(java.util.concurrent.atomic.AtomicLong, long);
    descriptor: (Ljava/util/concurrent/atomic/AtomicLong;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.atomic.AtomicLong requested
        start local 1 // long n
         0: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* requested */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* r */
        start local 3 // long r
         1: .line 68
            lload 3 /* r */
            ldc 9223372036854775807
            lcmp
            ifne 3
         2: .line 69
            ldc 9223372036854775807
            lreturn
         3: .line 71
      StackMap locals: long
      StackMap stack:
            lload 3 /* r */
            lload 1 /* n */
            invokestatic io.reactivex.internal.util.BackpressureHelper.addCap:(JJ)J
            lstore 5 /* u */
        start local 5 // long u
         4: .line 72
            aload 0 /* requested */
            lload 3 /* r */
            lload 5 /* u */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 0
         5: .line 73
            lload 3 /* r */
            lreturn
        end local 5 // long u
        end local 3 // long r
        end local 1 // long n
        end local 0 // java.util.concurrent.atomic.AtomicLong requested
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  requested  Ljava/util/concurrent/atomic/AtomicLong;
            0    6     1          n  J
            1    6     3          r  J
            4    6     5          u  J
    MethodParameters:
           Name  Flags
      requested  
      n          

  public static long addCancel(java.util.concurrent.atomic.AtomicLong, long);
    descriptor: (Ljava/util/concurrent/atomic/AtomicLong;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.atomic.AtomicLong requested
        start local 1 // long n
         0: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* requested */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* r */
        start local 3 // long r
         1: .line 89
            lload 3 /* r */
            ldc -9223372036854775808
            lcmp
            ifne 3
         2: .line 90
            ldc -9223372036854775808
            lreturn
         3: .line 92
      StackMap locals: long
      StackMap stack:
            lload 3 /* r */
            ldc 9223372036854775807
            lcmp
            ifne 5
         4: .line 93
            ldc 9223372036854775807
            lreturn
         5: .line 95
      StackMap locals:
      StackMap stack:
            lload 3 /* r */
            lload 1 /* n */
            invokestatic io.reactivex.internal.util.BackpressureHelper.addCap:(JJ)J
            lstore 5 /* u */
        start local 5 // long u
         6: .line 96
            aload 0 /* requested */
            lload 3 /* r */
            lload 5 /* u */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 0
         7: .line 97
            lload 3 /* r */
            lreturn
        end local 5 // long u
        end local 3 // long r
        end local 1 // long n
        end local 0 // java.util.concurrent.atomic.AtomicLong requested
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  requested  Ljava/util/concurrent/atomic/AtomicLong;
            0    8     1          n  J
            1    8     3          r  J
            6    8     5          u  J
    MethodParameters:
           Name  Flags
      requested  
      n          

  public static long produced(java.util.concurrent.atomic.AtomicLong, long);
    descriptor: (Ljava/util/concurrent/atomic/AtomicLong;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.atomic.AtomicLong requested
        start local 1 // long n
         0: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* requested */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* current */
        start local 3 // long current
         1: .line 111
            lload 3 /* current */
            ldc 9223372036854775807
            lcmp
            ifne 3
         2: .line 112
            ldc 9223372036854775807
            lreturn
         3: .line 114
      StackMap locals: long
      StackMap stack:
            lload 3 /* current */
            lload 1 /* n */
            lsub
            lstore 5 /* update */
        start local 5 // long update
         4: .line 115
            lload 5 /* update */
            lconst_0
            lcmp
            ifge 7
         5: .line 116
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "More produced than requested: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* update */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
         6: .line 117
            lconst_0
            lstore 5 /* update */
         7: .line 119
      StackMap locals: long
      StackMap stack:
            aload 0 /* requested */
            lload 3 /* current */
            lload 5 /* update */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 0
         8: .line 120
            lload 5 /* update */
            lreturn
        end local 5 // long update
        end local 3 // long current
        end local 1 // long n
        end local 0 // java.util.concurrent.atomic.AtomicLong requested
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  requested  Ljava/util/concurrent/atomic/AtomicLong;
            0    9     1          n  J
            1    9     3    current  J
            4    9     5     update  J
    MethodParameters:
           Name  Flags
      requested  
      n          

  public static long producedCancel(java.util.concurrent.atomic.AtomicLong, long);
    descriptor: (Ljava/util/concurrent/atomic/AtomicLong;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.atomic.AtomicLong requested
        start local 1 // long n
         0: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* requested */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* current */
        start local 3 // long current
         1: .line 135
            lload 3 /* current */
            ldc -9223372036854775808
            lcmp
            ifne 3
         2: .line 136
            ldc -9223372036854775808
            lreturn
         3: .line 138
      StackMap locals: long
      StackMap stack:
            lload 3 /* current */
            ldc 9223372036854775807
            lcmp
            ifne 5
         4: .line 139
            ldc 9223372036854775807
            lreturn
         5: .line 141
      StackMap locals:
      StackMap stack:
            lload 3 /* current */
            lload 1 /* n */
            lsub
            lstore 5 /* update */
        start local 5 // long update
         6: .line 142
            lload 5 /* update */
            lconst_0
            lcmp
            ifge 9
         7: .line 143
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "More produced than requested: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* update */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
         8: .line 144
            lconst_0
            lstore 5 /* update */
         9: .line 146
      StackMap locals: long
      StackMap stack:
            aload 0 /* requested */
            lload 3 /* current */
            lload 5 /* update */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 0
        10: .line 147
            lload 5 /* update */
            lreturn
        end local 5 // long update
        end local 3 // long current
        end local 1 // long n
        end local 0 // java.util.concurrent.atomic.AtomicLong requested
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  requested  Ljava/util/concurrent/atomic/AtomicLong;
            0   11     1          n  J
            1   11     3    current  J
            6   11     5     update  J
    MethodParameters:
           Name  Flags
      requested  
      n          
}
SourceFile: "BackpressureHelper.java"