class com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation extends com.oracle.svm.hosted.image.CCLinkerInvocation
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation
super_class: com.oracle.svm.hosted.image.CCLinkerInvocation
{
final com.oracle.svm.hosted.image.NativeBootImageViaCC this$0;
descriptor: Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$image$AbstractBootImage$NativeImageKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.oracle.svm.hosted.image.NativeBootImageViaCC);
descriptor: (Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
aload 0
invokespecial com.oracle.svm.hosted.image.CCLinkerInvocation.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImageViaCC$WindowsCCLinkerInvocation;
MethodParameters:
Name Flags
this$0 final
protected void setOutputKind(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.$SWITCH_TABLE$com$oracle$svm$hosted$image$AbstractBootImage$NativeImageKind:()[I
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC.kind:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
invokevirtual com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 3
2: 1
3: 1
default: 6
}
1: StackMap locals:
StackMap stack:
aload 1
ldc "/MD"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
ldc "/MD"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 1
ldc "/LD"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: goto 7
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
pop
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/image/NativeBootImageViaCC$WindowsCCLinkerInvocation;
0 8 1 cmd Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
cmd
public java.util.List<java.lang.String> getImageSymbols(boolean);
descriptor: (Z)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
invokevirtual com.oracle.svm.hosted.image.NativeBootImageViaCC.getOrCreateDebugObjectFile:()Lcom/oracle/objectfile/ObjectFile;
iload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageCodeCache.getSymbols:(Lcom/oracle/objectfile/ObjectFile;Z)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/objectfile/ObjectFile$Symbol.getName()Ljava/lang/String; (9 itf)
(Lcom/oracle/objectfile/ObjectFile$Symbol;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/image/NativeBootImageViaCC$WindowsCCLinkerInvocation;
0 4 1 onlyGlobal Z
Signature: (Z)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
onlyGlobal
public java.util.List<java.lang.String> getCommand();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.additionalPreOptions:Ljava/util/List;
invokevirtual com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.getCompilerCommand:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 1: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.setOutputKind:(Ljava/util/List;)V
3: aload 2
ldc "/Zi"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getStaticLibraries:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation java.util.List java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 3
start local 3 6: aload 2
aload 3
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 2
ldc "/link"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 2
ldc "/INCREMENTAL:NO"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 2
ldc "/NODEFAULTLIB:LIBCMT"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: getstatic com.oracle.svm.core.SubstrateOptions.DeleteLocalSymbols:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
12: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.getOutputFile:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 3
start local 3 13: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.getOutputKind:()Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
invokevirtual com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.getFilenameSuffix:()Ljava/lang/String;
astore 4
start local 4 14: new java.lang.StringBuilder
dup
aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
aload 4
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".stripped.pdb"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 15: aload 2
new java.lang.StringBuilder
dup
ldc "/PDBSTRIPPED:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 3 16: StackMap locals: com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation java.util.List java.util.List
StackMap stack:
invokestatic com.oracle.svm.hosted.image.NativeBootImageViaCC.removeUnusedSymbols:()Z
ifeq 18
17: aload 2
ldc "/OPT:REF"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLibraryPaths:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 21
StackMap locals: com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation java.util.List java.util.List top java.util.Iterator
StackMap stack:
19: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 20: aload 2
new java.lang.StringBuilder
dup
ldc "/LIBPATH:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.this$0:Lcom/oracle/svm/hosted/image/NativeBootImageViaCC;
getfield com.oracle.svm.hosted.image.NativeBootImageViaCC.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.getLibraries:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 25
StackMap locals:
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 24: aload 2
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 25: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: aload 2
ldc "advapi32.lib"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: aload 2
ldc "ws2_32.lib"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: aload 2
ldc "secur32.lib"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: aload 2
ldc "iphlpapi.lib"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: aload 2
ldc "userenv.lib"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: aload 2
getstatic com.oracle.svm.hosted.image.CCLinkerInvocation$Options.NativeLinkerOption:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
32: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/oracle/svm/hosted/image/NativeBootImageViaCC$WindowsCCLinkerInvocation;
1 33 1 compilerCmd Ljava/util/List<Ljava/lang/String;>;
2 33 2 cmd Ljava/util/List<Ljava/lang/String;>;
6 7 3 staticLibrary Ljava/nio/file/Path;
13 16 3 outputFileString Ljava/lang/String;
14 16 4 outputFileSuffix Ljava/lang/String;
15 16 5 pdbFile Ljava/lang/String;
20 21 3 libraryPath Ljava/lang/String;
24 25 3 library Ljava/lang/String;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
static int[] $SWITCH_TABLE$com$oracle$svm$hosted$image$AbstractBootImage$NativeImageKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.$SWITCH_TABLE$com$oracle$svm$hosted$image$AbstractBootImage$NativeImageKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.values:()[Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
invokevirtual com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.SHARED_LIBRARY:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
invokevirtual com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.STATIC_EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
invokevirtual com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation.$SWITCH_TABLE$com$oracle$svm$hosted$image$AbstractBootImage$NativeImageKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "NativeBootImageViaCC.java"
NestHost: com.oracle.svm.hosted.image.NativeBootImageViaCC
InnerClasses:
public abstract Symbol = com.oracle.objectfile.ObjectFile$Symbol of com.oracle.objectfile.ObjectFile
public NativeImageKind = com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind of com.oracle.svm.hosted.image.AbstractBootImage
public Options = com.oracle.svm.hosted.image.CCLinkerInvocation$Options of com.oracle.svm.hosted.image.CCLinkerInvocation
WindowsCCLinkerInvocation = com.oracle.svm.hosted.image.NativeBootImageViaCC$WindowsCCLinkerInvocation of com.oracle.svm.hosted.image.NativeBootImageViaCC
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles