public class sun.jvm.hotspot.code.CodeCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.code.CodeCache
super_class: java.lang.Object
{
private static sun.jvm.hotspot.utilities.GrowableArray<sun.jvm.hotspot.memory.CodeHeap> heapArray;
descriptor: Lsun/jvm/hotspot/utilities/GrowableArray;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Lsun/jvm/hotspot/utilities/GrowableArray<Lsun/jvm/hotspot/memory/CodeHeap;>;
private static sun.jvm.hotspot.types.AddressField scavengeRootNMethodsField;
descriptor: Lsun/jvm/hotspot/types/AddressField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.runtime.VirtualConstructor virtualConstructor;
descriptor: Lsun/jvm/hotspot/runtime/VirtualConstructor;
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.code.CodeCache$1
dup
invokespecial sun.jvm.hotspot.code.CodeCache$1.<init>:()V
invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/code/CodeCache;
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=6, locals=5, args_size=1
start local 0 0: aload 0
ldc "CodeCache"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 1
start local 1 1: aload 0
ldc "CodeHeap"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 2
start local 2 2: new sun.jvm.hotspot.runtime.VirtualBaseConstructor
dup
aload 0
aload 2
ldc "sun.jvm.hotspot.memory"
ldc Lsun/jvm/hotspot/memory/CodeHeap;
invokespecial sun.jvm.hotspot.runtime.VirtualBaseConstructor.<init>:(Lsun/jvm/hotspot/types/TypeDataBase;Lsun/jvm/hotspot/types/Type;Ljava/lang/String;Ljava/lang/Class;)V
3: astore 3
start local 3 4: aload 1
ldc "_heaps"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
astore 4
start local 4 5: aload 4
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
aload 3
invokestatic sun.jvm.hotspot.utilities.GrowableArray.create:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/runtime/InstanceConstructor;)Lsun/jvm/hotspot/utilities/GrowableArray;
putstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
6: aload 1
ldc "_scavenge_root_nmethods"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
putstatic sun.jvm.hotspot.code.CodeCache.scavengeRootNMethodsField:Lsun/jvm/hotspot/types/AddressField;
7: new sun.jvm.hotspot.runtime.VirtualConstructor
dup
aload 0
invokespecial sun.jvm.hotspot.runtime.VirtualConstructor.<init>:(Lsun/jvm/hotspot/types/TypeDataBase;)V
putstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
8: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "BufferBlob"
ldc Lsun/jvm/hotspot/code/BufferBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
9: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "nmethod"
ldc Lsun/jvm/hotspot/code/NMethod;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
10: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "RuntimeStub"
ldc Lsun/jvm/hotspot/code/RuntimeStub;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
11: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "AdapterBlob"
ldc Lsun/jvm/hotspot/code/AdapterBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
12: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "MethodHandlesAdapterBlob"
ldc Lsun/jvm/hotspot/code/MethodHandlesAdapterBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
13: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "SafepointBlob"
ldc Lsun/jvm/hotspot/code/SafepointBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
14: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "DeoptimizationBlob"
ldc Lsun/jvm/hotspot/code/DeoptimizationBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
15: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isServerCompiler:()Z
ifeq 18
16: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "ExceptionBlob"
ldc Lsun/jvm/hotspot/code/ExceptionBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
17: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
ldc "UncommonTrapBlob"
ldc Lsun/jvm/hotspot/code/UncommonTrapBlob;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.addMapping:(Ljava/lang/String;Ljava/lang/Class;)Z
pop
18: StackMap locals: sun.jvm.hotspot.types.TypeDataBase sun.jvm.hotspot.types.Type sun.jvm.hotspot.types.Type sun.jvm.hotspot.runtime.VirtualBaseConstructor sun.jvm.hotspot.types.AddressField
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 db Lsun/jvm/hotspot/types/TypeDataBase;
1 19 1 type Lsun/jvm/hotspot/types/Type;
2 19 2 codeHeapType Lsun/jvm/hotspot/types/Type;
4 19 3 heapConstructor Lsun/jvm/hotspot/runtime/VirtualBaseConstructor;
5 19 4 heapsField Lsun/jvm/hotspot/types/AddressField;
MethodParameters:
Name Flags
db
public sun.jvm.hotspot.code.NMethod scavengeRootMethods();
descriptor: ()Lsun/jvm/hotspot/code/NMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc Lsun/jvm/hotspot/code/NMethod;
getstatic sun.jvm.hotspot.code.CodeCache.scavengeRootNMethodsField:Lsun/jvm/hotspot/types/AddressField;
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
checkcast sun.jvm.hotspot.code.NMethod
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/code/CodeCache;
public boolean contains(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
aload 1
invokevirtual sun.jvm.hotspot.memory.CodeHeap.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.length:()I
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/jvm/hotspot/code/CodeCache;
0 7 1 p Lsun/jvm/hotspot/debugger/Address;
1 6 2 i I
MethodParameters:
Name Flags
p
public sun.jvm.hotspot.code.CodeBlob findBlob(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.jvm.hotspot.code.CodeCache.findBlobUnsafe:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: sun.jvm.hotspot.code.CodeBlob
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isDebugging:()Z
ifeq 4
3: aload 2
areturn
4: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 9
5: aload 2
invokevirtual sun.jvm.hotspot.code.CodeBlob.isZombie:()Z
ifne 6
aload 2
invokevirtual sun.jvm.hotspot.code.CodeBlob.isLockedByVM:()Z
ifeq 7
StackMap locals:
StackMap stack:
6: iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: ldc "unsafe access to zombie method"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/jvm/hotspot/code/CodeCache;
0 10 1 start Lsun/jvm/hotspot/debugger/Address;
1 10 2 result Lsun/jvm/hotspot/code/CodeBlob;
MethodParameters:
Name Flags
start
public sun.jvm.hotspot.code.CodeBlob findBlobUnsafe(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, 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: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: sun.jvm.hotspot.code.CodeBlob sun.jvm.hotspot.memory.CodeHeap int
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 4
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
aload 1
invokevirtual sun.jvm.hotspot.memory.CodeHeap.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 7
5: getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 4
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
astore 3
6: goto 9
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.length:()I
if_icmplt 4
end local 4 9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 11
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
aload 3
aload 1
invokevirtual sun.jvm.hotspot.memory.CodeHeap.findStart:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/VMObject;
checkcast sun.jvm.hotspot.code.CodeBlob
astore 2
12: goto 24
13: StackMap locals:
StackMap stack: sun.jvm.hotspot.types.WrongTypeException
astore 4
start local 4 14: aconst_null
astore 5
start local 5 15: aload 3
aload 1
invokevirtual sun.jvm.hotspot.memory.CodeHeap.findStart:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
astore 5
16: goto 19
17: StackMap locals: sun.jvm.hotspot.code.CodeCache sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.code.CodeBlob sun.jvm.hotspot.memory.CodeHeap sun.jvm.hotspot.types.WrongTypeException sun.jvm.hotspot.debugger.Address
StackMap stack: java.lang.Exception
astore 6
start local 6 18: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
end local 6 19: StackMap locals:
StackMap stack:
ldc "Couldn't deduce type of CodeBlob "
astore 6
start local 6 20: aload 5
ifnull 22
21: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
22: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "for PC="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
23: new java.lang.RuntimeException
dup
aload 6
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 24: StackMap locals:
StackMap stack:
aload 2
ifnonnull 25
aconst_null
areturn
25: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 30
26: aload 2
aload 1
invokevirtual sun.jvm.hotspot.code.CodeBlob.blobContains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 27
aload 2
aload 1
ldc 8
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
invokevirtual sun.jvm.hotspot.code.CodeBlob.blobContains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 27
iconst_0
goto 28
StackMap locals:
StackMap stack:
27: iconst_1
28: StackMap locals:
StackMap stack: int
ldc "found wrong CodeBlob"
29: invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/jvm/hotspot/code/CodeCache;
0 31 1 start Lsun/jvm/hotspot/debugger/Address;
1 31 2 result Lsun/jvm/hotspot/code/CodeBlob;
2 31 3 containing_heap Lsun/jvm/hotspot/memory/CodeHeap;
3 9 4 i I
14 24 4 wte Lsun/jvm/hotspot/types/WrongTypeException;
15 24 5 cbAddr Lsun/jvm/hotspot/debugger/Address;
18 19 6 findEx Ljava/lang/Exception;
20 24 6 message Ljava/lang/String;
Exception table:
from to target type
11 12 13 Class sun.jvm.hotspot.types.WrongTypeException
15 16 17 Class java.lang.Exception
MethodParameters:
Name Flags
start
public sun.jvm.hotspot.code.NMethod findNMethod(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/NMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.jvm.hotspot.code.CodeCache.findBlob:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
astore 2
start local 2 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 5
2: aload 2
ifnull 3
aload 2
invokevirtual sun.jvm.hotspot.code.CodeBlob.isNMethod:()Z
ifne 3
iconst_0
goto 4
StackMap locals: sun.jvm.hotspot.code.CodeBlob
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ldc "did not find an nmethod"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 2
checkcast sun.jvm.hotspot.code.NMethod
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/code/CodeCache;
0 6 1 start Lsun/jvm/hotspot/debugger/Address;
1 6 2 cb Lsun/jvm/hotspot/code/CodeBlob;
MethodParameters:
Name Flags
start
public sun.jvm.hotspot.code.NMethod findNMethodUnsafe(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/NMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.jvm.hotspot.code.CodeCache.findBlobUnsafe:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
astore 2
start local 2 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 5
2: aload 2
ifnull 3
aload 2
invokevirtual sun.jvm.hotspot.code.CodeBlob.isNMethod:()Z
ifne 3
iconst_0
goto 4
StackMap locals: sun.jvm.hotspot.code.CodeBlob
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ldc "did not find an nmethod"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 2
checkcast sun.jvm.hotspot.code.NMethod
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/code/CodeCache;
0 6 1 start Lsun/jvm/hotspot/debugger/Address;
1 6 2 cb Lsun/jvm/hotspot/code/CodeBlob;
MethodParameters:
Name Flags
start
public sun.jvm.hotspot.code.CodeBlob createCodeBlobWrapper(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.code.CodeCache.virtualConstructor:Lsun/jvm/hotspot/runtime/VirtualConstructor;
aload 1
invokevirtual sun.jvm.hotspot.runtime.VirtualConstructor.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/VMObject;
checkcast sun.jvm.hotspot.code.CodeBlob
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: new java.lang.StringBuilder
dup
ldc "Unable to deduce type of CodeBlob from address "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc " (expected type nmethod, RuntimeStub, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 6: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
ifeq 8
7: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "SafepointBlob"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
9: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isServerCompiler:()Z
ifeq 11
10: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", DeoptimizationBlob, or ExceptionBlob"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
12: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/jvm/hotspot/code/CodeCache;
0 13 1 codeBlobAddr Lsun/jvm/hotspot/debugger/Address;
6 13 2 message Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
codeBlobAddr
public void iterate(sun.jvm.hotspot.code.CodeCacheVisitor);
descriptor: (Lsun/jvm/hotspot/code/CodeCacheVisitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual sun.jvm.hotspot.code.CodeCache.lowBound:()Lsun/jvm/hotspot/debugger/Address;
aload 0
invokevirtual sun.jvm.hotspot.code.CodeCache.highBound:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.code.CodeCacheVisitor.prologue:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
astore 3
start local 3 4: aload 3
aload 1
aload 0
invokevirtual sun.jvm.hotspot.memory.CodeHeap.iterate:(Lsun/jvm/hotspot/code/CodeCacheVisitor;Lsun/jvm/hotspot/code/CodeCache;)V
end local 3 5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.length:()I
if_icmplt 3
end local 2 7: aload 1
invokeinterface sun.jvm.hotspot.code.CodeCacheVisitor.epilogue:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/jvm/hotspot/code/CodeCache;
0 9 1 visitor Lsun/jvm/hotspot/code/CodeCacheVisitor;
2 7 2 i I
4 5 3 current_heap Lsun/jvm/hotspot/memory/CodeHeap;
MethodParameters:
Name Flags
visitor
private sun.jvm.hotspot.debugger.Address lowBound();
descriptor: ()Lsun/jvm/hotspot/debugger/Address;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iconst_0
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.begin:()Lsun/jvm/hotspot/debugger/Address;
astore 1
start local 1 1: iconst_1
istore 2
start local 2 2: goto 6
3: StackMap locals: sun.jvm.hotspot.debugger.Address int
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.begin:()Lsun/jvm/hotspot/debugger/Address;
aload 1
invokeinterface sun.jvm.hotspot.debugger.Address.lessThan:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 5
4: getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.begin:()Lsun/jvm/hotspot/debugger/Address;
astore 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.length:()I
if_icmplt 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/code/CodeCache;
1 8 1 low Lsun/jvm/hotspot/debugger/Address;
2 7 2 i I
private sun.jvm.hotspot.debugger.Address highBound();
descriptor: ()Lsun/jvm/hotspot/debugger/Address;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iconst_0
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.end:()Lsun/jvm/hotspot/debugger/Address;
astore 1
start local 1 1: iconst_1
istore 2
start local 2 2: goto 6
3: StackMap locals: sun.jvm.hotspot.debugger.Address int
StackMap stack:
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.end:()Lsun/jvm/hotspot/debugger/Address;
aload 1
invokeinterface sun.jvm.hotspot.debugger.Address.greaterThan:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 5
4: getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
iload 2
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.at:(I)Ljava/lang/Object;
checkcast sun.jvm.hotspot.memory.CodeHeap
invokevirtual sun.jvm.hotspot.memory.CodeHeap.end:()Lsun/jvm/hotspot/debugger/Address;
astore 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
getstatic sun.jvm.hotspot.code.CodeCache.heapArray:Lsun/jvm/hotspot/utilities/GrowableArray;
invokevirtual sun.jvm.hotspot.utilities.GrowableArray.length:()I
if_icmplt 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/code/CodeCache;
1 8 1 high Lsun/jvm/hotspot/debugger/Address;
2 7 2 i I
}
SourceFile: "CodeCache.java"
NestMembers:
sun.jvm.hotspot.code.CodeCache$1
InnerClasses:
sun.jvm.hotspot.code.CodeCache$1