public abstract class com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl extends com.oracle.objectfile.elf.dwarf.DwarfSectionImpl
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl
super_class: com.oracle.objectfile.elf.dwarf.DwarfSectionImpl
{
private static final int PADDING_NOPS_ALIGNMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final java.lang.String TARGET_SECTION_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".debug_line"
private final com.oracle.objectfile.LayoutDecision$Kind[] targetSectionKinds;
descriptor: [Lcom/oracle/objectfile/LayoutDecision$Kind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.objectfile.elf.dwarf.DwarfDebugInfo);
descriptor: (Lcom/oracle/objectfile/elf/dwarf/DwarfDebugInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.objectfile.elf.dwarf.DwarfSectionImpl.<init>:(Lcom/oracle/objectfile/elf/dwarf/DwarfDebugInfo;)V
1: aload 0
iconst_2
anewarray com.oracle.objectfile.LayoutDecision$Kind
dup
iconst_0
2: getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
aastore
dup
iconst_1
3: getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
aastore
putfield com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.targetSectionKinds:[Lcom/oracle/objectfile/LayoutDecision$Kind;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 5 1 dwarfSections Lcom/oracle/objectfile/elf/dwarf/DwarfDebugInfo;
MethodParameters:
Name Flags
dwarfSections
public java.lang.String getSectionName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ".debug_frame"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
public void createContent();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
aconst_null
iload 1
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeCIE:([BI)I
istore 1
2: aload 0
aconst_null
iload 1
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeMethodFrames:([BI)I
istore 1
3: iload 1
newarray 8
astore 2
start local 2 4: aload 0
aload 2
invokespecial com.oracle.objectfile.elf.dwarf.DwarfSectionImpl.setContent:([B)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
1 6 1 pos I
4 6 2 buffer [B
public void writeContent(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.getContent:()[B
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 0
aload 1
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.enableLog:(Lorg/graalvm/compiler/debug/DebugContext;I)V
4: aload 0
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeCIE:([BI)I
istore 4
5: aload 0
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeMethodFrames:([BI)I
istore 4
6: iload 4
iload 3
if_icmpeq 8
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "pos = 0x%x size = 0x%x"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
8: StackMap locals: byte[] int int
StackMap stack:
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.$assertionsDisabled:Z
ifne 9
iload 4
iload 3
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
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 10 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 10 1 context Lorg/graalvm/compiler/debug/DebugContext;
1 10 2 buffer [B
2 10 3 size I
3 10 4 pos I
MethodParameters:
Name Flags
context
private int writeCIE(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
istore 3
start local 3 1: aload 1
ifnonnull 12
2: iload 3
aload 0
iconst_0
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
iadd
istore 3
3: iload 3
aload 0
iconst_m1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
iadd
istore 3
4: iload 3
aload 0
iconst_1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 3
5: iload 3
aload 0
ldc ""
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putAsciiStringBytes:(Ljava/lang/String;[BI)I
iadd
istore 3
6: iload 3
aload 0
lconst_1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
istore 3
7: iload 3
aload 0
ldc -8
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putSLEB:(J[BI)I
iadd
istore 3
8: iload 3
aload 0
aload 0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.getReturnPCIdx:()I
i2b
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 3
9: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeInitialInstructions:([BI)I
istore 3
10: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writePaddingNops:([BI)I
istore 3
11: iload 3
ireturn
12: StackMap locals: int
StackMap stack:
iload 3
istore 4
start local 4 13: aload 0
iconst_0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
istore 3
14: aload 0
iconst_m1
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
istore 3
15: aload 0
iconst_1
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 3
16: aload 0
ldc ""
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putAsciiStringBytes:(Ljava/lang/String;[BI)I
istore 3
17: aload 0
lconst_1
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
istore 3
18: aload 0
ldc -8
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putSLEB:(J[BI)I
istore 3
19: aload 0
aload 0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.getReturnPCIdx:()I
i2b
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 3
20: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeInitialInstructions:([BI)I
istore 3
21: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writePaddingNops:([BI)I
istore 3
22: aload 0
iload 4
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.patchLength:(I[BI)V
23: iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 24 1 buffer [B
0 24 2 p I
1 24 3 pos I
13 24 4 lengthPos I
MethodParameters:
Name Flags
buffer
p
private int writeMethodFrames(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: iload 2
istore 3
start local 3 1: aload 0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.getPrimaryClasses:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl byte[] int int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.debugentry.ClassEntry
astore 4
start local 4 3: aload 4
invokevirtual com.oracle.objectfile.debugentry.ClassEntry.getPrimaryEntries:()Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl byte[] int int com.oracle.objectfile.debugentry.ClassEntry java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.debugentry.PrimaryEntry
astore 6
start local 6 5: aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getPrimary:()Lcom/oracle/objectfile/debugentry/Range;
astore 8
start local 8 6: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.isDeoptTarget:()Z
ifne 14
7: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.getLo:()I
i2l
lstore 9
start local 9 8: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.getHi:()I
i2l
lstore 11
start local 11 9: iload 3
istore 13
start local 13 10: aload 0
lload 9
l2i
lload 11
l2i
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeFDEHeader:(II[BI)I
istore 3
11: aload 0
aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getFrameSize:()I
aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getFrameSizeInfos:()Ljava/util/List;
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeFDEs:(ILjava/util/List;[BI)I
istore 3
12: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writePaddingNops:([BI)I
istore 3
13: aload 0
iload 13
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.patchLength:(I[BI)V
end local 13 end local 11 end local 9 end local 8 end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 15: StackMap locals: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl byte[] int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: aload 0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.getPrimaryClasses:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 30
StackMap locals:
StackMap stack:
17: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.debugentry.ClassEntry
astore 4
start local 4 18: aload 4
invokevirtual com.oracle.objectfile.debugentry.ClassEntry.getPrimaryEntries:()Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 29
StackMap locals: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl byte[] int int com.oracle.objectfile.debugentry.ClassEntry java.util.Iterator top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.debugentry.PrimaryEntry
astore 6
start local 6 20: aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getPrimary:()Lcom/oracle/objectfile/debugentry/Range;
astore 8
start local 8 21: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.isDeoptTarget:()Z
ifeq 29
22: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.getLo:()I
i2l
lstore 9
start local 9 23: aload 8
invokevirtual com.oracle.objectfile.debugentry.Range.getHi:()I
i2l
lstore 11
start local 11 24: iload 3
istore 13
start local 13 25: aload 0
lload 9
l2i
lload 11
l2i
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeFDEHeader:(II[BI)I
istore 3
26: aload 0
aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getFrameSize:()I
aload 6
invokevirtual com.oracle.objectfile.debugentry.PrimaryEntry.getFrameSizeInfos:()Ljava/util/List;
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeFDEs:(ILjava/util/List;[BI)I
istore 3
27: aload 0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writePaddingNops:([BI)I
istore 3
28: aload 0
iload 13
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.patchLength:(I[BI)V
end local 13 end local 11 end local 9 end local 8 end local 6 29: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 4 30: StackMap locals: com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl byte[] int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
31: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 32 1 buffer [B
0 32 2 p I
1 32 3 pos I
3 15 4 classEntry Lcom/oracle/objectfile/debugentry/ClassEntry;
5 14 6 primaryEntry Lcom/oracle/objectfile/debugentry/PrimaryEntry;
6 14 8 range Lcom/oracle/objectfile/debugentry/Range;
8 14 9 lo J
9 14 11 hi J
10 14 13 lengthPos I
18 30 4 classEntry Lcom/oracle/objectfile/debugentry/ClassEntry;
20 29 6 primaryEntry Lcom/oracle/objectfile/debugentry/PrimaryEntry;
21 29 8 range Lcom/oracle/objectfile/debugentry/Range;
23 29 9 lo J
24 29 11 hi J
25 29 13 lengthPos I
MethodParameters:
Name Flags
buffer
p
protected abstract int writeFDEs(int, java.util.List<com.oracle.objectfile.debuginfo.DebugInfoProvider$DebugFrameSizeChange>, byte[], );
descriptor: (ILjava/util/List;[BI)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (ILjava/util/List<Lcom/oracle/objectfile/debuginfo/DebugInfoProvider$DebugFrameSizeChange;>;[BI)I
MethodParameters:
Name Flags
frameSize
frameSizeInfos
buffer
pos
private int (int, int, byte[], int);
descriptor: (II[BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
istore 5
start local 5 1: aload 3
ifnonnull 6
2: iload 5
aload 0
iconst_0
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
iadd
istore 5
3: iload 5
aload 0
iconst_0
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
iadd
istore 5
4: iload 5
aload 0
iload 1
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putLong:(J[BI)I
iadd
istore 5
5: iload 5
aload 0
iload 2
iload 1
isub
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putLong:(J[BI)I
iadd
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
iconst_0
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
istore 5
7: aload 0
iconst_0
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
istore 5
8: aload 0
iload 1
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putRelocatableCodeOffset:(J[BI)I
istore 5
9: aload 0
iload 2
iload 1
isub
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putLong:(J[BI)I
ireturn
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 10 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 10 1 lo I
0 10 2 hi I
0 10 3 buffer [B
0 10 4 p I
1 10 5 pos I
MethodParameters:
Name Flags
lo
hi
buffer
p
private int writePaddingNops(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
ifnonnull 5
3: iinc 3 1
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 3
6: StackMap locals:
StackMap stack:
iload 3
bipush 7
iand
ifne 2
7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 8 1 buffer [B
0 8 2 p I
1 8 3 pos I
MethodParameters:
Name Flags
buffer
p
protected int writeDefCFA(int, int, byte[], int);
descriptor: (II[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
istore 5
start local 5 1: aload 3
ifnonnull 5
2: iload 5
aload 0
bipush 12
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 5
3: iload 5
aload 0
iload 1
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putSLEB:(J[BI)I
iadd
istore 5
4: iload 5
aload 0
iload 2
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
ireturn
5: StackMap locals: int
StackMap stack:
aload 0
bipush 12
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 5
6: aload 0
iload 1
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
istore 5
7: aload 0
iload 2
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
ireturn
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 8 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 8 1 register I
0 8 2 offset I
0 8 3 buffer [B
0 8 4 p I
1 8 5 pos I
MethodParameters:
Name Flags
register
offset
buffer
p
protected int writeDefCFAOffset(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: aload 2
ifnonnull 4
2: iload 4
aload 0
bipush 14
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 4
3: iload 4
aload 0
iload 1
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
ireturn
4: StackMap locals: int
StackMap stack:
aload 0
bipush 14
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 4
5: aload 0
iload 1
i2l
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 6 1 offset I
0 6 2 buffer [B
0 6 3 p I
1 6 4 pos I
MethodParameters:
Name Flags
offset
buffer
p
protected int writeAdvanceLoc(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
bipush 63
if_icmpgt 2
1: aload 0
iload 1
i2b
aload 2
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeAdvanceLoc0:(B[BI)I
ireturn
2: StackMap locals:
StackMap stack:
iload 1
sipush 255
if_icmpgt 4
3: aload 0
iload 1
i2b
aload 2
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeAdvanceLoc1:(B[BI)I
ireturn
4: StackMap locals:
StackMap stack:
iload 1
ldc 65535
if_icmpgt 6
5: aload 0
iload 1
i2s
aload 2
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeAdvanceLoc2:(S[BI)I
ireturn
6: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.writeAdvanceLoc4:(I[BI)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 7 1 offset I
0 7 2 buffer [B
0 7 3 pos I
MethodParameters:
Name Flags
offset
buffer
pos
protected int writeAdvanceLoc0(byte, byte[], int);
descriptor: (B[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
invokestatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.advanceLoc0Op:(I)B
istore 4
start local 4 1: aload 2
ifnonnull 3
2: iload 3
aload 0
iload 4
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
iload 4
aload 2
iload 3
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 4 1 offset B
0 4 2 buffer [B
0 4 3 pos I
1 4 4 op B
MethodParameters:
Name Flags
offset
buffer
pos
protected int writeAdvanceLoc1(byte, byte[], int);
descriptor: (B[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: iconst_2
istore 5
start local 5 2: aload 2
ifnonnull 5
3: iload 4
aload 0
iload 5
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 4
4: iload 4
aload 0
iload 1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
ireturn
5: StackMap locals: int int
StackMap stack:
aload 0
iload 5
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 4
6: aload 0
iload 1
aload 2
iload 4
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
ireturn
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 7 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 7 1 offset B
0 7 2 buffer [B
0 7 3 p I
1 7 4 pos I
2 7 5 op B
MethodParameters:
Name Flags
offset
buffer
p
protected int writeAdvanceLoc2(short, byte[], int);
descriptor: (S[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_3
istore 4
start local 4 1: iload 3
istore 5
start local 5 2: aload 2
ifnonnull 5
3: iload 5
aload 0
iload 4
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 5
4: iload 5
aload 0
iload 1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putShort:(S[BI)I
iadd
ireturn
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
aload 2
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 5
6: aload 0
iload 1
aload 2
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putShort:(S[BI)I
ireturn
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 7 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 7 1 offset S
0 7 2 buffer [B
0 7 3 p I
1 7 4 op B
2 7 5 pos I
MethodParameters:
Name Flags
offset
buffer
p
protected int writeAdvanceLoc4(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_4
istore 4
start local 4 1: iload 3
istore 5
start local 5 2: aload 2
ifnonnull 5
3: iload 5
aload 0
iload 4
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 5
4: iload 5
aload 0
iload 1
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
iadd
ireturn
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
aload 2
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 5
6: aload 0
iload 1
aload 2
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putInt:(I[BI)I
ireturn
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 7 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 7 1 offset I
0 7 2 buffer [B
0 7 3 p I
1 7 4 op B
2 7 5 pos I
MethodParameters:
Name Flags
offset
buffer
p
protected int writeOffset(int, int, byte[], int);
descriptor: (II[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
invokestatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.offsetOp:(I)B
istore 5
start local 5 1: iload 4
istore 6
start local 6 2: aload 3
ifnonnull 5
3: iload 6
aload 0
iload 5
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 6
4: iload 6
aload 0
iload 2
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
ireturn
5: StackMap locals: int int
StackMap stack:
aload 0
iload 5
aload 3
iload 6
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 6
6: aload 0
iload 2
i2l
aload 3
iload 6
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
ireturn
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 7 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 7 1 register I
0 7 2 offset I
0 7 3 buffer [B
0 7 4 p I
1 7 5 op B
2 7 6 pos I
MethodParameters:
Name Flags
register
offset
buffer
p
protected int writeRestore(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
invokestatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.restoreOp:(I)B
istore 4
start local 4 1: iload 3
istore 5
start local 5 2: aload 2
ifnonnull 4
3: iload 5
aload 0
iload 4
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
ireturn
4: StackMap locals: int int
StackMap stack:
aload 0
iload 4
aload 2
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
ireturn
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 5 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 5 1 register I
0 5 2 buffer [B
0 5 3 p I
1 5 4 op B
2 5 5 pos I
MethodParameters:
Name Flags
register
buffer
p
protected int writeRegister(int, int, byte[], int);
descriptor: (II[BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
istore 5
start local 5 1: aload 3
ifnonnull 5
2: iload 5
aload 0
bipush 9
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
iadd
istore 5
3: iload 5
aload 0
iload 1
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
istore 5
4: iload 5
aload 0
iload 2
i2l
getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.scratch:[B
iconst_0
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
iadd
ireturn
5: StackMap locals: int
StackMap stack:
aload 0
bipush 9
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putByte:(B[BI)I
istore 5
6: aload 0
iload 1
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
istore 5
7: aload 0
iload 2
i2l
aload 3
iload 5
invokevirtual com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.putULEB:(J[BI)I
ireturn
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 8 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
0 8 1 savedReg I
0 8 2 savedToReg I
0 8 3 buffer [B
0 8 4 p I
1 8 5 pos I
MethodParameters:
Name Flags
savedReg
savedToReg
buffer
p
protected abstract int getReturnPCIdx();
descriptor: ()I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract int getSPIdx();
descriptor: ()I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract int writeInitialInstructions(byte[], int);
descriptor: ([BI)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
buffer
pos
public java.lang.String targetSectionName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ".debug_line"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
public com.oracle.objectfile.LayoutDecision$Kind[] targetSectionKinds();
descriptor: ()[Lcom/oracle/objectfile/LayoutDecision$Kind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.targetSectionKinds:[Lcom/oracle/objectfile/LayoutDecision$Kind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/elf/dwarf/DwarfFrameSectionImpl;
private static byte offsetOp(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.$assertionsDisabled:Z
ifne 1
iload 0
bipush 6
ishr
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
sipush 128
iload 0
ior
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 register I
MethodParameters:
Name Flags
register
private static byte restoreOp(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.$assertionsDisabled:Z
ifne 1
iload 0
bipush 6
ishr
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
sipush 192
iload 0
ior
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 register I
MethodParameters:
Name Flags
register
private static byte advanceLoc0Op(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.objectfile.elf.dwarf.DwarfFrameSectionImpl.$assertionsDisabled:Z
ifne 2
iload 0
iflt 1
iload 0
bipush 63
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
bipush 64
iload 0
ior
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 offset I
MethodParameters:
Name Flags
offset
}
SourceFile: "DwarfFrameSectionImpl.java"
InnerClasses:
public final Kind = com.oracle.objectfile.LayoutDecision$Kind of com.oracle.objectfile.LayoutDecision
public abstract DebugFrameSizeChange = com.oracle.objectfile.debuginfo.DebugInfoProvider$DebugFrameSizeChange of com.oracle.objectfile.debuginfo.DebugInfoProvider