final class com.sun.glass.ui.monocle.MonocleTimer extends com.sun.glass.ui.Timer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.glass.ui.monocle.MonocleTimer
super_class: com.sun.glass.ui.Timer
{
private static final java.lang.String THREAD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Monocle Timer"
private static java.util.concurrent.ScheduledThreadPoolExecutor scheduler;
descriptor: Ljava/util/concurrent/ScheduledThreadPoolExecutor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.concurrent.ScheduledFuture<?> task;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
void <init>(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.glass.ui.Timer.<init>:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 2 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
runnable final
static int getMinPeriod_impl();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int getMaxPeriod_impl();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc 1000000
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected long _start(java.lang.Runnable, int);
descriptor: (Ljava/lang/Runnable;I)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.sun.glass.ui.monocle.MonocleTimer.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
ifnonnull 2
1: new java.util.concurrent.ScheduledThreadPoolExecutor
dup
iconst_1
invokedynamic newThread()Ljava/util/concurrent/ThreadFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Runnable;)Ljava/lang/Thread;
com/sun/glass/ui/monocle/MonocleTimer.lambda$0(Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
(Ljava/lang/Runnable;)Ljava/lang/Thread;
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor.<init>:(ILjava/util/concurrent/ThreadFactory;)V
putstatic com.sun.glass.ui.monocle.MonocleTimer.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
2: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.glass.ui.monocle.MonocleTimer.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
aload 1
lconst_0
iload 2
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield com.sun.glass.ui.monocle.MonocleTimer.task:Ljava/util/concurrent/ScheduledFuture;
3: lconst_1
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 4 1 runnable Ljava/lang/Runnable;
0 4 2 period I
MethodParameters:
Name Flags
runnable final
period
protected long _start(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.RuntimeException
dup
ldc "vsync timer not supported"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 1 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
runnable
protected void _stop(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.glass.ui.monocle.MonocleTimer.task:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
1: aload 0
getfield com.sun.glass.ui.monocle.MonocleTimer.task:Ljava/util/concurrent/ScheduledFuture;
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield com.sun.glass.ui.monocle.MonocleTimer.task:Ljava/util/concurrent/ScheduledFuture;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 4 1 timer J
MethodParameters:
Name Flags
timer
protected void _pause(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 1 1 timer J
MethodParameters:
Name Flags
timer
protected void _resume(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/MonocleTimer;
0 1 1 timer J
MethodParameters:
Name Flags
timer
private static java.lang.Thread lambda$0(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.lang.Thread
dup
aload 0
ldc "Monocle Timer"
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/Runnable;
1 3 1 thread Ljava/lang/Thread;
}
SourceFile: "MonocleTimer.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles