public final class com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache extends com.mchange.v2.c3p0.stmt.GooGooStatementCache
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache
super_class: com.mchange.v2.c3p0.stmt.GooGooStatementCache
{
int max_statements;
descriptor: I
flags: (0x0000)
com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch globalDeathmarch;
descriptor: Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
flags: (0x0000)
int max_statements_per_connection;
descriptor: I
flags: (0x0000)
com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager dcsm;
descriptor: Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
flags: (0x0000)
public void <init>(com.mchange.v2.async.AsynchronousRunner, com.mchange.v2.async.AsynchronousRunner, int, int);
descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/AsynchronousRunner;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokespecial com.mchange.v2.c3p0.stmt.GooGooStatementCache.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/AsynchronousRunner;)V
1: aload 0
new com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch
dup
aload 0
invokespecial com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.<init>:(Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache;)V
putfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.globalDeathmarch:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
2: aload 0
iload 3
putfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements:I
3: aload 0
iload 4
putfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements_per_connection:I
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mchange/v2/c3p0/stmt/DoubleMaxStatementCache;
0 5 1 blockingTaskAsyncRunner Lcom/mchange/v2/async/AsynchronousRunner;
0 5 2 deferredStatementDestroyer Lcom/mchange/v2/async/AsynchronousRunner;
0 5 3 max_statements I
0 5 4 max_statements_per_connection I
MethodParameters:
Name Flags
blockingTaskAsyncRunner
deferredStatementDestroyer
max_statements
max_statements_per_connection
protected com.mchange.v2.c3p0.stmt.GooGooStatementCache$ConnectionStatementManager createConnectionStatementManager();
descriptor: ()Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$ConnectionStatementManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager
dup
aload 0
invokespecial com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager.<init>:(Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache;)V
dup_x1
putfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.dcsm:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mchange/v2/c3p0/stmt/DoubleMaxStatementCache;
void addStatementToDeathmarches(java.lang.Object, java.sql.Connection);
descriptor: (Ljava/lang/Object;Ljava/sql/Connection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.globalDeathmarch:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.deathmarchStatement:(Ljava/lang/Object;)V
1: aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.dcsm:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
aload 2
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager.getDeathmarch:(Ljava/sql/Connection;)Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.deathmarchStatement:(Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mchange/v2/c3p0/stmt/DoubleMaxStatementCache;
0 3 1 pstmt Ljava/lang/Object;
0 3 2 physicalConnection Ljava/sql/Connection;
MethodParameters:
Name Flags
pstmt
physicalConnection
void removeStatementFromDeathmarches(java.lang.Object, java.sql.Connection);
descriptor: (Ljava/lang/Object;Ljava/sql/Connection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.globalDeathmarch:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.undeathmarchStatement:(Ljava/lang/Object;)V
1: aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.dcsm:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
aload 2
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager.getDeathmarch:(Ljava/sql/Connection;)Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.undeathmarchStatement:(Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mchange/v2/c3p0/stmt/DoubleMaxStatementCache;
0 3 1 pstmt Ljava/lang/Object;
0 3 2 physicalConnection Ljava/sql/Connection;
MethodParameters:
Name Flags
pstmt
physicalConnection
boolean prepareAssimilateNewStatement(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.dcsm:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager.getNumStatementsForConnection:(Ljava/sql/Connection;)I
istore 2
start local 2 1: iload 2
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements_per_connection:I
if_icmpge 6
2: aload 0
invokevirtual com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.countCachedStatements:()I
istore 3
start local 3 3: iload 3
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements:I
if_icmplt 5
iload 3
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements:I
if_icmpne 4
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.globalDeathmarch:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.cullNext:()Z
ifne 5
StackMap locals: int int
StackMap stack:
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.max_statements_per_connection:I
if_icmpne 7
aload 0
getfield com.mchange.v2.c3p0.stmt.DoubleMaxStatementCache.dcsm:Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$DeathmarchConnectionStatementManager;
aload 1
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager.getDeathmarch:(Ljava/sql/Connection;)Lcom/mchange/v2/c3p0/stmt/GooGooStatementCache$Deathmarch;
invokevirtual com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch.cullNext:()Z
ifeq 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mchange/v2/c3p0/stmt/DoubleMaxStatementCache;
0 8 1 pcon Ljava/sql/Connection;
1 8 2 cxn_stmt_count I
3 6 3 global_size I
MethodParameters:
Name Flags
pcon
}
SourceFile: "DoubleMaxStatementCache.java"
InnerClasses:
protected abstract ConnectionStatementManager = com.mchange.v2.c3p0.stmt.GooGooStatementCache$ConnectionStatementManager of com.mchange.v2.c3p0.stmt.GooGooStatementCache
protected Deathmarch = com.mchange.v2.c3p0.stmt.GooGooStatementCache$Deathmarch of com.mchange.v2.c3p0.stmt.GooGooStatementCache
protected final DeathmarchConnectionStatementManager = com.mchange.v2.c3p0.stmt.GooGooStatementCache$DeathmarchConnectionStatementManager of com.mchange.v2.c3p0.stmt.GooGooStatementCache