public abstract class com.sun.scenario.animation.AbstractMasterTimer
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.scenario.animation.AbstractMasterTimer
super_class: java.lang.Object
{
protected static final java.lang.String FULLSPEED_PROP;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "javafx.animation.fullspeed"
private static boolean fullspeed;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected static final java.lang.String ADAPTIVE_PULSE_PROP;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.scenario.animation.adaptivepulse"
private static boolean useAdaptivePulse;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected static final java.lang.String PULSE_PROP;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "javafx.animation.pulse"
protected static final java.lang.String FRAMERATE_PROP;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "javafx.animation.framerate"
protected static final java.lang.String FIXED_PULSE_LENGTH_PROP;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.scenario.animation.fixed.pulse.length"
protected static final java.lang.String ANIMATION_MBEAN_ENABLED;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.scenario.animation.AnimationMBean.enabled"
protected static final boolean enableAnimationMBean;
descriptor: Z
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final int PULSE_DURATION_NS;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int PULSE_DURATION_TICKS;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static javafx.util.Callback<java.lang.String, java.lang.Void> pcl;
descriptor: Ljavafx/util/Callback;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljavafx/util/Callback<Ljava/lang/String;Ljava/lang/Void;>;
private boolean paused;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long totalPausedTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long startPauseTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private com.sun.scenario.animation.shared.PulseReceiver[] receivers;
descriptor: [Lcom/sun/scenario/animation/shared/PulseReceiver;
flags: (0x0002) ACC_PRIVATE
private int receiversLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean receiversLocked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.sun.scenario.animation.shared.TimerReceiver[] animationTimers;
descriptor: [Lcom/sun/scenario/animation/shared/TimerReceiver;
flags: (0x0002) ACC_PRIVATE
private int animationTimersLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean animationTimersLocked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final long fixedPulseLength;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long debugNanos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final com.sun.scenario.animation.AbstractMasterTimer$MainLoop theMaster;
descriptor: Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc "javafx.animation.fullspeed"
invokestatic com.sun.scenario.Settings.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.scenario.animation.AbstractMasterTimer.fullspeed:Z
1: ldc "com.sun.scenario.animation.adaptivepulse"
invokestatic com.sun.scenario.Settings.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.scenario.animation.AbstractMasterTimer.useAdaptivePulse:Z
2: invokedynamic call()Ljavafx/util/Callback;
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/Object;)Ljava/lang/Object;
com/sun/scenario/animation/AbstractMasterTimer.lambda$0(Ljava/lang/String;)Ljava/lang/Void; (6)
(Ljava/lang/String;)Ljava/lang/Void;
putstatic com.sun.scenario.animation.AbstractMasterTimer.pcl:Ljavafx/util/Callback;
3: getstatic com.sun.scenario.animation.AbstractMasterTimer.pcl:Ljavafx/util/Callback;
invokestatic com.sun.scenario.Settings.addPropertyChangeListener:(Ljavafx/util/Callback;)V
4: ldc "javafx.animation.pulse"
iconst_m1
invokestatic com.sun.scenario.Settings.getInt:(Ljava/lang/String;I)I
istore 0
start local 0 5: iload 0
iconst_m1
if_icmpeq 7
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Setting PULSE_DURATION to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " hz"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 0 7: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 7 0 pulse I
boolean isPaused();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
long getTotalPausedTime();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.totalPausedTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
long getStartPauseTime();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.startPauseTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public int getDefaultResolution();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.PULSE_DURATION_TICKS:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public void pause();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
ifne 3
1: aload 0
aload 0
invokevirtual com.sun.scenario.animation.AbstractMasterTimer.nanos:()J
putfield com.sun.scenario.animation.AbstractMasterTimer.startPauseTime:J
2: aload 0
iconst_1
putfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public void resume();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
ifeq 3
1: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
2: aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.totalPausedTime:J
aload 0
invokevirtual com.sun.scenario.animation.AbstractMasterTimer.nanos:()J
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.startPauseTime:J
lsub
ladd
putfield com.sun.scenario.animation.AbstractMasterTimer.totalPausedTime:J
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public long nanos();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.fixedPulseLength:J
lconst_0
lcmp
ifle 2
1: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.debugNanos:J
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
ifeq 3
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.startPauseTime:J
goto 4
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.totalPausedTime:J
lsub
4: StackMap locals:
StackMap stack: long
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public boolean isFullspeed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.scenario.animation.AbstractMasterTimer.fullspeed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
ldc 1000000000
invokevirtual com.sun.scenario.animation.AbstractMasterTimer.getPulseDuration:(I)I
putfield com.sun.scenario.animation.AbstractMasterTimer.PULSE_DURATION_NS:I
2: aload 0
aload 0
ldc 1000.0
invokestatic com.sun.javafx.animation.TickCalculation.fromMillis:(D)J
l2i
invokevirtual com.sun.scenario.animation.AbstractMasterTimer.getPulseDuration:(I)I
putfield com.sun.scenario.animation.AbstractMasterTimer.PULSE_DURATION_TICKS:I
3: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.paused:Z
4: aload 0
iconst_2
anewarray com.sun.scenario.animation.shared.PulseReceiver
putfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
5: aload 0
iconst_2
anewarray com.sun.scenario.animation.shared.TimerReceiver
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
6: aload 0
ldc "com.sun.scenario.animation.fixed.pulse.length"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
ifeq 7
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.PULSE_DURATION_NS:I
goto 8
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer
7: iconst_0
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer int
8: i2l
putfield com.sun.scenario.animation.AbstractMasterTimer.fixedPulseLength:J
9: aload 0
lconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.debugNanos:J
10: aload 0
new com.sun.scenario.animation.AbstractMasterTimer$MainLoop
dup
aload 0
invokespecial com.sun.scenario.animation.AbstractMasterTimer$MainLoop.<init>:(Lcom/sun/scenario/animation/AbstractMasterTimer;)V
putfield com.sun.scenario.animation.AbstractMasterTimer.theMaster:Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
public void addPulseReceiver(com.sun.scenario.animation.shared.PulseReceiver);
descriptor: (Lcom/sun/scenario/animation/shared/PulseReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
arraylength
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
ifne 4
iload 2
ifeq 8
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
iload 2
ifeq 5
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
arraylength
iconst_3
imul
iconst_2
idiv
iconst_1
iadd
goto 6
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.PulseReceiver int
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.PulseReceiver[]
5: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
arraylength
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.PulseReceiver int
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.PulseReceiver[] int
6: invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast com.sun.scenario.animation.shared.PulseReceiver[]
putfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
7: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
dup_x1
iconst_1
iadd
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
aload 1
aastore
9: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
iconst_1
if_icmpne 11
10: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.theMaster:Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
invokevirtual com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable:()V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
0 12 1 target Lcom/sun/scenario/animation/shared/PulseReceiver;
3 12 2 needMoreSize Z
MethodParameters:
Name Flags
target
public void removePulseReceiver(com.sun.scenario.animation.shared.PulseReceiver);
descriptor: (Lcom/sun/scenario/animation/shared/PulseReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
ifeq 3
1: aload 0
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
invokevirtual com.sun.scenario.animation.shared.PulseReceiver[].clone:()Ljava/lang/Object;
checkcast com.sun.scenario.animation.shared.PulseReceiver[]
putfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
2: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 14
5: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
iload 2
aaload
if_acmpne 13
6: iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
iconst_1
isub
if_icmpne 9
7: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
iload 2
aconst_null
aastore
8: goto 11
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
iload 2
iconst_1
iadd
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
iload 2
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
iconst_1
isub
aconst_null
aastore
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
iconst_1
isub
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
if_icmplt 5
end local 2 15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
ifne 17
16: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.theMaster:Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
invokevirtual com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable:()V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
0 18 1 target Lcom/sun/scenario/animation/shared/PulseReceiver;
4 15 2 i I
MethodParameters:
Name Flags
target
public void addAnimationTimer(com.sun.scenario.animation.shared.TimerReceiver);
descriptor: (Lcom/sun/scenario/animation/shared/TimerReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
arraylength
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
ifne 4
iload 2
ifeq 8
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
iload 2
ifeq 5
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
arraylength
iconst_3
imul
iconst_2
idiv
iconst_1
iadd
goto 6
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.TimerReceiver int
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.TimerReceiver[]
5: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
arraylength
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.TimerReceiver int
StackMap stack: com.sun.scenario.animation.AbstractMasterTimer com.sun.scenario.animation.shared.TimerReceiver[] int
6: invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast com.sun.scenario.animation.shared.TimerReceiver[]
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
7: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
dup_x1
iconst_1
iadd
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
aload 1
aastore
9: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
iconst_1
if_icmpne 11
10: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.theMaster:Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
invokevirtual com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable:()V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
0 12 1 timer Lcom/sun/scenario/animation/shared/TimerReceiver;
3 12 2 needMoreSize Z
MethodParameters:
Name Flags
timer
public void removeAnimationTimer(com.sun.scenario.animation.shared.TimerReceiver);
descriptor: (Lcom/sun/scenario/animation/shared/TimerReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
ifeq 3
1: aload 0
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
invokevirtual com.sun.scenario.animation.shared.TimerReceiver[].clone:()Ljava/lang/Object;
checkcast com.sun.scenario.animation.shared.TimerReceiver[]
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
2: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 14
5: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
iload 2
aaload
if_acmpne 13
6: iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
iconst_1
isub
if_icmpne 9
7: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
iload 2
aconst_null
aastore
8: goto 11
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
iload 2
iconst_1
iadd
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
iload 2
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
iconst_1
isub
aconst_null
aastore
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
iconst_1
isub
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
if_icmplt 5
end local 2 15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
ifne 17
16: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.theMaster:Lcom/sun/scenario/animation/AbstractMasterTimer$MainLoop;
invokevirtual com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable:()V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
0 18 1 timer Lcom/sun/scenario/animation/shared/TimerReceiver;
4 15 2 i I
MethodParameters:
Name Flags
timer
protected void recordStart(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/scenario/animation/AbstractMasterTimer;
0 1 1 shiftMillis J
MethodParameters:
Name Flags
shiftMillis
protected void recordEnd();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
protected void recordAnimationEnd();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
protected abstract void postUpdateAnimationRunnable(com.sun.scenario.DelayedRunnable);
descriptor: (Lcom/sun/scenario/DelayedRunnable;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
animationRunnable
protected abstract int getPulseDuration(int);
descriptor: (I)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
precision
protected void timePulseImpl(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.fixedPulseLength:J
lconst_0
lcmp
ifle 3
1: aload 0
dup
getfield com.sun.scenario.animation.AbstractMasterTimer.debugNanos:J
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.fixedPulseLength:J
ladd
putfield com.sun.scenario.animation.AbstractMasterTimer.debugNanos:J
2: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.debugNanos:J
lstore 1
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receivers:[Lcom/sun/scenario/animation/shared/PulseReceiver;
astore 3
start local 3 4: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.receiversLength:I
istore 4
start local 4 5: aload 0
iconst_1
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: com.sun.scenario.animation.shared.PulseReceiver[] int int
StackMap stack:
aload 3
iload 5
aaload
lload 1
invokestatic com.sun.javafx.animation.TickCalculation.fromNano:(J)J
invokeinterface com.sun.scenario.animation.shared.PulseReceiver.timePulse:(J)V
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 8
end local 5 11: goto 15
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer long com.sun.scenario.animation.shared.PulseReceiver[] int
StackMap stack: java.lang.Throwable
12: astore 6
13: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
14: aload 6
athrow
15: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.receiversLocked:Z
16: aload 0
invokevirtual com.sun.scenario.animation.AbstractMasterTimer.recordAnimationEnd:()V
17: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimers:[Lcom/sun/scenario/animation/shared/TimerReceiver;
astore 5
start local 5 18: aload 0
getfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLength:I
istore 6
start local 6 19: aload 0
iconst_1
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
20: iconst_0
istore 7
start local 7 21: goto 24
22: StackMap locals: com.sun.scenario.animation.shared.TimerReceiver[] int int
StackMap stack:
aload 5
iload 7
aaload
lload 1
invokeinterface com.sun.scenario.animation.shared.TimerReceiver.handle:(J)V
23: iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
iload 6
if_icmplt 22
end local 7 25: goto 29
StackMap locals: com.sun.scenario.animation.AbstractMasterTimer long com.sun.scenario.animation.shared.PulseReceiver[] int com.sun.scenario.animation.shared.TimerReceiver[] int
StackMap stack: java.lang.Throwable
26: astore 8
27: aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
28: aload 8
athrow
29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.scenario.animation.AbstractMasterTimer.animationTimersLocked:Z
30: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/scenario/animation/AbstractMasterTimer;
0 31 1 now J
4 31 3 receiversSnapshot [Lcom/sun/scenario/animation/shared/PulseReceiver;
5 31 4 rLength I
7 11 5 i I
18 31 5 animationTimersSnapshot [Lcom/sun/scenario/animation/shared/TimerReceiver;
19 31 6 aTLength I
21 25 7 i I
Exception table:
from to target type
5 12 12 any
19 26 26 any
MethodParameters:
Name Flags
now
private static java.lang.Void lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1465172662: 1
-807177548: 2
868521093: 3
default: 10
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "com.sun.scenario.animation.adaptivepulse"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 10
StackMap locals:
StackMap stack:
2: aload 1
ldc "javafx.animation.fullspeed"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 10
StackMap locals:
StackMap stack:
3: aload 1
ldc "com.sun.scenario.animation.AnimationMBean.enabled"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 10
4: StackMap locals:
StackMap stack:
ldc "javafx.animation.fullspeed"
invokestatic com.sun.scenario.Settings.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.scenario.animation.AbstractMasterTimer.fullspeed:Z
5: goto 10
6: StackMap locals:
StackMap stack:
ldc "com.sun.scenario.animation.adaptivepulse"
invokestatic com.sun.scenario.Settings.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.scenario.animation.AbstractMasterTimer.useAdaptivePulse:Z
7: goto 10
8: StackMap locals:
StackMap stack:
invokestatic com.sun.scenario.animation.AnimationPulse.getDefaultBean:()Lcom/sun/scenario/animation/AnimationPulse;
9: ldc "com.sun.scenario.animation.AnimationMBean.enabled"
invokestatic com.sun.scenario.Settings.getBoolean:(Ljava/lang/String;)Z
invokevirtual com.sun.scenario.animation.AnimationPulse.setEnabled:(Z)V
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 key Ljava/lang/String;
}
SourceFile: "AbstractMasterTimer.java"
NestMembers:
com.sun.scenario.animation.AbstractMasterTimer$MainLoop
InnerClasses:
private final MainLoop = com.sun.scenario.animation.AbstractMasterTimer$MainLoop of com.sun.scenario.animation.AbstractMasterTimer
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles