final class com.oracle.svm.driver.NativeImageServer extends com.oracle.svm.driver.NativeImage
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.driver.NativeImageServer
super_class: com.oracle.svm.driver.NativeImage
{
private static final java.lang.String serverDirPrefix;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "server-id-"
private static final java.lang.String machineDirPrefix;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "machine-id-"
private static final java.lang.String sessionDirPrefix;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "session-id-"
private static final java.lang.String defaultLockFileName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".lock"
private static final java.lang.String pKeyMaxServers;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MaxServers"
private static final java.lang.String machineProperties;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "machine.properties"
private boolean useServer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean verboseServer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String sessionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private volatile com.oracle.svm.driver.NativeImageServer$Server building;
descriptor: Lcom/oracle/svm/driver/NativeImageServer$Server;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.List<java.nio.channels.FileChannel> openFileChannels;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/nio/channels/FileChannel;>;
private final com.oracle.svm.driver.ServerOptionHandler serverOptionHandler;
descriptor: Lcom/oracle/svm/driver/ServerOptionHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(com.oracle.svm.driver.NativeImage$BuildConfiguration);
descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.svm.driver.NativeImage.<init>:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
1: aload 0
iconst_0
putfield com.oracle.svm.driver.NativeImageServer.useServer:Z
2: aload 0
iconst_0
putfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
3: aload 0
aconst_null
putfield com.oracle.svm.driver.NativeImageServer.sessionName:Ljava/lang/String;
4: aload 0
aconst_null
putfield com.oracle.svm.driver.NativeImageServer.building:Lcom/oracle/svm/driver/NativeImageServer$Server;
5: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
6: aload 0
new com.oracle.svm.driver.ServerOptionHandler
dup
aload 0
invokespecial com.oracle.svm.driver.ServerOptionHandler.<init>:(Lcom/oracle/svm/driver/NativeImageServer;)V
putfield com.oracle.svm.driver.NativeImageServer.serverOptionHandler:Lcom/oracle/svm/driver/ServerOptionHandler;
7: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.serverOptionHandler:Lcom/oracle/svm/driver/ServerOptionHandler;
invokevirtual com.oracle.svm.driver.NativeImageServer.registerOptionHandler:(Lcom/oracle/svm/driver/NativeImage$OptionHandler;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 9 1 buildConfiguration Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
MethodParameters:
Name Flags
buildConfiguration
static com.oracle.svm.driver.NativeImage create(com.oracle.svm.driver.NativeImage$BuildConfiguration);
descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.driver.NativeImageServerHelper.isInConfiguration:()Z
ifeq 2
1: new com.oracle.svm.driver.NativeImageServer
dup
aload 0
invokespecial com.oracle.svm.driver.NativeImageServer.<init>:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.svm.driver.NativeImage
dup
aload 0
invokespecial com.oracle.svm.driver.NativeImage.<init>:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 config Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
MethodParameters:
Name Flags
config
private static java.util.function.Consumer<byte[]> byteStreamToByteConsumer(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/util/function/Consumer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Ljava/io/OutputStream;)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/driver/NativeImageServer.lambda$0(Ljava/io/OutputStream;[B)V (6)
([B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 stream Ljava/io/OutputStream;
Signature: (Ljava/io/OutputStream;)Ljava/util/function/Consumer<[B>;
MethodParameters:
Name Flags
stream
private java.lang.String getSessionID();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer.sessionName:Ljava/lang/String;
ifnull 2
1: new java.lang.StringBuilder
dup
ldc "session-id-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.driver.NativeImageServer.sessionName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "session-id-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic org.graalvm.nativeimage.ProcessProperties.getProcessID:()J
invokestatic java.lang.Math.toIntExact:(J)I
invokestatic com.oracle.svm.driver.Unistd.getsid:(I)I
i2l
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer;
private static java.lang.String getMachineID();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "/etc/machine-id"
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.lines:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
ldc ""
ldc "machine-id-"
ldc ""
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: new java.lang.StringBuilder
dup
ldc "machine-id-hostid-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.svm.driver.Unistd.gethostid:()J
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
0 1 2 Class java.lang.Exception
private java.nio.file.Path getMachineDir();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getUserConfigDir:()Ljava/nio/file/Path;
invokestatic com.oracle.svm.driver.NativeImageServer.getMachineID:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.ensureDirectoryExists:(Ljava/nio/file/Path;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer;
1 3 1 machineDir Ljava/nio/file/Path;
private java.nio.file.Path getSessionDir();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getSessionID:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.ensureDirectoryExists:(Ljava/nio/file/Path;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer;
1 3 1 sessionDir Ljava/nio/file/Path;
private static java.lang.String getDurationString(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
invokevirtual java.time.temporal.ChronoUnit.between:(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J
lstore 1
start local 1 1: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toHours:(J)J
lstore 3
start local 3 2: lload 1
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
lload 3
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
lsub
lstore 1
3: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMinutes:(J)J
lstore 5
start local 5 4: lload 1
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
lload 5
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
lsub
lstore 1
5: ldc "%02d:%02d:%02d"
iconst_3
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 since Ljava/time/Instant;
1 6 1 seconds J
2 6 3 hours J
4 6 5 minutes J
MethodParameters:
Name Flags
since
private com.oracle.svm.driver.NativeImageServer$Server getServerInstance(java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.List<java.lang.String>);
descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
anewarray com.oracle.svm.driver.NativeImageServer$Server
astore 4
start local 4 1: aload 0
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
ldc "create-server.lock"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
aload 0
aload 3
aload 1
aload 2
aload 4
invokedynamic accept(Lcom/oracle/svm/driver/NativeImageServer;Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[Lcom/oracle/svm/driver/NativeImageServer$Server;)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/driver/NativeImageServer.lambda$1(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[Lcom/oracle/svm/driver/NativeImageServer$Server;Ljava/nio/channels/FileChannel;)V (7)
(Ljava/nio/channels/FileChannel;)V
invokevirtual com.oracle.svm.driver.NativeImageServer.withFileChannel:(Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
2: aload 4
iconst_0
aaload
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 3 1 classpath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 3 2 bootClasspath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 3 3 javaArgs Ljava/util/List<Ljava/lang/String;>;
1 3 4 result [Lcom/oracle/svm/driver/NativeImageServer$Server;
Signature: (Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/List<Ljava/lang/String;>;)Lcom/oracle/svm/driver/NativeImageServer$Server;
MethodParameters:
Name Flags
classpath
bootClasspath
javaArgs
private static com.oracle.svm.driver.NativeImageServer$Server findVictim(java.util.List<com.oracle.svm.driver.NativeImageServer$Server>);
descriptor: (Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: 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/driver/NativeImageServer$Server.isAlive()Z (5)
(Lcom/oracle/svm/driver/NativeImageServer$Server;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: 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/svm/driver/NativeImageServer.lambda$4(Lcom/oracle/svm/driver/NativeImageServer$Server;)Ljava/time/Instant; (6)
(Lcom/oracle/svm/driver/NativeImageServer$Server;)Ljava/time/Instant;
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.min:(Ljava/util/Comparator;)Ljava/util/Optional;
3: aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.driver.NativeImageServer$Server
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 aliveServers Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
Signature: (Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;)Lcom/oracle/svm/driver/NativeImageServer$Server;
MethodParameters:
Name Flags
aliveServers
private java.util.List<java.nio.file.Path> getSessionDirs(boolean);
descriptor: (Z)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getSessionDir:()Ljava/nio/file/Path;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 2
start local 2 1: iload 1
ifeq 10
2: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)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/driver/NativeImageServer.lambda$17(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
3: invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: 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/driver/NativeImageServer.lambda$6(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: 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
6: astore 2
7: goto 10
StackMap locals: com.oracle.svm.driver.NativeImageServer int java.util.List
StackMap stack: java.io.IOException
8: astore 3
start local 3 9: new java.lang.StringBuilder
dup
ldc "Accessing MachineDir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " failed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 3 10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 11 1 machineWide Z
1 11 2 sessionDirs Ljava/util/List<Ljava/nio/file/Path;>;
9 10 3 e Ljava/io/IOException;
Exception table:
from to target type
2 7 8 Class java.io.IOException
Signature: (Z)Ljava/util/List<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
machineWide
private java.util.List<com.oracle.svm.driver.NativeImageServer$Server> findServers(java.util.List<java.nio.file.Path>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 3
start local 3 3: aload 3
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)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/driver/NativeImageServer.lambda$18(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 0
aload 2
invokedynamic accept(Lcom/oracle/svm/driver/NativeImageServer;Ljava/util/ArrayList;)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/driver/NativeImageServer.lambda$8(Ljava/util/ArrayList;Ljava/nio/file/Path;)V (7)
(Ljava/nio/file/Path;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
4: goto 7
StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.ArrayList java.nio.file.Path java.util.Iterator
StackMap stack: java.io.IOException
5: astore 5
start local 5 6: new java.lang.StringBuilder
dup
ldc "Accessing SessionDir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " failed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 5 end local 3 7: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 9 1 sessionDirs Ljava/util/List<Ljava/nio/file/Path;>;
1 9 2 servers Ljava/util/ArrayList<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
3 7 3 sessionDir Ljava/nio/file/Path;
6 7 5 e Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
Signature: (Ljava/util/List<Ljava/nio/file/Path;>;)Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
MethodParameters:
Name Flags
sessionDirs
void listServers(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokevirtual com.oracle.svm.driver.NativeImageServer.getSessionDirs:(Z)Ljava/util/List;
invokevirtual com.oracle.svm.driver.NativeImageServer.findServers:(Ljava/util/List;)Ljava/util/List;
astore 3
start local 3 1: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: com.oracle.svm.driver.NativeImageServer int int java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.driver.NativeImageServer$Server
astore 4
start local 4 3: iload 1
ifeq 4
new java.lang.StringBuilder
dup
ldc "Session "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 5
StackMap locals: com.oracle.svm.driver.NativeImageServer int int java.util.List com.oracle.svm.driver.NativeImageServer$Server java.util.Iterator
StackMap stack:
4: ldc ""
StackMap locals:
StackMap stack: java.lang.String
5: astore 6
start local 6 6: aload 0
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 4
aload 4
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getLivenessInfo:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getLastBuildInfo:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
7: iload 2
ifeq 10
8: aload 0
ldc "Details:"
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
9: aload 0
aload 4
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getServerInfo:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
end local 6 end local 4 10: StackMap locals: com.oracle.svm.driver.NativeImageServer int int java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 12 1 machineWide Z
0 12 2 details Z
1 12 3 servers Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
3 10 4 server Lcom/oracle/svm/driver/NativeImageServer$Server;
6 10 6 sessionInfo Ljava/lang/String;
MethodParameters:
Name Flags
machineWide
details
void wipeMachineDir();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/NativeImageServer;
java.util.List<com.oracle.svm.driver.NativeImageServer$Server> cleanupServers(boolean, boolean, boolean);
descriptor: (ZZZ)Ljava/util/List;
flags: (0x0000)
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 2
invokevirtual com.oracle.svm.driver.NativeImageServer.getSessionDirs:(Z)Ljava/util/List;
astore 4
start local 4 1: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: com.oracle.svm.driver.NativeImageServer int int int java.util.List top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 5
start local 5 3: aload 5
invokestatic com.oracle.svm.driver.NativeImageServer.isDeletedPath:(Ljava/nio/file/Path;)Z
ifeq 5
4: aload 0
aload 5
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 7: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: com.oracle.svm.driver.NativeImageServer int int int java.util.List java.util.List top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 6
start local 6 9: aload 0
aload 6
aload 0
aload 6
iload 1
iload 3
aload 5
invokedynamic accept(Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;ZZLjava/util/List;)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/driver/NativeImageServer.lambda$9(Ljava/nio/file/Path;ZZLjava/util/List;Ljava/nio/channels/FileChannel;)V (7)
(Ljava/nio/channels/FileChannel;)V
invokevirtual com.oracle.svm.driver.NativeImageServer.withLockDirFileChannel:(Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
end local 6 10: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 5
areturn
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 12 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 12 1 serverShutdown Z
0 12 2 machineWide Z
0 12 3 quiet Z
1 12 4 sessionDirs Ljava/util/List<Ljava/nio/file/Path;>;
3 5 5 sessionDir Ljava/nio/file/Path;
7 12 5 aliveServers Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
9 10 6 sessionDir Ljava/nio/file/Path;
Signature: (ZZZ)Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
MethodParameters:
Name Flags
serverShutdown
machineWide
quiet
private com.oracle.svm.driver.NativeImageServer$Server startServer(java.nio.file.Path, java.nio.file.Path, int, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.List<java.lang.String>);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;ILjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new java.lang.ProcessBuilder
dup
iconst_0
anewarray java.lang.String
invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
astore 7
start local 7 1: aload 7
aload 2
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.lang.ProcessBuilder.directory:(Ljava/io/File;)Ljava/lang/ProcessBuilder;
pop
2: aload 7
iconst_1
invokevirtual java.lang.ProcessBuilder.redirectErrorStream:(Z)Ljava/lang/ProcessBuilder;
pop
3: aload 7
invokevirtual java.lang.ProcessBuilder.command:()Ljava/util/List;
astore 8
start local 8 4: aload 8
aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 5
invokevirtual java.util.LinkedHashSet.isEmpty:()Z
ifne 7
6: aload 8
aload 5
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
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;
java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
getstatic java.io.File.pathSeparator:Ljava/lang/String;
ldc "-Xbootclasspath/a:"
ldc ""
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: java.lang.ProcessBuilder java.util.List
StackMap stack:
aload 8
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "-cp"
aastore
dup
iconst_1
aload 4
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
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;
java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: aload 8
aload 6
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
9: aload 8
ldc "-Dgraal.LogFile=%e"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 8
ldc "com.oracle.svm.hosted.server.NativeImageBuildServer"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 8
new java.lang.StringBuilder
dup
ldc "-port="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 2
ldc "server.log"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 9
start local 9 13: aload 8
new java.lang.StringBuilder
dup
ldc "-logFile="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 0
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "StartServer ["
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
15: aload 0
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
aload 8
iconst_1
invokestatic com.oracle.svm.core.SubstrateUtil.getShellCommandString:(Ljava/util/List;Z)Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
16: aload 0
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "]"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
17: aload 0
aload 2
aload 7
iload 3
aload 4
aload 5
aload 6
invokedynamic run(Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;Ljava/lang/ProcessBuilder;ILjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)Ljava/lang/Runnable;
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:
()V
com/oracle/svm/driver/NativeImageServer.lambda$12(Ljava/nio/file/Path;Ljava/lang/ProcessBuilder;ILjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)V (7)
()V
invokestatic com.oracle.svm.driver.NativeImageServerHelper.daemonize:(Ljava/lang/Runnable;)I
istore 10
start local 10 18: iload 10
i2l
invokestatic org.graalvm.nativeimage.ProcessProperties.waitForProcessExit:(J)I
istore 11
start local 11 19: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Exit status forked child process: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
20: iload 11
ifne 39
21: new com.oracle.svm.driver.NativeImageServer$Server
dup
aload 0
aload 2
invokespecial com.oracle.svm.driver.NativeImageServer$Server.<init>:(Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;)V
astore 12
start local 12 22: goto 26
end local 12 StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.nio.file.Path int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.ProcessBuilder java.util.List java.nio.file.Path int int
StackMap stack: java.lang.Exception
23: pop
24: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Image-build server unusable."
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
25: aconst_null
areturn
start local 12 26: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
iconst_0
istore 13
start local 13 27: goto 36
28: StackMap locals: int
StackMap stack:
aload 12
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
ifeq 31
29: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Image-build server found."
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
30: aload 12
areturn
31: StackMap locals:
StackMap stack:
ldc 200
invokestatic java.lang.Thread.sleep:(J)V
32: goto 35
StackMap locals:
StackMap stack: java.lang.InterruptedException
33: pop
34: goto 37
35: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
36: iload 13
bipush 6
if_icmplt 28
end local 13 37: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Image-build server not responding."
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
38: aload 12
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.shutdown:()V
end local 12 39: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 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 40 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 40 1 javaExePath Ljava/nio/file/Path;
0 40 2 serverDir Ljava/nio/file/Path;
0 40 3 serverPort I
0 40 4 classpath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 40 5 bootClasspath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 40 6 javaArgs Ljava/util/List<Ljava/lang/String;>;
1 40 7 pb Ljava/lang/ProcessBuilder;
4 40 8 command Ljava/util/List<Ljava/lang/String;>;
13 40 9 logFilePath Ljava/nio/file/Path;
18 40 10 childPid I
19 40 11 exitStatus I
22 23 12 server Lcom/oracle/svm/driver/NativeImageServer$Server;
26 39 12 server Lcom/oracle/svm/driver/NativeImageServer$Server;
27 37 13 i I
Exception table:
from to target type
21 22 23 Class java.lang.Exception
31 32 33 Class java.lang.InterruptedException
Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;ILjava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/List<Ljava/lang/String;>;)Lcom/oracle/svm/driver/NativeImageServer$Server;
MethodParameters:
Name Flags
javaExePath
serverDir
serverPort
classpath
bootClasspath
javaArgs
private static void writeServerFile(java.nio.file.Path, int, long, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.List<java.lang.String>);
descriptor: (Ljava/nio/file/Path;IJLjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 7
start local 7 1: aload 7
ldc "Port"
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 7
ldc "PID"
lload 2
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 7
ldc "JavaArgs"
ldc " "
aload 6
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
pop
4: aload 7
ldc "BootClasspath"
aload 5
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
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/svm/core/util/ClasspathUtils.classpathToString(Ljava/nio/file/Path;)Ljava/lang/String; (6)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
ldc " "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
pop
5: aload 7
ldc "Classpath"
aload 4
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
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/svm/core/util/ClasspathUtils.classpathToString(Ljava/nio/file/Path;)Ljava/lang/String; (6)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
ldc " "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
pop
6: aload 0
ldc "server.properties"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 8
start local 8 7: aconst_null
astore 9
aconst_null
astore 10
8: aload 8
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
astore 11
start local 11 9: aload 7
aload 11
ldc ""
invokevirtual java.util.Properties.store:(Ljava/io/OutputStream;Ljava/lang/String;)V
10: aload 11
ifnull 16
aload 11
invokevirtual java.io.OutputStream.close:()V
goto 16
StackMap locals: java.nio.file.Path int long java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.Properties java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.OutputStream
StackMap stack: java.lang.Throwable
11: astore 9
aload 11
ifnull 12
aload 11
invokevirtual java.io.OutputStream.close:()V
end local 11 StackMap locals:
StackMap stack:
12: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 10
aload 9
ifnonnull 14
aload 10
astore 9
goto 15
StackMap locals:
StackMap stack:
14: aload 9
aload 10
if_acmpeq 15
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 9
athrow
16: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 serverDir Ljava/nio/file/Path;
0 17 1 port I
0 17 2 pid J
0 17 4 classpath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 17 5 bootClasspath Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 17 6 javaArgs Ljava/util/List<Ljava/lang/String;>;
1 17 7 sp Ljava/util/Properties;
7 17 8 serverPropertiesPath Ljava/nio/file/Path;
9 12 11 os Ljava/io/OutputStream;
Exception table:
from to target type
9 10 11 any
8 13 13 any
Exceptions:
throws java.lang.Exception
Signature: (Ljava/nio/file/Path;IJLjava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
serverDir
port
pid
classpath
bootClasspath
javaArgs
private void withLockDirFileChannel(java.nio.file.Path, java.util.function.Consumer<java.nio.channels.FileChannel>);
descriptor: (Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc ".lock"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
aload 2
invokevirtual com.oracle.svm.driver.NativeImageServer.withFileChannel:(Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 2 1 lockDir Ljava/nio/file/Path;
0 2 2 consumer Ljava/util/function/Consumer<Ljava/nio/channels/FileChannel;>;
Signature: (Ljava/nio/file/Path;Ljava/util/function/Consumer<Ljava/nio/channels/FileChannel;>;)V
MethodParameters:
Name Flags
lockDir
consumer
private void withFileChannel(java.nio.file.Path, java.util.function.Consumer<java.nio.channels.FileChannel>);
descriptor: (Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
dup
astore 4
monitorenter
1: aload 1
iconst_3
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_2
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 3
start local 3 2: aload 0
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 4
monitorexit
4: goto 7
end local 3 StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.util.function.Consumer top java.util.List
StackMap stack: java.lang.Throwable
5: aload 4
monitorexit
6: athrow
start local 3 7: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.util.function.Consumer java.nio.channels.FileChannel
StackMap stack:
aload 2
aload 3
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
8: aload 0
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
dup
astore 4
monitorenter
9: aload 0
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
aload 3
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
10: aload 3
invokevirtual java.nio.channels.FileChannel.close:()V
11: aload 4
monitorexit
12: goto 17
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.util.function.Consumer java.nio.channels.FileChannel java.util.List
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
end local 3 15: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.util.function.Consumer
StackMap stack: java.io.IOException
astore 3
start local 3 16: new java.lang.StringBuilder
dup
ldc "Using FileChannel for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " failed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 18 1 filePath Ljava/nio/file/Path;
0 18 2 consumer Ljava/util/function/Consumer<Ljava/nio/channels/FileChannel;>;
2 5 3 fileChannel Ljava/nio/channels/FileChannel;
7 15 3 fileChannel Ljava/nio/channels/FileChannel;
16 17 3 e Ljava/io/IOException;
Exception table:
from to target type
1 4 5 any
5 6 5 any
9 12 13 any
13 14 13 any
0 15 15 Class java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/function/Consumer<Ljava/nio/channels/FileChannel;>;)V
MethodParameters:
Name Flags
filePath
consumer
private static java.nio.channels.FileLock lockFileChannel(java.nio.channels.FileChannel);
descriptor: (Ljava/nio/channels/FileChannel;)Ljava/nio/channels/FileLock;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.Thread
dup
aload 0
invokedynamic run(Ljava/nio/channels/FileChannel;)Ljava/lang/Runnable;
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:
()V
com/oracle/svm/driver/NativeImageServer.lambda$15(Ljava/nio/channels/FileChannel;)V (6)
()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Thread.start:()V
2: aload 0
invokevirtual java.nio.channels.FileChannel.lock:()Ljava/nio/channels/FileLock;
astore 2
start local 2 3: aload 1
invokevirtual java.lang.Thread.interrupt:()V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 channel Ljava/nio/channels/FileChannel;
1 5 1 lockWatcher Ljava/lang/Thread;
3 5 2 lock Ljava/nio/channels/FileLock;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
channel
protected int buildImage(java.util.List<java.lang.String>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.lang.String>, java.util.LinkedHashSet<java.nio.file.Path>);
descriptor: (Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic test(Lcom/oracle/svm/driver/NativeImageServer;)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/driver/NativeImageServer.lambda$16(Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
istore 6
start local 6 1: aload 0
getfield com.oracle.svm.driver.NativeImageServer.useServer:Z
ifeq 14
iload 6
ifne 14
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.useDebugAttach:()Z
ifne 14
2: new com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler
dup
aload 0
invokespecial com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.<init>:(Lcom/oracle/svm/driver/NativeImageServer;)V
astore 7
start local 7 3: new sun.misc.Signal
dup
ldc "TERM"
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 7
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
4: new sun.misc.Signal
dup
ldc "INT"
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 7
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
5: aload 0
aload 3
aload 2
aload 1
invokevirtual com.oracle.svm.driver.NativeImageServer.getServerInstance:(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
astore 8
start local 8 6: aload 8
ifnull 14
7: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getServerInfo:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
8: aload 0
new java.lang.StringBuilder
dup
ldc "Build on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
9: aload 0
aload 8
putfield com.oracle.svm.driver.NativeImageServer.building:Lcom/oracle/svm/driver/NativeImageServer$Server;
10: aload 8
aload 5
aload 4
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendBuildRequest:(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
istore 9
start local 9 11: aload 8
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
ifne 13
12: aload 0
iconst_0
iconst_0
iconst_1
invokevirtual com.oracle.svm.driver.NativeImageServer.cleanupServers:(ZZZ)Ljava/util/List;
pop
13: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet int com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler com.oracle.svm.driver.NativeImageServer$Server int
StackMap stack:
iload 9
ireturn
end local 9 end local 8 end local 7 14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial com.oracle.svm.driver.NativeImage.buildImage:(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 15 1 javaArgs Ljava/util/List<Ljava/lang/String;>;
0 15 2 bcp Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 15 3 cp Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 15 4 imageArgs Ljava/util/LinkedHashSet<Ljava/lang/String;>;
0 15 5 imagecp Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
1 15 6 printFlags Z
3 14 7 signalHandler Lcom/oracle/svm/driver/NativeImageServer$AbortBuildSignalHandler;
6 14 8 server Lcom/oracle/svm/driver/NativeImageServer$Server;
11 14 9 status I
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/lang/String;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;)I
MethodParameters:
Name Flags
javaArgs
bcp
cp
imageArgs
imagecp
private static java.lang.String imageServerUID(java.nio.file.Path, java.util.List<java.lang.String>, java.util.List<java.util.Collection<java.nio.file.Path>>);
descriptor: (Ljava/nio/file/Path;Ljava/util/List;Ljava/util/List;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: ldc "SHA-512"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 3
start local 3 1: goto 4
end local 3 StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
2: astore 4
start local 4 3: ldc "SHA-512 digest is not available"
aload 4
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 4 start local 3 4: StackMap locals: java.security.MessageDigest
StackMap stack:
aload 3
aload 0
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
invokevirtual java.security.MessageDigest.update:([B)V
5: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: java.nio.file.Path java.util.List java.util.List java.security.MessageDigest top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 4
start local 4 7: aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: java.nio.file.Path java.util.List java.util.List java.security.MessageDigest java.util.Collection java.util.Iterator top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 6
start local 6 9: aload 3
aload 6
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
invokevirtual java.security.MessageDigest.update:([B)V
10: aload 3
aload 6
invokestatic com.oracle.svm.driver.NativeImageServer.updateHash:(Ljava/security/MessageDigest;Ljava/nio/file/Path;)V
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 4 12: StackMap locals: java.nio.file.Path java.util.List java.util.List java.security.MessageDigest top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals:
StackMap stack:
14: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 15: aload 3
aload 4
invokevirtual java.lang.String.getBytes:()[B
invokevirtual java.security.MessageDigest.update:([B)V
end local 4 16: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 3
invokevirtual java.security.MessageDigest.digest:()[B
astore 4
start local 4 18: new java.lang.StringBuilder
dup
aload 4
arraylength
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 19: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 23
StackMap locals: java.nio.file.Path java.util.List java.util.List java.security.MessageDigest byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
20: aload 9
iload 7
baload
istore 6
start local 6 21: aload 5
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 6
sipush 255
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 22: iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
iload 8
if_icmplt 20
24: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 25 0 javaExecutable Ljava/nio/file/Path;
0 25 1 vmArgs Ljava/util/List<Ljava/lang/String;>;
0 25 2 builderPaths Ljava/util/List<Ljava/util/Collection<Ljava/nio/file/Path;>;>;
1 2 3 digest Ljava/security/MessageDigest;
4 25 3 digest Ljava/security/MessageDigest;
3 4 4 e Ljava/security/NoSuchAlgorithmException;
7 12 4 paths Ljava/util/Collection<Ljava/nio/file/Path;>;
9 11 6 path Ljava/nio/file/Path;
15 16 4 string Ljava/lang/String;
18 25 4 digestBytes [B
19 25 5 sb Ljava/lang/StringBuilder;
21 22 6 b B
Exception table:
from to target type
0 1 2 Class java.security.NoSuchAlgorithmException
Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/util/Collection<Ljava/nio/file/Path;>;>;)Ljava/lang/String;
MethodParameters:
Name Flags
javaExecutable
vmArgs
builderPaths
private static void updateHash(java.security.MessageDigest, java.nio.file.Path);
descriptor: (Ljava/security/MessageDigest;Ljava/nio/file/Path;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
ifeq 1
aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Build server classpath must only contain valid jar-files: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
invokevirtual java.security.MessageDigest.update:([B)V
3: goto 6
StackMap locals:
StackMap stack: java.io.IOException
4: astore 2
start local 2 5: new java.lang.StringBuilder
dup
ldc "Problem reading classpath entries: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.io.IOException.getMessage:()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.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 md Ljava/security/MessageDigest;
0 7 1 pathElement Ljava/nio/file/Path;
5 6 2 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
md
pathElement
void setUseServer(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.svm.driver.NativeImageServer.useServer:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 2 1 val Z
MethodParameters:
Name Flags
val
boolean useServer();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer.useServer:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/NativeImageServer;
protected void setDryRun(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial com.oracle.svm.driver.NativeImage.setDryRun:(Z)V
1: iload 1
ifeq 3
2: aload 0
iconst_0
putfield com.oracle.svm.driver.NativeImageServer.useServer:Z
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 4 1 val Z
MethodParameters:
Name Flags
val
void setVerboseServer(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 2 1 val Z
MethodParameters:
Name Flags
val
boolean verboseServer();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/NativeImageServer;
void setSessionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: ldc "Empty string not allowed as session-name"
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.svm.driver.NativeImageServer.sessionName:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 4 1 val Ljava/lang/String;
MethodParameters:
Name Flags
val
private static void lambda$0(java.io.OutputStream, byte[]);
descriptor: (Ljava/io/OutputStream;[B)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual java.io.OutputStream.write:([B)V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: new java.lang.RuntimeException
dup
ldc "Byte stream write failed."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 b [B
Exception table:
from to target type
0 1 2 Class java.io.IOException
private void lambda$1(java.util.List, java.util.LinkedHashSet, java.util.LinkedHashSet, com.oracle.svm.driver.NativeImageServer$Server[], java.nio.channels.FileChannel);
descriptor: (Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[Lcom/oracle/svm/driver/NativeImageServer$Server;Ljava/nio/channels/FileChannel;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=25, args_size=6
start local 0 start local 5 0: aconst_null
astore 6
aconst_null
astore 7
1: aload 5
invokestatic com.oracle.svm.driver.NativeImageServer.lockFileChannel:(Ljava/nio/channels/FileChannel;)Ljava/nio/channels/FileLock;
astore 8
start local 8 2: aload 0
iconst_0
iconst_1
iconst_1
invokevirtual com.oracle.svm.driver.NativeImageServer.cleanupServers:(ZZZ)Ljava/util/List;
astore 9
start local 9 3: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getMachineDir:()Ljava/nio/file/Path;
ldc "machine.properties"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic com.oracle.svm.driver.NativeImageServer.loadProperties:(Ljava/nio/file/Path;)Ljava/util/Map;
ldc "MaxServers"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 4: aload 10
ifnull 5
aload 10
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
5: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet com.oracle.svm.driver.NativeImageServer$Server[] java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getUserConfigProperties:()Ljava/util/Map;
ldc "MaxServers"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
6: StackMap locals:
StackMap stack:
aload 10
ifnull 7
aload 10
invokevirtual java.lang.String.isEmpty:()Z
ifeq 9
7: StackMap locals:
StackMap stack:
iconst_2
istore 11
start local 11 8: goto 10
end local 11 9: StackMap locals:
StackMap stack:
iconst_1
aload 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokestatic java.lang.Math.max:(II)I
istore 11
start local 11 10: StackMap locals: int
StackMap stack:
aload 0
iload 11
invokevirtual com.oracle.svm.driver.NativeImageServer.getXmxValue:(I)Ljava/lang/String;
astore 12
start local 12 11: aload 1
ldc "-Xmx"
aload 12
invokestatic com.oracle.svm.driver.NativeImageServer.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
pop
12: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getXmsValue:()Ljava/lang/String;
astore 13
start local 13 13: aload 12
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
lstore 14
start local 14 14: aload 13
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
lstore 16
start local 16 15: lload 16
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
lload 14
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 17
16: lload 14
invokestatic java.lang.Long.toUnsignedString:(J)Ljava/lang/String;
astore 13
17: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet com.oracle.svm.driver.NativeImageServer$Server[] java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List java.lang.String int java.lang.String java.lang.String long long
StackMap stack:
aload 1
ldc "-Xms"
aload 13
invokestatic com.oracle.svm.driver.NativeImageServer.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
pop
18: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer.getSessionDir:()Ljava/nio/file/Path;
astore 18
start local 18 19: new java.util.ArrayList
dup
iconst_2
anewarray java.util.LinkedHashSet
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 19
start local 19 20: aload 0
getfield com.oracle.svm.driver.NativeImageServer.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.useJavaModules:()Z
ifeq 22
21: aload 19
iconst_2
anewarray java.util.List
dup
iconst_0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderModulePath:()Ljava/util/List;
aastore
dup
iconst_1
aload 0
getfield com.oracle.svm.driver.NativeImageServer.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderUpgradeModulePath:()Ljava/util/List;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
22: StackMap locals: java.nio.file.Path java.util.List
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getJavaExecutable:()Ljava/nio/file/Path;
invokevirtual com.oracle.svm.driver.NativeImageServer.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 20
start local 20 23: aload 20
aload 1
aload 19
invokestatic com.oracle.svm.driver.NativeImageServer.imageServerUID:(Ljava/nio/file/Path;Ljava/util/List;Ljava/util/List;)Ljava/lang/String;
astore 21
start local 21 24: aload 18
new java.lang.StringBuilder
dup
ldc "server-id-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 22
start local 22 25: aload 9
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 22
invokedynamic test(Ljava/nio/file/Path;)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/driver/NativeImageServer.lambda$2(Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImageServer$Server;)Z (6)
(Lcom/oracle/svm/driver/NativeImageServer$Server;)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 23
start local 23 26: aload 23
invokevirtual java.util.Optional.isPresent:()Z
ifeq 33
27: aload 23
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast com.oracle.svm.driver.NativeImageServer$Server
astore 24
start local 24 28: aload 24
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
ifne 30
29: new java.lang.StringBuilder
dup
ldc "Found defunct image-build server:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getServerInfo:()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.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
athrow
30: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet com.oracle.svm.driver.NativeImageServer$Server[] java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List java.lang.String int java.lang.String java.lang.String long long java.nio.file.Path java.util.List java.nio.file.Path java.lang.String java.nio.file.Path java.util.Optional com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Reuse existing image-build server: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
31: aload 4
iconst_0
aload 24
aastore
end local 24 32: goto 45
33: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.List.size:()I
iload 11
if_icmplt 41
34: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Image-build server limit reached -> remove least recently used"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
35: aload 9
invokestatic com.oracle.svm.driver.NativeImageServer.findVictim:(Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
astore 24
start local 24 36: aload 24
ifnull 40
37: aload 0
new java.lang.StringBuilder
dup
ldc "Shutdown "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
38: aload 24
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.shutdown:()V
39: goto 41
40: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
ldc "Image-build server limit exceeded. Use options --server{-list,-shutdown[-all]} to fix the problem."
invokestatic com.oracle.svm.driver.NativeImageServer.showWarning:(Ljava/lang/String;)V
end local 24 41: StackMap locals:
StackMap stack:
aload 0
aload 20
aload 22
iconst_0
aload 2
aload 3
aload 1
invokevirtual com.oracle.svm.driver.NativeImageServer.startServer:(Ljava/nio/file/Path;Ljava/nio/file/Path;ILjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)Lcom/oracle/svm/driver/NativeImageServer$Server;
astore 24
start local 24 42: aload 24
ifnonnull 44
43: ldc "Creating image-build server failed. Fallback to one-shot image building ..."
invokestatic com.oracle.svm.driver.NativeImageServer.showWarning:(Ljava/lang/String;)V
44: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
aload 4
iconst_0
aload 24
aastore
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 16 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 45: StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet com.oracle.svm.driver.NativeImageServer$Server[] java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
StackMap stack:
aload 8
ifnull 53
aload 8
invokevirtual java.nio.channels.FileLock.close:()V
goto 53
StackMap locals:
StackMap stack: java.lang.Throwable
46: astore 6
aload 8
ifnull 47
aload 8
invokevirtual java.nio.channels.FileLock.close:()V
end local 8 StackMap locals:
StackMap stack:
47: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
48: astore 7
aload 6
ifnonnull 49
aload 7
astore 6
goto 50
StackMap locals:
StackMap stack:
49: aload 6
aload 7
if_acmpeq 50
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
50: aload 6
athrow
StackMap locals: com.oracle.svm.driver.NativeImageServer java.util.List java.util.LinkedHashSet java.util.LinkedHashSet com.oracle.svm.driver.NativeImageServer$Server[] java.nio.channels.FileChannel
StackMap stack: java.io.IOException
51: astore 6
start local 6 52: ldc "ServerInstance-creation locking failed"
aload 6
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 6 53: StackMap locals:
StackMap stack:
return
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 54 5 lockFileChannel Ljava/nio/channels/FileChannel;
2 47 8 lock Ljava/nio/channels/FileLock;
3 45 9 aliveServers Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
4 45 10 maxServersStr Ljava/lang/String;
8 9 11 maxServers I
10 45 11 maxServers I
11 45 12 xmxValueStr Ljava/lang/String;
13 45 13 xmsValueStr Ljava/lang/String;
14 45 14 xmxValue J
15 45 16 xmsValue J
19 45 18 sessionDir Ljava/nio/file/Path;
20 45 19 builderPaths Ljava/util/List<Ljava/util/Collection<Ljava/nio/file/Path;>;>;
23 45 20 javaExePath Ljava/nio/file/Path;
24 45 21 serverUID Ljava/lang/String;
25 45 22 serverDir Ljava/nio/file/Path;
26 45 23 reusableServer Ljava/util/Optional<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
28 32 24 server Lcom/oracle/svm/driver/NativeImageServer$Server;
36 41 24 victim Lcom/oracle/svm/driver/NativeImageServer$Server;
42 45 24 server Lcom/oracle/svm/driver/NativeImageServer$Server;
52 53 6 e Ljava/io/IOException;
Exception table:
from to target type
2 45 46 any
1 48 48 any
0 51 51 Class java.io.IOException
private static java.time.Instant lambda$4(com.oracle.svm.driver.NativeImageServer$Server);
descriptor: (Lcom/oracle/svm/driver/NativeImageServer$Server;)Ljava/time/Instant;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/svm/driver/NativeImageServer$Server;
private static boolean lambda$17(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
private static boolean lambda$6(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "session-id-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sessionDir Ljava/nio/file/Path;
private static boolean lambda$18(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
private void lambda$8(java.util.ArrayList, java.nio.file.Path);
descriptor: (Ljava/util/ArrayList;Ljava/nio/file/Path;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "server-id-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
1: aload 1
new com.oracle.svm.driver.NativeImageServer$Server
dup
aload 0
aload 2
invokespecial com.oracle.svm.driver.NativeImageServer$Server.<init>:(Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
3: pop
4: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Found corrupt ServerDir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
5: aload 0
aload 2
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 7 2 serverDir Ljava/nio/file/Path;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
private void lambda$9(java.nio.file.Path, boolean, boolean, java.util.List, java.nio.channels.FileChannel);
descriptor: (Ljava/nio/file/Path;ZZLjava/util/List;Ljava/nio/channels/FileChannel;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=13, args_size=6
start local 0 start local 5 0: aconst_null
astore 6
aconst_null
astore 7
1: aload 5
invokevirtual java.nio.channels.FileChannel.lock:()Ljava/nio/channels/FileLock;
astore 8
start local 8 2: aload 0
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual com.oracle.svm.driver.NativeImageServer.findServers:(Ljava/util/List;)Ljava/util/List;
astore 9
start local 9 3: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 12
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path int int java.util.List java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List top java.util.Iterator
StackMap stack:
4: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.driver.NativeImageServer$Server
astore 10
start local 10 5: aload 10
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
istore 12
start local 12 6: iload 12
ifeq 7
iload 2
ifeq 11
7: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path int int java.util.List java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List com.oracle.svm.driver.NativeImageServer$Server java.util.Iterator int
StackMap stack:
iload 3
ifne 9
8: aload 0
new java.lang.StringBuilder
dup
ldc "Cleanup "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 10
iload 12
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.getLivenessInfo:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 10
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.shutdown:()V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 4
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 10 12: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path int int java.util.List java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 9 13: aload 8
ifnull 21
aload 8
invokevirtual java.nio.channels.FileLock.close:()V
goto 21
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path int int java.util.List java.nio.channels.FileChannel java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
StackMap stack: java.lang.Throwable
14: astore 6
aload 8
ifnull 15
aload 8
invokevirtual java.nio.channels.FileLock.close:()V
end local 8 StackMap locals:
StackMap stack:
15: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 7
aload 6
ifnonnull 17
aload 7
astore 6
goto 18
StackMap locals:
StackMap stack:
17: aload 6
aload 7
if_acmpeq 18
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 6
athrow
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path int int java.util.List java.nio.channels.FileChannel
StackMap stack: java.io.IOException
19: astore 6
start local 6 20: new java.lang.StringBuilder
dup
ldc "Locking SessionDir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " failed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 6 21: StackMap locals:
StackMap stack:
return
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 22 5 lockFileChannel Ljava/nio/channels/FileChannel;
2 15 8 lock Ljava/nio/channels/FileLock;
3 13 9 servers Ljava/util/List<Lcom/oracle/svm/driver/NativeImageServer$Server;>;
5 12 10 server Lcom/oracle/svm/driver/NativeImageServer$Server;
6 12 12 alive Z
20 21 6 e Ljava/io/IOException;
Exception table:
from to target type
2 13 14 any
1 16 16 any
0 19 19 Class java.io.IOException
private void lambda$12(java.nio.file.Path, java.lang.ProcessBuilder, int, java.util.LinkedHashSet, java.util.LinkedHashSet, java.util.List);
descriptor: (Ljava/nio/file/Path;Ljava/lang/ProcessBuilder;ILjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=18, args_size=7
start local 0 0: aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.ensureDirectoryExists:(Ljava/nio/file/Path;)V
1: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Starting new server ..."
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
2: aload 2
invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
astore 7
start local 7 3: aload 7
invokestatic org.graalvm.nativeimage.ProcessProperties.getProcessID:(Ljava/lang/Process;)J
lstore 8
start local 8 4: aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "New image-build server pid: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
5: iload 3
istore 10
start local 10 6: iload 10
ifne 32
7: aconst_null
astore 11
aconst_null
astore 12
8: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 7
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 13
start local 13 9: bipush 60
istore 15
start local 15 10: new java.util.ArrayList
dup
iload 15
invokespecial java.util.ArrayList.<init>:(I)V
astore 16
start local 16 11: goto 18
start local 14 12: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.Process long int java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String int java.util.ArrayList
StackMap stack:
aload 16
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
13: aload 14
ldc "Started image build server on port: "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
14: aload 14
ldc "Started image build server on port: "
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 17
start local 17 15: aload 17
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
16: goto 20
17: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.Process long int java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String int java.util.ArrayList java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
end local 17 end local 14 18: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.Process long int java.lang.Throwable java.lang.Throwable java.io.BufferedReader top int java.util.ArrayList
StackMap stack:
aload 13
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 14
start local 14 19: ifnull 20
iinc 15 -1
iload 15
ifgt 12
20: StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.Process long int java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String int java.util.ArrayList
StackMap stack:
iload 10
ifne 25
21: ldc ""
astore 17
start local 17 22: aload 16
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 24
23: new java.lang.StringBuilder
dup
ldc "\nServer stdout/stderr:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
aload 16
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
24: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Could not determine port for sending image-build requests."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
athrow
end local 17 25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Image-build server selected port "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
end local 16 end local 15 end local 14 26: aload 13
ifnull 32
aload 13
invokevirtual java.io.BufferedReader.close:()V
goto 32
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.lang.Process long int java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack: java.lang.Throwable
27: astore 11
aload 13
ifnull 28
aload 13
invokevirtual java.io.BufferedReader.close:()V
end local 13 StackMap locals:
StackMap stack:
28: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 12
aload 11
ifnonnull 30
aload 12
astore 11
goto 31
StackMap locals:
StackMap stack:
30: aload 11
aload 12
if_acmpeq 31
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
31: aload 11
athrow
32: StackMap locals:
StackMap stack:
aload 1
iload 10
lload 8
aload 4
aload 5
aload 6
invokestatic com.oracle.svm.driver.NativeImageServer.writeServerFile:(Ljava/nio/file/Path;IJLjava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/List;)V
end local 10 end local 8 end local 7 33: goto 37
StackMap locals: com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.lang.ProcessBuilder int java.util.LinkedHashSet java.util.LinkedHashSet java.util.List
StackMap stack: java.lang.Throwable
34: astore 7
start local 7 35: aload 0
aload 1
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
36: ldc "Starting image-build server instance failed"
aload 7
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 7 37: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/oracle/svm/driver/NativeImageServer;
3 33 7 process Ljava/lang/Process;
4 33 8 serverPID J
6 33 10 selectedPort I
9 28 13 serverStdout Ljava/io/BufferedReader;
12 18 14 line Ljava/lang/String;
19 26 14 line Ljava/lang/String;
10 26 15 readLineTries I
11 26 16 lines Ljava/util/ArrayList<Ljava/lang/String;>;
15 18 17 portStr Ljava/lang/String;
22 25 17 serverOutputMessage Ljava/lang/String;
35 37 7 e Ljava/lang/Throwable;
Exception table:
from to target type
15 16 17 Class java.lang.NumberFormatException
9 26 27 any
8 29 29 any
0 33 34 Class java.lang.Throwable
private static void lambda$15(java.nio.channels.FileChannel);
descriptor: (Ljava/nio/channels/FileChannel;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
0: getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
ldc 10
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Thread.sleep:(J)V
1: ldc "Timeout while waiting for FileChannel.lock"
invokestatic com.oracle.svm.driver.NativeImageServer.showWarning:(Ljava/lang/String;)V
2: aload 0
invokevirtual java.nio.channels.FileChannel.close:()V
3: goto 7
StackMap locals:
StackMap stack: java.io.IOException
4: astore 1
start local 1 5: ldc "LockWatcher closing FileChannel of LockFile failed"
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 1 6: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
7: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
0 6 6 Class java.lang.InterruptedException
private boolean lambda$16(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.svm.driver.NativeImageServer.enablePrintFlags:Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 1
aload 1
aload 0
getfield com.oracle.svm.driver.NativeImageServer.enablePrintFlagsWithExtraHelp:Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer;
0 3 1 arg Ljava/lang/String;
private static boolean lambda$2(java.nio.file.Path, com.oracle.svm.driver.NativeImageServer$Server);
descriptor: (Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImageServer$Server;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
aload 0
invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 s Lcom/oracle/svm/driver/NativeImageServer$Server;
}
SourceFile: "NativeImageServer.java"
NestMembers:
com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler com.oracle.svm.driver.NativeImageServer$Server com.oracle.svm.driver.NativeImageServer$ServerInstanceError
InnerClasses:
public abstract BuildConfiguration = com.oracle.svm.driver.NativeImage$BuildConfiguration of com.oracle.svm.driver.NativeImage
abstract OptionHandler = com.oracle.svm.driver.NativeImage$OptionHandler of com.oracle.svm.driver.NativeImage
private final AbortBuildSignalHandler = com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler of com.oracle.svm.driver.NativeImageServer
private final Server = com.oracle.svm.driver.NativeImageServer$Server of com.oracle.svm.driver.NativeImageServer
private final ServerInstanceError = com.oracle.svm.driver.NativeImageServer$ServerInstanceError of com.oracle.svm.driver.NativeImageServer
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles