public class com.oracle.svm.hosted.NativeImageGeneratorRunner implements com.oracle.svm.hosted.ImageBuildTask
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.NativeImageGeneratorRunner
super_class: java.lang.Object
{
private volatile com.oracle.svm.hosted.NativeImageGenerator generator;
descriptor: Lcom/oracle/svm/hosted/NativeImageGenerator;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public static final java.lang.String IMAGE_BUILDER_ARG_FILE_OPTION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "--image-args-file="
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 Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractDriverArguments:(Ljava/util/List;)Ljava/util/List;
astore 1
2: aload 1
ldc "-imagecp"
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractImagePathEntries:(Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 3: aload 1
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractWatchPID:(Ljava/util/List;)I
istore 3
start local 3 4: aconst_null
astore 4
start local 4 5: iload 3
iflt 10
6: invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
getfield com.oracle.svm.core.OS.hasProcFS:Z
ldc "-watchpid <pid> requires system with /proc"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
7: new com.oracle.svm.hosted.NativeImageGeneratorRunner$1
dup
iload 3
invokespecial com.oracle.svm.hosted.NativeImageGeneratorRunner$1.<init>:(I)V
astore 4
8: new java.util.Timer
dup
ldc "native-image pid watcher"
invokespecial java.util.Timer.<init>:(Ljava/lang/String;)V
astore 5
start local 5 9: aload 5
aload 4
lconst_0
ldc 1000
invokevirtual java.util.Timer.scheduleAtFixedRate:(Ljava/util/TimerTask;JJ)V
end local 5 10: StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 6
start local 6 11: aload 2
iconst_0
anewarray java.lang.String
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.installNativeImageClassLoader:([Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/svm/hosted/ImageClassLoader;
astore 7
start local 7 12: new com.oracle.svm.hosted.NativeImageGeneratorRunner
dup
invokespecial com.oracle.svm.hosted.NativeImageGeneratorRunner.<init>:()V
aload 1
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
aload 7
invokevirtual com.oracle.svm.hosted.NativeImageGeneratorRunner.build:([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
istore 5
end local 7 start local 5 13: goto 20
end local 5 StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask top java.lang.ClassLoader
StackMap stack: java.lang.Throwable
14: astore 8
15: invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.uninstallNativeImageClassLoader:()V
16: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 6
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
17: aload 4
ifnull 19
18: aload 4
invokevirtual java.util.TimerTask.cancel:()Z
pop
19: StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask top java.lang.ClassLoader top java.lang.Throwable
StackMap stack:
aload 8
athrow
start local 5 20: StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask int java.lang.ClassLoader
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.uninstallNativeImageClassLoader:()V
21: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 6
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
22: aload 4
ifnull 24
23: aload 4
invokevirtual java.util.TimerTask.cancel:()Z
pop
24: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.System.exit:(I)V
25: return
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 26 0 args [Ljava/lang/String;
1 26 1 arguments Ljava/util/List<Ljava/lang/String;>;
3 26 2 classPath [Ljava/lang/String;
4 26 3 watchPID I
5 26 4 timerTask Ljava/util/TimerTask;
9 10 5 timer Ljava/util/Timer;
13 14 5 exitStatus I
20 26 5 exitStatus I
11 26 6 applicationClassLoader Ljava/lang/ClassLoader;
12 13 7 imageClassLoader Lcom/oracle/svm/hosted/ImageClassLoader;
Exception table:
from to target type
11 14 14 any
MethodParameters:
Name Flags
args
public static void uninstallNativeImageClassLoader();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: aload 0
instanceof com.oracle.svm.hosted.NativeImageSystemClassLoader
ifeq 3
2: aload 0
checkcast com.oracle.svm.hosted.NativeImageSystemClassLoader
aconst_null
invokevirtual com.oracle.svm.hosted.NativeImageSystemClassLoader.setNativeImageClassLoader:(Ljava/lang/ClassLoader;)V
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 loader Ljava/lang/ClassLoader;
public static com.oracle.svm.hosted.ImageClassLoader installNativeImageClassLoader(java.lang.String[], java.lang.String[]);
descriptor: ([Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/svm/hosted/ImageClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.NativeImageSystemClassLoader.singleton:()Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
astore 2
start local 2 1: new com.oracle.svm.hosted.NativeImageClassLoaderSupport
dup
aload 2
getfield com.oracle.svm.hosted.NativeImageSystemClassLoader.defaultSystemClassLoader:Ljava/lang/ClassLoader;
aload 0
aload 1
invokespecial com.oracle.svm.hosted.NativeImageClassLoaderSupport.<init>:(Ljava/lang/ClassLoader;[Ljava/lang/String;[Ljava/lang/String;)V
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
astore 4
start local 4 3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 4
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
4: aload 2
aload 4
invokevirtual com.oracle.svm.hosted.NativeImageSystemClassLoader.setNativeImageClassLoader:(Ljava/lang/ClassLoader;)V
5: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 11
if_icmplt 7
aload 3
getfield com.oracle.svm.hosted.NativeImageClassLoaderSupport.imagecp:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 7
6: ldc Lorg/graalvm/compiler/serviceprovider/JavaVersionUtil;
aconst_null
invokestatic com.oracle.svm.util.ModuleSupport.openModule:(Ljava/lang/Class;Ljava/lang/Class;)V
7: StackMap locals: com.oracle.svm.hosted.NativeImageSystemClassLoader com.oracle.svm.hosted.NativeImageClassLoaderSupport java.lang.ClassLoader
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGenerator.setSystemPropertiesForImageEarly:()V
8: new com.oracle.svm.hosted.ImageClassLoader
dup
aload 4
invokestatic com.oracle.svm.hosted.NativeImageGenerator.getTargetPlatform:(Ljava/lang/ClassLoader;)Lorg/graalvm/nativeimage/Platform;
aload 3
invokespecial com.oracle.svm.hosted.ImageClassLoader.<init>:(Lorg/graalvm/nativeimage/Platform;Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 classpath [Ljava/lang/String;
0 9 1 modulepath [Ljava/lang/String;
1 9 2 nativeImageSystemClassLoader Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
2 9 3 nativeImageClassLoaderSupport Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
3 9 4 nativeImageClassLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
classpath
modulepath
public static java.util.List<java.lang.String> extractDriverArguments(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/svm/hosted/NativeImageGeneratorRunner.lambda$0(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic get()Ljava/util/function/Supplier;
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;
java/util/ArrayList.<init>()V (8)
()Ljava/util/ArrayList;
invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 1
start local 1 1: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/svm/hosted/NativeImageGeneratorRunner.lambda$2(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
astore 2
start local 2 2: aload 2
invokevirtual java.util.Optional.isPresent:()Z
ifeq 9
3: aload 2
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.String
ldc "--image-args-file="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 4: new java.lang.String
dup
aload 3
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
invokespecial java.lang.String.<init>:([B)V
astore 4
start local 4 5: aload 1
aload 4
ldc "\u0000"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
end local 4 6: goto 9
StackMap locals: java.util.List java.util.ArrayList java.util.Optional java.lang.String
StackMap stack: java.io.IOException
7: astore 4
start local 4 8: ldc "Exception occurred during image builder argument file processing."
aload 4
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 args Ljava/util/List<Ljava/lang/String;>;
1 10 1 result Ljava/util/ArrayList<Ljava/lang/String;>;
2 10 2 argsFile Ljava/util/Optional<Ljava/lang/String;>;
4 9 3 argFilePath Ljava/lang/String;
5 6 4 options Ljava/lang/String;
8 9 4 e Ljava/io/IOException;
Exception table:
from to target type
4 6 7 Class java.io.IOException
Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
args
public static java.lang.String[] extractImagePathEntries(java.util.List<java.lang.String>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 2
start local 2 1: new java.lang.StringBuilder
dup
ldc " '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " <Path entries separated by File.pathSeparator>' argument."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: iload 2
iconst_m1
if_icmpne 4
3: iconst_0
anewarray java.lang.String
areturn
4: StackMap locals: int java.lang.String
StackMap stack:
aload 0
iload 2
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
5: aload 0
iload 2
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
getstatic java.io.File.pathSeparator:Ljava/lang/String;
ldc 2147483647
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
7: areturn
end local 4 8: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
pop
9: ldc "Missing path entries for %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 arguments Ljava/util/List<Ljava/lang/String;>;
0 10 1 pathPrefix Ljava/lang/String;
1 10 2 cpArgIndex I
2 10 3 msgTail Ljava/lang/String;
6 8 4 imageClasspath Ljava/lang/String;
Exception table:
from to target type
5 7 8 Class java.lang.IndexOutOfBoundsException
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)[Ljava/lang/String;
MethodParameters:
Name Flags
arguments
pathPrefix
public static int extractWatchPID(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ldc "-watchpid"
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 1
start local 1 1: iload 1
iflt 8
2: iload 1
iconst_1
iadd
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 4
3: ldc "ProcessID must be provided after the '%s' argument."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-watchpid"
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
4: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
5: aload 0
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 6: aload 0
iload 1
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
7: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 2 8: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 arguments Ljava/util/List<Ljava/lang/String;>;
1 9 1 cpIndex I
6 8 2 pidStr Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;)I
MethodParameters:
Name Flags
arguments
public static boolean isValidJavaVersion();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "substratevm.IgnoreGraalVersionCheck"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
ifne 1
getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static void reportToolUserError(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "native-image "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static boolean isValidArchitecture();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
astore 0
start local 0 1: aload 0
instanceof jdk.vm.ci.amd64.AMD64
ifne 2
aload 0
instanceof jdk.vm.ci.aarch64.AArch64
ifne 2
iconst_0
ireturn
StackMap locals: jdk.vm.ci.code.Architecture
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 originalTargetArch Ljdk/vm/ci/code/Architecture;
private static boolean isValidOperatingSystem();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
astore 0
start local 0 1: aload 0
getstatic com.oracle.svm.core.OS.LINUX:Lcom/oracle/svm/core/OS;
if_acmpeq 2
aload 0
getstatic com.oracle.svm.core.OS.DARWIN:Lcom/oracle/svm/core/OS;
if_acmpeq 2
aload 0
getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
if_acmpeq 2
iconst_0
ireturn
StackMap locals: com.oracle.svm.core.OS
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 currentOs Lcom/oracle/svm/core/OS;
private int buildImage(java.lang.String[], com.oracle.svm.hosted.ImageClassLoader);
descriptor: ([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=28, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.verifyValidJavaVersionAndPlatform:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
new com.oracle.graal.pointsto.util.Timer
dup
ldc "[total]"
iconst_0
invokespecial com.oracle.graal.pointsto.util.Timer.<init>:(Ljava/lang/String;Z)V
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aconst_null
astore 6
start local 6 6: aconst_null
astore 7
aconst_null
astore 8
7: aload 3
invokevirtual com.oracle.graal.pointsto.util.Timer.start:()Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
astore 9
start local 9 8: new com.oracle.graal.pointsto.util.Timer
dup
ldc "classlist"
iconst_0
invokespecial com.oracle.graal.pointsto.util.Timer.<init>:(Ljava/lang/String;Z)V
astore 10
start local 10 9: aconst_null
astore 11
aconst_null
astore 12
10: aload 10
invokevirtual com.oracle.graal.pointsto.util.Timer.start:()Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
astore 13
start local 13 11: aload 2
invokevirtual com.oracle.svm.hosted.ImageClassLoader.initAllClasses:()V
12: aload 13
ifnull 18
aload 13
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
goto 18
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer
StackMap stack: java.lang.Throwable
13: astore 11
aload 13
ifnull 14
aload 13
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
end local 13 StackMap locals:
StackMap stack:
14: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 12
aload 11
ifnonnull 16
aload 12
astore 11
goto 17
StackMap locals:
StackMap stack:
16: aload 11
aload 12
if_acmpeq 17
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 11
athrow
18: StackMap locals:
StackMap stack:
new com.oracle.svm.hosted.option.HostedOptionParser
dup
aload 2
invokespecial com.oracle.svm.hosted.option.HostedOptionParser.<init>:(Lcom/oracle/svm/hosted/ImageClassLoader;)V
astore 11
start local 11 19: aload 11
aload 1
invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.parse:([Ljava/lang/String;)[Ljava/lang/String;
astore 12
start local 12 20: aload 12
arraylength
ifle 22
21: ldc "Unknown options: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
22: StackMap locals: com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[]
StackMap stack:
new org.graalvm.compiler.options.OptionValues
dup
aload 11
invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.getHostedValues:()Lorg/graalvm/collections/EconomicMap;
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
astore 6
23: new org.graalvm.compiler.debug.DebugContext$Builder
dup
aload 6
new org.graalvm.compiler.printer.GraalDebugHandlersFactory
dup
invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugHandlersFactory;)V
invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
astore 13
start local 13 24: getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 6
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 14
start local 14 25: aload 14
invokevirtual java.lang.String.length:()I
ifne 27
26: ldc "No output file name specified. Use '%s'."
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "<output-file>"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
27: StackMap locals: org.graalvm.compiler.debug.DebugContext java.lang.String
StackMap stack:
aload 3
aload 14
invokevirtual com.oracle.graal.pointsto.util.Timer.setPrefix:(Ljava/lang/String;)V
28: aload 10
aload 14
invokevirtual com.oracle.graal.pointsto.util.Timer.setPrefix:(Ljava/lang/String;)V
29: aload 10
invokevirtual com.oracle.graal.pointsto.util.Timer.print:()V
30: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 15
start local 15 31: invokestatic org.graalvm.collections.Pair.empty:()Lorg/graalvm/collections/Pair;
astore 16
start local 16 32: aconst_null
astore 17
start local 17 33: getstatic com.oracle.svm.core.SubstrateOptions.StaticExecutable:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 6
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 19
start local 19 34: getstatic com.oracle.svm.core.SubstrateOptions.SharedLibrary:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 6
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 20
start local 20 35: iload 19
ifeq 39
iload 20
ifeq 39
36: ldc "Cannot pass both option: %s and %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic com.oracle.svm.core.SubstrateOptions.SharedLibrary:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "+"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
37: getstatic com.oracle.svm.core.SubstrateOptions.StaticExecutable:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "+"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
aastore
38: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
39: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport top int int
StackMap stack:
iload 20
ifeq 42
40: getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.SHARED_LIBRARY:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
astore 18
start local 18 41: goto 46
end local 18 StackMap locals:
StackMap stack:
42: iload 19
ifeq 45
43: getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.STATIC_EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
astore 18
start local 18 44: goto 46
end local 18 45: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
astore 18
start local 18 46: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int
StackMap stack:
getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 6
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 21
start local 21 47: aload 18
getfield com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.isExecutable:Z
ifeq 51
aload 21
invokevirtual java.lang.String.isEmpty:()Z
ifeq 51
48: ldc "Must specify main entry point class when building %s native image. Use '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 18
aastore
dup
iconst_1
49: getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "<fully-qualified-class-name>"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
aastore
50: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
51: StackMap locals: java.lang.String
StackMap stack:
aload 21
invokevirtual java.lang.String.isEmpty:()Z
ifne 91
52: aconst_null
astore 24
start local 24 53: aload 2
aload 24
aload 21
invokevirtual com.oracle.svm.hosted.ImageClassLoader.loadClassFromModule:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
astore 23
end local 24 start local 23 54: goto 57
end local 23 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
55: pop
56: ldc "Main entry point class '%s' not found."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 21
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
start local 23 57: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String top java.lang.Class
StackMap stack:
getstatic com.oracle.svm.core.SubstrateOptions.Method:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 6
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 24
start local 24 58: aload 24
invokevirtual java.lang.String.isEmpty:()Z
ifeq 62
59: ldc "Must specify main entry point method when building %s native image. Use '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 18
aastore
dup
iconst_1
60: getstatic com.oracle.svm.core.SubstrateOptions.Method:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "<method-name>"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
aastore
61: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
62: StackMap locals: java.lang.String
StackMap stack:
aload 23
aload 24
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 22
start local 22 63: goto 84
end local 22 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
64: pop
65: aload 23
aload 24
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/String;
aastore
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 25
start local 25 66: goto 75
end local 25 StackMap locals:
StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
67: astore 26
start local 26 68: aload 26
invokevirtual com.oracle.svm.util.ReflectionUtil$ReflectionUtilError.getCause:()Ljava/lang/Throwable;
69: ldc "Method '%s.%s' is declared as the main entry point but it can not be found. Make sure that class '%s' is on the classpath and that method '%s(String[])' exists in that class."
iconst_4
anewarray java.lang.Object
dup
iconst_0
70: aload 23
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
71: aload 24
aastore
dup
iconst_2
72: aload 23
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_3
73: aload 24
aastore
74: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 26 start local 25 75: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 25
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 77
76: ldc "Java main method '%s.%s(String[])' does not have the return type 'void'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 23
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 24
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
77: StackMap locals:
StackMap stack:
aload 25
invokevirtual java.lang.reflect.Method.getModifiers:()I
istore 26
start local 26 78: iload 26
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 80
79: ldc "Java main method '%s.%s(String[])' is not static."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 23
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 24
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
80: StackMap locals: int
StackMap stack:
iload 26
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 82
81: ldc "Java main method '%s.%s(String[])' is not public."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 23
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 24
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
82: StackMap locals:
StackMap stack:
new com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
dup
aload 25
invokespecial com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.<init>:(Ljava/lang/reflect/Method;)V
astore 17
83: ldc Lcom/oracle/svm/core/JavaMainWrapper;
ldc "run"
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 22
end local 26 end local 25 start local 22 84: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String java.lang.reflect.Method java.lang.Class java.lang.String
StackMap stack:
aload 22
ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.c.function.CEntryPoint
astore 25
start local 25 85: aload 25
ifnonnull 87
86: ldc "Entry point must have the '@%s' annotation"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
87: StackMap locals: org.graalvm.nativeimage.c.function.CEntryPoint
StackMap stack:
aload 22
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 26
start local 26 88: aload 26
arraylength
iconst_2
if_icmpne 89
aload 26
iconst_0
aaload
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 89
aload 26
iconst_1
aaload
ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
if_acmpne 89
aload 22
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpeq 90
89: StackMap locals: java.lang.Class[]
StackMap stack:
ldc "Main entry point must have signature 'int main(int argc, CCharPointerPointer argv)'."
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
90: StackMap locals:
StackMap stack:
aload 22
aload 22
aload 18
getfield com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.mainEntryPointName:Ljava/lang/String;
invokestatic com.oracle.svm.hosted.code.CEntryPointData.create:(Ljava/lang/reflect/Method;Ljava/lang/String;)Lcom/oracle/svm/hosted/code/CEntryPointData;
invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
astore 16
end local 26 end local 25 end local 24 end local 23 end local 22 91: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String
StackMap stack:
aload 6
invokestatic com.oracle.svm.hosted.NativeImageOptions.getMaximumNumberOfConcurrentThreads:(Lorg/graalvm/compiler/options/OptionValues;)I
istore 22
start local 22 92: aload 13
aload 6
invokestatic com.oracle.svm.hosted.NativeImageOptions.getMaximumNumberOfAnalysisThreads:(Lorg/graalvm/compiler/options/OptionValues;)I
invokestatic com.oracle.svm.hosted.analysis.Inflation.createExecutor:(Lorg/graalvm/compiler/debug/DebugContext;I)Ljava/util/concurrent/ForkJoinPool;
astore 4
93: aload 13
iload 22
invokestatic com.oracle.svm.hosted.analysis.Inflation.createExecutor:(Lorg/graalvm/compiler/debug/DebugContext;I)Ljava/util/concurrent/ForkJoinPool;
astore 5
94: aload 0
new com.oracle.svm.hosted.NativeImageGenerator
dup
aload 2
aload 11
aload 16
invokespecial com.oracle.svm.hosted.NativeImageGenerator.<init>:(Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/svm/hosted/option/HostedOptionProvider;Lorg/graalvm/collections/Pair;)V
putfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
95: aload 0
getfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
aload 15
aload 17
aload 14
aload 18
getstatic com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.IDENTITY:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
96: aload 5
aload 4
aload 11
invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.getRuntimeOptionNames:()Lorg/graalvm/collections/EconomicSet;
97: invokevirtual com.oracle.svm.hosted.NativeImageGenerator.run:(Ljava/util/Map;Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;Ljava/lang/String;Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinPool;Lorg/graalvm/collections/EconomicSet;)V
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 98: aload 9
ifnull 171
aload 9
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
goto 171
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer
StackMap stack: java.lang.Throwable
99: astore 7
aload 9
ifnull 100
aload 9
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
end local 9 StackMap locals:
StackMap stack:
100: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
101: astore 8
aload 7
ifnonnull 102
aload 8
astore 7
goto 103
StackMap locals:
StackMap stack:
102: aload 7
aload 8
if_acmpeq 103
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
103: aload 7
athrow
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
StackMap stack: com.oracle.svm.core.util.InterruptImageBuilding
104: astore 7
start local 7 105: aload 4
ifnull 107
106: aload 4
invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
pop
107: StackMap locals: com.oracle.svm.core.util.InterruptImageBuilding
StackMap stack:
aload 5
ifnull 109
108: aload 5
invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
pop
109: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.oracle.svm.core.util.InterruptImageBuilding.getReason:()Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 114
110: aload 7
invokevirtual com.oracle.svm.core.util.InterruptImageBuilding.getReason:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.info:(Ljava/lang/String;)V
111: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
112: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
113: iconst_0
ireturn
114: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
115: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
116: iconst_3
ireturn
end local 7 117: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
StackMap stack: com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
astore 7
start local 7 118: ldc Lcom/oracle/svm/core/FallbackExecutor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 123
119: aload 7
ldc "FallbackImageRequest while building fallback image."
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;Ljava/lang/String;)V
120: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
121: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
122: iconst_1
ireturn
123: StackMap locals: com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
StackMap stack:
aload 7
aload 6
invokedynamic accept()Ljava/util/function/Consumer;
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;)V
com/oracle/svm/hosted/NativeImageGeneratorRunner.warn(Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserException:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
124: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
125: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
126: iconst_2
ireturn
end local 7 127: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
StackMap stack: com.oracle.graal.pointsto.util.AnalysisError$ParsingError
astore 7
start local 7 128: aload 7
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
129: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
130: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
131: iconst_1
ireturn
end local 7 132: StackMap locals:
StackMap stack: java.lang.Error
astore 7
start local 7 133: aload 7
aload 6
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
134: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
135: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
136: iconst_1
ireturn
end local 7 137: StackMap locals:
StackMap stack: com.oracle.graal.pointsto.util.ParallelExecutionException
astore 7
start local 7 138: iconst_0
istore 8
start local 8 139: aload 7
invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 148
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
StackMap stack:
140: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 9
start local 9 141: aload 9
instanceof com.oracle.svm.core.util.UserError$UserException
ifeq 145
142: aload 9
aload 6
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
143: iconst_1
istore 8
144: goto 148
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int java.lang.Throwable java.util.Iterator
StackMap stack:
145: aload 9
instanceof com.oracle.graal.pointsto.util.AnalysisError
ifeq 148
aload 9
instanceof com.oracle.graal.pointsto.util.AnalysisError$ParsingError
ifne 148
146: aload 9
aload 6
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
147: iconst_1
istore 8
end local 9 148: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 140
149: iload 8
ifeq 153
150: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
151: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
152: iconst_1
ireturn
153: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int
StackMap stack:
aload 7
invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 155
154: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 7
invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " fatal errors detected:"
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
155: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 158
StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
StackMap stack:
156: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 9
start local 9 157: aload 9
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
end local 9 158: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 156
159: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
160: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
161: iconst_1
ireturn
end local 8 end local 7 162: StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
StackMap stack: java.lang.Throwable
astore 7
start local 7 163: aload 7
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
164: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
165: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
166: iconst_1
ireturn
end local 7 167: StackMap locals:
StackMap stack: java.lang.Throwable
astore 27
168: invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
169: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
170: aload 27
athrow
171: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
172: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
173: aload 3
invokevirtual com.oracle.graal.pointsto.util.Timer.print:()V
174: iconst_0
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 175 0 this Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
0 175 1 arguments [Ljava/lang/String;
0 175 2 classLoader Lcom/oracle/svm/hosted/ImageClassLoader;
3 175 3 totalTimer Lcom/oracle/graal/pointsto/util/Timer;
4 175 4 analysisExecutor Ljava/util/concurrent/ForkJoinPool;
5 175 5 compilationExecutor Ljava/util/concurrent/ForkJoinPool;
6 175 6 parsedHostedOptions Lorg/graalvm/compiler/options/OptionValues;
8 100 9 ignored Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
9 98 10 classlistTimer Lcom/oracle/graal/pointsto/util/Timer;
11 14 13 ignored1 Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
19 98 11 optionParser Lcom/oracle/svm/hosted/option/HostedOptionParser;
20 98 12 remainingArgs [Ljava/lang/String;
24 98 13 debug Lorg/graalvm/compiler/debug/DebugContext;
25 98 14 imageName Ljava/lang/String;
31 98 15 entryPoints Ljava/util/Map<Ljava/lang/reflect/Method;Lcom/oracle/svm/hosted/code/CEntryPointData;>;
32 98 16 mainEntryPointData Lorg/graalvm/collections/Pair<Ljava/lang/reflect/Method;Lcom/oracle/svm/hosted/code/CEntryPointData;>;
33 98 17 javaMainSupport Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
41 42 18 imageKind Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
44 45 18 imageKind Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
46 98 18 imageKind Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
34 98 19 isStaticExecutable Z
35 98 20 isSharedLibrary Z
47 98 21 className Ljava/lang/String;
63 64 22 mainEntryPoint Ljava/lang/reflect/Method;
84 91 22 mainEntryPoint Ljava/lang/reflect/Method;
54 55 23 mainClass Ljava/lang/Class<*>;
57 91 23 mainClass Ljava/lang/Class<*>;
53 54 24 jpmsModule Ljava/lang/Object;
58 91 24 mainEntryPointName Ljava/lang/String;
66 67 25 javaMainMethod Ljava/lang/reflect/Method;
75 84 25 javaMainMethod Ljava/lang/reflect/Method;
68 75 26 ex Lcom/oracle/svm/util/ReflectionUtil$ReflectionUtilError;
78 84 26 mainMethodModifiers I
85 91 25 annotation Lorg/graalvm/nativeimage/c/function/CEntryPoint;
88 91 26 pt [Ljava/lang/Class;
92 98 22 maxConcurrentThreads I
105 117 7 e Lcom/oracle/svm/core/util/InterruptImageBuilding;
118 127 7 e Lcom/oracle/svm/hosted/FallbackFeature$FallbackImageRequest;
128 132 7 e Lcom/oracle/graal/pointsto/util/AnalysisError$ParsingError;
133 137 7 e Ljava/lang/Error;
138 162 7 pee Lcom/oracle/graal/pointsto/util/ParallelExecutionException;
139 162 8 hasUserError Z
141 148 9 exception Ljava/lang/Throwable;
157 158 9 exception Ljava/lang/Throwable;
163 167 7 e Ljava/lang/Throwable;
Exception table:
from to target type
11 12 13 any
10 15 15 any
52 54 55 Class java.lang.ClassNotFoundException
62 63 64 Class java.lang.NoSuchMethodException
65 66 67 Class com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
8 98 99 any
7 101 101 any
6 104 104 Class com.oracle.svm.core.util.InterruptImageBuilding
6 104 117 Class com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
6 104 127 Class com.oracle.graal.pointsto.util.AnalysisError$ParsingError
6 104 132 Class com.oracle.svm.core.util.UserError$UserException
6 104 132 Class com.oracle.graal.pointsto.util.AnalysisError
6 104 137 Class com.oracle.graal.pointsto.util.ParallelExecutionException
6 104 162 Class java.lang.Throwable
6 111 167 any
117 120 167 any
123 124 167 any
127 129 167 any
132 134 167 any
137 150 167 any
153 159 167 any
162 164 167 any
MethodParameters:
Name Flags
arguments
classLoader
public static boolean verifyValidJavaVersionAndPlatform();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidJavaVersion:()Z
ifne 3
1: new java.lang.StringBuilder
dup
ldc "supports only Java 1.8 with an update version 40+. Detected Java version is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.getJavaVersion:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidArchitecture:()Z
ifne 5
4: new java.lang.StringBuilder
dup
ldc "runs only on architecture AMD64. Detected architecture: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidOperatingSystem:()Z
ifne 8
6: new java.lang.StringBuilder
dup
ldc "runs on Linux, Mac OS X and Windows only. Detected OS: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getJavaVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "java.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void reportFatalError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Fatal error:"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Throwable.printStackTrace:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 e Ljava/lang/Throwable;
MethodParameters:
Name Flags
e
private static void reportFatalError(java.lang.Throwable, java.lang.String);
descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Fatal error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Throwable.printStackTrace:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 e Ljava/lang/Throwable;
0 3 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
e
msg
public static void reportUserError(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
public static void reportUserError(java.lang.Throwable, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic accept()Ljava/util/function/Consumer;
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;)V
com/oracle/svm/hosted/NativeImageGeneratorRunner.reportUserError(Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserException:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Ljava/lang/Throwable;
0 2 1 parsedHostedOptions Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
e
parsedHostedOptions
private static void reportUserException(java.lang.Throwable, org.graalvm.compiler.options.OptionValues, java.util.function.Consumer<java.lang.String>);
descriptor: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof com.oracle.svm.core.util.UserError$UserException
ifeq 7
1: aload 0
checkcast com.oracle.svm.core.util.UserError$UserException
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.svm.core.util.UserError$UserException.getMessages:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: java.lang.Throwable org.graalvm.compiler.options.OptionValues java.util.function.Consumer com.oracle.svm.core.util.UserError$UserException top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 2
aload 4
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 6: goto 8
7: StackMap locals: java.lang.Throwable org.graalvm.compiler.options.OptionValues java.util.function.Consumer
StackMap stack:
aload 2
aload 0
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 1
ifnull 11
getstatic com.oracle.svm.hosted.NativeImageOptions.ReportExceptionStackTraces:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 1
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 11
9: aload 0
invokevirtual java.lang.Throwable.printStackTrace:()V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "Use "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.oracle.svm.hosted.NativeImageOptions.ReportExceptionStackTraces:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "+"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " to print stacktrace of underlying exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 e Ljava/lang/Throwable;
0 15 1 parsedHostedOptions Lorg/graalvm/compiler/options/OptionValues;
0 15 2 report Ljava/util/function/Consumer<Ljava/lang/String;>;
2 6 3 ue Lcom/oracle/svm/core/util/UserError$UserException;
4 5 4 message Ljava/lang/String;
Signature: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
e
parsedHostedOptions
report
private static void info(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static void warn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Warning: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
public int build(java.lang.String[], com.oracle.svm.hosted.ImageClassLoader);
descriptor: ([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage:([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
0 1 1 args [Ljava/lang/String;
0 1 2 imageClassLoader Lcom/oracle/svm/hosted/ImageClassLoader;
MethodParameters:
Name Flags
args
imageClassLoader
public void interruptBuild();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual com.oracle.svm.hosted.NativeImageGenerator.interruptBuild:()V
3: StackMap locals: com.oracle.svm.hosted.NativeImageGenerator
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
1 4 1 generatorInstance Lcom/oracle/svm/hosted/NativeImageGenerator;
private static boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "--image-args-file="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arg Ljava/lang/String;
private static boolean lambda$2(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "--image-args-file="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Ljava/lang/String;
}
SourceFile: "NativeImageGeneratorRunner.java"
NestMembers:
com.oracle.svm.hosted.NativeImageGeneratorRunner$1 com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus
InnerClasses:
public ParsingError = com.oracle.graal.pointsto.util.AnalysisError$ParsingError of com.oracle.graal.pointsto.util.AnalysisError
public StopTimer = com.oracle.graal.pointsto.util.Timer$StopTimer of com.oracle.graal.pointsto.util.Timer
public JavaMainSupport = com.oracle.svm.core.JavaMainWrapper$JavaMainSupport of com.oracle.svm.core.JavaMainWrapper
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public final FallbackImageRequest = com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest of com.oracle.svm.hosted.FallbackFeature
public final HostedManagement = com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement of com.oracle.svm.hosted.ImageSingletonsSupportImpl
com.oracle.svm.hosted.NativeImageGeneratorRunner$1
public JDK9Plus = com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus of com.oracle.svm.hosted.NativeImageGeneratorRunner
public NativeImageKind = com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind of com.oracle.svm.hosted.image.AbstractBootImage
public final ReflectionUtilError = com.oracle.svm.util.ReflectionUtil$ReflectionUtilError of com.oracle.svm.util.ReflectionUtil
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext