final class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> extends org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
super_class: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node
{
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> parent;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> left;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> right;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> prev;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
boolean red;
descriptor: Z
flags: (0x0000)
void <init>(int, K, V, org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V>, org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V>);
descriptor: (ILjava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
aload 2
aload 3
aload 4
invokespecial org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node.<init>:(ILjava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;)V
1: aload 0
aload 5
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.parent:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
2: 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 3 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
0 3 1 hash I
0 3 2 key TK;
0 3 3 val TV;
0 3 4 next Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
0 3 5 parent Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
Signature: (ITK;TV;Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)V
MethodParameters:
Name Flags
hash
key
val
next
parent
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V> find(int, );
descriptor: (ILjava/lang/Object;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
aconst_null
invokevirtual org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.findTreeNode:(ILjava/lang/Object;Ljava/lang/Class;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
0 1 1 h I
0 1 2 k Ljava/lang/Object;
Signature: (ILjava/lang/Object;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
MethodParameters:
Name Flags
h
k
final org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode<K, V> findTreeNode(int, , java.lang.Class<?>);
descriptor: (ILjava/lang/Object;Ljava/lang/Class;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 28
1: aload 0
astore 4
start local 4 2: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
aload 4
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.left:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
astore 9
start local 9 3: aload 4
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.right:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
astore 10
start local 10 4: aload 4
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.hash:I
dup
istore 5
start local 5 5: iload 1
if_icmple 7
6: aload 9
astore 4
goto 27
7: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int top top top org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
iload 5
iload 1
if_icmpge 9
8: aload 10
astore 4
goto 27
9: StackMap locals:
StackMap stack:
aload 4
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.key:Ljava/lang/Object;
dup
astore 7
start local 7 10: aload 2
if_acmpeq 11
aload 7
ifnull 12
aload 2
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int top java.lang.Object top org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
aload 4
areturn
12: StackMap locals:
StackMap stack:
aload 9
ifnonnull 14
13: aload 10
astore 4
goto 27
14: StackMap locals:
StackMap stack:
aload 10
ifnonnull 16
15: aload 9
astore 4
goto 27
16: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
17: aload 2
invokestatic org.ehcache.impl.internal.concurrent.ConcurrentHashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
dup
astore 3
ifnull 23
18: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 7
invokestatic org.ehcache.impl.internal.concurrent.ConcurrentHashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
dup
istore 6
start local 6 19: ifeq 23
20: iload 6
ifge 21
aload 9
goto 22
StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int int java.lang.Object top org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
21: aload 10
StackMap locals:
StackMap stack: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
22: astore 4
goto 27
end local 6 23: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int top java.lang.Object top org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
aload 10
iload 1
aload 2
aload 3
invokevirtual org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode.findTreeNode:(ILjava/lang/Object;Ljava/lang/Class;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
dup
astore 8
start local 8 24: ifnull 26
25: aload 8
areturn
26: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int top java.lang.Object org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
aload 9
astore 4
end local 10 end local 9 end local 8 end local 7 end local 5 27: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode int java.lang.Object java.lang.Class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode
StackMap stack:
aload 4
ifnonnull 2
end local 4 28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
0 29 1 h I
0 29 2 k Ljava/lang/Object;
0 29 3 kc Ljava/lang/Class<*>;
2 28 4 p Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
5 27 5 ph I
19 23 6 dir I
10 27 7 pk TK;
24 27 8 q Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
3 27 9 pl Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
4 27 10 pr Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
Signature: (ILjava/lang/Object;Ljava/lang/Class<*>;)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
h
k
kc
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
SourceFile: "ConcurrentHashMap.java"
NestHost: org.ehcache.impl.internal.concurrent.ConcurrentHashMap
InnerClasses:
Node = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node of org.ehcache.impl.internal.concurrent.ConcurrentHashMap
final TreeNode = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeNode of org.ehcache.impl.internal.concurrent.ConcurrentHashMap