public class org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable implements org.apache.batik.util.RunnableQueue$IdleRunnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable
super_class: java.lang.Object
{
protected java.util.Calendar time;
descriptor: Ljava/util/Calendar;
flags: (0x0004) ACC_PROTECTED
protected long waitTime;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected org.apache.batik.util.RunnableQueue q;
descriptor: Lorg/apache/batik/util/RunnableQueue;
flags: (0x0004) ACC_PROTECTED
private static final int NUM_TIMES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
protected long[] times;
descriptor: [J
flags: (0x0004) ACC_PROTECTED
protected long sumTime;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected int timeIndex;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.ref.WeakReference engRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0004) ACC_PROTECTED
protected static final int MAX_EXCEPTION_COUNT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 10
protected int exceptionCount;
descriptor: I
flags: (0x0004) ACC_PROTECTED
public void <init>(org.apache.batik.util.RunnableQueue, org.apache.batik.bridge.SVGAnimationEngine);
descriptor: (Lorg/apache/batik/util/RunnableQueue;Lorg/apache/batik/bridge/SVGAnimationEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.time:Ljava/util/Calendar;
2: aload 0
bipush 8
newarray 11
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.times:[J
3: aload 0
aload 1
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.q:Lorg/apache/batik/util/RunnableQueue;
4: aload 0
new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.engRef:Ljava/lang/ref/WeakReference;
5: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.times:[J
ldc 100
invokestatic java.util.Arrays.fill:([JJ)V
6: aload 0
ldc 800
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/batik/bridge/SVGAnimationEngine$AnimationTickRunnable;
0 8 1 q Lorg/apache/batik/util/RunnableQueue;
0 8 2 eng Lorg/apache/batik/bridge/SVGAnimationEngine;
MethodParameters:
Name Flags
q
eng
public void resume();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
lconst_0
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
1: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.q:Lorg/apache/batik/util/RunnableQueue;
invokevirtual org.apache.batik.util.RunnableQueue.getIteratorLock:()Ljava/lang/Object;
astore 1
start local 1 2: aload 1
dup
astore 2
monitorenter
3: aload 1
invokevirtual java.lang.Object.notify:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/batik/bridge/SVGAnimationEngine$AnimationTickRunnable;
2 9 1 lock Ljava/lang/Object;
Exception table:
from to target type
3 5 6 any
6 7 6 any
public long getWaitTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/SVGAnimationEngine$AnimationTickRunnable;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=17, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.getAnimationEngine:()Lorg/apache/batik/bridge/SVGAnimationEngine;
astore 1
start local 1 1: aload 1
dup
astore 2
monitorenter
2: aload 1
getfield org.apache.batik.bridge.SVGAnimationEngine.animationLimitingMode:I
istore 3
start local 3 3: aload 1
getfield org.apache.batik.bridge.SVGAnimationEngine.animationLimitingAmount:F
fstore 4
start local 4 4: invokestatic java.lang.System.currentTimeMillis:()J
lstore 5
start local 5 5: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.time:Ljava/util/Calendar;
new java.util.Date
dup
lload 5
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
6: aload 1
invokestatic org.apache.batik.bridge.SVGAnimationEngine.access$2:(Lorg/apache/batik/bridge/SVGAnimationEngine;)Lorg/apache/batik/anim/timing/TimedDocumentRoot;
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.time:Ljava/util/Calendar;
invokevirtual org.apache.batik.anim.timing.TimedDocumentRoot.convertWallclockTime:(Ljava/util/Calendar;)F
fstore 7
start local 7 7: aload 1
fload 7
iconst_0
invokestatic org.apache.batik.bridge.SVGAnimationEngine.access$1:(Lorg/apache/batik/bridge/SVGAnimationEngine;FZ)F
fstore 8
start local 8 8: invokestatic java.lang.System.currentTimeMillis:()J
lstore 9
start local 9 9: lload 9
lload 5
lsub
lstore 11
start local 11 10: lload 11
lconst_0
lcmp
ifne 12
11: lconst_1
lstore 11
12: StackMap locals: org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable org.apache.batik.bridge.SVGAnimationEngine org.apache.batik.bridge.SVGAnimationEngine int float long float float long long
StackMap stack:
aload 0
dup
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.times:[J
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.timeIndex:I
laload
lsub
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
13: aload 0
dup
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
lload 11
ladd
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
14: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.times:[J
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.timeIndex:I
lload 11
lastore
15: aload 0
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.timeIndex:I
iconst_1
iadd
bipush 8
irem
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.timeIndex:I
16: fload 8
ldc Infinity
fcmpl
ifne 19
17: aload 0
ldc 9223372036854775807
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
18: goto 37
19: StackMap locals:
StackMap stack:
aload 0
lload 5
fload 8
ldc 1000.0
fmul
f2l
ladd
ldc 1000
lsub
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
20: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
lload 9
lcmp
ifge 22
21: aload 0
lload 9
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
22: StackMap locals:
StackMap stack:
iload 3
ifeq 37
23: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.sumTime:J
l2f
ldc 8.0
fdiv
fstore 13
start local 13 24: iload 3
iconst_1
if_icmpne 27
25: fload 13
fload 4
fdiv
fload 13
fsub
fstore 14
start local 14 26: goto 28
end local 14 27: StackMap locals: float
StackMap stack:
ldc 1000.0
fload 4
fdiv
fload 13
fsub
fstore 14
start local 14 28: StackMap locals: float
StackMap stack:
lload 9
fload 14
f2l
ladd
lstore 15
start local 15 29: lload 15
aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
lcmp
ifle 37
30: aload 0
lload 15
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.waitTime:J
end local 15 end local 14 end local 13 end local 11 end local 9 end local 8 end local 7 end local 5 31: goto 37
StackMap locals: org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable org.apache.batik.bridge.SVGAnimationEngine org.apache.batik.bridge.SVGAnimationEngine int float
StackMap stack: org.apache.batik.anim.AnimationException
32: astore 5
start local 5 33: new org.apache.batik.bridge.BridgeException
dup
34: aload 1
getfield org.apache.batik.bridge.SVGAnimationEngine.ctx:Lorg/apache/batik/bridge/BridgeContext;
aload 5
invokevirtual org.apache.batik.anim.AnimationException.getElement:()Lorg/apache/batik/anim/timing/TimedElement;
invokevirtual org.apache.batik.anim.timing.TimedElement.getElement:()Lorg/w3c/dom/Element;
35: aload 5
invokevirtual org.apache.batik.anim.AnimationException.getMessage:()Ljava/lang/String;
36: invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/String;)V
athrow
end local 5 37: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.exceptionCount:I
38: goto 45
StackMap locals:
StackMap stack: java.lang.Exception
39: astore 5
start local 5 40: aload 0
dup
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.exceptionCount:I
iconst_1
iadd
dup_x1
putfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.exceptionCount:I
bipush 10
if_icmpge 45
41: aload 1
getfield org.apache.batik.bridge.SVGAnimationEngine.ctx:Lorg/apache/batik/bridge/BridgeContext;
invokevirtual org.apache.batik.bridge.BridgeContext.getUserAgent:()Lorg/apache/batik/bridge/UserAgent;
ifnonnull 44
42: aload 5
invokevirtual java.lang.Exception.printStackTrace:()V
43: goto 45
44: StackMap locals: java.lang.Exception
StackMap stack:
aload 1
getfield org.apache.batik.bridge.SVGAnimationEngine.ctx:Lorg/apache/batik/bridge/BridgeContext;
invokevirtual org.apache.batik.bridge.BridgeContext.getUserAgent:()Lorg/apache/batik/bridge/UserAgent;
aload 5
invokeinterface org.apache.batik.bridge.UserAgent.displayError:(Ljava/lang/Exception;)V
end local 5 45: StackMap locals:
StackMap stack:
iload 3
ifne 49
46: lconst_1
invokestatic java.lang.Thread.sleep:(J)V
47: goto 49
StackMap locals:
StackMap stack: java.lang.InterruptedException
48: pop
end local 4 end local 3 49: StackMap locals:
StackMap stack:
aload 2
monitorexit
50: goto 53
StackMap locals:
StackMap stack: java.lang.Throwable
51: aload 2
monitorexit
52: athrow
53: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/apache/batik/bridge/SVGAnimationEngine$AnimationTickRunnable;
1 54 1 eng Lorg/apache/batik/bridge/SVGAnimationEngine;
3 49 3 animationLimitingMode I
4 49 4 animationLimitingAmount F
5 31 5 before J
7 31 7 t F
8 31 8 t2 F
9 31 9 after J
10 31 11 dur J
24 31 13 ave F
26 27 14 delay F
28 31 14 delay F
29 31 15 newWaitTime J
33 37 5 ex Lorg/apache/batik/anim/AnimationException;
40 45 5 ex Ljava/lang/Exception;
Exception table:
from to target type
4 31 32 Class org.apache.batik.anim.AnimationException
4 38 39 Class java.lang.Exception
46 47 48 Class java.lang.InterruptedException
2 50 51 any
51 52 51 any
protected org.apache.batik.bridge.SVGAnimationEngine getAnimationEngine();
descriptor: ()Lorg/apache/batik/bridge/SVGAnimationEngine;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.engRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.SVGAnimationEngine
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/SVGAnimationEngine$AnimationTickRunnable;
}
SourceFile: "SVGAnimationEngine.java"
NestHost: org.apache.batik.bridge.SVGAnimationEngine
InnerClasses:
protected AnimationTickRunnable = org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable of org.apache.batik.bridge.SVGAnimationEngine
public abstract IdleRunnable = org.apache.batik.util.RunnableQueue$IdleRunnable of org.apache.batik.util.RunnableQueue