final class com.sun.glass.ui.ios.IosTimer extends com.sun.glass.ui.Timer implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.glass.ui.ios.IosTimer
super_class: com.sun.glass.ui.Timer
{
private java.lang.Thread timerThread;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable timerRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private long timerPeriod;
descriptor: J
flags: (0x0002) ACC_PRIVATE
protected void <init>(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0004) ACC_PROTECTED
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/ios/IosTimer;
0 2 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
runnable
protected native long _start(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)J
flags: (0x0104) ACC_PROTECTED, ACC_NATIVE
MethodParameters:
Name Flags
runnable
protected native void _stopVsyncTimer(long);
descriptor: (J)V
flags: (0x0104) ACC_PROTECTED, ACC_NATIVE
MethodParameters:
Name Flags
timer
protected long _start(java.lang.Runnable, int);
descriptor: (Ljava/lang/Runnable;I)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.lang.Thread
dup
aload 0
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
putfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
1: aload 0
aload 1
putfield com.sun.glass.ui.ios.IosTimer.timerRunnable:Ljava/lang/Runnable;
2: aload 0
iload 2
i2l
putfield com.sun.glass.ui.ios.IosTimer.timerPeriod:J
3: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
4: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
invokevirtual java.lang.Object.hashCode:()I
i2l
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/ios/IosTimer;
0 5 1 runnable Ljava/lang/Runnable;
0 5 2 period I
MethodParameters:
Name Flags
runnable
period
protected void _stop(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
ifnull 7
1: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
astore 3
start local 3 2: aload 0
aconst_null
putfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
3: aload 3
invokevirtual java.lang.Thread.join:()V
4: goto 8
StackMap locals: com.sun.glass.ui.ios.IosTimer long java.lang.Thread
StackMap stack: java.lang.InterruptedException
5: pop
end local 3 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual com.sun.glass.ui.ios.IosTimer._stopVsyncTimer:(J)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/glass/ui/ios/IosTimer;
0 9 1 timer J
2 6 3 t Ljava/lang/Thread;
Exception table:
from to target type
3 4 5 Class java.lang.InterruptedException
MethodParameters:
Name Flags
timer
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
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: goto 9
2: StackMap locals: java.lang.Thread
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 3: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerRunnable:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
4: aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerPeriod:J
invokestatic java.lang.System.currentTimeMillis:()J
lload 2
lsub
lsub
lstore 4
start local 4 5: lload 4
lconst_0
lcmp
ifle 9
6: lload 4
invokestatic java.lang.Thread.sleep:(J)V
7: goto 9
StackMap locals: com.sun.glass.ui.ios.IosTimer java.lang.Thread long long
StackMap stack: java.lang.InterruptedException
8: pop
end local 4 end local 2 9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.glass.ui.ios.IosTimer.timerThread:Ljava/lang/Thread;
if_acmpeq 2
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/glass/ui/ios/IosTimer;
1 11 1 t Ljava/lang/Thread;
3 9 2 start J
5 9 4 sleepTime J
Exception table:
from to target type
6 7 8 Class java.lang.InterruptedException
}
SourceFile: "IosTimer.java"