class org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread
  super_class: java.lang.Object
{
  private final java.util.concurrent.SynchronousQueue<java.lang.Runnable> _task;
    descriptor: Ljava/util/concurrent/SynchronousQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/SynchronousQueue<Ljava/lang/Runnable;>;

  private boolean _starting;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final org.eclipse.jetty.util.thread.ReservedThreadExecutor this$0;
    descriptor: Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.eclipse.jetty.util.thread.ReservedThreadExecutor);
    descriptor: (Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
         0: .line 266
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 268
            aload 0 /* this */
            new java.util.concurrent.SynchronousQueue
            dup
            invokespecial java.util.concurrent.SynchronousQueue.<init>:()V
            putfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._task:Ljava/util/concurrent/SynchronousQueue;
         2: .line 269
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._starting:Z
         3: .line 266
            return
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;
    MethodParameters:
        Name  Flags
      this$0  final

  public boolean offer(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
        start local 1 // java.lang.Runnable task
         0: .line 273
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 274
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} offer {}"
            aload 0 /* this */
            aload 1 /* task */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._task:Ljava/util/concurrent/SynchronousQueue;
            aload 1 /* task */
            invokevirtual java.util.concurrent.SynchronousQueue.put:(Ljava/lang/Object;)V
         3: .line 279
            iconst_1
            ireturn
         4: .line 281
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         5: .line 283
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "IGNORED"
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 284
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            pop
         7: .line 285
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._stack:Ljava/util/concurrent/ConcurrentLinkedDeque;
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentLinkedDeque.offerFirst:(Ljava/lang/Object;)Z
            pop
         8: .line 286
            iconst_0
            ireturn
        end local 2 // java.lang.Throwable e
        end local 1 // java.lang.Runnable task
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;
            0    9     1  task  Ljava/lang/Runnable;
            5    9     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      task  

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
         0: .line 292
            aload 0 /* this */
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.STOP:Ljava/lang/Runnable;
            invokevirtual org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.offer:(Ljava/lang/Runnable;)Z
            pop
         1: .line 293
            return
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;

  private java.lang.Runnable reservedWait();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
         0: .line 297
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 298
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} waiting"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._idleTime:J
            lconst_0
            lcmp
            ifgt 3
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._task:Ljava/util/concurrent/SynchronousQueue;
            invokevirtual java.util.concurrent.SynchronousQueue.take:()Ljava/lang/Object;
            checkcast java.lang.Runnable
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._task:Ljava/util/concurrent/SynchronousQueue;
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._idleTime:J
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._idleTimeUnit:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.SynchronousQueue.poll:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
            checkcast java.lang.Runnable
      StackMap locals:
      StackMap stack: java.lang.Runnable
         4: astore 1 /* task */
        start local 1 // java.lang.Runnable task
         5: .line 305
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 7
         6: .line 306
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} task={}"
            aload 0 /* this */
            aload 1 /* task */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 307
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 1 /* task */
            ifnull 10
         8: .line 308
            aload 1 /* task */
         9: areturn
        10: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._stack:Ljava/util/concurrent/ConcurrentLinkedDeque;
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentLinkedDeque.remove:(Ljava/lang/Object;)Z
            ifeq 2
        11: .line 312
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 13
        12: .line 313
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} IDLE"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
        14: .line 315
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.STOP:Ljava/lang/Runnable;
        15: areturn
        end local 1 // java.lang.Runnable task
        16: .line 318
      StackMap locals: org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread
      StackMap stack: java.lang.InterruptedException
            astore 1 /* e */
        start local 1 // java.lang.InterruptedException e
        17: .line 320
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "IGNORED"
            aload 1 /* e */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.InterruptedException e
        18: .line 300
            goto 2
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;
            5   16     1  task  Ljava/lang/Runnable;
           17   18     1     e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           2     9      16  Class java.lang.InterruptedException
          10    15      16  Class java.lang.InterruptedException

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
         0: .line 328
            goto 25
         1: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 1 /* size */
        start local 1 // int size
         2: .line 335
            iload 1 /* size */
            ifge 4
         3: .line 336
            return
         4: .line 339
      StackMap locals: int
      StackMap stack:
            iload 1 /* size */
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._capacity:I
            if_icmplt 10
         5: .line 341
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 7
         6: .line 342
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} size {} > capacity {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            iload 1 /* size */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._capacity:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._starting:Z
            ifeq 9
         8: .line 344
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._pending:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         9: .line 345
      StackMap locals:
      StackMap stack:
            return
        10: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._size:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* size */
            iload 1 /* size */
            iconst_1
            iadd
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifne 12
        11: .line 350
            goto 25
        12: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._starting:Z
            ifeq 17
        13: .line 354
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 15
        14: .line 355
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} started"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._pending:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
        16: .line 357
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread._starting:Z
        17: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor._stack:Ljava/util/concurrent/ConcurrentLinkedDeque;
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentLinkedDeque.offerFirst:(Ljava/lang/Object;)Z
            pop
        18: .line 366
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.reservedWait:()Ljava/lang/Runnable;
            astore 2 /* task */
        start local 2 // java.lang.Runnable task
        19: .line 368
            aload 2 /* task */
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.STOP:Ljava/lang/Runnable;
            if_acmpne 21
        20: .line 370
            goto 26
        21: .line 375
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 2 /* task */
            invokeinterface java.lang.Runnable.run:()V
        22: .line 376
            goto 25
        23: .line 377
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
        24: .line 379
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "Unable to run task"
            aload 3 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable e
        end local 2 // java.lang.Runnable task
        end local 1 // int size
        25: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            invokevirtual org.eclipse.jetty.util.thread.ReservedThreadExecutor.isRunning:()Z
            ifne 1
        26: .line 383
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 28
        27: .line 384
            getstatic org.eclipse.jetty.util.thread.ReservedThreadExecutor.LOG:Lorg/slf4j/Logger;
            ldc "{} Exited"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        28: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;
            2   25     1  size  I
           19   25     2  task  Ljava/lang/Runnable;
           24   25     3     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          21    22      23  Class java.lang.Throwable

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
         0: .line 390
            ldc "%s@%x"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.this$0:Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/thread/ReservedThreadExecutor$ReservedThread;
}
SourceFile: "ReservedThreadExecutor.java"
NestHost: org.eclipse.jetty.util.thread.ReservedThreadExecutor
InnerClasses:
  private ReservedThread = org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread of org.eclipse.jetty.util.thread.ReservedThreadExecutor