public class org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer extends org.hibernate.id.enhanced.AbstractOptimizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer
super_class: org.hibernate.id.enhanced.AbstractOptimizer
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.String, org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState> tenantSpecificState;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;>;
private final java.lang.ThreadLocal<org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState> localAssignedIds;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/CoreMessageLogger;
1: ldc Lorg/hibernate/id/enhanced/PooledLoOptimizer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
2: invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Class, int);
descriptor: (Ljava/lang/Class;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial org.hibernate.id.enhanced.AbstractOptimizer.<init>:(Ljava/lang/Class;I)V
1: aload 0
invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/hibernate/id/enhanced/PooledLoThreadLocalOptimizer.lambda$0()Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState; (6)
()Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
putfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.localAssignedIds:Ljava/lang/ThreadLocal;
2: iload 2
iconst_1
if_icmpge 4
3: new org.hibernate.HibernateException
dup
ldc "increment size cannot be less than 1"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer java.lang.Class int
StackMap stack:
getstatic org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
iload 2
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.hibernate.internal.CoreMessageLogger.creatingPooledLoOptimizer:(ILjava/lang/String;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
0 6 1 returnClass Ljava/lang/Class;
0 6 2 incrementSize I
MethodParameters:
Name Flags
returnClass
incrementSize
public java.io.Serializable generate(org.hibernate.id.enhanced.AccessCallback);
descriptor: (Lorg/hibernate/id/enhanced/AccessCallback;)Ljava/io/Serializable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.hibernate.id.enhanced.AccessCallback.getTenantIdentifier:()Ljava/lang/String;
ifnonnull 4
1: aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.localAssignedIds:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
astore 2
start local 2 2: aload 2
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
ifnull 4
aload 2
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
aload 2
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.upperLimitValue:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.lt:(Lorg/hibernate/id/IntegralDataTypeHolder;)Z
ifeq 4
3: aload 2
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.makeValueThenIncrement:()Ljava/lang/Number;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
5: aload 0
aload 1
invokeinterface org.hibernate.id.enhanced.AccessCallback.getTenantIdentifier:()Ljava/lang/String;
invokevirtual org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.locateGenerationState:(Ljava/lang/String;)Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
astore 3
start local 3 6: aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.lastSourceValue:Lorg/hibernate/id/IntegralDataTypeHolder;
ifnull 8
7: aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.upperLimitValue:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.lt:(Lorg/hibernate/id/IntegralDataTypeHolder;)Z
ifne 14
8: StackMap locals: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
StackMap stack:
aload 3
aload 1
invokeinterface org.hibernate.id.enhanced.AccessCallback.getNextValue:()Lorg/hibernate/id/IntegralDataTypeHolder;
putfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.lastSourceValue:Lorg/hibernate/id/IntegralDataTypeHolder;
9: aload 3
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.lastSourceValue:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.copy:()Lorg/hibernate/id/IntegralDataTypeHolder;
aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.incrementSize:I
i2l
invokeinterface org.hibernate.id.IntegralDataTypeHolder.add:(J)Lorg/hibernate/id/IntegralDataTypeHolder;
putfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.upperLimitValue:Lorg/hibernate/id/IntegralDataTypeHolder;
10: aload 3
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.lastSourceValue:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.copy:()Lorg/hibernate/id/IntegralDataTypeHolder;
putfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.increment:()Lorg/hibernate/id/IntegralDataTypeHolder;
pop
13: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
lconst_1
invokeinterface org.hibernate.id.IntegralDataTypeHolder.lt:(J)Z
ifne 12
14: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.value:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.makeValueThenIncrement:()Ljava/lang/Number;
aload 2
monitorexit
15: areturn
end local 3 16: StackMap locals: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer org.hibernate.id.enhanced.AccessCallback org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer
StackMap stack: java.lang.Throwable
aload 2
monitorexit
17: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
0 18 1 callback Lorg/hibernate/id/enhanced/AccessCallback;
2 4 2 local Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
6 16 3 generationState Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
Exception table:
from to target type
5 15 16 any
16 17 16 any
MethodParameters:
Name Flags
callback
private org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState locateGenerationState(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.localAssignedIds:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.tenantSpecificState:Ljava/util/Map;
ifnonnull 7
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.tenantSpecificState:Ljava/util/Map;
4: new org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
dup
invokespecial org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.<init>:()V
astore 2
start local 2 5: aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.tenantSpecificState:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 11
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.tenantSpecificState:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
astore 2
start local 2 8: aload 2
ifnonnull 11
9: new org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
dup
invokespecial org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.<init>:()V
astore 2
10: aload 0
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.tenantSpecificState:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
0 12 1 tenantIdentifier Ljava/lang/String;
5 7 2 state Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
8 12 2 state Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
MethodParameters:
Name Flags
tenantIdentifier
private org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState noTenantGenerationState();
descriptor: ()Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.locateGenerationState:(Ljava/lang/String;)Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Could not locate previous generation state for no-tenant"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
1 4 1 noTenantState Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
public org.hibernate.id.IntegralDataTypeHolder getLastSourceValue();
descriptor: ()Lorg/hibernate/id/IntegralDataTypeHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer.noTenantGenerationState:()Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
getfield org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.lastSourceValue:Lorg/hibernate/id/IntegralDataTypeHolder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
public boolean applyIncrementSizeToSourceValues();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer;
private static org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState lambda$0();
descriptor: ()Lorg/hibernate/id/enhanced/PooledLoThreadLocalOptimizer$GenerationState;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: new org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
dup
invokespecial org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PooledLoThreadLocalOptimizer.java"
NestMembers:
org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private GenerationState = org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer$GenerationState of org.hibernate.id.enhanced.PooledLoThreadLocalOptimizer