class jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter extends jdk.internal.net.http.common.SequentialScheduler$DeferredCompleter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter
  super_class: jdk.internal.net.http.common.SequentialScheduler$DeferredCompleter
{
  final jdk.internal.net.http.common.SequentialScheduler this$0;
    descriptor: Ljdk/internal/net/http/common/SequentialScheduler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(jdk.internal.net.http.common.SequentialScheduler);
    descriptor: (Ljdk/internal/net/http/common/SequentialScheduler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter this
         0: .line 278
            aload 0 /* this */
            aload 1
            putfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            aload 0 /* this */
            invokespecial jdk.internal.net.http.common.SequentialScheduler$DeferredCompleter.<init>:()V
            return
        end local 0 // jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/common/SequentialScheduler$TryEndDeferredCompleter;
    MethodParameters:
        Name  Flags
      this$0  final

  public void complete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter this
         0: .line 284
            goto 3
        start local 1 // int s
         1: .line 286
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.state:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* s */
            iload 1 /* s */
            bipush -2
            iand
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 3
         2: .line 287
            return
        end local 1 // int s
         3: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.state:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            dup
            istore 1 /* s */
        start local 1 // int s
         4: iconst_1
            iand
            ifne 1
         5: .line 291
      StackMap locals: int
      StackMap stack:
            iload 1 /* s */
            iconst_1
            iand
            ifeq 7
         6: .line 295
            new java.lang.InternalError
            dup
            iload 1 /* s */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 297
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            iconst_4
            if_icmpne 10
         8: .line 298
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.state:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_4
            bipush 16
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 18
         9: .line 299
            return
        10: .line 301
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            iconst_2
            if_icmpne 13
        11: .line 302
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.state:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_2
            iconst_5
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 18
        12: .line 303
            goto 20
        13: .line 305
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            bipush 8
            if_icmpne 15
        14: .line 306
            return
        15: .line 307
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            bipush 16
            if_icmpne 17
        16: .line 308
            new java.lang.IllegalStateException
            dup
            ldc "Duplicate completion"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 311
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            iload 1 /* s */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.state:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 1 /* s */
        19: .line 290
            goto 5
        20: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.restartableTask:Ljdk/internal/net/http/common/SequentialScheduler$RestartableTask;
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.this$0:Ljdk/internal/net/http/common/SequentialScheduler;
            getfield jdk.internal.net.http.common.SequentialScheduler.completer:Ljdk/internal/net/http/common/SequentialScheduler$DeferredCompleter;
            invokeinterface jdk.internal.net.http.common.SequentialScheduler$RestartableTask.run:(Ljdk/internal/net/http/common/SequentialScheduler$DeferredCompleter;)V
        end local 1 // int s
        21: .line 282
            goto 3
        end local 0 // jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljdk/internal/net/http/common/SequentialScheduler$TryEndDeferredCompleter;
            1    3     1     s  I
            4   21     1     s  I
}
SourceFile: "SequentialScheduler.java"
NestHost: jdk.internal.net.http.common.SequentialScheduler
InnerClasses:
  public abstract DeferredCompleter = jdk.internal.net.http.common.SequentialScheduler$DeferredCompleter of jdk.internal.net.http.common.SequentialScheduler
  public abstract RestartableTask = jdk.internal.net.http.common.SequentialScheduler$RestartableTask of jdk.internal.net.http.common.SequentialScheduler
  private TryEndDeferredCompleter = jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter of jdk.internal.net.http.common.SequentialScheduler