class com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask
super_class: java.lang.Object
{
java.lang.Object resc;
descriptor: Ljava/lang/Object;
flags: (0x0000)
boolean pending;
descriptor: Z
flags: (0x0000)
boolean failed;
descriptor: Z
flags: (0x0000)
final com.mchange.v2.resourcepool.BasicResourcePool this$0;
descriptor: Lcom/mchange/v2/resourcepool/BasicResourcePool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.mchange.v2.resourcepool.BasicResourcePool, java.lang.Object);
descriptor: (Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
iconst_1
putfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.pending:Z
3: aload 0
aload 2
putfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AsyncTestIdleResourceTask;
0 4 2 resc Ljava/lang/Object;
MethodParameters:
Name Flags
this$0 final
resc
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokeinterface com.mchange.v2.resourcepool.ResourcePool$Manager.refurbishIdleResource:(Ljava/lang/Object;)V
2: goto 25
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 6
5: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINE:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "BasicResourcePool: An idle resource is broken and will be purged. ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
6: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
dup
astore 2
monitorenter
7: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
9: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
10: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_idle_tests:J
lconst_1
ladd
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_idle_tests:J
11: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.setLastIdleCheckFailure:(Ljava/lang/Throwable;)V
12: aload 2
monitorexit
13: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
end local 1 16: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask
StackMap stack: java.lang.Throwable
astore 3
17: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
dup
astore 4
monitorenter
18: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleCheckResources:Ljava/util/Set;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
19: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual java.lang.Object.notifyAll:()V
20: aload 4
monitorexit
21: goto 24
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask top top java.lang.Throwable com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
22: aload 4
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
aload 3
athrow
25: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
dup
astore 4
monitorenter
26: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleCheckResources:Ljava/util/Set;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.resc:Ljava/lang/Object;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
27: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual java.lang.Object.notifyAll:()V
28: aload 4
monitorexit
29: goto 32
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask top top top com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
30: aload 4
monitorexit
31: athrow
32: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AsyncTestIdleResourceTask;
4 16 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
7 13 14 any
14 15 14 any
1 16 16 any
18 21 22 any
22 23 22 any
26 29 30 any
30 31 30 any
}
SourceFile: "BasicResourcePool.java"
NestHost: com.mchange.v2.resourcepool.BasicResourcePool
InnerClasses:
AsyncTestIdleResourceTask = com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask of com.mchange.v2.resourcepool.BasicResourcePool
public abstract Manager = com.mchange.v2.resourcepool.ResourcePool$Manager of com.mchange.v2.resourcepool.ResourcePool