class sun.jvm.hotspot.runtime.InterpreterFrameClosure implements sun.jvm.hotspot.interpreter.OffsetClosure
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.runtime.InterpreterFrameClosure
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private sun.jvm.hotspot.runtime.Frame fr;
descriptor: Lsun/jvm/hotspot/runtime/Frame;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.runtime.AddressVisitor f;
descriptor: Lsun/jvm/hotspot/runtime/AddressVisitor;
flags: (0x0002) ACC_PRIVATE
private int maxLocals;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maxStack;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(sun.jvm.hotspot.runtime.Frame, int, int, sun.jvm.hotspot.runtime.AddressVisitor);
descriptor: (Lsun/jvm/hotspot/runtime/Frame;IILsun/jvm/hotspot/runtime/AddressVisitor;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 // sun.jvm.hotspot.runtime.InterpreterFrameClosure this
start local 1 // sun.jvm.hotspot.runtime.Frame fr
start local 2 // int maxLocals
start local 3 // int maxStack
start local 4 // sun.jvm.hotspot.runtime.AddressVisitor f
0: .line 650
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 651
aload 0 /* this */
aload 1 /* fr */
putfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
2: .line 652
aload 0 /* this */
iload 2 /* maxLocals */
putfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.maxLocals:I
3: .line 653
aload 0 /* this */
iload 3 /* maxStack */
putfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.maxStack:I
4: .line 654
aload 0 /* this */
aload 4 /* f */
putfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.f:Lsun/jvm/hotspot/runtime/AddressVisitor;
5: .line 655
return
end local 4 // sun.jvm.hotspot.runtime.AddressVisitor f
end local 3 // int maxStack
end local 2 // int maxLocals
end local 1 // sun.jvm.hotspot.runtime.Frame fr
end local 0 // sun.jvm.hotspot.runtime.InterpreterFrameClosure this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/runtime/InterpreterFrameClosure;
0 6 1 fr Lsun/jvm/hotspot/runtime/Frame;
0 6 2 maxLocals I
0 6 3 maxStack I
0 6 4 f Lsun/jvm/hotspot/runtime/AddressVisitor;
MethodParameters:
Name Flags
fr
maxLocals
maxStack
f
public void offsetDo(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 // sun.jvm.hotspot.runtime.InterpreterFrameClosure this
start local 1 // int offset
0: .line 665
iload 1 /* offset */
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.maxLocals:I
if_icmpge 6
1: .line 666
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
iload 1 /* offset */
invokevirtual sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameLocal:(I)Lsun/jvm/hotspot/debugger/Address;
astore 2 /* addr */
start local 2 // sun.jvm.hotspot.debugger.Address addr
2: .line 667
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 4
3: .line 668
aload 2 /* addr */
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
invokevirtual sun.jvm.hotspot.runtime.Frame.getSP:()Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.utilities.AddressOps.gte:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
ldc "must be inside the frame"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: .line 673
StackMap locals: sun.jvm.hotspot.debugger.Address
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.f:Lsun/jvm/hotspot/runtime/AddressVisitor;
aload 2 /* addr */
invokeinterface sun.jvm.hotspot.runtime.AddressVisitor.visitAddress:(Lsun/jvm/hotspot/debugger/Address;)V
5: .line 674
goto 13
end local 2 // sun.jvm.hotspot.debugger.Address addr
6: .line 675
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
iload 1 /* offset */
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.maxLocals:I
isub
invokevirtual sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameExpressionStackSlot:(I)Lsun/jvm/hotspot/debugger/Address;
astore 2 /* addr */
start local 2 // sun.jvm.hotspot.debugger.Address addr
7: .line 683
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
invokevirtual sun.jvm.hotspot.runtime.Frame.getInterpreterFrameExpressionStackDirection:()I
ifle 10
8: .line 684
aload 2 /* addr */
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
invokevirtual sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOS:()Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.utilities.AddressOps.lte:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
istore 3 /* inStack */
start local 3 // boolean inStack
9: .line 685
goto 11
end local 3 // boolean inStack
10: .line 686
StackMap locals: sun.jvm.hotspot.debugger.Address
StackMap stack:
aload 2 /* addr */
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.fr:Lsun/jvm/hotspot/runtime/Frame;
invokevirtual sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOS:()Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.utilities.AddressOps.gte:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
istore 3 /* inStack */
start local 3 // boolean inStack
11: .line 688
StackMap locals: int
StackMap stack:
iload 3 /* inStack */
ifeq 13
12: .line 692
aload 0 /* this */
getfield sun.jvm.hotspot.runtime.InterpreterFrameClosure.f:Lsun/jvm/hotspot/runtime/AddressVisitor;
aload 2 /* addr */
invokeinterface sun.jvm.hotspot.runtime.AddressVisitor.visitAddress:(Lsun/jvm/hotspot/debugger/Address;)V
end local 3 // boolean inStack
13: .line 697
StackMap locals:
StackMap stack:
return
end local 2 // sun.jvm.hotspot.debugger.Address addr
end local 1 // int offset
end local 0 // sun.jvm.hotspot.runtime.InterpreterFrameClosure this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/jvm/hotspot/runtime/InterpreterFrameClosure;
0 14 1 offset I
2 6 2 addr Lsun/jvm/hotspot/debugger/Address;
7 14 2 addr Lsun/jvm/hotspot/debugger/Address;
9 10 3 inStack Z
11 13 3 inStack Z
MethodParameters:
Name Flags
offset
}
SourceFile: "Frame.java"