public class org.apache.batik.util.SoftDoublyIndexedTable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.util.SoftDoublyIndexedTable
super_class: java.lang.Object
{
protected static final int INITIAL_CAPACITY;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 11
protected org.apache.batik.util.SoftDoublyIndexedTable$Entry[] table;
descriptor: [Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
flags: (0x0004) ACC_PROTECTED
protected int count;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.ref.ReferenceQueue referenceQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.batik.util.SoftDoublyIndexedTable.referenceQueue:Ljava/lang/ref/ReferenceQueue;
2: aload 0
bipush 11
anewarray org.apache.batik.util.SoftDoublyIndexedTable$Entry
putfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.batik.util.SoftDoublyIndexedTable.referenceQueue:Ljava/lang/ref/ReferenceQueue;
2: aload 0
iload 1
anewarray org.apache.batik.util.SoftDoublyIndexedTable$Entry
putfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
0 4 1 c I
MethodParameters:
Name Flags
c
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
public java.lang.Object get(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable.hashCode:(Ljava/lang/Object;Ljava/lang/Object;)I
ldc 2147483647
iand
istore 3
start local 3 1: iload 3
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
irem
istore 4
start local 4 2: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 4
aaload
astore 5
start local 5 3: goto 7
4: StackMap locals: int int org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 5
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.hash:I
iload 3
if_icmpne 6
aload 5
aload 1
aload 2
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.match:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: aload 5
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.get:()Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 5
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 5
StackMap locals:
StackMap stack:
7: aload 5
ifnonnull 4
end local 5 8: 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 9 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
0 9 1 o1 Ljava/lang/Object;
0 9 2 o2 Ljava/lang/Object;
1 9 3 hash I
2 9 4 index I
3 8 5 e Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
MethodParameters:
Name Flags
o1
o2
public java.lang.Object put(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable.removeClearedEntries:()V
1: aload 0
aload 1
aload 2
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable.hashCode:(Ljava/lang/Object;Ljava/lang/Object;)I
ldc 2147483647
iand
istore 4
start local 4 2: iload 4
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
irem
istore 5
start local 5 3: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
aaload
astore 6
start local 6 4: aload 6
ifnull 20
5: aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.hash:I
iload 4
if_icmpne 9
aload 6
aload 1
aload 2
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.match:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 9
6: aload 6
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.get:()Ljava/lang/Object;
astore 7
start local 7 7: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
new org.apache.batik.util.SoftDoublyIndexedTable$Entry
dup
aload 0
iload 4
aload 1
aload 2
aload 3
aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
invokespecial org.apache.batik.util.SoftDoublyIndexedTable$Entry.<init>:(Lorg/apache/batik/util/SoftDoublyIndexedTable;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;)V
aastore
8: aload 7
areturn
end local 7 9: StackMap locals: int int org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 6
astore 7
start local 7 10: aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 6
11: goto 19
12: StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.hash:I
iload 4
if_icmpne 17
aload 6
aload 1
aload 2
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.match:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 17
13: aload 6
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable$Entry.get:()Ljava/lang/Object;
astore 8
start local 8 14: new org.apache.batik.util.SoftDoublyIndexedTable$Entry
dup
aload 0
iload 4
aload 1
aload 2
aload 3
aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
invokespecial org.apache.batik.util.SoftDoublyIndexedTable$Entry.<init>:(Lorg/apache/batik/util/SoftDoublyIndexedTable;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;)V
astore 6
15: aload 7
aload 6
putfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
16: aload 8
areturn
end local 8 17: StackMap locals:
StackMap stack:
aload 6
astore 7
18: aload 6
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 6
19: StackMap locals:
StackMap stack:
aload 6
ifnonnull 12
end local 7 20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
istore 7
start local 7 21: aload 0
dup
getfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
dup_x1
iconst_1
iadd
putfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
iload 7
iload 7
iconst_2
ishr
isub
if_icmplt 24
22: aload 0
invokevirtual org.apache.batik.util.SoftDoublyIndexedTable.rehash:()V
23: iload 4
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
irem
istore 5
24: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
new org.apache.batik.util.SoftDoublyIndexedTable$Entry
dup
aload 0
iload 4
aload 1
aload 2
aload 3
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
aaload
invokespecial org.apache.batik.util.SoftDoublyIndexedTable$Entry.<init>:(Lorg/apache/batik/util/SoftDoublyIndexedTable;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;)V
aastore
25: aconst_null
areturn
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 26 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
0 26 1 o1 Ljava/lang/Object;
0 26 2 o2 Ljava/lang/Object;
0 26 3 value Ljava/lang/Object;
2 26 4 hash I
3 26 5 index I
4 26 6 e Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
7 9 7 old Ljava/lang/Object;
10 20 7 o Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
14 17 8 old Ljava/lang/Object;
21 26 7 len I
MethodParameters:
Name Flags
o1
o2
value
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 11
anewarray org.apache.batik.util.SoftDoublyIndexedTable$Entry
putfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
1: aload 0
iconst_0
putfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.batik.util.SoftDoublyIndexedTable.referenceQueue:Ljava/lang/ref/ReferenceQueue;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
protected void rehash();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 1
start local 1 1: aload 0
aload 1
arraylength
iconst_2
imul
iconst_1
iadd
anewarray org.apache.batik.util.SoftDoublyIndexedTable$Entry
putfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
2: aload 1
arraylength
iconst_1
isub
istore 2
start local 2 3: goto 13
4: StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable$Entry[] int
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 5: goto 11
6: StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 3
astore 4
start local 4 7: aload 3
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 3
8: aload 4
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.hash:I
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
irem
istore 5
start local 5 9: aload 4
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
aaload
putfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
10: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 5
aload 4
aastore
end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
end local 3 12: iinc 2 -1
StackMap locals:
StackMap stack:
13: iload 2
ifge 4
end local 2 14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
1 15 1 oldTable [Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
3 14 2 i I
5 12 3 old Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
7 11 4 e Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
9 11 5 index I
protected int hashCode(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.lang.Object.hashCode:()I
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 3
aload 2
ifnonnull 4
iconst_0
goto 5
StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable java.lang.Object java.lang.Object int
StackMap stack: int
4: aload 2
invokevirtual java.lang.Object.hashCode:()I
StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable java.lang.Object java.lang.Object int
StackMap stack: int int
5: ixor
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
0 6 1 o1 Ljava/lang/Object;
0 6 2 o2 Ljava/lang/Object;
3 6 3 result I
MethodParameters:
Name Flags
o1
o2
protected void removeClearedEntries();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=1
start local 0 0: goto 13
start local 1 1: StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 1
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.hash:I
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
arraylength
irem
istore 2
start local 2 2: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 2
aaload
astore 3
start local 3 3: aload 3
aload 1
if_acmpne 11
4: aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.table:[Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
iload 2
aload 1
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
aastore
5: goto 12
6: StackMap locals: int org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 3
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
astore 4
start local 4 7: aload 4
aload 1
if_acmpne 10
8: aload 3
aload 1
getfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
putfield org.apache.batik.util.SoftDoublyIndexedTable$Entry.next:Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
9: goto 12
10: StackMap locals: org.apache.batik.util.SoftDoublyIndexedTable$Entry
StackMap stack:
aload 4
astore 3
end local 4 11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
iconst_1
isub
putfield org.apache.batik.util.SoftDoublyIndexedTable.count:I
end local 3 end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.util.SoftDoublyIndexedTable.referenceQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast org.apache.batik.util.SoftDoublyIndexedTable$Entry
dup
astore 1
start local 1 14: ifnonnull 1
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/batik/util/SoftDoublyIndexedTable;
1 13 1 e Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
14 16 1 e Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
2 13 2 index I
3 13 3 t Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
7 11 4 c Lorg/apache/batik/util/SoftDoublyIndexedTable$Entry;
}
SourceFile: "SoftDoublyIndexedTable.java"
NestMembers:
org.apache.batik.util.SoftDoublyIndexedTable$Entry
InnerClasses:
protected Entry = org.apache.batik.util.SoftDoublyIndexedTable$Entry of org.apache.batik.util.SoftDoublyIndexedTable