public class sun.jvm.hotspot.oops.TypeArrayKlass extends sun.jvm.hotspot.oops.ArrayKlass
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.oops.TypeArrayKlass
super_class: sun.jvm.hotspot.oops.ArrayKlass
{
private static sun.jvm.hotspot.oops.IntField maxLength;
descriptor: Lsun/jvm/hotspot/oops/IntField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int T_BOOLEAN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int T_CHAR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int T_FLOAT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int T_DOUBLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int T_BYTE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int T_SHORT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int T_INT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final int T_LONG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 11
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.jvm.hotspot.oops.TypeArrayKlass$1
dup
invokespecial sun.jvm.hotspot.oops.TypeArrayKlass$1.<init>:()V
invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "TypeArrayKlass"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 1
start local 1 1: new sun.jvm.hotspot.oops.IntField
dup
aload 1
ldc "_max_length"
invokeinterface sun.jvm.hotspot.types.Type.getJIntField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/JIntField;
lconst_0
invokespecial sun.jvm.hotspot.oops.IntField.<init>:(Lsun/jvm/hotspot/types/JIntField;J)V
putstatic sun.jvm.hotspot.oops.TypeArrayKlass.maxLength:Lsun/jvm/hotspot/oops/IntField;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 db Lsun/jvm/hotspot/types/TypeDataBase;
1 3 1 t Lsun/jvm/hotspot/types/Type;
Exceptions:
throws sun.jvm.hotspot.types.WrongTypeException
MethodParameters:
Name Flags
db
public void <init>(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.jvm.hotspot.oops.ArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
0 2 1 addr Lsun/jvm/hotspot/debugger/Address;
MethodParameters:
Name Flags
addr
public long getMaxLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.TypeArrayKlass.maxLength:Lsun/jvm/hotspot/oops/IntField;
aload 0
invokevirtual sun.jvm.hotspot.oops.IntField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
public java.lang.String getTypeName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getElementType:()I
tableswitch { // 4 - 11
4: 1
5: 2
6: 3
7: 4
8: 5
9: 6
10: 7
11: 8
default: 9
}
1: StackMap locals:
StackMap stack:
ldc "[Z"
areturn
2: StackMap locals:
StackMap stack:
ldc "[C"
areturn
3: StackMap locals:
StackMap stack:
ldc "[F"
areturn
4: StackMap locals:
StackMap stack:
ldc "[D"
areturn
5: StackMap locals:
StackMap stack:
ldc "[B"
areturn
6: StackMap locals:
StackMap stack:
ldc "[S"
areturn
7: StackMap locals:
StackMap stack:
ldc "[I"
areturn
8: StackMap locals:
StackMap stack:
ldc "[J"
areturn
9: StackMap locals:
StackMap stack:
ldc "Unknown TypeArray"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
public java.lang.String getElementTypeName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getElementType:()I
tableswitch { // 4 - 11
4: 1
5: 2
6: 3
7: 4
8: 5
9: 6
10: 7
11: 8
default: 9
}
1: StackMap locals:
StackMap stack:
ldc "boolean"
areturn
2: StackMap locals:
StackMap stack:
ldc "char"
areturn
3: StackMap locals:
StackMap stack:
ldc "float"
areturn
4: StackMap locals:
StackMap stack:
ldc "double"
areturn
5: StackMap locals:
StackMap stack:
ldc "byte"
areturn
6: StackMap locals:
StackMap stack:
ldc "short"
areturn
7: StackMap locals:
StackMap stack:
ldc "int"
areturn
8: StackMap locals:
StackMap stack:
ldc "long"
areturn
9: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "should not reach here"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
public void printValueOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "TypeArrayKlass for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
0 2 1 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
tty
public void iterateFields(sun.jvm.hotspot.oops.MetadataVisitor);
descriptor: (Lsun/jvm/hotspot/oops/MetadataVisitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.jvm.hotspot.oops.ArrayKlass.iterateFields:(Lsun/jvm/hotspot/oops/MetadataVisitor;)V
1: aload 1
getstatic sun.jvm.hotspot.oops.TypeArrayKlass.maxLength:Lsun/jvm/hotspot/oops/IntField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doInt:(Lsun/jvm/hotspot/oops/IntField;Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
0 3 1 visitor Lsun/jvm/hotspot/oops/MetadataVisitor;
MethodParameters:
Name Flags
visitor
public sun.jvm.hotspot.oops.Klass arrayKlassImpl(boolean, int);
descriptor: (ZI)Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getDimension:()J
l2i
istore 3
start local 3 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 5
2: iload 3
iload 2
if_icmpgt 3
iconst_1
goto 4
StackMap locals: int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ldc "check order of chain"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
5: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpne 7
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getHigherDimension:()Lsun/jvm/hotspot/oops/Klass;
checkcast sun.jvm.hotspot.oops.ObjArrayKlass
astore 4
start local 4 8: aload 4
ifnonnull 11
9: iload 1
ifeq 10
aconst_null
areturn
10: StackMap locals: sun.jvm.hotspot.oops.ObjArrayKlass
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Can not allocate array klasses in debugging system"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
iload 1
ifeq 13
12: aload 4
iload 2
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.arrayKlassOrNull:(I)Lsun/jvm/hotspot/oops/Klass;
areturn
13: StackMap locals:
StackMap stack:
aload 4
iload 2
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.arrayKlass:(I)Lsun/jvm/hotspot/oops/Klass;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
0 14 1 orNull Z
0 14 2 n I
1 14 3 dimension I
8 14 4 ak Lsun/jvm/hotspot/oops/ObjArrayKlass;
MethodParameters:
Name Flags
orNull
n
public sun.jvm.hotspot.oops.Klass arrayKlassImpl(boolean);
descriptor: (Z)Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aload 0
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getDimension:()J
lconst_1
ladd
l2i
invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.arrayKlassImpl:(ZI)Lsun/jvm/hotspot/oops/Klass;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/TypeArrayKlass;
0 1 1 orNull Z
MethodParameters:
Name Flags
orNull
}
SourceFile: "TypeArrayKlass.java"
NestMembers:
sun.jvm.hotspot.oops.TypeArrayKlass$1
InnerClasses:
sun.jvm.hotspot.oops.TypeArrayKlass$1