final class java.util.HashMap$TreeNode<K, V> extends java.util.LinkedHashMap$Entry<K, V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.HashMap$TreeNode
super_class: java.util.LinkedHashMap$Entry
{
java.util.HashMap$TreeNode<K, V> parent;
descriptor: Ljava/util/HashMap$TreeNode;
flags: (0x0000)
Signature: Ljava/util/HashMap$TreeNode<TK;TV;>;
java.util.HashMap$TreeNode<K, V> left;
descriptor: Ljava/util/HashMap$TreeNode;
flags: (0x0000)
Signature: Ljava/util/HashMap$TreeNode<TK;TV;>;
java.util.HashMap$TreeNode<K, V> right;
descriptor: Ljava/util/HashMap$TreeNode;
flags: (0x0000)
Signature: Ljava/util/HashMap$TreeNode<TK;TV;>;
java.util.HashMap$TreeNode<K, V> prev;
descriptor: Ljava/util/HashMap$TreeNode;
flags: (0x0000)
Signature: Ljava/util/HashMap$TreeNode<TK;TV;>;
boolean red;
descriptor: Z
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/util/HashMap;
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 java.util.HashMap$TreeNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, K, V, java.util.HashMap$Node<K, V>);
descriptor: (ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
aload 3
aload 4
invokespecial java.util.LinkedHashMap$Entry.<init>:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 2 1 hash I
0 2 2 key TK;
0 2 3 val TV;
0 2 4 next Ljava/util/HashMap$Node<TK;TV;>;
Signature: (ITK;TV;Ljava/util/HashMap$Node<TK;TV;>;)V
MethodParameters:
Name Flags
hash
key
val
next
final java.util.HashMap$TreeNode<K, V> root();
descriptor: ()Ljava/util/HashMap$TreeNode;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
start local 2 2: ifnonnull 4
3: aload 1
areturn
4: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 2
astore 1
end local 2 5: goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
1 6 1 r Ljava/util/HashMap$TreeNode<TK;TV;>;
2 5 2 p Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: ()Ljava/util/HashMap$TreeNode<TK;TV;>;
static <K, V> void moveRootToFront(java.util.HashMap$Node<K, V>[], java.util.HashMap$TreeNode<K, V>);
descriptor: ([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 17
aload 0
ifnull 17
aload 0
arraylength
dup
istore 2
start local 2 1: ifle 17
2: iload 2
iconst_1
isub
aload 1
getfield java.util.HashMap$TreeNode.hash:I
iand
istore 3
start local 3 3: aload 0
iload 3
aaload
checkcast java.util.HashMap$TreeNode
astore 4
start local 4 4: aload 1
aload 4
if_acmpeq 16
5: aload 0
iload 3
aload 1
aastore
6: aload 1
getfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
astore 6
start local 6 7: aload 1
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
dup
astore 5
start local 5 8: ifnull 10
9: aload 5
checkcast java.util.HashMap$TreeNode
aload 6
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
10: StackMap locals: java.util.HashMap$Node[] java.util.HashMap$TreeNode int int java.util.HashMap$TreeNode java.util.HashMap$Node java.util.HashMap$TreeNode
StackMap stack:
aload 6
ifnull 12
11: aload 6
aload 5
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
12: StackMap locals:
StackMap stack:
aload 4
ifnull 14
13: aload 4
aload 1
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
14: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
15: aload 1
aconst_null
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
end local 6 end local 5 16: StackMap locals:
StackMap stack:
getstatic java.util.HashMap$TreeNode.$assertionsDisabled:Z
ifne 17
aload 1
invokestatic java.util.HashMap$TreeNode.checkInvariants:(Ljava/util/HashMap$TreeNode;)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 end local 3 end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 tab [Ljava/util/HashMap$Node;
0 18 1 root Ljava/util/HashMap$TreeNode<TK;TV;>;
1 17 2 n I
3 17 3 index I
4 17 4 first Ljava/util/HashMap$TreeNode<TK;TV;>;
8 16 5 rn Ljava/util/HashMap$Node<TK;TV;>;
7 16 6 rp Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>([Ljava/util/HashMap$Node<TK;TV;>;Ljava/util/HashMap$TreeNode<TK;TV;>;)V
MethodParameters:
Name Flags
tab
root
final java.util.HashMap$TreeNode<K, V> find(int, , java.lang.Class<?>);
descriptor: (ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$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 0
astore 4
start local 4 1: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 4
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
astore 8
start local 8 2: aload 4
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 9
start local 9 3: aload 4
getfield java.util.HashMap$TreeNode.hash:I
dup
istore 5
start local 5 4: iload 1
if_icmple 6
5: aload 8
astore 4
goto 26
6: StackMap locals: java.util.HashMap$TreeNode int java.lang.Object java.lang.Class java.util.HashMap$TreeNode int top top java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
iload 5
iload 1
if_icmpge 8
7: aload 9
astore 4
goto 26
8: StackMap locals:
StackMap stack:
aload 4
getfield java.util.HashMap$TreeNode.key:Ljava/lang/Object;
dup
astore 7
start local 7 9: aload 2
if_acmpeq 10
aload 2
ifnull 11
aload 2
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals: java.util.HashMap$TreeNode int java.lang.Object java.lang.Class java.util.HashMap$TreeNode int top java.lang.Object java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 4
areturn
11: StackMap locals:
StackMap stack:
aload 8
ifnonnull 13
12: aload 9
astore 4
goto 26
13: StackMap locals:
StackMap stack:
aload 9
ifnonnull 15
14: aload 8
astore 4
goto 26
15: StackMap locals:
StackMap stack:
aload 3
ifnonnull 17
16: aload 2
invokestatic java.util.HashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
dup
astore 3
ifnull 22
17: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 7
invokestatic java.util.HashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
dup
istore 6
start local 6 18: ifeq 22
19: iload 6
ifge 20
aload 8
goto 21
StackMap locals: java.util.HashMap$TreeNode int java.lang.Object java.lang.Class java.util.HashMap$TreeNode int int java.lang.Object java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
20: aload 9
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
21: astore 4
goto 26
end local 6 22: StackMap locals: java.util.HashMap$TreeNode int java.lang.Object java.lang.Class java.util.HashMap$TreeNode int top java.lang.Object java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 9
iload 1
aload 2
aload 3
invokevirtual java.util.HashMap$TreeNode.find:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
dup
astore 10
start local 10 23: ifnull 25
24: aload 10
areturn
25: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 8
astore 4
end local 10 end local 9 end local 8 end local 7 end local 5 26: StackMap locals: java.util.HashMap$TreeNode int java.lang.Object java.lang.Class java.util.HashMap$TreeNode
StackMap stack:
aload 4
ifnonnull 1
27: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 28 1 h I
0 28 2 k Ljava/lang/Object;
0 28 3 kc Ljava/lang/Class<*>;
1 28 4 p Ljava/util/HashMap$TreeNode<TK;TV;>;
4 26 5 ph I
18 22 6 dir I
9 26 7 pk TK;
2 26 8 pl Ljava/util/HashMap$TreeNode<TK;TV;>;
3 26 9 pr Ljava/util/HashMap$TreeNode<TK;TV;>;
23 26 10 q Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: (ILjava/lang/Object;Ljava/lang/Class<*>;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
h
k
kc
final java.util.HashMap$TreeNode<K, V> getTreeNode(int, );
descriptor: (ILjava/lang/Object;)Ljava/util/HashMap$TreeNode;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
ifnull 1
aload 0
invokevirtual java.util.HashMap$TreeNode.root:()Ljava/util/HashMap$TreeNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
2: iload 1
aload 2
aconst_null
invokevirtual java.util.HashMap$TreeNode.find:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 3 1 h I
0 3 2 k Ljava/lang/Object;
Signature: (ILjava/lang/Object;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
h
k
static int tieBreakOrder(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 5
aload 1
ifnull 5
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
2: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
3: dup
istore 2
start local 2 4: ifne 9
end local 2 5: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
if_icmpgt 7
6: iconst_m1
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
8: StackMap locals:
StackMap stack: int
istore 2
start local 2 9: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a Ljava/lang/Object;
0 10 1 b Ljava/lang/Object;
4 5 2 d I
9 10 2 d I
MethodParameters:
Name Flags
a
b
final void treeify(java.util.HashMap$Node<K, V>[]);
descriptor: ([Ljava/util/HashMap$Node;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=13, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
astore 3
start local 3 2: goto 37
3: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 3
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
checkcast java.util.HashMap$TreeNode
astore 4
start local 4 4: aload 3
aload 3
aconst_null
dup_x1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
5: aload 2
ifnonnull 10
6: aload 3
aconst_null
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
7: aload 3
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
8: aload 3
astore 2
9: goto 36
10: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 3
getfield java.util.HashMap$TreeNode.key:Ljava/lang/Object;
astore 5
start local 5 11: aload 3
getfield java.util.HashMap$TreeNode.hash:I
istore 6
start local 6 12: aconst_null
astore 7
start local 7 13: aload 2
astore 8
start local 8 14: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$Node[] java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.lang.Object int java.lang.Class java.util.HashMap$TreeNode
StackMap stack:
aload 8
getfield java.util.HashMap$TreeNode.key:Ljava/lang/Object;
astore 11
start local 11 15: aload 8
getfield java.util.HashMap$TreeNode.hash:I
dup
istore 10
start local 10 16: iload 6
if_icmple 19
17: iconst_m1
istore 9
start local 9 18: goto 27
end local 9 19: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$Node[] java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.lang.Object int java.lang.Class java.util.HashMap$TreeNode top int java.lang.Object
StackMap stack:
iload 10
iload 6
if_icmpge 22
20: iconst_1
istore 9
start local 9 21: goto 27
end local 9 22: StackMap locals:
StackMap stack:
aload 7
ifnonnull 24
23: aload 5
invokestatic java.util.HashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
dup
astore 7
ifnull 26
24: StackMap locals:
StackMap stack:
aload 7
aload 5
aload 11
invokestatic java.util.HashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
dup
istore 9
start local 9 25: ifne 27
end local 9 26: StackMap locals:
StackMap stack:
aload 5
aload 11
invokestatic java.util.HashMap$TreeNode.tieBreakOrder:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 9
start local 9 27: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$Node[] java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.lang.Object int java.lang.Class java.util.HashMap$TreeNode int int java.lang.Object
StackMap stack:
aload 8
astore 12
start local 12 28: iload 9
ifgt 29
aload 8
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 30
StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
29: aload 8
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
30: dup
astore 8
ifnonnull 14
31: aload 3
aload 12
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
32: iload 9
ifgt 34
33: aload 12
aload 3
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 35
34: StackMap locals:
StackMap stack:
aload 12
aload 3
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
35: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic java.util.HashMap$TreeNode.balanceInsertion:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 2
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 36: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$Node[] java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 4
astore 3
end local 4 StackMap locals:
StackMap stack:
37: aload 3
ifnonnull 3
end local 3 38: aload 1
aload 2
invokestatic java.util.HashMap$TreeNode.moveRootToFront:([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 40 1 tab [Ljava/util/HashMap$Node;
1 40 2 root Ljava/util/HashMap$TreeNode<TK;TV;>;
2 38 3 x Ljava/util/HashMap$TreeNode<TK;TV;>;
4 37 4 next Ljava/util/HashMap$TreeNode<TK;TV;>;
11 36 5 k TK;
12 36 6 h I
13 36 7 kc Ljava/lang/Class<*>;
14 36 8 p Ljava/util/HashMap$TreeNode<TK;TV;>;
18 19 9 dir I
21 22 9 dir I
25 26 9 dir I
27 36 9 dir I
16 36 10 ph I
15 36 11 pk TK;
28 36 12 xp Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: ([Ljava/util/HashMap$Node<TK;TV;>;)V
MethodParameters:
Name Flags
tab
final java.util.HashMap$Node<K, V> untreeify(java.util.HashMap<K, V>);
descriptor: (Ljava/util/HashMap;)Ljava/util/HashMap$Node;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
astore 4
start local 4 3: goto 10
4: StackMap locals: java.util.HashMap$Node java.util.HashMap$Node java.util.HashMap$Node
StackMap stack:
aload 1
aload 4
aconst_null
invokevirtual java.util.HashMap.replacementNode:(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
astore 5
start local 5 5: aload 3
ifnonnull 7
6: aload 5
astore 2
goto 8
7: StackMap locals: java.util.HashMap$Node
StackMap stack:
aload 3
aload 5
putfield java.util.HashMap$Node.next:Ljava/util/HashMap$Node;
8: StackMap locals:
StackMap stack:
aload 5
astore 3
end local 5 9: aload 4
getfield java.util.HashMap$Node.next:Ljava/util/HashMap$Node;
astore 4
StackMap locals:
StackMap stack:
10: aload 4
ifnonnull 4
end local 4 11: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 12 1 map Ljava/util/HashMap<TK;TV;>;
1 12 2 hd Ljava/util/HashMap$Node<TK;TV;>;
2 12 3 tl Ljava/util/HashMap$Node<TK;TV;>;
3 11 4 q Ljava/util/HashMap$Node<TK;TV;>;
5 9 5 p Ljava/util/HashMap$Node<TK;TV;>;
Signature: (Ljava/util/HashMap<TK;TV;>;)Ljava/util/HashMap$Node<TK;TV;>;
MethodParameters:
Name Flags
map
final java.util.HashMap$TreeNode<K, V> putTreeVal(java.util.HashMap<K, V>, java.util.HashMap$Node<K, V>[], int, K, V);
descriptor: (Ljava/util/HashMap;[Ljava/util/HashMap$Node;ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/HashMap$TreeNode;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: aload 0
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
ifnull 3
aload 0
invokevirtual java.util.HashMap$TreeNode.root:()Ljava/util/HashMap$TreeNode;
goto 4
StackMap locals: java.lang.Class int
StackMap stack:
3: aload 0
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
4: astore 8
start local 8 5: aload 8
astore 9
start local 9 6: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 9
getfield java.util.HashMap$TreeNode.hash:I
dup
istore 11
start local 11 7: iload 3
if_icmple 10
8: iconst_m1
istore 10
start local 10 9: goto 31
end local 10 10: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int java.lang.Object java.lang.Object java.lang.Class int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top int
StackMap stack:
iload 11
iload 3
if_icmpge 13
11: iconst_1
istore 10
start local 10 12: goto 31
end local 10 13: StackMap locals:
StackMap stack:
aload 9
getfield java.util.HashMap$TreeNode.key:Ljava/lang/Object;
dup
astore 12
start local 12 14: aload 4
if_acmpeq 15
aload 4
ifnull 16
aload 4
aload 12
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
15: StackMap locals: java.lang.Object
StackMap stack:
aload 9
areturn
16: StackMap locals:
StackMap stack:
aload 6
ifnonnull 18
17: aload 4
invokestatic java.util.HashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
dup
astore 6
ifnull 20
18: StackMap locals:
StackMap stack:
aload 6
aload 4
aload 12
invokestatic java.util.HashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
dup
istore 10
start local 10 19: ifne 31
end local 10 20: StackMap locals:
StackMap stack:
iload 7
ifne 30
21: iconst_1
istore 7
22: aload 9
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 14
start local 14 23: ifnull 26
24: aload 14
iload 3
aload 4
aload 6
invokevirtual java.util.HashMap$TreeNode.find:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
dup
astore 13
start local 13 25: ifnonnull 29
end local 13 26: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int java.lang.Object java.lang.Object java.lang.Class int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top int java.lang.Object top java.util.HashMap$TreeNode
StackMap stack:
aload 9
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 14
ifnull 30
27: aload 14
iload 3
aload 4
aload 6
invokevirtual java.util.HashMap$TreeNode.find:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
dup
astore 13
start local 13 28: ifnull 30
29: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int java.lang.Object java.lang.Object java.lang.Class int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top int java.lang.Object java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 13
areturn
end local 14 end local 13 30: StackMap locals:
StackMap stack:
aload 4
aload 12
invokestatic java.util.HashMap$TreeNode.tieBreakOrder:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 10
end local 12 start local 10 31: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int java.lang.Object java.lang.Object java.lang.Class int java.util.HashMap$TreeNode java.util.HashMap$TreeNode int int
StackMap stack:
aload 9
astore 13
start local 13 32: iload 10
ifgt 33
aload 9
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 34
StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int java.lang.Object java.lang.Object java.lang.Class int java.util.HashMap$TreeNode java.util.HashMap$TreeNode int int top java.util.HashMap$TreeNode
StackMap stack:
33: aload 9
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
34: dup
astore 9
ifnonnull 6
35: aload 13
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
astore 14
start local 14 36: aload 1
iload 3
aload 4
aload 5
aload 14
invokevirtual java.util.HashMap.newTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
astore 15
start local 15 37: iload 10
ifgt 39
38: aload 13
aload 15
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 40
39: StackMap locals: java.util.HashMap$Node java.util.HashMap$TreeNode
StackMap stack:
aload 13
aload 15
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
40: StackMap locals:
StackMap stack:
aload 13
aload 15
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
41: aload 15
aload 15
aload 13
dup_x1
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
42: aload 14
ifnull 44
43: aload 14
checkcast java.util.HashMap$TreeNode
aload 15
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
44: StackMap locals:
StackMap stack:
aload 2
aload 8
aload 15
invokestatic java.util.HashMap$TreeNode.balanceInsertion:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
invokestatic java.util.HashMap$TreeNode.moveRootToFront:([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
45: aconst_null
areturn
end local 15 end local 14 end local 13 end local 11 end local 10 end local 9 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 46 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 46 1 map Ljava/util/HashMap<TK;TV;>;
0 46 2 tab [Ljava/util/HashMap$Node;
0 46 3 h I
0 46 4 k TK;
0 46 5 v TV;
1 46 6 kc Ljava/lang/Class<*>;
2 46 7 searched Z
5 46 8 root Ljava/util/HashMap$TreeNode<TK;TV;>;
6 46 9 p Ljava/util/HashMap$TreeNode<TK;TV;>;
9 10 10 dir I
12 13 10 dir I
19 20 10 dir I
31 46 10 dir I
7 46 11 ph I
14 31 12 pk TK;
25 26 13 q Ljava/util/HashMap$TreeNode<TK;TV;>;
28 30 13 q Ljava/util/HashMap$TreeNode<TK;TV;>;
23 30 14 ch Ljava/util/HashMap$TreeNode<TK;TV;>;
32 46 13 xp Ljava/util/HashMap$TreeNode<TK;TV;>;
36 46 14 xpn Ljava/util/HashMap$Node<TK;TV;>;
37 46 15 x Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: (Ljava/util/HashMap<TK;TV;>;[Ljava/util/HashMap$Node<TK;TV;>;ITK;TV;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
map
tab
h
k
v
final void removeTreeNode(java.util.HashMap<K, V>, java.util.HashMap$Node<K, V>[], );
descriptor: (Ljava/util/HashMap;[Ljava/util/HashMap$Node;Z)V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=21, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 2
aload 2
arraylength
dup
istore 4
start local 4 1: ifne 3
end local 4 2: StackMap locals:
StackMap stack:
return
start local 4 3: StackMap locals: int
StackMap stack:
iload 4
iconst_1
isub
aload 0
getfield java.util.HashMap$TreeNode.hash:I
iand
istore 5
start local 5 4: aload 2
iload 5
aaload
checkcast java.util.HashMap$TreeNode
astore 6
start local 6 5: aload 6
astore 7
start local 7 6: aload 0
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
checkcast java.util.HashMap$TreeNode
astore 9
start local 9 7: aload 0
getfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
astore 10
start local 10 8: aload 10
ifnonnull 10
9: aload 2
iload 5
aload 9
dup
astore 6
aastore
goto 11
10: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int int int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 10
aload 9
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
11: StackMap locals:
StackMap stack:
aload 9
ifnull 13
12: aload 9
aload 10
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
13: StackMap locals:
StackMap stack:
aload 6
ifnonnull 15
14: return
15: StackMap locals:
StackMap stack:
aload 7
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
ifnull 17
16: aload 7
invokevirtual java.util.HashMap$TreeNode.root:()Ljava/util/HashMap$TreeNode;
astore 7
17: StackMap locals:
StackMap stack:
aload 7
ifnull 23
18: iload 3
ifeq 25
19: aload 7
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
ifnull 23
20: aload 7
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 8
start local 8 21: ifnull 23
22: aload 8
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
ifnonnull 25
end local 8 23: StackMap locals:
StackMap stack:
aload 2
iload 5
aload 6
aload 1
invokevirtual java.util.HashMap$TreeNode.untreeify:(Ljava/util/HashMap;)Ljava/util/HashMap$Node;
aastore
24: return
25: StackMap locals:
StackMap stack:
aload 0
astore 11
start local 11 26: aload 0
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
astore 12
start local 12 27: aload 0
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 13
start local 13 28: aload 12
ifnull 64
aload 13
ifnull 64
29: aload 13
astore 15
start local 15 30: goto 32
start local 16 31: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int int int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 16
astore 15
end local 16 32: StackMap locals:
StackMap stack:
aload 15
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 16
start local 16 33: ifnonnull 31
34: aload 15
getfield java.util.HashMap$TreeNode.red:Z
istore 17
start local 17 35: aload 15
aload 11
getfield java.util.HashMap$TreeNode.red:Z
putfield java.util.HashMap$TreeNode.red:Z
aload 11
iload 17
putfield java.util.HashMap$TreeNode.red:Z
36: aload 15
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 18
start local 18 37: aload 11
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
astore 19
start local 19 38: aload 15
aload 13
if_acmpne 42
39: aload 11
aload 15
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
40: aload 15
aload 11
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
41: goto 49
42: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int int int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode int java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 15
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
astore 20
start local 20 43: aload 11
aload 20
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
ifnull 47
44: aload 15
aload 20
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpne 46
45: aload 20
aload 11
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 47
46: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 20
aload 11
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
47: StackMap locals:
StackMap stack:
aload 15
aload 13
dup_x1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
ifnull 49
48: aload 13
aload 15
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
end local 20 49: StackMap locals:
StackMap stack:
aload 11
aconst_null
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
50: aload 11
aload 18
dup_x1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
ifnull 52
51: aload 18
aload 11
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
52: StackMap locals:
StackMap stack:
aload 15
aload 12
dup_x1
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
ifnull 54
53: aload 12
aload 15
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
54: StackMap locals:
StackMap stack:
aload 15
aload 19
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
ifnonnull 56
55: aload 15
astore 7
goto 59
56: StackMap locals:
StackMap stack:
aload 11
aload 19
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpne 58
57: aload 19
aload 15
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 59
58: StackMap locals:
StackMap stack:
aload 19
aload 15
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
59: StackMap locals:
StackMap stack:
aload 18
ifnull 62
60: aload 18
astore 14
start local 14 61: goto 71
end local 14 62: StackMap locals:
StackMap stack:
aload 11
astore 14
end local 19 end local 18 end local 17 end local 16 end local 15 start local 14 63: goto 71
end local 14 64: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int int int java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 12
ifnull 67
65: aload 12
astore 14
start local 14 66: goto 71
end local 14 67: StackMap locals:
StackMap stack:
aload 13
ifnull 70
68: aload 13
astore 14
start local 14 69: goto 71
end local 14 70: StackMap locals:
StackMap stack:
aload 11
astore 14
start local 14 71: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 14
aload 11
if_acmpeq 79
72: aload 14
aload 11
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
astore 15
start local 15 73: aload 15
ifnonnull 75
74: aload 14
dup
astore 7
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
goto 78
75: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 11
aload 15
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpne 77
76: aload 15
aload 14
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 78
77: StackMap locals:
StackMap stack:
aload 15
aload 14
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
78: StackMap locals:
StackMap stack:
aload 11
aload 11
aload 11
aconst_null
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
end local 15 79: StackMap locals:
StackMap stack:
aload 11
getfield java.util.HashMap$TreeNode.red:Z
ifeq 80
aload 7
goto 81
StackMap locals:
StackMap stack:
80: aload 7
aload 14
invokestatic java.util.HashMap$TreeNode.balanceDeletion:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
81: astore 15
start local 15 82: aload 14
aload 11
if_acmpne 90
83: aload 11
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
astore 16
start local 16 84: aload 11
aconst_null
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
85: aload 16
ifnull 90
86: aload 11
aload 16
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpne 88
87: aload 16
aconst_null
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 90
88: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 11
aload 16
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
if_acmpne 90
89: aload 16
aconst_null
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
end local 16 90: StackMap locals:
StackMap stack:
iload 3
ifeq 92
91: aload 2
aload 15
invokestatic java.util.HashMap$TreeNode.moveRootToFront:([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
92: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 93 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 93 1 map Ljava/util/HashMap<TK;TV;>;
0 93 2 tab [Ljava/util/HashMap$Node;
0 93 3 movable Z
1 2 4 n I
3 93 4 n I
4 93 5 index I
5 93 6 first Ljava/util/HashMap$TreeNode<TK;TV;>;
6 93 7 root Ljava/util/HashMap$TreeNode<TK;TV;>;
21 23 8 rl Ljava/util/HashMap$TreeNode<TK;TV;>;
7 93 9 succ Ljava/util/HashMap$TreeNode<TK;TV;>;
8 93 10 pred Ljava/util/HashMap$TreeNode<TK;TV;>;
26 93 11 p Ljava/util/HashMap$TreeNode<TK;TV;>;
27 93 12 pl Ljava/util/HashMap$TreeNode<TK;TV;>;
28 93 13 pr Ljava/util/HashMap$TreeNode<TK;TV;>;
61 62 14 replacement Ljava/util/HashMap$TreeNode<TK;TV;>;
63 64 14 replacement Ljava/util/HashMap$TreeNode<TK;TV;>;
66 67 14 replacement Ljava/util/HashMap$TreeNode<TK;TV;>;
69 70 14 replacement Ljava/util/HashMap$TreeNode<TK;TV;>;
71 93 14 replacement Ljava/util/HashMap$TreeNode<TK;TV;>;
30 63 15 s Ljava/util/HashMap$TreeNode<TK;TV;>;
31 32 16 sl Ljava/util/HashMap$TreeNode<TK;TV;>;
33 63 16 sl Ljava/util/HashMap$TreeNode<TK;TV;>;
35 63 17 c Z
37 63 18 sr Ljava/util/HashMap$TreeNode<TK;TV;>;
38 63 19 pp Ljava/util/HashMap$TreeNode<TK;TV;>;
43 49 20 sp Ljava/util/HashMap$TreeNode<TK;TV;>;
73 79 15 pp Ljava/util/HashMap$TreeNode<TK;TV;>;
82 93 15 r Ljava/util/HashMap$TreeNode<TK;TV;>;
84 90 16 pp Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: (Ljava/util/HashMap<TK;TV;>;[Ljava/util/HashMap$Node<TK;TV;>;Z)V
MethodParameters:
Name Flags
map
tab
movable
final void split(java.util.HashMap<K, V>, java.util.HashMap$Node<K, V>[], int, );
descriptor: (Ljava/util/HashMap;[Ljava/util/HashMap$Node;II)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aconst_null
astore 8
start local 8 4: aconst_null
astore 9
start local 9 5: iconst_0
istore 10
start local 10 6: iconst_0
istore 11
start local 11 7: aload 5
astore 12
start local 12 8: goto 24
9: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap java.util.HashMap$Node[] int int java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode int int java.util.HashMap$TreeNode
StackMap stack:
aload 12
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
checkcast java.util.HashMap$TreeNode
astore 13
start local 13 10: aload 12
aconst_null
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
11: aload 12
getfield java.util.HashMap$TreeNode.hash:I
iload 4
iand
ifne 18
12: aload 12
aload 7
dup_x1
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
ifnonnull 14
13: aload 12
astore 6
goto 15
14: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 7
aload 12
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
15: StackMap locals:
StackMap stack:
aload 12
astore 7
16: iinc 10 1
17: goto 23
18: StackMap locals:
StackMap stack:
aload 12
aload 9
dup_x1
putfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
ifnonnull 20
19: aload 12
astore 8
goto 21
20: StackMap locals:
StackMap stack:
aload 9
aload 12
putfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
21: StackMap locals:
StackMap stack:
aload 12
astore 9
22: iinc 11 1
23: StackMap locals:
StackMap stack:
aload 13
astore 12
end local 13 StackMap locals:
StackMap stack:
24: aload 12
ifnonnull 9
end local 12 25: aload 6
ifnull 31
26: iload 10
bipush 6
if_icmpgt 28
27: aload 2
iload 3
aload 6
aload 1
invokevirtual java.util.HashMap$TreeNode.untreeify:(Ljava/util/HashMap;)Ljava/util/HashMap$Node;
aastore
goto 31
28: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 6
aastore
29: aload 8
ifnull 31
30: aload 6
aload 2
invokevirtual java.util.HashMap$TreeNode.treeify:([Ljava/util/HashMap$Node;)V
31: StackMap locals:
StackMap stack:
aload 8
ifnull 37
32: iload 11
bipush 6
if_icmpgt 34
33: aload 2
iload 3
iload 4
iadd
aload 8
aload 1
invokevirtual java.util.HashMap$TreeNode.untreeify:(Ljava/util/HashMap;)Ljava/util/HashMap$Node;
aastore
goto 37
34: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 4
iadd
aload 8
aastore
35: aload 6
ifnull 37
36: aload 8
aload 2
invokevirtual java.util.HashMap$TreeNode.treeify:([Ljava/util/HashMap$Node;)V
37: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 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 38 0 this Ljava/util/HashMap$TreeNode<TK;TV;>;
0 38 1 map Ljava/util/HashMap<TK;TV;>;
0 38 2 tab [Ljava/util/HashMap$Node;
0 38 3 index I
0 38 4 bit I
1 38 5 b Ljava/util/HashMap$TreeNode<TK;TV;>;
2 38 6 loHead Ljava/util/HashMap$TreeNode<TK;TV;>;
3 38 7 loTail Ljava/util/HashMap$TreeNode<TK;TV;>;
4 38 8 hiHead Ljava/util/HashMap$TreeNode<TK;TV;>;
5 38 9 hiTail Ljava/util/HashMap$TreeNode<TK;TV;>;
6 38 10 lc I
7 38 11 hc I
8 25 12 e Ljava/util/HashMap$TreeNode<TK;TV;>;
10 24 13 next Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: (Ljava/util/HashMap<TK;TV;>;[Ljava/util/HashMap$Node<TK;TV;>;II)V
MethodParameters:
Name Flags
map
tab
index
bit
static <K, V> java.util.HashMap$TreeNode<K, V> rotateLeft(java.util.HashMap$TreeNode<K, V>, java.util.HashMap$TreeNode<K, V>);
descriptor: (Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 13
aload 1
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 2
start local 2 1: ifnull 13
2: aload 1
aload 2
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 4
start local 4 3: ifnull 5
4: aload 4
aload 1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
5: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode
StackMap stack:
aload 2
aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 3
start local 3 6: ifnonnull 8
7: aload 2
dup
astore 0
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
goto 11
8: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 3
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
aload 1
if_acmpne 10
9: aload 3
aload 2
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
goto 11
10: StackMap locals:
StackMap stack:
aload 3
aload 2
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
11: StackMap locals:
StackMap stack:
aload 2
aload 1
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
12: aload 1
aload 2
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 root Ljava/util/HashMap$TreeNode<TK;TV;>;
0 14 1 p Ljava/util/HashMap$TreeNode<TK;TV;>;
1 13 2 r Ljava/util/HashMap$TreeNode<TK;TV;>;
6 13 3 pp Ljava/util/HashMap$TreeNode<TK;TV;>;
3 13 4 rl Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/HashMap$TreeNode<TK;TV;>;Ljava/util/HashMap$TreeNode<TK;TV;>;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
root
p
static <K, V> java.util.HashMap$TreeNode<K, V> rotateRight(java.util.HashMap$TreeNode<K, V>, java.util.HashMap$TreeNode<K, V>);
descriptor: (Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 13
aload 1
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 2
start local 2 1: ifnull 13
2: aload 1
aload 2
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 4
start local 4 3: ifnull 5
4: aload 4
aload 1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
5: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode
StackMap stack:
aload 2
aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup_x1
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 3
start local 3 6: ifnonnull 8
7: aload 2
dup
astore 0
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
goto 11
8: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 3
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
aload 1
if_acmpne 10
9: aload 3
aload 2
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
goto 11
10: StackMap locals:
StackMap stack:
aload 3
aload 2
putfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
11: StackMap locals:
StackMap stack:
aload 2
aload 1
putfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
12: aload 1
aload 2
putfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 root Ljava/util/HashMap$TreeNode<TK;TV;>;
0 14 1 p Ljava/util/HashMap$TreeNode<TK;TV;>;
1 13 2 l Ljava/util/HashMap$TreeNode<TK;TV;>;
6 13 3 pp Ljava/util/HashMap$TreeNode<TK;TV;>;
3 13 4 lr Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/HashMap$TreeNode<TK;TV;>;Ljava/util/HashMap$TreeNode<TK;TV;>;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
root
p
static <K, V> java.util.HashMap$TreeNode<K, V> balanceInsertion(java.util.HashMap$TreeNode<K, V>, java.util.HashMap$TreeNode<K, V>);
descriptor: (Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
1: StackMap locals:
StackMap stack:
aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
start local 2 2: ifnonnull 5
3: aload 1
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
4: aload 1
areturn
5: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 2
getfield java.util.HashMap$TreeNode.red:Z
ifeq 7
aload 2
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 3
start local 3 6: ifnonnull 8
end local 3 7: StackMap locals:
StackMap stack:
aload 0
areturn
start local 3 8: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 2
aload 3
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 4
start local 4 9: if_acmpne 28
10: aload 3
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 5
start local 5 11: ifnull 17
aload 5
getfield java.util.HashMap$TreeNode.red:Z
ifeq 17
12: aload 5
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
13: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
14: aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
15: aload 3
astore 1
16: goto 1
17: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 1
aload 2
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
if_acmpne 22
18: aload 0
aload 2
dup
astore 1
invokestatic java.util.HashMap$TreeNode.rotateLeft:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
19: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 20
aconst_null
goto 21
StackMap locals:
StackMap stack:
20: aload 2
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
21: astore 3
22: StackMap locals:
StackMap stack:
aload 2
ifnull 1
23: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
24: aload 3
ifnull 1
25: aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
26: aload 0
aload 3
invokestatic java.util.HashMap$TreeNode.rotateRight:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
27: goto 1
end local 5 28: StackMap locals:
StackMap stack:
aload 4
ifnull 34
aload 4
getfield java.util.HashMap$TreeNode.red:Z
ifeq 34
29: aload 4
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
30: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
31: aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
32: aload 3
astore 1
33: goto 1
34: StackMap locals:
StackMap stack:
aload 1
aload 2
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpne 39
35: aload 0
aload 2
dup
astore 1
invokestatic java.util.HashMap$TreeNode.rotateRight:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
36: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 37
aconst_null
goto 38
StackMap locals:
StackMap stack:
37: aload 2
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
38: astore 3
39: StackMap locals:
StackMap stack:
aload 2
ifnull 1
40: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
41: aload 3
ifnull 1
42: aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
43: aload 0
aload 3
invokestatic java.util.HashMap$TreeNode.rotateLeft:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
end local 4 end local 3 end local 2 44: goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 root Ljava/util/HashMap$TreeNode<TK;TV;>;
0 45 1 x Ljava/util/HashMap$TreeNode<TK;TV;>;
2 44 2 xp Ljava/util/HashMap$TreeNode<TK;TV;>;
6 7 3 xpp Ljava/util/HashMap$TreeNode<TK;TV;>;
8 44 3 xpp Ljava/util/HashMap$TreeNode<TK;TV;>;
9 44 4 xppl Ljava/util/HashMap$TreeNode<TK;TV;>;
11 28 5 xppr Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/HashMap$TreeNode<TK;TV;>;Ljava/util/HashMap$TreeNode<TK;TV;>;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
root
x
static <K, V> java.util.HashMap$TreeNode<K, V> balanceDeletion(java.util.HashMap$TreeNode<K, V>, java.util.HashMap$TreeNode<K, V>);
descriptor: (Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 1
ifnull 1
aload 1
aload 0
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
start local 2 3: ifnonnull 6
4: aload 1
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
5: aload 1
areturn
6: StackMap locals: java.util.HashMap$TreeNode
StackMap stack:
aload 1
getfield java.util.HashMap$TreeNode.red:Z
ifeq 9
7: aload 1
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
8: aload 0
areturn
9: StackMap locals:
StackMap stack:
aload 2
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 3
start local 3 10: aload 1
if_acmpne 48
11: aload 2
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 4
start local 4 12: ifnull 19
aload 4
getfield java.util.HashMap$TreeNode.red:Z
ifeq 19
13: aload 4
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
14: aload 2
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
15: aload 0
aload 2
invokestatic java.util.HashMap$TreeNode.rotateLeft:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
16: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 17
aconst_null
goto 18
StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
17: aload 2
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
18: astore 4
19: StackMap locals:
StackMap stack:
aload 4
ifnonnull 21
20: aload 2
astore 1
goto 0
21: StackMap locals:
StackMap stack:
aload 4
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
astore 5
start local 5 22: aload 4
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 6
start local 6 23: aload 6
ifnull 24
aload 6
getfield java.util.HashMap$TreeNode.red:Z
ifne 28
24: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 5
ifnull 25
aload 5
getfield java.util.HashMap$TreeNode.red:Z
ifne 28
25: StackMap locals:
StackMap stack:
aload 4
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
26: aload 2
astore 1
27: goto 0
28: StackMap locals:
StackMap stack:
aload 6
ifnull 29
aload 6
getfield java.util.HashMap$TreeNode.red:Z
ifne 37
29: StackMap locals:
StackMap stack:
aload 5
ifnull 31
30: aload 5
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
31: StackMap locals:
StackMap stack:
aload 4
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
32: aload 0
aload 4
invokestatic java.util.HashMap$TreeNode.rotateRight:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
33: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 35
34: aconst_null
goto 36
StackMap locals:
StackMap stack:
35: aload 2
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
36: StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
astore 4
37: StackMap locals:
StackMap stack:
aload 4
ifnull 43
38: aload 4
aload 2
ifnonnull 39
iconst_0
goto 40
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
39: aload 2
getfield java.util.HashMap$TreeNode.red:Z
StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack: java.util.HashMap$TreeNode int
40: putfield java.util.HashMap$TreeNode.red:Z
41: aload 4
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
dup
astore 6
ifnull 43
42: aload 6
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
43: StackMap locals:
StackMap stack:
aload 2
ifnull 46
44: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
45: aload 0
aload 2
invokestatic java.util.HashMap$TreeNode.rotateLeft:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
46: StackMap locals:
StackMap stack:
aload 0
astore 1
end local 6 end local 5 47: goto 0
end local 4 48: StackMap locals:
StackMap stack:
aload 3
ifnull 55
aload 3
getfield java.util.HashMap$TreeNode.red:Z
ifeq 55
49: aload 3
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
50: aload 2
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
51: aload 0
aload 2
invokestatic java.util.HashMap$TreeNode.rotateRight:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
52: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 53
aconst_null
goto 54
StackMap locals:
StackMap stack:
53: aload 2
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
54: astore 3
55: StackMap locals:
StackMap stack:
aload 3
ifnonnull 57
56: aload 2
astore 1
goto 0
57: StackMap locals:
StackMap stack:
aload 3
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
astore 5
start local 5 58: aload 3
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 6
start local 6 59: aload 5
ifnull 60
aload 5
getfield java.util.HashMap$TreeNode.red:Z
ifne 64
60: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 6
ifnull 61
aload 6
getfield java.util.HashMap$TreeNode.red:Z
ifne 64
61: StackMap locals:
StackMap stack:
aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
62: aload 2
astore 1
63: goto 0
64: StackMap locals:
StackMap stack:
aload 5
ifnull 65
aload 5
getfield java.util.HashMap$TreeNode.red:Z
ifne 73
65: StackMap locals:
StackMap stack:
aload 6
ifnull 67
66: aload 6
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
67: StackMap locals:
StackMap stack:
aload 3
iconst_1
putfield java.util.HashMap$TreeNode.red:Z
68: aload 0
aload 3
invokestatic java.util.HashMap$TreeNode.rotateLeft:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
69: aload 1
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
dup
astore 2
ifnonnull 71
70: aconst_null
goto 72
StackMap locals:
StackMap stack:
71: aload 2
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
72: StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
astore 3
73: StackMap locals:
StackMap stack:
aload 3
ifnull 79
74: aload 3
aload 2
ifnonnull 75
iconst_0
goto 76
StackMap locals:
StackMap stack: java.util.HashMap$TreeNode
75: aload 2
getfield java.util.HashMap$TreeNode.red:Z
StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode top java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack: java.util.HashMap$TreeNode int
76: putfield java.util.HashMap$TreeNode.red:Z
77: aload 3
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
dup
astore 5
ifnull 79
78: aload 5
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
79: StackMap locals:
StackMap stack:
aload 2
ifnull 82
80: aload 2
iconst_0
putfield java.util.HashMap$TreeNode.red:Z
81: aload 0
aload 2
invokestatic java.util.HashMap$TreeNode.rotateRight:(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
astore 0
82: StackMap locals:
StackMap stack:
aload 0
astore 1
end local 6 end local 5 end local 3 end local 2 83: goto 0
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 root Ljava/util/HashMap$TreeNode<TK;TV;>;
0 84 1 x Ljava/util/HashMap$TreeNode<TK;TV;>;
3 83 2 xp Ljava/util/HashMap$TreeNode<TK;TV;>;
10 83 3 xpl Ljava/util/HashMap$TreeNode<TK;TV;>;
12 48 4 xpr Ljava/util/HashMap$TreeNode<TK;TV;>;
22 47 5 sl Ljava/util/HashMap$TreeNode<TK;TV;>;
23 47 6 sr Ljava/util/HashMap$TreeNode<TK;TV;>;
58 83 5 sl Ljava/util/HashMap$TreeNode<TK;TV;>;
59 83 6 sr Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/HashMap$TreeNode<TK;TV;>;Ljava/util/HashMap$TreeNode<TK;TV;>;)Ljava/util/HashMap$TreeNode<TK;TV;>;
MethodParameters:
Name Flags
root
x
static <K, V> boolean checkInvariants(java.util.HashMap$TreeNode<K, V>);
descriptor: (Ljava/util/HashMap$TreeNode;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
astore 1
start local 1 1: aload 0
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
astore 2
start local 2 2: aload 0
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
astore 3
start local 3 3: aload 0
getfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
astore 4
start local 4 4: aload 0
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
checkcast java.util.HashMap$TreeNode
astore 5
start local 5 5: aload 4
ifnull 7
aload 4
getfield java.util.HashMap$TreeNode.next:Ljava/util/HashMap$Node;
aload 0
if_acmpeq 7
6: iconst_0
ireturn
7: StackMap locals: java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode java.util.HashMap$TreeNode
StackMap stack:
aload 5
ifnull 9
aload 5
getfield java.util.HashMap$TreeNode.prev:Ljava/util/HashMap$TreeNode;
aload 0
if_acmpeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
ifnull 11
aload 0
aload 1
getfield java.util.HashMap$TreeNode.left:Ljava/util/HashMap$TreeNode;
if_acmpeq 11
aload 0
aload 1
getfield java.util.HashMap$TreeNode.right:Ljava/util/HashMap$TreeNode;
if_acmpeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 2
ifnull 13
aload 2
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
aload 0
if_acmpne 12
aload 2
getfield java.util.HashMap$TreeNode.hash:I
aload 0
getfield java.util.HashMap$TreeNode.hash:I
if_icmple 13
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 3
ifnull 15
aload 3
getfield java.util.HashMap$TreeNode.parent:Ljava/util/HashMap$TreeNode;
aload 0
if_acmpne 14
aload 3
getfield java.util.HashMap$TreeNode.hash:I
aload 0
getfield java.util.HashMap$TreeNode.hash:I
if_icmpge 15
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield java.util.HashMap$TreeNode.red:Z
ifeq 17
aload 2
ifnull 17
aload 2
getfield java.util.HashMap$TreeNode.red:Z
ifeq 17
aload 3
ifnull 17
aload 3
getfield java.util.HashMap$TreeNode.red:Z
ifeq 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 2
ifnull 19
aload 2
invokestatic java.util.HashMap$TreeNode.checkInvariants:(Ljava/util/HashMap$TreeNode;)Z
ifne 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 3
ifnull 21
aload 3
invokestatic java.util.HashMap$TreeNode.checkInvariants:(Ljava/util/HashMap$TreeNode;)Z
ifne 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 22 0 t Ljava/util/HashMap$TreeNode<TK;TV;>;
1 22 1 tp Ljava/util/HashMap$TreeNode<TK;TV;>;
2 22 2 tl Ljava/util/HashMap$TreeNode<TK;TV;>;
3 22 3 tr Ljava/util/HashMap$TreeNode<TK;TV;>;
4 22 4 tb Ljava/util/HashMap$TreeNode<TK;TV;>;
5 22 5 tn Ljava/util/HashMap$TreeNode<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/HashMap$TreeNode<TK;TV;>;)Z
MethodParameters:
Name Flags
t
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/LinkedHashMap$Entry<TK;TV;>;
SourceFile: "HashMap.java"
NestHost: java.util.HashMap
InnerClasses:
Node = java.util.HashMap$Node of java.util.HashMap
final TreeNode = java.util.HashMap$TreeNode of java.util.HashMap
Entry = java.util.LinkedHashMap$Entry of java.util.LinkedHashMap