public class sun.jvm.hotspot.oops.ObjArrayKlass 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.ObjArrayKlass
super_class: sun.jvm.hotspot.oops.ArrayKlass
{
private static sun.jvm.hotspot.oops.MetadataField elementKlass;
descriptor: Lsun/jvm/hotspot/oops/MetadataField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.MetadataField bottomKlass;
descriptor: Lsun/jvm/hotspot/oops/MetadataField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.jvm.hotspot.oops.ObjArrayKlass$1
dup
invokespecial sun.jvm.hotspot.oops.ObjArrayKlass$1.<init>:()V
invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Lsun/jvm/hotspot/utilities/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 "ObjArrayKlass"
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.MetadataField
dup
aload 1
ldc "_element_klass"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
lconst_0
invokespecial sun.jvm.hotspot.oops.MetadataField.<init>:(Lsun/jvm/hotspot/types/AddressField;J)V
putstatic sun.jvm.hotspot.oops.ObjArrayKlass.elementKlass:Lsun/jvm/hotspot/oops/MetadataField;
2: new sun.jvm.hotspot.oops.MetadataField
dup
aload 1
ldc "_bottom_klass"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
lconst_0
invokespecial sun.jvm.hotspot.oops.MetadataField.<init>:(Lsun/jvm/hotspot/types/AddressField;J)V
putstatic sun.jvm.hotspot.oops.ObjArrayKlass.bottomKlass:Lsun/jvm/hotspot/oops/MetadataField;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 db Lsun/jvm/hotspot/types/TypeDataBase;
1 4 1 type 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/ObjArrayKlass;
0 2 1 addr Lsun/jvm/hotspot/debugger/Address;
MethodParameters:
Name Flags
addr
public sun.jvm.hotspot.oops.Klass getElementKlass();
descriptor: ()Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ObjArrayKlass.elementKlass:Lsun/jvm/hotspot/oops/MetadataField;
aload 0
invokevirtual sun.jvm.hotspot.oops.MetadataField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ObjArrayKlass;
public sun.jvm.hotspot.oops.Klass getBottomKlass();
descriptor: ()Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ObjArrayKlass.bottomKlass:Lsun/jvm/hotspot/oops/MetadataField;
aload 0
invokevirtual sun.jvm.hotspot.oops.MetadataField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ObjArrayKlass;
public long computeModifierFlags();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getElementKlass:()Lsun/jvm/hotspot/oops/Klass;
invokevirtual sun.jvm.hotspot.oops.Klass.computeModifierFlags:()J
lstore 1
start local 1 1: lconst_0
lstore 3
start local 3 2: lload 1
ldc 5
land
lconst_0
lcmp
ifeq 5
3: ldc 1041
lstore 3
4: goto 6
5: StackMap locals: long long
StackMap stack:
ldc 1040
lstore 3
6: StackMap locals:
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/jvm/hotspot/oops/ObjArrayKlass;
1 7 1 elementFlags J
2 7 3 arrayFlags J
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.ObjArrayKlass.elementKlass:Lsun/jvm/hotspot/oops/MetadataField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doMetadata:(Lsun/jvm/hotspot/oops/MetadataField;Z)V
2: aload 1
getstatic sun.jvm.hotspot.oops.ObjArrayKlass.bottomKlass:Lsun/jvm/hotspot/oops/MetadataField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doMetadata:(Lsun/jvm/hotspot/oops/MetadataField;Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ObjArrayKlass;
0 4 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=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 4
1: aload 0
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getDimension:()J
iload 2
i2l
lcmp
ifgt 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "check order of chain"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getDimension:()J
l2i
istore 3
start local 3 5: iload 3
iload 2
if_icmpne 7
6: aload 0
areturn
7: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.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/ObjArrayKlass;
0 14 1 orNull Z
0 14 2 n I
5 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.ObjArrayKlass.getDimension:()J
lconst_1
ladd
l2i
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.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/ObjArrayKlass;
0 1 1 orNull Z
MethodParameters:
Name Flags
orNull
public void printValueOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "ObjArrayKlass for "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getElementKlass:()Lsun/jvm/hotspot/oops/Klass;
aload 1
invokevirtual sun.jvm.hotspot.oops.Klass.printValueOn:(Ljava/io/PrintStream;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ObjArrayKlass;
0 3 1 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
tty
}
SourceFile: "ObjArrayKlass.java"
NestMembers:
sun.jvm.hotspot.oops.ObjArrayKlass$1
InnerClasses:
sun.jvm.hotspot.oops.ObjArrayKlass$1