public class sun.jvm.hotspot.debugger.win32.coff.DumpExports
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.debugger.win32.coff.DumpExports
super_class: java.lang.Object
{
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/debugger/win32/coff/DumpExports;
private static void usage();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "usage: java DumpExports [.dll name]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: iconst_1
invokestatic java.lang.System.exit:(I)V
2: return
LocalVariableTable:
Start End Slot Name Signature
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpeq 2
1: invokestatic sun.jvm.hotspot.debugger.win32.coff.DumpExports.usage:()V
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aaload
astore 1
start local 1 3: invokestatic sun.jvm.hotspot.debugger.win32.coff.COFFFileParser.getParser:()Lsun/jvm/hotspot/debugger/win32/coff/COFFFileParser;
aload 1
invokevirtual sun.jvm.hotspot.debugger.win32.coff.COFFFileParser.parse:(Ljava/lang/String;)Lsun/jvm/hotspot/debugger/win32/coff/COFFFile;
astore 2
start local 2 4: aload 2
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFFile.getHeader:()Lsun/jvm/hotspot/debugger/win32/coff/COFFHeader;
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFHeader.getOptionalHeader:()Lsun/jvm/hotspot/debugger/win32/coff/OptionalHeader;
5: invokeinterface sun.jvm.hotspot.debugger.win32.coff.OptionalHeader.getDataDirectories:()Lsun/jvm/hotspot/debugger/win32/coff/OptionalHeaderDataDirectories;
6: astore 3
start local 3 7: aload 3
invokeinterface sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories.getExportTable:()Lsun/jvm/hotspot/debugger/win32/coff/DataDirectory;
astore 4
start local 4 8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Export table: RVA = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface sun.jvm.hotspot.debugger.win32.coff.DataDirectory.getRVA:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 4
invokeinterface sun.jvm.hotspot.debugger.win32.coff.DataDirectory.getRVA:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", size = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface sun.jvm.hotspot.debugger.win32.coff.DataDirectory.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 4
invokeinterface sun.jvm.hotspot.debugger.win32.coff.DataDirectory.getSize:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 2
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFFile.getHeader:()Lsun/jvm/hotspot/debugger/win32/coff/COFFHeader;
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFHeader.getNumberOfSections:()S
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " sections in file"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: iconst_1
istore 5
start local 5 14: goto 31
15: StackMap locals: java.lang.String[] java.lang.String sun.jvm.hotspot.debugger.win32.coff.COFFFile sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories sun.jvm.hotspot.debugger.win32.coff.DataDirectory int
StackMap stack:
aload 2
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFFile.getHeader:()Lsun/jvm/hotspot/debugger/win32/coff/COFFHeader;
iload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFHeader.getSectionHeader:(I)Lsun/jvm/hotspot/debugger/win32/coff/SectionHeader;
astore 6
start local 6 16: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Section "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Name = '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " VirtualSize = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getSize:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " VirtualAddress = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getVirtualAddress:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getVirtualAddress:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " SizeOfRawData = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getSizeOfRawData:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getSizeOfRawData:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
27: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " PointerToRawData = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getPointerToRawData:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: aload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.SectionHeader.getPointerToRawData:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 30: iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
aload 2
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFFile.getHeader:()Lsun/jvm/hotspot/debugger/win32/coff/COFFHeader;
invokeinterface sun.jvm.hotspot.debugger.win32.coff.COFFHeader.getNumberOfSections:()S
if_icmple 15
end local 5 32: aload 3
invokeinterface sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories.getExportDirectoryTable:()Lsun/jvm/hotspot/debugger/win32/coff/ExportDirectoryTable;
astore 5
start local 5 33: aload 5
ifnonnull 36
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "No exports found."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: goto 53
36: StackMap locals: java.lang.String[] java.lang.String sun.jvm.hotspot.debugger.win32.coff.COFFFile sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories sun.jvm.hotspot.debugger.win32.coff.DataDirectory sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "DLL name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getDLLName:()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.println:(Ljava/lang/String;)V
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Time/date stamp 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getTimeDateStamp:()I
invokestatic java.lang.Integer.toHexString:(I)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.println:(Ljava/lang/String;)V
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Major version 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getMajorVersion:()S
ldc 65535
iand
invokestatic java.lang.Integer.toHexString:(I)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.println:(Ljava/lang/String;)V
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Minor version 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getMinorVersion:()S
ldc 65535
iand
invokestatic java.lang.Integer.toHexString:(I)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.println:(Ljava/lang/String;)V
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getNumberOfNamePointers:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " exports found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: iconst_0
istore 6
start local 6 42: goto 52
43: StackMap locals: int
StackMap stack:
aload 5
iload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getExportOrdinal:(I)S
istore 7
start local 7 44: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
iload 6
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getExportName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] = 0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
iload 7
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getExportAddress:(S)I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
46: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
47: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 5
iload 7
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.isExportAddressForwarder:(S)Z
ifeq 49
48: new java.lang.StringBuilder
dup
ldc " Forwarded to '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iload 7
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getExportAddressForwarder:(S)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 50
49: StackMap locals: java.lang.String[] java.lang.String sun.jvm.hotspot.debugger.win32.coff.COFFFile sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories sun.jvm.hotspot.debugger.win32.coff.DataDirectory sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable int int
StackMap stack: java.io.PrintStream
ldc ""
50: StackMap locals: java.lang.String[] java.lang.String sun.jvm.hotspot.debugger.win32.coff.COFFFile sun.jvm.hotspot.debugger.win32.coff.OptionalHeaderDataDirectories sun.jvm.hotspot.debugger.win32.coff.DataDirectory sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable int int
StackMap stack: java.io.PrintStream java.lang.String
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 51: iinc 6 1
StackMap locals:
StackMap stack:
52: iload 6
aload 5
invokeinterface sun.jvm.hotspot.debugger.win32.coff.ExportDirectoryTable.getNumberOfNamePointers:()I
if_icmplt 43
end local 6 53: StackMap locals:
StackMap stack:
return
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 54 0 args [Ljava/lang/String;
3 54 1 filename Ljava/lang/String;
4 54 2 file Lsun/jvm/hotspot/debugger/win32/coff/COFFFile;
7 54 3 dataDirs Lsun/jvm/hotspot/debugger/win32/coff/OptionalHeaderDataDirectories;
8 54 4 dir Lsun/jvm/hotspot/debugger/win32/coff/DataDirectory;
14 32 5 i I
16 30 6 sec Lsun/jvm/hotspot/debugger/win32/coff/SectionHeader;
33 54 5 exports Lsun/jvm/hotspot/debugger/win32/coff/ExportDirectoryTable;
42 53 6 i I
44 51 7 ordinal S
MethodParameters:
Name Flags
args
}
SourceFile: "DumpExports.java"