public abstract class com.sun.javafx.perf.PerformanceTracker
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.javafx.perf.PerformanceTracker
super_class: java.lang.Object
{
private static com.sun.javafx.perf.PerformanceTracker$SceneAccessor sceneAccessor;
descriptor: Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private boolean perfLoggingEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean firstPulse;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private float instantFPS;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private int instantFPSFrames;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long instantFPSStartTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long avgStartTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int avgFramesTotal;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private float instantPulses;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private int instantPulsesFrames;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long instantPulsesStartTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long avgPulsesStartTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int avgPulsesTotal;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable onPulse;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable onFirstPulse;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable onRenderedFrameTask;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield com.sun.javafx.perf.PerformanceTracker.firstPulse:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public static boolean isLoggingEnabled();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.sun.javafx.tk.Toolkit.getToolkit:()Lcom/sun/javafx/tk/Toolkit;
invokevirtual com.sun.javafx.tk.Toolkit.getPerformanceTracker:()Lcom/sun/javafx/perf/PerformanceTracker;
getfield com.sun.javafx.perf.PerformanceTracker.perfLoggingEnabled:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.javafx.perf.PerformanceTracker getSceneTracker(javafx.scene.Scene);
descriptor: (Ljavafx/scene/Scene;)Lcom/sun/javafx/perf/PerformanceTracker;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: getstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
ifnull 6
2: getstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker$SceneAccessor.getPerfTracker:(Ljavafx/scene/Scene;)Lcom/sun/javafx/perf/PerformanceTracker;
astore 1
3: aload 1
ifnonnull 5
4: invokestatic com.sun.javafx.tk.Toolkit.getToolkit:()Lcom/sun/javafx/tk/Toolkit;
invokevirtual com.sun.javafx.tk.Toolkit.createPerformanceTracker:()Lcom/sun/javafx/perf/PerformanceTracker;
astore 1
5: StackMap locals: com.sun.javafx.perf.PerformanceTracker
StackMap stack:
getstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
aload 0
aload 1
invokevirtual com.sun.javafx.perf.PerformanceTracker$SceneAccessor.setPerfTracker:(Ljavafx/scene/Scene;Lcom/sun/javafx/perf/PerformanceTracker;)V
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 scene Ljavafx/scene/Scene;
1 7 1 tracker Lcom/sun/javafx/perf/PerformanceTracker;
MethodParameters:
Name Flags
scene
public static void releaseSceneTracker(javafx.scene.Scene);
descriptor: (Ljavafx/scene/Scene;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
ifnull 2
1: getstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
aload 0
aconst_null
invokevirtual com.sun.javafx.perf.PerformanceTracker$SceneAccessor.setPerfTracker:(Ljavafx/scene/Scene;Lcom/sun/javafx/perf/PerformanceTracker;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 scene Ljavafx/scene/Scene;
MethodParameters:
Name Flags
scene
public static void setSceneAccessor(com.sun.javafx.perf.PerformanceTracker$SceneAccessor);
descriptor: (Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic com.sun.javafx.perf.PerformanceTracker.sceneAccessor:Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 accessor Lcom/sun/javafx/perf/PerformanceTracker$SceneAccessor;
MethodParameters:
Name Flags
accessor
public static void logEvent(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.sun.javafx.tk.Toolkit.getToolkit:()Lcom/sun/javafx/tk/Toolkit;
invokevirtual com.sun.javafx.tk.Toolkit.getPerformanceTracker:()Lcom/sun/javafx/perf/PerformanceTracker;
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.doLogEvent:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 desc Ljava/lang/String;
MethodParameters:
Name Flags
desc
public static void outputLog();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.sun.javafx.tk.Toolkit.getToolkit:()Lcom/sun/javafx/tk/Toolkit;
invokevirtual com.sun.javafx.tk.Toolkit.getPerformanceTracker:()Lcom/sun/javafx/perf/PerformanceTracker;
invokevirtual com.sun.javafx.perf.PerformanceTracker.doOutputLog:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
protected boolean isPerfLoggingEnabled();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.perfLoggingEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
protected void setPerfLoggingEnabled(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.javafx.perf.PerformanceTracker.perfLoggingEnabled:Z
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
0 1 1 value Z
MethodParameters:
Name Flags
value
protected abstract long nanoTime();
descriptor: ()J
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public abstract void doOutputLog();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void doLogEvent(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
s
public synchronized float getInstantFPS();
descriptor: ()F
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantFPS:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public synchronized float getAverageFPS();
descriptor: ()F
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.avgStartTime:J
lsub
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifle 3
2: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.avgFramesTotal:I
i2f
ldc 1.0E9
fmul
lload 1
l2f
fdiv
freturn
3: StackMap locals: long
StackMap stack:
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.getInstantFPS:()F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/perf/PerformanceTracker;
1 4 1 nsseconds J
public synchronized void resetAverageFPS();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
putfield com.sun.javafx.perf.PerformanceTracker.avgStartTime:J
1: aload 0
iconst_0
putfield com.sun.javafx.perf.PerformanceTracker.avgFramesTotal:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public float getInstantPulses();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantPulses:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public float getAveragePulses();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.avgPulsesStartTime:J
lsub
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifle 3
2: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.avgPulsesTotal:I
i2f
ldc 1.0E9
fmul
lload 1
l2f
fdiv
freturn
3: StackMap locals: long
StackMap stack:
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.getInstantPulses:()F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/perf/PerformanceTracker;
1 4 1 nsseconds J
public void resetAveragePulses();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
putfield com.sun.javafx.perf.PerformanceTracker.avgPulsesStartTime:J
1: aload 0
iconst_0
putfield com.sun.javafx.perf.PerformanceTracker.avgPulsesTotal:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public void pulse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.calcPulses:()V
1: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.updateInstantFps:()V
2: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.firstPulse:Z
ifeq 9
3: aload 0
ldc "first repaint"
invokevirtual com.sun.javafx.perf.PerformanceTracker.doLogEvent:(Ljava/lang/String;)V
4: aload 0
iconst_0
putfield com.sun.javafx.perf.PerformanceTracker.firstPulse:Z
5: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.resetAverageFPS:()V
6: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.resetAveragePulses:()V
7: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onFirstPulse:Ljava/lang/Runnable;
ifnull 9
8: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onFirstPulse:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onPulse:Ljava/lang/Runnable;
ifnull 10
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onPulse:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public void frameRendered();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.calcFPS:()V
1: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onRenderedFrameTask:Ljava/lang/Runnable;
ifnull 3
2: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onRenderedFrameTask:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/perf/PerformanceTracker;
private void calcPulses();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.javafx.perf.PerformanceTracker.avgPulsesTotal:I
iconst_1
iadd
putfield com.sun.javafx.perf.PerformanceTracker.avgPulsesTotal:I
1: aload 0
dup
getfield com.sun.javafx.perf.PerformanceTracker.instantPulsesFrames:I
iconst_1
iadd
putfield com.sun.javafx.perf.PerformanceTracker.instantPulsesFrames:I
2: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.updateInstantPulses:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/perf/PerformanceTracker;
private synchronized void calcFPS();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.javafx.perf.PerformanceTracker.avgFramesTotal:I
iconst_1
iadd
putfield com.sun.javafx.perf.PerformanceTracker.avgFramesTotal:I
1: aload 0
dup
getfield com.sun.javafx.perf.PerformanceTracker.instantFPSFrames:I
iconst_1
iadd
putfield com.sun.javafx.perf.PerformanceTracker.instantFPSFrames:I
2: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.updateInstantFps:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/perf/PerformanceTracker;
private synchronized void updateInstantFps();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantFPSStartTime:J
lsub
lstore 1
start local 1 1: lload 1
ldc 1000000000
lcmp
ifle 5
2: aload 0
ldc 1.0E9
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantFPSFrames:I
i2f
fmul
lload 1
l2f
fdiv
putfield com.sun.javafx.perf.PerformanceTracker.instantFPS:F
3: aload 0
iconst_0
putfield com.sun.javafx.perf.PerformanceTracker.instantFPSFrames:I
4: aload 0
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
putfield com.sun.javafx.perf.PerformanceTracker.instantFPSStartTime:J
5: StackMap locals: long
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/perf/PerformanceTracker;
1 6 1 timeSince J
private void updateInstantPulses();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantPulsesStartTime:J
lsub
lstore 1
start local 1 1: lload 1
ldc 1000000000
lcmp
ifle 5
2: aload 0
ldc 1.0E9
aload 0
getfield com.sun.javafx.perf.PerformanceTracker.instantPulsesFrames:I
i2f
fmul
lload 1
l2f
fdiv
putfield com.sun.javafx.perf.PerformanceTracker.instantPulses:F
3: aload 0
iconst_0
putfield com.sun.javafx.perf.PerformanceTracker.instantPulsesFrames:I
4: aload 0
aload 0
invokevirtual com.sun.javafx.perf.PerformanceTracker.nanoTime:()J
putfield com.sun.javafx.perf.PerformanceTracker.instantPulsesStartTime:J
5: StackMap locals: long
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/perf/PerformanceTracker;
1 6 1 timeSince J
public void setOnPulse(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.javafx.perf.PerformanceTracker.onPulse:Ljava/lang/Runnable;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
0 1 1 value Ljava/lang/Runnable;
MethodParameters:
Name Flags
value
public java.lang.Runnable getOnPulse();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onPulse:Ljava/lang/Runnable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public void setOnFirstPulse(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.javafx.perf.PerformanceTracker.onFirstPulse:Ljava/lang/Runnable;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
0 1 1 value Ljava/lang/Runnable;
MethodParameters:
Name Flags
value
public java.lang.Runnable getOnFirstPulse();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onFirstPulse:Ljava/lang/Runnable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
public void setOnRenderedFrameTask(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.javafx.perf.PerformanceTracker.onRenderedFrameTask:Ljava/lang/Runnable;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
0 1 1 value Ljava/lang/Runnable;
MethodParameters:
Name Flags
value
public java.lang.Runnable getOnRenderedFrameTask();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.perf.PerformanceTracker.onRenderedFrameTask:Ljava/lang/Runnable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/perf/PerformanceTracker;
}
SourceFile: "PerformanceTracker.java"
NestMembers:
com.sun.javafx.perf.PerformanceTracker$SceneAccessor
InnerClasses:
public abstract SceneAccessor = com.sun.javafx.perf.PerformanceTracker$SceneAccessor of com.sun.javafx.perf.PerformanceTracker