class com.mchange.v2.resourcepool.BasicResourcePool implements com.mchange.v2.resourcepool.ResourcePool
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mchange.v2.resourcepool.BasicResourcePool
super_class: java.lang.Object
{
private static final com.mchange.v2.log.MLogger logger;
descriptor: Lcom/mchange/v2/log/MLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int AUTO_CULL_FREQUENCY_DIVISOR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int AUTO_MAX_CULL_FREQUENCY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 900000
static final int AUTO_MIN_CULL_FREQUENCY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1000
static final java.lang.String USE_SCATTERED_ACQUIRE_TASK_KEY;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "com.mchange.v2.resourcepool.experimental.useScatteredAcquireTask"
static final boolean USE_SCATTERED_ACQUIRE_TASK;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
final com.mchange.v2.resourcepool.ResourcePool$Manager mgr;
descriptor: Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
flags: (0x0010) ACC_FINAL
final int start;
descriptor: I
flags: (0x0010) ACC_FINAL
final int min;
descriptor: I
flags: (0x0010) ACC_FINAL
final int max;
descriptor: I
flags: (0x0010) ACC_FINAL
final int inc;
descriptor: I
flags: (0x0010) ACC_FINAL
final int num_acq_attempts;
descriptor: I
flags: (0x0010) ACC_FINAL
final int acq_attempt_delay;
descriptor: I
flags: (0x0010) ACC_FINAL
final long check_idle_resources_delay;
descriptor: J
flags: (0x0010) ACC_FINAL
final long max_resource_age;
descriptor: J
flags: (0x0010) ACC_FINAL
final long max_idle_time;
descriptor: J
flags: (0x0010) ACC_FINAL
final long excess_max_idle_time;
descriptor: J
flags: (0x0010) ACC_FINAL
final long destroy_unreturned_resc_time;
descriptor: J
flags: (0x0010) ACC_FINAL
final long expiration_enforcement_delay;
descriptor: J
flags: (0x0010) ACC_FINAL
final boolean break_on_acquisition_failure;
descriptor: Z
flags: (0x0010) ACC_FINAL
final boolean debug_store_checkout_exceptions;
descriptor: Z
flags: (0x0010) ACC_FINAL
final boolean force_synchronous_checkins;
descriptor: Z
flags: (0x0010) ACC_FINAL
final long pool_start_time;
descriptor: J
flags: (0x0010) ACC_FINAL
final com.mchange.v2.resourcepool.BasicResourcePoolFactory factory;
descriptor: Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
flags: (0x0010) ACC_FINAL
final com.mchange.v2.async.AsynchronousRunner taskRunner;
descriptor: Lcom/mchange/v2/async/AsynchronousRunner;
flags: (0x0010) ACC_FINAL
final com.mchange.v2.async.RunnableQueue asyncEventQueue;
descriptor: Lcom/mchange/v2/async/RunnableQueue;
flags: (0x0010) ACC_FINAL
final com.mchange.v2.resourcepool.ResourcePoolEventSupport rpes;
descriptor: Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
flags: (0x0010) ACC_FINAL
java.util.Timer cullAndIdleRefurbishTimer;
descriptor: Ljava/util/Timer;
flags: (0x0000)
java.util.TimerTask cullTask;
descriptor: Ljava/util/TimerTask;
flags: (0x0000)
java.util.TimerTask idleRefurbishTask;
descriptor: Ljava/util/TimerTask;
flags: (0x0000)
java.util.HashSet acquireWaiters;
descriptor: Ljava/util/HashSet;
flags: (0x0000)
java.util.HashSet otherWaiters;
descriptor: Ljava/util/HashSet;
flags: (0x0000)
int pending_acquires;
descriptor: I
flags: (0x0000)
int pending_removes;
descriptor: I
flags: (0x0000)
int target_pool_size;
descriptor: I
flags: (0x0000)
java.util.HashMap managed;
descriptor: Ljava/util/HashMap;
flags: (0x0000)
java.util.LinkedList unused;
descriptor: Ljava/util/LinkedList;
flags: (0x0000)
java.util.HashSet excluded;
descriptor: Ljava/util/HashSet;
flags: (0x0000)
java.util.Map formerResources;
descriptor: Ljava/util/Map;
flags: (0x0000)
java.util.Set idleCheckResources;
descriptor: Ljava/util/Set;
flags: (0x0000)
boolean force_kill_acquires;
descriptor: Z
flags: (0x0000)
boolean broken;
descriptor: Z
flags: (0x0000)
long failed_checkins;
descriptor: J
flags: (0x0000)
long failed_checkouts;
descriptor: J
flags: (0x0000)
long failed_idle_tests;
descriptor: J
flags: (0x0000)
java.lang.Throwable lastCheckinFailure;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
java.lang.Throwable lastCheckoutFailure;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
java.lang.Throwable lastIdleTestFailure;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
java.lang.Throwable lastResourceTestFailure;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
java.lang.Throwable lastAcquisitionFailiure;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
java.lang.Object exampleResource;
descriptor: Ljava/lang/Object;
flags: (0x0000)
private static final int NO_DECREMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DECREMENT_ON_SUCCESS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int DECREMENT_WITH_CERTAINTY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
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=4, locals=1, 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.$assertionsDisabled:Z
3: ldc Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokestatic com.mchange.v2.log.MLog.getLogger:(Ljava/lang/Class;)Lcom/mchange/v2/log/MLogger;
putstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
4: invokestatic com.mchange.v2.cfg.MConfig.readVmConfig:()Lcom/mchange/v2/cfg/MultiPropertiesConfig;
ldc "com.mchange.v2.resourcepool.experimental.useScatteredAcquireTask"
invokevirtual com.mchange.v2.cfg.MultiPropertiesConfig.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 5: aload 0
ifnull 10
aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "false"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
6: iconst_0
putstatic com.mchange.v2.resourcepool.BasicResourcePool.USE_SCATTERED_ACQUIRE_TASK:Z
7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 11
8: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " using traditional, Thread-blocking AcquireTask. Yuk. Why? It's no longer supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.info:(Ljava/lang/String;)V
9: goto 11
10: StackMap locals: java.lang.String
StackMap stack:
iconst_1
putstatic com.mchange.v2.resourcepool.BasicResourcePool.USE_SCATTERED_ACQUIRE_TASK:Z
end local 0 11: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 11 0 checkScattered Ljava/lang/String;
public long getStartTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pool_start_time:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public long getUpTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: invokestatic java.lang.System.currentTimeMillis:()J
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pool_start_time:J
lsub
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized long getNumFailedCheckins();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkins:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized long getNumFailedCheckouts();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkouts:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized long getNumFailedIdleTests();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_idle_tests:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized java.lang.Throwable getLastCheckinFailure();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckinFailure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void setLastCheckinFailure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckinFailure:Ljava/lang/Throwable;
2: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastResourceTestFailure:Ljava/lang/Throwable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public synchronized java.lang.Throwable getLastCheckoutFailure();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckoutFailure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void setLastCheckoutFailure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckoutFailure:Ljava/lang/Throwable;
2: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastResourceTestFailure:Ljava/lang/Throwable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public synchronized java.lang.Throwable getLastIdleCheckFailure();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.lastIdleTestFailure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void setLastIdleCheckFailure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastIdleTestFailure:Ljava/lang/Throwable;
2: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastResourceTestFailure:Ljava/lang/Throwable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public synchronized java.lang.Throwable getLastResourceTestFailure();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.lastResourceTestFailure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized java.lang.Throwable getLastAcquisitionFailure();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.lastAcquisitionFailiure:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void setLastAcquisitionFailure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastAcquisitionFailiure:Ljava/lang/Throwable;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public synchronized int getNumCheckoutWaiters();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getNumPendingAcquireTasks();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getNumPendingRemoveTasks();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getNumThreadsWaitingForResources();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized java.lang.String[] getThreadNamesWaitingForResources();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
istore 1
start local 1 1: iload 1
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
start local 4 4: goto 6
5: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.String[] int java.util.Iterator
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
aastore
6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 7: aload 2
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
8: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 9 1 len I
2 9 2 out [Ljava/lang/String;
3 9 3 i I
4 7 4 ii Ljava/util/Iterator;
public synchronized int getNumThreadsWaitingForAdministrativeTasks();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized java.lang.String[] getThreadNamesWaitingForAdministrativeTasks();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
istore 1
start local 1 1: iload 1
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
start local 4 4: goto 6
5: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.String[] int java.util.Iterator
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
aastore
6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 7: aload 2
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
8: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 9 1 len I
2 9 2 out [Ljava/lang/String;
3 9 3 i I
4 7 4 ii Ljava/util/Iterator;
private void addToFormerResources(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.formerResources:Ljava/util/Map;
aload 1
aconst_null
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
private boolean isFormerResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.formerResources:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
public void <init>(com.mchange.v2.resourcepool.ResourcePool$Manager, int, int, int, int, int, int, long, long, long, long, long, long, boolean, boolean, boolean, com.mchange.v2.async.AsynchronousRunner, com.mchange.v2.async.RunnableQueue, java.util.Timer, com.mchange.v2.resourcepool.BasicResourcePoolFactory);
descriptor: (Lcom/mchange/v2/resourcepool/ResourcePool$Manager;IIIIIIJJJJJJZZZLcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=28, args_size=21
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 10 start local 12 start local 14 start local 16 start local 18 start local 20 start local 21 start local 22 start local 23 start local 24 start local 25 start local 26 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield com.mchange.v2.resourcepool.BasicResourcePool.pool_start_time:J
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
3: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
5: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
7: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.formerResources:Ljava/util/Map;
8: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.mchange.v2.resourcepool.BasicResourcePool.idleCheckResources:Ljava/util/Set;
9: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
10: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
11: aload 0
lconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkins:J
12: aload 0
lconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkouts:J
13: aload 0
lconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_idle_tests:J
14: aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckinFailure:Ljava/lang/Throwable;
15: aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastCheckoutFailure:Ljava/lang/Throwable;
16: aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastIdleTestFailure:Ljava/lang/Throwable;
17: aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastResourceTestFailure:Ljava/lang/Throwable;
18: aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.lastAcquisitionFailiure:Ljava/lang/Throwable;
19: iload 3
iload 4
if_icmple 23
20: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 22
21: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Bad pool size config, min "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " > max "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " as min."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
22: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool com.mchange.v2.resourcepool.ResourcePool$Manager int int int int int int long long long long long long int int int com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer com.mchange.v2.resourcepool.BasicResourcePoolFactory
StackMap stack:
iload 4
istore 3
23: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 27
24: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 26
25: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Bad pool size config, start "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " < min "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " as start."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
iload 3
istore 2
27: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmple 31
28: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 30
29: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Bad pool size config, start "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " > max "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " as start."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
iload 4
istore 2
31: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
32: aload 0
iload 2
putfield com.mchange.v2.resourcepool.BasicResourcePool.start:I
33: aload 0
iload 3
putfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
34: aload 0
iload 4
putfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
35: aload 0
iload 5
putfield com.mchange.v2.resourcepool.BasicResourcePool.inc:I
36: aload 0
iload 6
putfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
37: aload 0
iload 7
putfield com.mchange.v2.resourcepool.BasicResourcePool.acq_attempt_delay:I
38: aload 0
lload 8
putfield com.mchange.v2.resourcepool.BasicResourcePool.check_idle_resources_delay:J
39: aload 0
lload 10
putfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
40: aload 0
lload 12
putfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
41: aload 0
lload 14
putfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
42: aload 0
lload 16
putfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
43: aload 0
iload 20
putfield com.mchange.v2.resourcepool.BasicResourcePool.break_on_acquisition_failure:Z
44: aload 0
iload 21
ifeq 45
lload 16
lconst_0
lcmp
ifle 45
iconst_1
goto 46
StackMap locals:
StackMap stack: com.mchange.v2.resourcepool.BasicResourcePool
45: iconst_0
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool com.mchange.v2.resourcepool.ResourcePool$Manager int int int int int int long long long long long long int int int com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer com.mchange.v2.resourcepool.BasicResourcePoolFactory
StackMap stack: com.mchange.v2.resourcepool.BasicResourcePool int
46: putfield com.mchange.v2.resourcepool.BasicResourcePool.debug_store_checkout_exceptions:Z
47: aload 0
iload 22
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_synchronous_checkins:Z
48: aload 0
aload 23
putfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
49: aload 0
aload 24
putfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
50: aload 0
aload 25
putfield com.mchange.v2.resourcepool.BasicResourcePool.cullAndIdleRefurbishTimer:Ljava/util/Timer;
51: aload 0
aload 26
putfield com.mchange.v2.resourcepool.BasicResourcePool.factory:Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
52: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
53: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
54: aload 0
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.start:I
putfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
55: aload 24
ifnull 57
56: aload 0
new com.mchange.v2.resourcepool.ResourcePoolEventSupport
dup
aload 0
invokespecial com.mchange.v2.resourcepool.ResourcePoolEventSupport.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool;)V
putfield com.mchange.v2.resourcepool.BasicResourcePool.rpes:Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
goto 58
57: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.mchange.v2.resourcepool.BasicResourcePool.rpes:Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
58: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureStartResources:()V
59: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.mustEnforceExpiration:()Z
ifeq 66
60: lload 18
lconst_0
lcmp
ifgt 62
61: aload 0
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.automaticExpirationEnforcementDelay:()J
putfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
goto 63
62: StackMap locals:
StackMap stack:
aload 0
lload 18
putfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
63: StackMap locals:
StackMap stack:
aload 0
new com.mchange.v2.resourcepool.BasicResourcePool$CullTask
dup
aload 0
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$CullTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
putfield com.mchange.v2.resourcepool.BasicResourcePool.cullTask:Ljava/util/TimerTask;
64: aload 25
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.cullTask:Ljava/util/TimerTask;
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.minExpirationTime:()J
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
65: goto 67
66: StackMap locals:
StackMap stack:
aload 0
lload 18
putfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
67: StackMap locals:
StackMap stack:
lload 8
lconst_0
lcmp
ifle 73
68: aload 0
new com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask
dup
aload 0
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
putfield com.mchange.v2.resourcepool.BasicResourcePool.idleRefurbishTask:Ljava/util/TimerTask;
69: aload 25
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleRefurbishTask:Ljava/util/TimerTask;
70: lload 8
71: lload 8
72: invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
73: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 88
74: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " config: [start -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.start:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; min -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; max -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; inc -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.inc:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
75: ldc "; num_acq_attempts -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; acq_attempt_delay -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acq_attempt_delay:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
76: ldc "; check_idle_resources_delay -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.check_idle_resources_delay:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "; max_resource_age -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
77: ldc "; max_idle_time -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "; excess_max_idle_time -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
78: ldc "; destroy_unreturned_resc_time -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
79: ldc "; expiration_enforcement_delay -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
80: ldc "; break_on_acquisition_failure -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.break_on_acquisition_failure:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
81: ldc "; debug_store_checkout_exceptions -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.debug_store_checkout_exceptions:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
82: ldc "; force_synchronous_checkins -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.force_synchronous_checkins:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
83: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
84: invokeinterface com.mchange.v2.log.MLogger.finer:(Ljava/lang/String;)V
85: goto 88
86: StackMap locals:
StackMap stack: java.lang.Exception
astore 27
start local 27 87: aload 27
invokestatic com.mchange.v2.resourcepool.ResourcePoolUtils.convertThrowable:(Ljava/lang/Throwable;)Lcom/mchange/v2/resourcepool/ResourcePoolException;
athrow
end local 27 88: StackMap locals:
StackMap stack:
return
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 89 1 mgr Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
0 89 2 start I
0 89 3 min I
0 89 4 max I
0 89 5 inc I
0 89 6 num_acq_attempts I
0 89 7 acq_attempt_delay I
0 89 8 check_idle_resources_delay J
0 89 10 max_resource_age J
0 89 12 max_idle_time J
0 89 14 excess_max_idle_time J
0 89 16 destroy_unreturned_resc_time J
0 89 18 expiration_enforcement_delay J
0 89 20 break_on_acquisition_failure Z
0 89 21 debug_store_checkout_exceptions Z
0 89 22 force_synchronous_checkins Z
0 89 23 taskRunner Lcom/mchange/v2/async/AsynchronousRunner;
0 89 24 asyncEventQueue Lcom/mchange/v2/async/RunnableQueue;
0 89 25 cullAndIdleRefurbishTimer Ljava/util/Timer;
0 89 26 factory Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
87 88 27 e Ljava/lang/Exception;
Exception table:
from to target type
19 85 86 Class java.lang.Exception
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
mgr
start
min
max
inc
num_acq_attempts
acq_attempt_delay
check_idle_resources_delay
max_resource_age
max_idle_time
excess_max_idle_time
destroy_unreturned_resc_time
expiration_enforcement_delay
break_on_acquisition_failure
debug_store_checkout_exceptions
force_synchronous_checkins
taskRunner
asyncEventQueue
cullAndIdleRefurbishTimer
factory
private boolean mustTestIdleResources();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.check_idle_resources_delay:J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private boolean mustEnforceExpiration();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
lconst_0
lcmp
ifgt 5
1: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
lconst_0
lcmp
ifgt 5
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
lconst_0
lcmp
ifgt 5
3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
lconst_0
4: lcmp
ifgt 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private long minExpirationTime();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc 9223372036854775807
lstore 1
start local 1 1: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
lconst_0
lcmp
ifle 3
2: lload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
invokestatic java.lang.Math.min:(JJ)J
lstore 1
3: StackMap locals: long
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
lconst_0
lcmp
ifle 5
4: lload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
invokestatic java.lang.Math.min:(JJ)J
lstore 1
5: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
lconst_0
lcmp
ifle 7
6: lload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
invokestatic java.lang.Math.min:(JJ)J
lstore 1
7: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
lconst_0
lcmp
ifle 9
8: lload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
invokestatic java.lang.Math.min:(JJ)J
lstore 1
9: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 10 1 out J
private long automaticExpirationEnforcementDelay();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.minExpirationTime:()J
lstore 1
start local 1 1: lload 1
ldc 4
ldiv
lstore 1
2: lload 1
ldc 900000
invokestatic java.lang.Math.min:(JJ)J
lstore 1
3: lload 1
ldc 1000
invokestatic java.lang.Math.max:(JJ)J
lstore 1
4: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 5 1 out J
public long getEffectiveExpirationEnforcementDelay();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.expiration_enforcement_delay:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized boolean isBroken();
descriptor: ()Z
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private boolean supportsEvents();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public java.lang.Object checkoutResource();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
lconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource:(J)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: com.mchange.v2.resourcepool.TimeoutException
astore 1
start local 1 3: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 5
4: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
ldc "Huh??? TimeoutException with no timeout set!!!"
aload 1
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
5: StackMap locals: com.mchange.v2.resourcepool.TimeoutException
StackMap stack:
new com.mchange.v2.resourcepool.ResourcePoolException
dup
ldc "Huh??? TimeoutException with no timeout set!!!"
aload 1
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
3 6 1 e Lcom/mchange/v2/resourcepool/TimeoutException;
Exception table:
from to target type
0 1 2 Class com.mchange.v2.resourcepool.TimeoutException
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException, java.lang.InterruptedException
private void _recheckResizePool();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.broken:Z
ifne 9
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
istore 1
start local 1 3: iload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
isub
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
isub
dup
istore 2
start local 2 4: ifle 6
5: aload 0
iload 2
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.shrinkPool:(I)V
goto 9
6: StackMap locals: int int
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
iload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
iadd
isub
dup
istore 3
start local 3 7: ifle 9
8: aload 0
iload 3
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.expandPool:(I)V
end local 3 end local 2 end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
3 9 1 msz I
4 9 2 shrink_count I
7 9 3 expand_count I
private synchronized void incrementPendingAcquires();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
iconst_1
iadd
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 3
2: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "incremented pending_acquires: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.finest:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void incrementPendingRemoves();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
iconst_1
iadd
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 3
2: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "incremented pending_removes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.finest:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void decrementPendingAcquires();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._decrementPendingAcquires:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void _decrementPendingAcquires();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
iconst_1
isub
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 3
2: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "decremented pending_acquires: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.finest:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void decrementPendingRemoves();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
iconst_1
isub
putfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 3
2: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "decremented pending_removes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_removes:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.finest:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void recheckResizePool();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._recheckResizePool:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void expandPool(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.USE_SCATTERED_ACQUIRE_TASK:Z
ifeq 8
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
new com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask
dup
aload 0
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 4
end local 2 7: goto 13
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
new com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask
dup
aload 0
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
iload 1
if_icmplt 10
end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 14 1 count I
3 7 2 i I
9 13 2 i I
MethodParameters:
Name Flags
count
private void shrinkPool(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
new com.mchange.v2.resourcepool.BasicResourcePool$RemoveTask
dup
aload 0
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$RemoveTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 1
if_icmplt 3
end local 2 6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 7 1 count I
2 6 2 i I
MethodParameters:
Name Flags
count
public java.lang.Object checkoutResource(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource:(J)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.attemptRefurbishResourceOnCheckout:(Ljava/lang/Object;)Z
istore 4
start local 4 2: aload 0
dup
astore 5
monitorenter
3: iload 4
ifne 10
4: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER: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.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Resource ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] could not be refurbished in preparation for checkout. Will try to find a better resource."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
6: StackMap locals: java.lang.Object int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
aload 0
aload 3
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
7: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
8: aconst_null
astore 3
9: goto 23
10: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.asyncFireResourceCheckedOut:(Ljava/lang/Object;III)V
11: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
12: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
astore 6
start local 6 13: aload 6
ifnonnull 20
14: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 18
15: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "Resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " was removed from the pool while it was being checked out "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc " or refurbished for checkout. Will try to find a replacement resource."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokeinterface com.mchange.v2.log.MLogger.finer:(Ljava/lang/String;)V
18: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
StackMap stack:
aconst_null
astore 3
19: goto 23
20: StackMap locals:
StackMap stack:
aload 6
invokestatic java.lang.System.currentTimeMillis:()J
putfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkout_time:J
21: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.debug_store_checkout_exceptions:Z
ifeq 23
22: aload 6
new java.lang.Exception
dup
ldc "DEBUG STACK TRACE: Overdue resource check-out stack trace."
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
putfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkoutStackTraceException:Ljava/lang/Exception;
end local 6 23: StackMap locals:
StackMap stack:
aload 5
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 5
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 3
ifnonnull 30
28: aload 0
lload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource:(J)Ljava/lang/Object;
29: areturn
30: StackMap locals:
StackMap stack:
aload 3
31: areturn
end local 4 end local 3 32: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long
StackMap stack: java.lang.StackOverflowError
astore 3
start local 3 33: new com.mchange.v2.resourcepool.NoGoodResourcesException
dup
ldc "After checking so many resources we blew the stack, no resources tested acceptable for checkout. See logger com.mchange.v2.resourcepool.BasicResourcePool output at FINER/DEBUG for information on individual failures."
34: aload 3
35: invokespecial com.mchange.v2.resourcepool.NoGoodResourcesException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 36 1 timeout J
1 32 3 resc Ljava/lang/Object;
2 32 4 refurb Z
13 23 6 card Lcom/mchange/v2/resourcepool/BasicResourcePool$PunchCard;
33 36 3 e Ljava/lang/StackOverflowError;
Exception table:
from to target type
3 24 25 any
25 26 25 any
0 29 32 Class java.lang.StackOverflowError
30 31 32 Class java.lang.StackOverflowError
Exceptions:
throws com.mchange.v2.resourcepool.TimeoutException, com.mchange.v2.resourcepool.ResourcePoolException, java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
private synchronized java.lang.Object prelimCheckoutResource(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureNotBroken:()V
1: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
istore 3
start local 3 2: iload 3
ifne 16
3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
istore 4
start local 4 4: iload 4
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
if_icmpge 13
5: iload 4
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
iadd
iconst_1
iadd
istore 5
start local 5 6: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 8
7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "acquire test -- pool size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; target_pool_size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; desired target? "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
8: StackMap locals: int int int
StackMap stack:
iload 5
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
if_icmplt 15
9: iload 5
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.inc:I
iadd
invokestatic java.lang.Math.max:(II)I
istore 5
10: aload 0
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
iload 5
invokestatic java.lang.Math.min:(II)I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
invokestatic java.lang.Math.max:(II)I
putfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
11: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._recheckResizePool:()V
end local 5 12: goto 15
13: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 15
14: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "acquire test -- pool is already maxed out. [managed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "; max: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable:(J)V
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
iconst_0
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
astore 4
start local 4 17: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleCheckResources:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 29
18: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 20
19: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Resource we want to check out is in idleCheck! (waiting until idle-check completes.) ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
20: StackMap locals: java.lang.Object
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 5
start local 5 21: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
22: aload 0
lload 1
invokevirtual java.lang.Object.wait:(J)V
23: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureNotBroken:()V
24: goto 26
25: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long int java.lang.Object java.lang.Thread
StackMap stack: java.lang.Throwable
astore 6
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
aload 6
athrow
StackMap locals:
StackMap stack:
26: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
27: aload 0
lload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource:(J)Ljava/lang/Object;
28: areturn
end local 5 29: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.shouldExpire:(Ljava/lang/Object;)Z
ifeq 36
30: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 32
31: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
ldc "Resource we want to check out has expired already. Trying again."
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
32: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
33: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
34: aload 0
lload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource:(J)Ljava/lang/Object;
35: areturn
36: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
iconst_0
invokevirtual java.util.LinkedList.remove:(I)Ljava/lang/Object;
pop
37: aload 4
38: areturn
end local 4 end local 3 39: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 3
start local 3 40: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 42
41: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- the pool was found to be closed or broken during an attempt to check out a resource."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
42: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
43: aload 3
athrow
end local 3 44: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long
StackMap stack: java.lang.InterruptedException
astore 3
start local 3 45: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifeq 61
46: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 54
47: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
48: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- an attempt to checkout a resource was interrupted, because the pool is now closed. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: ldc "[Thread: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: aload 3
52: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
53: goto 68
54: StackMap locals: java.lang.InterruptedException
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 68
55: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
56: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- an attempt to checkout a resource was interrupted, because the pool is now closed. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
57: ldc "[Thread: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
58: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
59: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
60: goto 68
61: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 68
62: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
63: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- an attempt to checkout a resource was interrupted, and the pool is still live: some other thread "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
64: ldc "must have interrupted the Thread attempting checkout!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
65: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: aload 3
67: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
68: StackMap locals:
StackMap stack:
aload 3
athrow
end local 3 69: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long
StackMap stack: java.lang.StackOverflowError
astore 3
start local 3 70: new com.mchange.v2.resourcepool.NoGoodResourcesException
dup
ldc "After checking so many resources we blew the stack, no resources tested acceptable for checkout. See logger com.mchange.v2.resourcepool.BasicResourcePool output at FINER/DEBUG for information on individual failures."
71: aload 3
72: invokespecial com.mchange.v2.resourcepool.NoGoodResourcesException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 73 1 timeout J
2 39 3 available I
4 16 4 msz I
6 12 5 desired_target I
17 39 4 resc Ljava/lang/Object;
21 29 5 t Ljava/lang/Thread;
40 44 3 e Lcom/mchange/v2/util/ResourceClosedException;
45 69 3 e Ljava/lang/InterruptedException;
70 73 3 e Ljava/lang/StackOverflowError;
Exception table:
from to target type
21 25 25 any
0 28 39 Class com.mchange.v2.util.ResourceClosedException
29 35 39 Class com.mchange.v2.util.ResourceClosedException
36 38 39 Class com.mchange.v2.util.ResourceClosedException
0 28 44 Class java.lang.InterruptedException
29 35 44 Class java.lang.InterruptedException
36 38 44 Class java.lang.InterruptedException
0 28 69 Class java.lang.StackOverflowError
29 35 69 Class java.lang.StackOverflowError
36 38 69 Class java.lang.StackOverflowError
Exceptions:
throws com.mchange.v2.resourcepool.TimeoutException, com.mchange.v2.resourcepool.ResourcePoolException, java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
public void checkinResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
dup
astore 3
monitorenter
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
istore 2
goto 15
4: StackMap locals: int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doCheckinExcluded:(Ljava/lang/Object;)V
goto 15
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.isFormerResource:(Ljava/lang/Object;)Z
ifeq 12
7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 15
8: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "Resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " checked-in after having been checked-in already, or checked-in after "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc " having being destroyed for being checked-out too long."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokeinterface com.mchange.v2.log.MLogger.finer:(Ljava/lang/String;)V
11: goto 15
12: StackMap locals:
StackMap stack:
new com.mchange.v2.resourcepool.ResourcePoolException
dup
new java.lang.StringBuilder
dup
ldc "ResourcePool"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifeq 13
ldc " [BROKEN!]"
goto 14
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Object int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: new 12 new 12 java.lang.StringBuilder
13: ldc ""
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Object int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: new 12 new 12 java.lang.StringBuilder java.lang.String
14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": Tried to check-in a foreign resource!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 3
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 3
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
iload 2
ifeq 20
aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doCheckinManaged:(Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.syncTrace:()V
end local 2 21: goto 30
22: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Object
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 2
start local 2 23: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 28
24: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
25: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " - checkinResource( ... ) -- even broken pools should allow checkins without exception. probable resource pool bug."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: aload 2
27: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
28: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
29: aload 2
athrow
end local 2 30: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 31 1 resc Ljava/lang/Object;
1 21 2 unlocked_do_checkin_managed Z
23 30 2 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
2 16 17 any
17 18 17 any
0 21 22 Class com.mchange.v2.util.ResourceClosedException
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
resc
public void checkinAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: new java.util.HashSet
dup
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 1
3: aload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
4: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 5: goto 7
6: StackMap locals: java.util.Set com.mchange.v2.resourcepool.BasicResourcePool java.util.Iterator
StackMap stack:
aload 0
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doCheckinExcluded:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 3 8: aload 2
monitorexit
9: goto 12
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.util.Set com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 13: goto 15
14: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doCheckinManaged:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 2 end local 1 16: goto 25
17: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 1
start local 1 18: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 23
19: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
20: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " - checkinAll() -- even broken pools should allow checkins without exception. probable resource pool bug."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: aload 1
22: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
23: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
24: aload 1
athrow
end local 1 25: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 16 1 checkedOutNotExcluded Ljava/util/Set;
5 8 3 ii Ljava/util/Iterator;
13 16 2 ii Ljava/util/Iterator;
18 25 1 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
2 9 10 any
10 11 10 any
0 16 17 Class com.mchange.v2.util.ResourceClosedException
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
public synchronized int statusInPool(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 3
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_m1
ireturn
5: StackMap locals:
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 2
start local 2 6: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 8
7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
ldc "Apparent pool break."
aload 2
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
8: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
9: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 10 1 resc Ljava/lang/Object;
6 10 2 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
0 1 5 Class com.mchange.v2.util.ResourceClosedException
2 3 5 Class com.mchange.v2.util.ResourceClosedException
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
resc
public synchronized void markBroken(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 2
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " marked broken by pool ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._markBroken:(Ljava/lang/Object;)V
3: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
4: goto 9
5: StackMap locals:
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 2
start local 2 6: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 8
7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
ldc "Apparent pool break."
aload 2
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
8: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 10 1 resc Ljava/lang/Object;
6 9 2 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
0 4 5 Class com.mchange.v2.util.ResourceClosedException
MethodParameters:
Name Flags
resc
public int getMinPoolSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public int getMaxPoolSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getPoolSize();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
public synchronized int getAvailableCount();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getExcludedCount();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getAwaitingCheckinCount();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
isub
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized int getAwaitingCheckinNotExcludedCount();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
public synchronized void resetPool();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfManaged:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 1: goto 3
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.markBrokenNoEnsureMinResources:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 1 4: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
5: goto 10
6: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 1
start local 1 7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 9
8: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
ldc "Apparent pool break."
aload 1
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
9: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
1 4 1 ii Ljava/util/Iterator;
7 10 1 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
0 5 6 Class com.mchange.v2.util.ResourceClosedException
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.close:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
public void finalize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifne 2
1: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws java.lang.Throwable
public void addResourcePoolListener(com.mchange.v2.resourcepool.ResourcePoolListener);
descriptor: (Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.supportsEvents:()Z
ifne 4
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not support ResourcePoolEvents. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "Probably it was constructed by a BasicResourceFactory configured not to support such events."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.rpes:Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
aload 1
invokevirtual com.mchange.v2.resourcepool.ResourcePoolEventSupport.addResourcePoolListener:(Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 6 1 rpl Lcom/mchange/v2/resourcepool/ResourcePoolListener;
MethodParameters:
Name Flags
rpl
public void removeResourcePoolListener(com.mchange.v2.resourcepool.ResourcePoolListener);
descriptor: (Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.supportsEvents:()Z
ifne 4
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not support ResourcePoolEvents. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "Probably it was constructed by a BasicResourceFactory configured not to support such events."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.rpes:Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
aload 1
invokevirtual com.mchange.v2.resourcepool.ResourcePoolEventSupport.removeResourcePoolListener:(Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 6 1 rpl Lcom/mchange/v2/resourcepool/ResourcePoolListener;
MethodParameters:
Name Flags
rpl
private synchronized boolean isForceKillAcquiresPending();
descriptor: ()Z
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private synchronized void forceKillAcquires();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 8
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
2: new java.lang.StringBuilder
dup
ldc "Having failed to acquire a resource, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc " is interrupting all Threads waiting on a resource to check out. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "Will try again in response to new client requests."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 9: aload 0
iconst_1
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
10: aload 0
invokevirtual java.lang.Object.notifyAll:()V
11: goto 14
12: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
13: aload 0
invokevirtual java.lang.Object.wait:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ifgt 12
15: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
16: goto 44
17: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 2
start local 2 18: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 19: goto 21
20: StackMap locals: java.lang.InterruptedException java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.interrupt:()V
21: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 3 22: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 26
23: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
24: ldc "An interrupt left an attempt to gently clear threads waiting on resource acquisition potentially incomplete! We have made a best attempt to finish that by interrupt()ing the waiting Threads."
25: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
27: aload 2
invokevirtual java.lang.InterruptedException.fillInStackTrace:()Ljava/lang/Throwable;
pop
28: aload 2
athrow
end local 2 29: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Thread
StackMap stack: java.lang.Throwable
astore 2
start local 2 30: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 31: goto 33
32: StackMap locals: java.lang.Throwable java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.interrupt:()V
33: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
end local 3 34: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 39
35: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
36: ldc "An unexpected problem caused our attempt to gently clear threads waiting on resource acquisition to fail! We have made a best attempt to finish that by interrupt()ing the waiting Threads."
37: aload 2
38: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
39: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
40: aload 2
instanceof java.lang.RuntimeException
ifeq 41
aload 2
checkcast java.lang.RuntimeException
athrow
41: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.Error
ifeq 42
aload 2
checkcast java.lang.Error
athrow
42: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Wrapped unexpected Throwable."
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 43: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Thread
StackMap stack: java.lang.Throwable
astore 4
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
aload 4
athrow
StackMap locals:
StackMap stack:
44: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
45: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
9 46 1 t Ljava/lang/Thread;
18 29 2 e Ljava/lang/InterruptedException;
19 22 3 ii Ljava/util/Iterator;
30 43 2 ick Ljava/lang/Throwable;
31 34 3 ii Ljava/util/Iterator;
Exception table:
from to target type
9 16 17 Class java.lang.InterruptedException
9 16 29 Class java.lang.Throwable
9 43 43 any
Exceptions:
throws java.lang.InterruptedException
private synchronized void unexpectedBreak();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=6, locals=1, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 2
1: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- Unexpectedly broken!!!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new com.mchange.v2.resourcepool.ResourcePoolException
dup
ldc "Unexpected Break Stack Trace!"
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;)V
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.close:(Z)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private boolean canFireEvents();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
ifnull 1
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.isBroken:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void asyncFireResourceAcquired(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.canFireEvents:()Z
ifeq 3
1: new com.mchange.v2.resourcepool.BasicResourcePool$1
dup
aload 0
aload 1
iload 2
iload 3
iload 4
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$1.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;III)V
astore 5
start local 5 2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
aload 5
invokeinterface com.mchange.v2.async.RunnableQueue.postRunnable:(Ljava/lang/Runnable;)V
end local 5 3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 resc Ljava/lang/Object;
0 4 2 pool_size I
0 4 3 available_size I
0 4 4 removed_but_unreturned_size I
2 3 5 r Ljava/lang/Runnable;
MethodParameters:
Name Flags
resc final
pool_size final
available_size final
removed_but_unreturned_size final
private void asyncFireResourceCheckedIn(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.canFireEvents:()Z
ifeq 3
1: new com.mchange.v2.resourcepool.BasicResourcePool$2
dup
aload 0
aload 1
iload 2
iload 3
iload 4
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$2.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;III)V
astore 5
start local 5 2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
aload 5
invokeinterface com.mchange.v2.async.RunnableQueue.postRunnable:(Ljava/lang/Runnable;)V
end local 5 3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 resc Ljava/lang/Object;
0 4 2 pool_size I
0 4 3 available_size I
0 4 4 removed_but_unreturned_size I
2 3 5 r Ljava/lang/Runnable;
MethodParameters:
Name Flags
resc final
pool_size final
available_size final
removed_but_unreturned_size final
private void asyncFireResourceCheckedOut(java.lang.Object, int, int, int);
descriptor: (Ljava/lang/Object;III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.canFireEvents:()Z
ifeq 3
1: new com.mchange.v2.resourcepool.BasicResourcePool$3
dup
aload 0
aload 1
iload 2
iload 3
iload 4
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$3.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;III)V
astore 5
start local 5 2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
aload 5
invokeinterface com.mchange.v2.async.RunnableQueue.postRunnable:(Ljava/lang/Runnable;)V
end local 5 3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 resc Ljava/lang/Object;
0 4 2 pool_size I
0 4 3 available_size I
0 4 4 removed_but_unreturned_size I
2 3 5 r Ljava/lang/Runnable;
MethodParameters:
Name Flags
resc final
pool_size final
available_size final
removed_but_unreturned_size final
private void asyncFireResourceRemoved(java.lang.Object, boolean, int, int, int);
descriptor: (Ljava/lang/Object;ZIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.canFireEvents:()Z
ifeq 3
1: new com.mchange.v2.resourcepool.BasicResourcePool$4
dup
aload 0
aload 1
iload 2
iload 3
iload 4
iload 5
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$4.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;ZIII)V
astore 6
start local 6 2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
aload 6
invokeinterface com.mchange.v2.async.RunnableQueue.postRunnable:(Ljava/lang/Runnable;)V
end local 6 3: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 resc Ljava/lang/Object;
0 4 2 checked_out_resource Z
0 4 3 pool_size I
0 4 4 available_size I
0 4 5 removed_but_unreturned_size I
2 3 6 r Ljava/lang/Runnable;
MethodParameters:
Name Flags
resc final
checked_out_resource final
pool_size final
available_size final
removed_but_unreturned_size final
private void destroyResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;Z)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc final
private void destroyResource(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;ZZ)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 resc Ljava/lang/Object;
0 1 2 synchronous Z
MethodParameters:
Name Flags
resc final
synchronous
private void destroyResource(java.lang.Object, boolean, boolean);
descriptor: (Ljava/lang/Object;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask
dup
aload 0
aload 1
iload 3
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;Z)V
astore 4
start local 4 1: iload 2
ifne 2
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifeq 11
2: StackMap locals: java.lang.Runnable
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 9
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifne 9
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
invokestatic com.mchange.v2.lang.ThreadUtils.reflectiveHoldsLock:(Ljava/lang/Object;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 9
3: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
4: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": Destroyiong a resource on an active pool, synchronousy while holding pool's lock! "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "(not a bug, but a potential bottleneck... is there a good reason for this?)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: new java.lang.Exception
dup
ldc "DEBUG STACK TRACE: resource destruction while holding lock."
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
8: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.lang.Runnable.run:()V
10: goto 20
11: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
aload 4
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
12: goto 20
13: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 14: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 19
15: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
16: ldc "AsynchronousRunner refused to accept task to destroy resource. It is probably shared, and has probably been closed underneath us. Reverting to synchronous destruction. This is not usually a problem."
17: aload 5
18: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
19: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;Z)V
end local 5 20: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 21 1 resc Ljava/lang/Object;
0 21 2 synchronous Z
0 21 3 checked_out Z
1 21 4 r Ljava/lang/Runnable;
14 20 5 e Ljava/lang/Exception;
Exception table:
from to target type
11 12 13 Class java.lang.Exception
MethodParameters:
Name Flags
resc final
synchronous
checked_out final
private void doAcquire();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doAcquire:(I)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws java.lang.Exception
private void doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doAcquire:(I)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws java.lang.Exception
private void doAcquireAndDecrementPendingAcquiresWithinLockAlways();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doAcquire:(I)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws java.lang.Exception
private void doAcquire(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
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.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
invokeinterface com.mchange.v2.resourcepool.ResourcePool$Manager.acquireResource:()Ljava/lang/Object;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
dup
astore 5
monitorenter
4: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
istore 4
start local 4 5: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifne 7
iload 4
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
if_icmpge 7
6: aload 0
aload 2
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.assimilateResource:(Ljava/lang/Object;)V
goto 8
7: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.Object int int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
iconst_1
istore 3
8: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 15
9: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._decrementPendingAcquires:()V
10: goto 15
end local 4 11: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.Object int top com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
astore 6
12: iload 1
iconst_2
if_icmpne 14
13: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._decrementPendingAcquires:()V
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
start local 4 15: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.Object int int com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
iload 1
iconst_2
if_icmpne 17
16: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._decrementPendingAcquires:()V
17: StackMap locals:
StackMap stack:
aload 5
monitorexit
18: goto 21
end local 4 StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.Object int top com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
19: aload 5
monitorexit
20: athrow
start local 4 21: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.lang.Object int int
StackMap stack:
iload 3
ifeq 29
22: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
aload 2
iconst_0
invokeinterface com.mchange.v2.resourcepool.ResourcePool$Manager.destroyResource:(Ljava/lang/Object;Z)V
23: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 29
24: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "destroying overacquired resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
25: goto 29
26: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 27: 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 29
28: 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 "An exception occurred while trying to destroy an overacquired resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 30 1 decrement_policy I
2 30 2 resc Ljava/lang/Object;
3 30 3 destroy Z
5 11 4 msz I
15 19 4 msz I
21 30 4 msz I
27 29 5 e Ljava/lang/Exception;
Exception table:
from to target type
4 11 11 any
4 18 19 any
19 20 19 any
22 25 26 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
decrement_policy
public synchronized void setPoolSize(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.setTargetPoolSize:(I)V
1: goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
iload 1
if_icmpne 2
4: goto 10
5: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 6: ldc "An exception occurred while trying to set the pool size!"
astore 3
start local 3 7: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 9
8: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
aload 3
aload 2
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
9: StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
aload 3
aload 2
invokestatic com.mchange.v2.resourcepool.ResourcePoolUtils.convertThrowable:(Ljava/lang/String;Ljava/lang/Throwable;)Lcom/mchange/v2/resourcepool/ResourcePoolException;
athrow
end local 3 end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 11 1 sz I
6 10 2 e Ljava/lang/Exception;
7 10 3 msg Ljava/lang/String;
Exception table:
from to target type
0 4 5 Class java.lang.Exception
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
sz
public synchronized void setTargetPoolSize(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
if_icmple 5
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Requested size ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc "] is greater than max ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc "]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
if_icmpge 10
6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Requested size ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc "] is less than min ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc "]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
11: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._recheckResizePool:()V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 13 1 sz I
MethodParameters:
Name Flags
sz
private void markBrokenNoEnsureMinResources(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._markBroken:(Ljava/lang/Object;)V
2: goto 7
3: StackMap locals:
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 2
start local 2 4: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE: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.SEVERE:Lcom/mchange/v2/log/MLevel;
ldc "Apparent pool break."
aload 2
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
6: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 8 1 resc Ljava/lang/Object;
4 7 2 e Lcom/mchange/v2/util/ResourceClosedException;
Exception table:
from to target type
1 2 3 Class com.mchange.v2.util.ResourceClosedException
MethodParameters:
Name Flags
resc
private void _markBroken(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.unused:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.excludeResource:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 5 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
public synchronized void close(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifne 28
1: aload 0
iconst_1
putfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
2: iload 1
ifeq 3
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfManaged:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused:()Ljava/util/LinkedList;
StackMap locals:
StackMap stack: java.util.Collection
4: astore 2
start local 2 5: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.cullTask:Ljava/util/TimerTask;
ifnull 7
6: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.cullTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
7: StackMap locals: java.util.Collection
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleRefurbishTask:Ljava/util/TimerTask;
ifnull 9
8: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleRefurbishTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 10: goto 12
11: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.addToFormerResources:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 3 13: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
aload 2
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
14: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
aload 2
invokevirtual java.util.LinkedList.removeAll:(Ljava/util/Collection;)Z
pop
15: new com.mchange.v2.resourcepool.BasicResourcePool$5
dup
aload 0
ldc "Resource Destroyer in BasicResourcePool.close()"
aload 2
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$5.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/String;Ljava/util/Collection;)V
astore 3
start local 3 16: aload 3
invokevirtual java.lang.Thread.start:()V
17: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
start local 4 18: goto 20
19: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool int java.util.Collection java.lang.Thread java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.interrupt:()V
20: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 4 21: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.otherWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
start local 4 22: goto 24
23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread
invokevirtual java.lang.Thread.interrupt:()V
24: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 4 25: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.factory:Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
ifnull 30
26: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.factory:Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePoolFactory.markBroken:(Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
end local 3 end local 2 27: goto 30
28: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 30
29: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- close() called multiple times."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.warning:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 31 1 close_checked_out_resources Z
5 27 2 cleanupResources Ljava/util/Collection;
10 13 3 ii Ljava/util/Iterator;
16 27 3 resourceDestroyer Ljava/lang/Thread;
18 21 4 ii Ljava/util/Iterator;
22 25 4 ii Ljava/util/Iterator;
MethodParameters:
Name Flags
close_checked_out_resources
private void doCheckinManaged(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
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
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.statusInPool:(Ljava/lang/Object;)I
ifne 3
2: new com.mchange.v2.resourcepool.ResourcePoolException
dup
new java.lang.StringBuilder
dup
ldc "Tried to check-in an already checked-in resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
4: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifeq 8
5: aload 0
aload 1
iconst_1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;Z)V
6: aload 2
monitorexit
7: return
8: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
aload 2
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
new com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask
dup
aload 0
aload 1
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;)V
astore 2
start local 2 13: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.force_synchronous_checkins:Z
ifeq 14
aload 2
invokeinterface java.lang.Runnable.run:()V
goto 15
14: StackMap locals: java.lang.Runnable
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
aload 2
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 16 1 resc Ljava/lang/Object;
13 16 2 doMe Ljava/lang/Runnable;
Exception table:
from to target type
4 7 10 any
8 9 10 any
10 11 10 any
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
resc final
private void doCheckinExcluded(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.excluded:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 4 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
private void awaitAvailable(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.force_kill_acquires:Z
ifeq 3
2: new com.mchange.v2.resourcepool.ResourcePoolException
dup
ldc "A ResourcePool cannot acquire a new resource -- the factory or source appears to be down."
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 3
start local 3 4: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
aload 3
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
5: lload 1
lconst_0
lcmp
ifle 6
invokestatic java.lang.System.currentTimeMillis:()J
goto 7
StackMap locals: java.lang.Thread
StackMap stack:
6: ldc -1
StackMap locals:
StackMap stack: long
7: lstore 4
start local 4 8: 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 15
9: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "awaitAvailable(): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
ifnull 12
11: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
goto 13
12: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long java.lang.Thread long
StackMap stack: com.mchange.v2.log.MLogger java.lang.StringBuilder
ldc "[unknown]"
13: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long java.lang.Thread long
StackMap stack: com.mchange.v2.log.MLogger java.lang.StringBuilder java.lang.Object
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokeinterface com.mchange.v2.log.MLogger.fine:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
16: goto 25
17: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.pending_acquires:I
ifne 19
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max:I
if_icmpge 19
18: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool._recheckResizePool:()V
19: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual java.lang.Object.wait:(J)V
20: lload 1
lconst_0
lcmp
ifle 22
invokestatic java.lang.System.currentTimeMillis:()J
lload 4
lsub
lload 1
lcmp
ifle 22
21: new com.mchange.v2.resourcepool.TimeoutException
dup
new java.lang.StringBuilder
dup
ldc "A client timed out while waiting to acquire a resource from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- timeout at awaitAvailable()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.mchange.v2.resourcepool.TimeoutException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.force_kill_acquires:Z
ifeq 24
23: new com.mchange.v2.resourcepool.CannotAcquireResourceException
dup
ldc "A ResourcePool could not acquire a resource from its primary factory or source."
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.getLastAcquisitionFailure:()Ljava/lang/Throwable;
invokespecial com.mchange.v2.resourcepool.CannotAcquireResourceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureNotBroken:()V
25: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifeq 17
end local 4 26: goto 32
27: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long java.lang.Thread
StackMap stack: java.lang.Throwable
astore 6
28: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
aload 3
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
29: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ifne 31
30: aload 0
invokevirtual java.lang.Object.notifyAll:()V
31: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long java.lang.Thread top top java.lang.Throwable
StackMap stack:
aload 6
athrow
32: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool long java.lang.Thread
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
aload 3
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
33: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.acquireWaiters:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
ifne 35
34: aload 0
invokevirtual java.lang.Object.notifyAll:()V
35: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 36 1 timeout J
4 36 3 t Ljava/lang/Thread;
8 26 4 start J
Exception table:
from to target type
4 27 27 any
Exceptions:
throws java.lang.InterruptedException, com.mchange.v2.resourcepool.TimeoutException, com.mchange.v2.resourcepool.ResourcePoolException
MethodParameters:
Name Flags
timeout
private void assimilateResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.managed:Ljava/util/HashMap;
aload 1
new com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
dup
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.<init>:()V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
iconst_0
aload 1
invokevirtual java.util.LinkedList.add:(ILjava/lang/Object;)V
3: aload 0
aload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.asyncFireResourceAcquired:(Ljava/lang/Object;III)V
4: aload 0
invokevirtual java.lang.Object.notifyAll:()V
5: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
6: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
ifnonnull 8
7: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 9 1 resc Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
resc
private void synchronousRemoveArbitraryResource();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
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:
aconst_null
astore 1
start local 1 2: aload 0
dup
astore 2
monitorenter
3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifle 8
4: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
iconst_0
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
astore 1
5: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
7: goto 14
8: StackMap locals: java.lang.Object com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfManaged:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 3
start local 3 9: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 13
10: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
11: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
ldc "A pool from which a resource is requested to be removed appears to have no managed resources?!"
invokeinterface com.mchange.v2.log.MLogger.severe:(Ljava/lang/String;)V
12: goto 14
13: StackMap locals: java.util.Set
StackMap stack:
aload 0
aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.excludeResource:(Ljava/lang/Object;)V
end local 3 14: StackMap locals:
StackMap stack:
aload 2
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 2
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 1
ifnull 20
19: aload 0
aload 1
iconst_1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;Z)V
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
2 21 1 removeMe Ljava/lang/Object;
9 14 3 checkedOut Ljava/util/Set;
Exception table:
from to target type
3 15 16 any
16 17 16 any
private void removeResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;Z)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 1 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
private void removeResource(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.managed:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 3
ifnull 16
4: aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkout_time:J
lconst_0
lcmp
ifle 5
iconst_1
goto 6
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$PunchCard int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
7: iload 4
ifeq 18
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.broken:Z
ifne 18
8: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 18
9: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "A checked-out resource is overdue, and will be destroyed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.info:(Ljava/lang/String;)V
10: aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkoutStackTraceException:Ljava/lang/Exception;
ifnull 18
11: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
12: ldc "Logging the stack trace by which the overdue resource was checked-out."
13: aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkoutStackTraceException:Ljava/lang/Exception;
14: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
15: goto 18
16: StackMap locals:
StackMap stack:
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 18
17: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "Resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " was removed twice. (Lotsa reasons a resource can be removed, sometimes simultaneously. It's okay)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.fine:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
19: aload 0
aload 1
iload 2
iload 4
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.destroyResource:(Ljava/lang/Object;ZZ)V
20: aload 0
aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.addToFormerResources:(Ljava/lang/Object;)V
21: aload 0
aload 1
iconst_0
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.asyncFireResourceRemoved:(Ljava/lang/Object;ZIII)V
22: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 24 1 resc Ljava/lang/Object;
0 24 2 synchronous Z
2 24 3 pc Lcom/mchange/v2/resourcepool/BasicResourcePool$PunchCard;
3 24 4 checked_out Z
MethodParameters:
Name Flags
resc
synchronous
private void excludeResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.managed:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
ifeq 5
4: new java.lang.InternalError
dup
ldc "We should only \"exclude\" checked-out resources!"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 7
6: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Excluded resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.lang.Exception
dup
ldc "DEBUG STACK TRACE: Excluded resource stack trace"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.asyncFireResourceRemoved:(Ljava/lang/Object;ZIII)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 9 1 resc Ljava/lang/Object;
MethodParameters:
Name Flags
resc
private void removeTowards(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
iload 1
isub
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused:()Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 4
start local 4 4: goto 8
5: StackMap locals: int int java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 6: aload 0
aload 5
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
end local 5 7: iinc 3 1
8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 10
iload 3
iload 2
9: if_icmplt 5
end local 4 10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 11 1 new_sz I
2 11 2 num_to_remove I
3 11 3 count I
4 10 4 ii Ljava/util/Iterator;
6 7 5 resc Ljava/lang/Object;
MethodParameters:
Name Flags
new_sz
private void cullExpired();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 3
2: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "BEGIN check for expired resources. ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
lconst_0
lcmp
ifle 4
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfManaged:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
goto 5
StackMap locals:
StackMap stack:
4: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused:()Ljava/util/LinkedList;
StackMap locals:
StackMap stack: java.util.Collection
5: astore 1
start local 1 6: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 7: goto 15
8: StackMap locals: java.util.Collection java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 9: aload 0
aload 3
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.shouldExpire:(Ljava/lang/Object;)Z
ifeq 15
10: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 12
11: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "Removing expired resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
12: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
iconst_1
isub
invokestatic java.lang.Math.max:(II)I
putfield com.mchange.v2.resourcepool.BasicResourcePool.target_pool_size:I
13: aload 0
aload 3
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.removeResource:(Ljava/lang/Object;)V
14: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
end local 3 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 2 16: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 18
17: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
new java.lang.StringBuilder
dup
ldc "FINISHED check for expired resources. ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.ensureMinResources:()V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
6 20 1 checkMe Ljava/util/Collection;
7 16 2 ii Ljava/util/Iterator;
9 15 3 resc Ljava/lang/Object;
private void checkIdleResources();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused:()Ljava/util/LinkedList;
astore 1
start local 1 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 3: goto 7
4: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 5: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.idleCheckResources:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 7
6: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
new com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask
dup
aload 0
aload 3
invokespecial com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.<init>:(Lcom/mchange/v2/resourcepool/BasicResourcePool;Ljava/lang/Object;)V
invokeinterface com.mchange.v2.async.AsynchronousRunner.postRunnable:(Ljava/lang/Runnable;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 8: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
2 10 1 u Ljava/util/List;
3 8 2 ii Ljava/util/Iterator;
5 7 3 resc Ljava/lang/Object;
private boolean shouldExpire(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
astore 3
start local 3 3: aload 3
ifnonnull 7
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;
new java.lang.StringBuilder
dup
ldc "Resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " was being tested for expiration, but has already been removed from the pool."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.fine:(Ljava/lang/String;)V
6: StackMap locals: int com.mchange.v2.resourcepool.BasicResourcePool$PunchCard
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
start local 4 8: aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkout_time:J
lconst_0
lcmp
ifge 51
9: lload 4
aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.last_checkin_time:J
lsub
lstore 6
start local 6 10: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
lconst_0
lcmp
ifle 25
11: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
istore 8
start local 8 12: iload 8
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
if_icmple 13
lload 6
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
lcmp
ifle 13
iconst_1
goto 14
StackMap locals: long long int
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 2
15: iload 2
ifeq 25
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 25
16: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
17: new java.lang.StringBuilder
dup
ldc "EXPIRED excess idle resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18: ldc " ---> idle_time: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
19: ldc "; excess_max_idle_time: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excess_max_idle_time:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
20: ldc "; pool_size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
21: ldc "; min_pool_size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.min:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
22: ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
end local 8 25: StackMap locals:
StackMap stack:
iload 2
ifne 37
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
lconst_0
lcmp
ifle 37
26: lload 6
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
lcmp
ifle 27
iconst_1
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 2
29: iload 2
ifeq 37
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 37
30: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
31: new java.lang.StringBuilder
dup
ldc "EXPIRED idle resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32: ldc " ---> idle_time: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
33: ldc "; max_idle_time: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_idle_time:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
34: ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
37: StackMap locals:
StackMap stack:
iload 2
ifne 55
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
lconst_0
lcmp
ifle 55
38: lload 4
aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.acquisition_time:J
lsub
lstore 8
start local 8 39: lload 8
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
lcmp
ifle 40
iconst_1
goto 41
StackMap locals: long
StackMap stack:
40: iconst_0
StackMap locals:
StackMap stack: int
41: istore 2
42: iload 2
ifeq 55
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 55
43: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINER:Lcom/mchange/v2/log/MLevel;
44: new java.lang.StringBuilder
dup
ldc "EXPIRED old resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45: ldc " ---> absolute_age: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
46: ldc "; max_absolute_age: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.max_resource_age:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
47: ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;)V
end local 8 end local 6 50: goto 55
51: StackMap locals:
StackMap stack:
lload 4
aload 3
getfield com.mchange.v2.resourcepool.BasicResourcePool$PunchCard.checkout_time:J
lsub
lstore 6
start local 6 52: lload 6
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.destroy_unreturned_resc_time:J
lcmp
ifle 53
iconst_1
goto 54
StackMap locals: long
StackMap stack:
53: iconst_0
StackMap locals:
StackMap stack: int
54: istore 2
end local 6 55: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 56 1 resc Ljava/lang/Object;
2 56 2 expired Z
3 56 3 pc Lcom/mchange/v2/resourcepool/BasicResourcePool$PunchCard;
8 56 4 now J
10 50 6 idle_age J
12 25 8 msz I
39 50 8 abs_age J
52 55 6 checkout_age J
MethodParameters:
Name Flags
resc
private void ensureStartResources();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void ensureMinResources();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private boolean attemptRefurbishResourceOnCheckout(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
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.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
aload 1
invokeinterface com.mchange.v2.resourcepool.ResourcePool$Manager.refurbishResourceOnCheckout:(Ljava/lang/Object;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 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 "A resource could not be refurbished for checkout. ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 2
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
dup
astore 3
monitorenter
7: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkouts:J
lconst_1
ladd
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkouts:J
8: aload 0
aload 2
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.setLastCheckoutFailure:(Ljava/lang/Throwable;)V
9: aload 3
monitorexit
10: goto 13
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Object java.lang.Exception com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 14 1 resc Ljava/lang/Object;
4 14 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
7 10 11 any
11 12 11 any
MethodParameters:
Name Flags
resc
private boolean attemptRefurbishResourceOnCheckin(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
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.mgr:Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
aload 1
invokeinterface com.mchange.v2.resourcepool.ResourcePool$Manager.refurbishResourceOnCheckin:(Ljava/lang/Object;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 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 "A resource could not be refurbished on checkin. ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 2
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
dup
astore 3
monitorenter
7: aload 0
dup
getfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkins:J
lconst_1
ladd
putfield com.mchange.v2.resourcepool.BasicResourcePool.failed_checkins:J
8: aload 0
aload 2
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.setLastCheckinFailure:(Ljava/lang/Throwable;)V
9: aload 3
monitorexit
10: goto 13
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool java.lang.Object java.lang.Exception com.mchange.v2.resourcepool.BasicResourcePool
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
0 14 1 resc Ljava/lang/Object;
4 14 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
7 10 11 any
11 12 11 any
MethodParameters:
Name Flags
resc
private void ensureNotBroken();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.broken:Z
ifeq 3
2: new com.mchange.v2.resourcepool.ResourcePoolException
dup
ldc "Attempted to use a closed or broken resource pool"
invokespecial com.mchange.v2.resourcepool.ResourcePoolException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
Exceptions:
throws com.mchange.v2.resourcepool.ResourcePoolException
private synchronized void syncTrace();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.trace:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private void trace();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINEST:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 10
2: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
ifnonnull 4
3: ldc ""
goto 5
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " (e.g. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.exampleResource:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: StackMap locals:
StackMap stack: java.lang.String
astore 1
start local 1 6: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "trace "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " [managed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "unused: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", excluded: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokeinterface com.mchange.v2.log.MLogger.finest:(Ljava/lang/String;)V
end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
6 10 1 exampleResStr Ljava/lang/String;
private final java.util.HashMap cloneOfManaged();
descriptor: ()Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.managed:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
checkcast java.util.HashMap
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private final java.util.LinkedList cloneOfUnused();
descriptor: ()Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.unused:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clone:()Ljava/lang/Object;
checkcast java.util.LinkedList
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
private final java.util.HashSet cloneOfExcluded();
descriptor: ()Ljava/util/HashSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.mchange.v2.resourcepool.BasicResourcePool.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 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.excluded:Ljava/util/HashSet;
invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
checkcast java.util.HashSet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool;
}
SourceFile: "BasicResourcePool.java"
NestMembers:
com.mchange.v2.resourcepool.BasicResourcePool$1 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask com.mchange.v2.resourcepool.BasicResourcePool$2 com.mchange.v2.resourcepool.BasicResourcePool$3 com.mchange.v2.resourcepool.BasicResourcePool$4 com.mchange.v2.resourcepool.BasicResourcePool$5 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask com.mchange.v2.resourcepool.BasicResourcePool$CullTask com.mchange.v2.resourcepool.BasicResourcePool$PunchCard com.mchange.v2.resourcepool.BasicResourcePool$RemoveTask com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask$1
InnerClasses:
com.mchange.v2.resourcepool.BasicResourcePool$1
DestroyResourceTask = com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask
RefurbishCheckinResourceTask = com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask
com.mchange.v2.resourcepool.BasicResourcePool$2
com.mchange.v2.resourcepool.BasicResourcePool$3
com.mchange.v2.resourcepool.BasicResourcePool$4
com.mchange.v2.resourcepool.BasicResourcePool$5
AcquireTask = com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask of com.mchange.v2.resourcepool.BasicResourcePool
AsyncTestIdleResourceTask = com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask of com.mchange.v2.resourcepool.BasicResourcePool
CheckIdleResourcesTask = com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask of com.mchange.v2.resourcepool.BasicResourcePool
CullTask = com.mchange.v2.resourcepool.BasicResourcePool$CullTask of com.mchange.v2.resourcepool.BasicResourcePool
final PunchCard = com.mchange.v2.resourcepool.BasicResourcePool$PunchCard of com.mchange.v2.resourcepool.BasicResourcePool
RemoveTask = com.mchange.v2.resourcepool.BasicResourcePool$RemoveTask of com.mchange.v2.resourcepool.BasicResourcePool
ScatteredAcquireTask = com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask of com.mchange.v2.resourcepool.BasicResourcePool
public abstract Manager = com.mchange.v2.resourcepool.ResourcePool$Manager of com.mchange.v2.resourcepool.ResourcePool