public class com.sun.tools.javac.util.SharedNameTable extends com.sun.tools.javac.util.Name$Table
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.util.SharedNameTable
super_class: com.sun.tools.javac.util.Name$Table
{
private static com.sun.tools.javac.util.List<java.lang.ref.SoftReference<com.sun.tools.javac.util.SharedNameTable>> freelist;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Lcom/sun/tools/javac/util/List<Ljava/lang/ref/SoftReference<Lcom/sun/tools/javac/util/SharedNameTable;>;>;
private com.sun.tools.javac.util.SharedNameTable$NameImpl[] hashes;
descriptor: [Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
flags: (0x0002) ACC_PRIVATE
public byte[] bytes;
descriptor: [B
flags: (0x0001) ACC_PUBLIC
private int hashMask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nc;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
public static synchronized com.sun.tools.javac.util.SharedNameTable create(com.sun.tools.javac.util.Names);
descriptor: (Lcom/sun/tools/javac/util/Names;)Lcom/sun/tools/javac/util/SharedNameTable;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: goto 5
1: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.tools.javac.util.SharedNameTable
astore 1
start local 1 2: getstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
putstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
3: aload 1
ifnull 5
4: aload 1
areturn
end local 1 5: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 1
6: new com.sun.tools.javac.util.SharedNameTable
dup
aload 0
invokespecial com.sun.tools.javac.util.SharedNameTable.<init>:(Lcom/sun/tools/javac/util/Names;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 names Lcom/sun/tools/javac/util/Names;
2 5 1 t Lcom/sun/tools/javac/util/SharedNameTable;
MethodParameters:
Name Flags
names
private static synchronized void dispose(com.sun.tools.javac.util.SharedNameTable);
descriptor: (Lcom/sun/tools/javac/util/SharedNameTable;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
new java.lang.ref.SoftReference
dup
aload 0
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putstatic com.sun.tools.javac.util.SharedNameTable.freelist:Lcom/sun/tools/javac/util/List;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 t Lcom/sun/tools/javac/util/SharedNameTable;
MethodParameters:
Name Flags
t
public void <init>(com.sun.tools.javac.util.Names, int, int);
descriptor: (Lcom/sun/tools/javac/util/Names;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial com.sun.tools.javac.util.Name$Table.<init>:(Lcom/sun/tools/javac/util/Names;)V
1: aload 0
iconst_0
putfield com.sun.tools.javac.util.SharedNameTable.nc:I
2: aload 0
iload 2
iconst_1
isub
putfield com.sun.tools.javac.util.SharedNameTable.hashMask:I
3: aload 0
iload 2
anewarray com.sun.tools.javac.util.SharedNameTable$NameImpl
putfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
4: aload 0
iload 3
newarray 8
putfield com.sun.tools.javac.util.SharedNameTable.bytes:[B
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/util/SharedNameTable;
0 6 1 names Lcom/sun/tools/javac/util/Names;
0 6 2 hashSize I
0 6 3 nameSize I
MethodParameters:
Name Flags
names
hashSize
nameSize
public void <init>(com.sun.tools.javac.util.Names);
descriptor: (Lcom/sun/tools/javac/util/Names;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 32768
ldc 131072
invokespecial com.sun.tools.javac.util.SharedNameTable.<init>:(Lcom/sun/tools/javac/util/Names;II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/util/SharedNameTable;
0 2 1 names Lcom/sun/tools/javac/util/Names;
MethodParameters:
Name Flags
names
public com.sun.tools.javac.util.Name fromChars(char[], int, int);
descriptor: ([CII)Lcom/sun/tools/javac/util/Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.nc:I
istore 4
start local 4 1: aload 0
aload 0
getfield com.sun.tools.javac.util.SharedNameTable.bytes:[B
iload 4
iload 3
iconst_3
imul
iadd
invokestatic com.sun.tools.javac.util.ArrayUtils.ensureCapacity:([BI)[B
dup_x1
putfield com.sun.tools.javac.util.SharedNameTable.bytes:[B
astore 5
start local 5 2: aload 1
iload 2
aload 5
iload 4
iload 3
invokestatic com.sun.tools.javac.util.Convert.chars2utf:([CI[BII)I
iload 4
isub
istore 6
start local 6 3: aload 5
iload 4
iload 6
invokestatic com.sun.tools.javac.util.SharedNameTable.hashValue:([BII)I
aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashMask:I
iand
istore 7
start local 7 4: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 7
aaload
astore 8
start local 8 5: goto 7
6: StackMap locals: com.sun.tools.javac.util.SharedNameTable char[] int int int byte[] int int com.sun.tools.javac.util.SharedNameTable$NameImpl
StackMap stack:
aload 8
getfield com.sun.tools.javac.util.SharedNameTable$NameImpl.next:Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
astore 8
7: StackMap locals:
StackMap stack:
aload 8
ifnull 10
8: aload 8
invokevirtual com.sun.tools.javac.util.SharedNameTable$NameImpl.getByteLength:()I
iload 6
if_icmpne 6
9: aload 5
aload 8
getfield com.sun.tools.javac.util.SharedNameTable$NameImpl.index:I
aload 5
iload 4
iload 6
invokestatic com.sun.tools.javac.util.SharedNameTable.equals:([BI[BII)Z
ifeq 6
10: StackMap locals:
StackMap stack:
aload 8
ifnonnull 19
11: new com.sun.tools.javac.util.SharedNameTable$NameImpl
dup
aload 0
invokespecial com.sun.tools.javac.util.SharedNameTable$NameImpl.<init>:(Lcom/sun/tools/javac/util/SharedNameTable;)V
astore 8
12: aload 8
iload 4
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.index:I
13: aload 8
iload 6
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.length:I
14: aload 8
aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 7
aaload
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.next:Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
15: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 7
aload 8
aastore
16: aload 0
iload 4
iload 6
iadd
putfield com.sun.tools.javac.util.SharedNameTable.nc:I
17: iload 6
ifne 19
18: aload 0
dup
getfield com.sun.tools.javac.util.SharedNameTable.nc:I
iconst_1
iadd
putfield com.sun.tools.javac.util.SharedNameTable.nc:I
19: StackMap locals:
StackMap stack:
aload 8
areturn
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 20 0 this Lcom/sun/tools/javac/util/SharedNameTable;
0 20 1 cs [C
0 20 2 start I
0 20 3 len I
1 20 4 nc I
2 20 5 bytes [B
3 20 6 nbytes I
4 20 7 h I
5 20 8 n Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
MethodParameters:
Name Flags
cs
start
len
public com.sun.tools.javac.util.Name fromUtf(byte[], int, int);
descriptor: ([BII)Lcom/sun/tools/javac/util/Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic com.sun.tools.javac.util.SharedNameTable.hashValue:([BII)I
aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashMask:I
iand
istore 4
start local 4 1: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 4
aaload
astore 5
start local 5 2: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.bytes:[B
astore 6
start local 6 3: goto 5
4: StackMap locals: int com.sun.tools.javac.util.SharedNameTable$NameImpl byte[]
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.SharedNameTable$NameImpl.next:Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
astore 5
5: StackMap locals:
StackMap stack:
aload 5
ifnull 7
6: aload 5
invokevirtual com.sun.tools.javac.util.SharedNameTable$NameImpl.getByteLength:()I
iload 3
if_icmpne 4
aload 6
aload 5
getfield com.sun.tools.javac.util.SharedNameTable$NameImpl.index:I
aload 1
iload 2
iload 3
invokestatic com.sun.tools.javac.util.SharedNameTable.equals:([BI[BII)Z
ifeq 4
7: StackMap locals:
StackMap stack:
aload 5
ifnonnull 19
8: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.nc:I
istore 7
start local 7 9: aload 0
aload 6
iload 7
iload 3
iadd
invokestatic com.sun.tools.javac.util.ArrayUtils.ensureCapacity:([BI)[B
dup_x1
putfield com.sun.tools.javac.util.SharedNameTable.bytes:[B
astore 6
10: aload 1
iload 2
aload 6
iload 7
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: new com.sun.tools.javac.util.SharedNameTable$NameImpl
dup
aload 0
invokespecial com.sun.tools.javac.util.SharedNameTable$NameImpl.<init>:(Lcom/sun/tools/javac/util/SharedNameTable;)V
astore 5
12: aload 5
iload 7
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.index:I
13: aload 5
iload 3
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.length:I
14: aload 5
aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 4
aaload
putfield com.sun.tools.javac.util.SharedNameTable$NameImpl.next:Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
15: aload 0
getfield com.sun.tools.javac.util.SharedNameTable.hashes:[Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
iload 4
aload 5
aastore
16: aload 0
iload 7
iload 3
iadd
putfield com.sun.tools.javac.util.SharedNameTable.nc:I
17: iload 3
ifne 19
18: aload 0
dup
getfield com.sun.tools.javac.util.SharedNameTable.nc:I
iconst_1
iadd
putfield com.sun.tools.javac.util.SharedNameTable.nc:I
end local 7 19: StackMap locals:
StackMap stack:
aload 5
areturn
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 20 0 this Lcom/sun/tools/javac/util/SharedNameTable;
0 20 1 cs [B
0 20 2 start I
0 20 3 len I
1 20 4 h I
2 20 5 n Lcom/sun/tools/javac/util/SharedNameTable$NameImpl;
3 20 6 names [B
9 19 7 nc I
MethodParameters:
Name Flags
cs
start
len
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.sun.tools.javac.util.SharedNameTable.dispose:(Lcom/sun/tools/javac/util/SharedNameTable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/util/SharedNameTable;
}
SourceFile: "SharedNameTable.java"
NestMembers:
com.sun.tools.javac.util.SharedNameTable$NameImpl
InnerClasses:
public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
NameImpl = com.sun.tools.javac.util.SharedNameTable$NameImpl of com.sun.tools.javac.util.SharedNameTable