public class ch.qos.logback.core.util.DefaultInvocationGate implements ch.qos.logback.core.util.InvocationGate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: ch.qos.logback.core.util.DefaultInvocationGate
super_class: java.lang.Object
{
static final int MASK_DECREASE_RIGHT_SHIFT_COUNT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MAX_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65535
static final int DEFAULT_MASK;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
private volatile long mask;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long invocationCounter;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final long MASK_INCREASE_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private static final long MASK_DECREASE_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 800
private long minDelayThreshold;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long maxDelayThreshold;
descriptor: J
flags: (0x0002) ACC_PRIVATE
long lowerLimitForMaskMatch;
descriptor: J
flags: (0x0000)
long upperLimitForNoMaskMatch;
descriptor: J
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ldc 100
ldc 800
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial ch.qos.logback.core.util.DefaultInvocationGate.<init>:(JJJ)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
public void <init>(long, long, long);
descriptor: (JJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 15
putfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
2: aload 0
lconst_0
putfield ch.qos.logback.core.util.DefaultInvocationGate.invocationCounter:J
3: aload 0
lload 1
putfield ch.qos.logback.core.util.DefaultInvocationGate.minDelayThreshold:J
4: aload 0
lload 3
putfield ch.qos.logback.core.util.DefaultInvocationGate.maxDelayThreshold:J
5: aload 0
lload 5
lload 1
ladd
putfield ch.qos.logback.core.util.DefaultInvocationGate.lowerLimitForMaskMatch:J
6: aload 0
lload 5
lload 3
ladd
putfield ch.qos.logback.core.util.DefaultInvocationGate.upperLimitForNoMaskMatch:J
7: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
0 8 1 minDelayThreshold J
0 8 3 maxDelayThreshold J
0 8 5 currentTime J
MethodParameters:
Name Flags
minDelayThreshold
maxDelayThreshold
currentTime
public final boolean isTooSoon(long);
descriptor: (J)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield ch.qos.logback.core.util.DefaultInvocationGate.invocationCounter:J
dup2_x1
lconst_1
ladd
putfield ch.qos.logback.core.util.DefaultInvocationGate.invocationCounter:J
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
land
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
lcmp
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 3
ifeq 8
4: lload 1
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.lowerLimitForMaskMatch:J
lcmp
ifge 6
5: aload 0
invokevirtual ch.qos.logback.core.util.DefaultInvocationGate.increaseMask:()V
6: StackMap locals: int
StackMap stack:
aload 0
lload 1
invokevirtual ch.qos.logback.core.util.DefaultInvocationGate.updateLimits:(J)V
7: goto 12
8: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.upperLimitForNoMaskMatch:J
lcmp
ifle 12
9: aload 0
invokevirtual ch.qos.logback.core.util.DefaultInvocationGate.decreaseMask:()V
10: aload 0
lload 1
invokevirtual ch.qos.logback.core.util.DefaultInvocationGate.updateLimits:(J)V
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iload 3
ifeq 13
iconst_0
goto 14
StackMap locals:
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
0 15 1 currentTime J
3 15 3 maskMatch Z
MethodParameters:
Name Flags
currentTime
private void updateLimits(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.minDelayThreshold:J
ladd
putfield ch.qos.logback.core.util.DefaultInvocationGate.lowerLimitForMaskMatch:J
1: aload 0
lload 1
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.maxDelayThreshold:J
ladd
putfield ch.qos.logback.core.util.DefaultInvocationGate.upperLimitForNoMaskMatch:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
0 3 1 currentTime J
MethodParameters:
Name Flags
currentTime
long getMask();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
private void increaseMask();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
ldc 65535
lcmp
iflt 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
iconst_1
lshl
lconst_1
lor
putfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
private void decreaseMask();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
iconst_2
lushr
putfield ch.qos.logback.core.util.DefaultInvocationGate.mask:J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
public long getInvocationCounter();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.util.DefaultInvocationGate.invocationCounter:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/util/DefaultInvocationGate;
}
SourceFile: "DefaultInvocationGate.java"