class org.eclipse.jetty.io.CyclicTimeout$Wakeup implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jetty.io.CyclicTimeout$Wakeup
super_class: java.lang.Object
{
private final java.util.concurrent.atomic.AtomicReference<org.eclipse.jetty.util.thread.Scheduler$Task> _task;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jetty/util/thread/Scheduler$Task;>;
private final long _at;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jetty.io.CyclicTimeout$Wakeup _next;
descriptor: Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.eclipse.jetty.io.CyclicTimeout this$0;
descriptor: Lorg/eclipse/jetty/io/CyclicTimeout;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.eclipse.jetty.io.CyclicTimeout, long, org.eclipse.jetty.io.CyclicTimeout$Wakeup);
descriptor: (Lorg/eclipse/jetty/io/CyclicTimeout;JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 2 start local 4 0: aload 0
aload 1
putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
3: aload 0
lload 2
putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
4: aload 0
aload 4
putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
5: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
0 6 2 wakeupAt J
0 6 4 next Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
MethodParameters:
Name Flags
this$0 final
wakeupAt
next
private void schedule(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
getfield org.eclipse.jetty.io.CyclicTimeout._scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
aload 0
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
lload 1
lsub
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.eclipse.jetty.util.thread.Scheduler.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lorg/eclipse/jetty/util/thread/Scheduler$Task;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
0 2 1 now J
MethodParameters:
Name Flags
now
private void destroy();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.io.CyclicTimeout.DESTROYED:Lorg/eclipse/jetty/util/thread/Scheduler$Task;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jetty.util.thread.Scheduler$Task
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface org.eclipse.jetty.util.thread.Scheduler$Task.cancel:()Z
pop
3: StackMap locals: org.eclipse.jetty.util.thread.Scheduler$Task
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
1 4 1 task Lorg/eclipse/jetty/util/thread/Scheduler$Task;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: StackMap locals: long org.eclipse.jetty.io.CyclicTimeout$Wakeup int
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.CyclicTimeout$Timeout
astore 5
start local 5 4: aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._wakeup:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 6
start local 6 5: goto 9
6: StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Timeout org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack:
aload 6
aload 0
if_acmpne 8
7: goto 10
8: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 6
9: StackMap locals:
StackMap stack:
aload 6
ifnonnull 6
10: StackMap locals:
StackMap stack:
aload 6
ifnonnull 12
11: return
12: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 6
13: aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
lload 1
lcmp
ifgt 19
14: iconst_1
istore 4
15: aload 6
ifnonnull 16
getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
goto 17
StackMap locals:
StackMap stack:
16: new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
ldc 9223372036854775807
aload 6
invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
StackMap locals:
StackMap stack: org.eclipse.jetty.io.CyclicTimeout$Timeout
17: astore 7
start local 7 18: goto 27
end local 7 19: StackMap locals:
StackMap stack:
aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
ldc 9223372036854775807
lcmp
ifeq 24
20: aload 6
ifnull 21
aload 6
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
lcmp
iflt 22
21: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.CyclicTimeout$Wakeup
dup
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
aload 6
invokespecial org.eclipse.jetty.io.CyclicTimeout$Wakeup.<init>:(Lorg/eclipse/jetty/io/CyclicTimeout;JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
dup
astore 3
astore 6
22: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
aload 5
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
aload 6
invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
astore 7
start local 7 23: goto 27
end local 7 24: StackMap locals:
StackMap stack:
aload 6
ifnonnull 25
getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
goto 26
StackMap locals:
StackMap stack:
25: new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
ldc 9223372036854775807
aload 6
invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
StackMap locals:
StackMap stack: org.eclipse.jetty.io.CyclicTimeout$Timeout
26: astore 7
start local 7 27: StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Timeout
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
aload 5
aload 7
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 3
end local 7 end local 6 end local 5 28: aload 3
ifnull 30
29: aload 3
lload 1
invokevirtual org.eclipse.jetty.io.CyclicTimeout$Wakeup.schedule:(J)V
30: StackMap locals:
StackMap stack:
iload 4
ifeq 32
31: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
invokevirtual org.eclipse.jetty.io.CyclicTimeout.onTimeoutExpired:()V
32: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
1 33 1 now J
2 33 3 newWakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
3 33 4 hasExpired Z
4 28 5 timeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
5 28 6 wakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
18 19 7 newTimeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
23 24 7 newTimeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
27 28 7 newTimeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: ldc "%s@%x:%dms->%s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
2: aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
3: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
ldc 9223372036854775807
lcmp
ifne 4
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
goto 5
StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
4: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
invokestatic java.lang.System.nanoTime:()J
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int long
5: invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
6: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
}
SourceFile: "CyclicTimeout.java"
NestHost: org.eclipse.jetty.io.CyclicTimeout
InnerClasses:
private Timeout = org.eclipse.jetty.io.CyclicTimeout$Timeout of org.eclipse.jetty.io.CyclicTimeout
private Wakeup = org.eclipse.jetty.io.CyclicTimeout$Wakeup of org.eclipse.jetty.io.CyclicTimeout
public abstract Task = org.eclipse.jetty.util.thread.Scheduler$Task of org.eclipse.jetty.util.thread.Scheduler