final class com.oracle.svm.driver.NativeImageServer$Server
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.driver.NativeImageServer$Server
super_class: java.lang.Object
{
private static final java.lang.String serverProperties;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "server.properties"
private static final java.lang.String buildRequestLog;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "build-request.log"
private static final java.lang.String pKeyPort;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Port"
private static final java.lang.String pKeyPID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PID"
private static final java.lang.String pKeyJavaArgs;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JavaArgs"
private static final java.lang.String pKeyBCP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "BootClasspath"
private static final java.lang.String pKeyCP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Classpath"
final java.nio.file.Path serverDir;
descriptor: Ljava/nio/file/Path;
flags: (0x0010) ACC_FINAL
final java.time.Instant since;
descriptor: Ljava/time/Instant;
flags: (0x0010) ACC_FINAL
java.time.Instant lastBuildRequest;
descriptor: Ljava/time/Instant;
flags: (0x0000)
final int port;
descriptor: I
flags: (0x0010) ACC_FINAL
final int pid;
descriptor: I
flags: (0x0010) ACC_FINAL
final java.util.LinkedHashSet<java.lang.String> serverJavaArgs;
descriptor: Ljava/util/LinkedHashSet;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;
final java.util.LinkedHashSet<java.nio.file.Path> serverBootClasspath;
descriptor: Ljava/util/LinkedHashSet;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
final java.util.LinkedHashSet<java.nio.file.Path> serverClasspath;
descriptor: Ljava/util/LinkedHashSet;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
final com.oracle.svm.driver.NativeImageServer this$0;
descriptor: Lcom/oracle/svm/driver/NativeImageServer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.svm.driver.NativeImageServer, java.nio.file.Path);
descriptor: (Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
2: aload 2
ldc "server.properties"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 3: aload 3
invokestatic com.oracle.svm.driver.NativeImageServer.loadProperties:(Ljava/nio/file/Path;)Ljava/util/Map;
astore 4
start local 4 4: aload 0
aload 4
ldc "PID"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
5: aload 0
aload 4
ldc "Port"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.oracle.svm.driver.NativeImageServer$Server.port:I
6: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
ifne 10
7: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
i2l
invokestatic org.graalvm.nativeimage.ProcessProperties.destroyForcibly:(J)Z
pop
8: aload 1
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
9: new com.oracle.svm.driver.NativeImageServer$ServerInstanceError
dup
invokespecial com.oracle.svm.driver.NativeImageServer$ServerInstanceError.<init>:()V
athrow
10: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.nio.file.Path java.util.Map
StackMap stack:
aload 0
new java.util.LinkedHashSet
dup
aload 4
ldc "JavaArgs"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
putfield com.oracle.svm.driver.NativeImageServer$Server.serverJavaArgs:Ljava/util/LinkedHashSet;
11: aload 0
aload 0
aload 4
ldc "BootClasspath"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.readClasspath:(Ljava/lang/String;)Ljava/util/LinkedHashSet;
putfield com.oracle.svm.driver.NativeImageServer$Server.serverBootClasspath:Ljava/util/LinkedHashSet;
12: aload 0
aload 0
aload 4
ldc "Classpath"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.readClasspath:(Ljava/lang/String;)Ljava/util/LinkedHashSet;
putfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
13: aload 3
ldc Ljava/nio/file/attribute/BasicFileAttributes;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
astore 5
start local 5 14: aload 0
aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.creationTime:()Ljava/nio/file/attribute/FileTime;
invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
putfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
15: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.updateLastBuildRequest:()V
16: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
0 17 2 serverDir Ljava/nio/file/Path;
3 17 3 serverPropertiesPath Ljava/nio/file/Path;
4 17 4 properties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
14 17 5 sinceAttrs Ljava/nio/file/attribute/BasicFileAttributes;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
this$0 final
serverDir
private void updateLastBuildRequest();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
ldc "build-request.log"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 1: aload 1
invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
ifeq 5
2: aload 1
ldc Ljava/nio/file/attribute/BasicFileAttributes;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
astore 2
start local 2 3: aload 0
aload 2
invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
lconst_1
invokevirtual java.time.Instant.plusSeconds:(J)Ljava/time/Instant;
putfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
end local 2 4: goto 6
5: StackMap locals: java.nio.file.Path
StackMap stack:
aload 0
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
putfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 7 1 buildRequestLogPath Ljava/nio/file/Path;
3 4 2 buildAttrs Ljava/nio/file/attribute/BasicFileAttributes;
Exceptions:
throws java.io.IOException
private java.util.LinkedHashSet<java.nio.file.Path> readClasspath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/LinkedHashSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 2
start local 2 1: aload 1
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.lang.String java.util.LinkedHashSet top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
aload 3
invokestatic com.oracle.svm.core.util.ClasspathUtils.stringToClasspath:(Ljava/lang/String;)Ljava/nio/file/Path;
invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
pop
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
0 7 1 rawClasspathString Ljava/lang/String;
1 7 2 result Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
3 4 3 pathStr Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
rawClasspathString
private int sendRequest(java.util.function.Consumer<byte[]>, java.util.function.Consumer<byte[]>, com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand, java.lang.String[]);
descriptor: (Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 5
start local 5 1: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "Sending to server ["
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
2: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
aload 3
invokevirtual com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
3: aload 5
invokeinterface java.util.List.size:()I
ifle 5
4: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc " \\\n"
aload 5
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
5: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
ldc "]"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
6: aload 3
ldc "\n"
aload 5
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
aload 1
aload 2
invokestatic com.oracle.svm.hosted.server.NativeImageBuildClient.sendRequest:(Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[BILjava/util/function/Consumer;Ljava/util/function/Consumer;)I
istore 6
start local 6 7: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Server returns: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
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
8: iload 6
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 9 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
0 9 1 out Ljava/util/function/Consumer<[B>;
0 9 2 err Ljava/util/function/Consumer<[B>;
0 9 3 serverCommand Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
0 9 4 args [Ljava/lang/String;
1 9 5 argList Ljava/util/List<Ljava/lang/String;>;
7 9 6 exitCode I
Signature: (Ljava/util/function/Consumer<[B>;Ljava/util/function/Consumer<[B>;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
MethodParameters:
Name Flags
out
err
serverCommand
args
int sendBuildRequest(java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.lang.String>);
descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
flags: (0x0000)
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
newarray 10
dup
iconst_0
iconst_1
iastore
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
aload 0
aload 1
aload 2
aload 3
invokedynamic accept(Lcom/oracle/svm/driver/NativeImageServer$Server;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[I)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$Server.lambda$0(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[ILjava/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
2: aload 3
iconst_0
iaload
ireturn
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$Server;
0 3 1 imageCP Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
0 3 2 imageArgs Ljava/util/LinkedHashSet<Ljava/lang/String;>;
1 3 3 requestStatus [I
Signature: (Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/lang/String;>;)I
MethodParameters:
Name Flags
imageCP
imageArgs
boolean isAlive();
descriptor: ()Z
flags: (0x0000)
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.GET_VERSION:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
ifne 2
iconst_1
goto 3
StackMap locals: java.io.ByteArrayOutputStream
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Server version response: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
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
5: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 6 1 baos Ljava/io/ByteArrayOutputStream;
4 6 2 alive Z
void abortTask();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.ABORT_BUILD:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
pop
2: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Server abort response:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
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
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 4 1 baos Ljava/io/ByteArrayOutputStream;
synchronized void shutdown();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=6, locals=12, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
aload 1
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.STOP_SERVER:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
pop
2: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Server stop response:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
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
3: invokestatic java.lang.System.currentTimeMillis:()J
ldc 20000
ladd
lstore 2
start local 2 4: lload 2
ldc 40000
ladd
lstore 4
start local 4 5: lload 4
ldc 2000
ladd
lstore 6
start local 6 6: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
new java.lang.StringBuilder
dup
ldc "Waiting for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to shutdown"
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
7: iconst_0
istore 8
start local 8 8: iconst_0
istore 9
start local 9 9: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.io.ByteArrayOutputStream long long long int int
StackMap stack:
ldc 500
invokestatic java.lang.Thread.sleep:(J)V
10: goto 13
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: astore 10
start local 10 12: new java.lang.StringBuilder
dup
ldc "Woke up from waiting for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to shutdown"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 10 13: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 10
start local 10 14: iload 8
ifne 19
lload 2
lload 10
lcmp
ifge 19
15: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " keeps responding to port "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " even after sending STOP_SERVER"
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.showWarning:(Ljava/lang/String;)V
16: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
i2l
invokestatic org.graalvm.nativeimage.ProcessProperties.destroy:(J)Z
pop
17: iconst_1
istore 8
18: goto 26
StackMap locals: long
StackMap stack:
19: iload 9
ifne 24
lload 4
lload 10
lcmp
ifge 24
20: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " keeps responding to port "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " even after destroying"
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.showWarning:(Ljava/lang/String;)V
21: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
i2l
invokestatic org.graalvm.nativeimage.ProcessProperties.destroyForcibly:(J)Z
pop
22: iconst_1
istore 9
23: goto 26
StackMap locals:
StackMap stack:
24: lload 6
lload 10
lcmp
ifge 26
25: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " keeps responding to port "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " even after destroying forcefully"
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 10 26: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
ifne 9
27: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
28: return
end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 29 1 baos Ljava/io/ByteArrayOutputStream;
4 29 2 terminationTimeout J
5 29 4 killTimeout J
6 29 6 killedTimeout J
8 29 8 sentSIGTERM Z
9 29 9 sentSIGKILL Z
12 13 10 e Ljava/lang/InterruptedException;
14 26 10 now J
Exception table:
from to target type
9 10 11 Class java.lang.InterruptedException
java.lang.String getServerInfo();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "\nServerDir: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc "\nRunning for: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "\nLast build: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 1
ldc "None"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 9
8: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 1
ldc "\nPID: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: aload 1
ldc "\nPort: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
11: aload 1
ldc "\nJavaArgs: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverJavaArgs:Ljava/util/LinkedHashSet;
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;
pop
12: aload 1
ldc "\nBootClasspath: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverBootClasspath:Ljava/util/LinkedHashSet;
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 1
ldc "\nClasspath: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 1
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 15 1 sb Ljava/lang/StringBuilder;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc "pid: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
ldc "port: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
6: aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 1
bipush 42
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
1 10 1 sb Ljava/lang/StringBuilder;
private java.lang.String getLivenessInfo(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.StringBuilder
dup
ldc " running for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)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:
ldc " DEAD"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
0 3 1 alive Z
MethodParameters:
Name Flags
alive
private java.lang.String getLastBuildInfo();
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$Server.lastBuildRequest:Ljava/time/Instant;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc " <No builds>"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " last build: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)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$Server;
private void lambda$0(java.util.LinkedHashSet, java.util.LinkedHashSet, int[], java.nio.channels.FileChannel);
descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[ILjava/nio/channels/FileChannel;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=13, args_size=5
start local 0 start local 4 0: iconst_0
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 48
3: StackMap locals: int int
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
4: aload 4
invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
astore 9
start local 9 5: aload 9
ifnull 10
6: iconst_1
istore 6
7: iload 5
ifeq 20
8: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
ldc "DONE."
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
9: goto 20
10: StackMap locals: java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
StackMap stack:
iload 5
ifne 14
11: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
ldc "A previous build is in progress. Aborting previous build..."
invokevirtual com.oracle.svm.driver.NativeImageServer.showMessagePart:(Ljava/lang/String;)V
12: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.abortTask:()V
13: iconst_1
istore 5
14: StackMap locals:
StackMap stack:
ldc 3000
invokestatic java.lang.Thread.sleep:(J)V
15: goto 18
StackMap locals:
StackMap stack: java.lang.InterruptedException
16: astore 10
start local 10 17: ldc "Woke up from waiting for previous build to abort"
aload 10
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 10 18: StackMap locals:
StackMap stack:
aload 9
ifnull 48
aload 9
invokevirtual java.nio.channels.FileLock.close:()V
19: goto 48
20: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 21: aload 10
ldc "-task=com.oracle.svm.hosted.NativeImageGeneratorRunner"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: new java.util.LinkedHashSet
dup
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 11
start local 11 23: aload 11
aload 1
invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
pop
24: aload 10
aload 2
aload 11
invokestatic com.oracle.svm.driver.NativeImageServer.createImageBuilderArgs:(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
25: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "SendBuildRequest ["
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
26: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "\n"
aload 10
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
27: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "]"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
28: aload 10
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
ldc " "
new java.lang.StringBuilder
dup
invokestatic java.time.Instant.now:()Ljava/time/Instant;
invokevirtual java.time.Instant.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "\n"
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
astore 12
start local 12 29: aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
ldc "build-request.log"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
aload 12
invokevirtual java.lang.String.getBytes:()[B
iconst_2
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.APPEND:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
pop
30: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.updateLastBuildRequest:()V
end local 12 31: goto 34
StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List java.util.LinkedHashSet
StackMap stack: java.io.IOException
32: astore 12
start local 12 33: ldc "Could not read/write into build-request log file"
aload 12
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 12 34: StackMap locals:
StackMap stack:
aload 3
iconst_0
aload 0
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
36: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
37: getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.BUILD_IMAGE:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
38: aload 10
aload 10
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
39: invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
iastore
end local 11 end local 10 40: aload 9
ifnull 48
aload 9
invokevirtual java.nio.channels.FileLock.close:()V
goto 48
StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
StackMap stack: java.lang.Throwable
41: astore 7
aload 9
ifnull 42
aload 9
invokevirtual java.nio.channels.FileLock.close:()V
end local 9 StackMap locals:
StackMap stack:
42: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 8
aload 7
ifnonnull 44
aload 8
astore 7
goto 45
StackMap locals:
StackMap stack:
44: aload 7
aload 8
if_acmpeq 45
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 7
athrow
StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int
StackMap stack: java.io.IOException
46: astore 7
start local 7 47: new java.lang.StringBuilder
dup
ldc "Error while trying to lock ServerDir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 7 48: StackMap locals:
StackMap stack:
iload 6
ifeq 3
end local 6 end local 5 49: return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/oracle/svm/driver/NativeImageServer$Server;
0 50 4 lockFileChannel Ljava/nio/channels/FileChannel;
1 49 5 abortedOnce Z
2 49 6 finished Z
5 42 9 lock Ljava/nio/channels/FileLock;
17 18 10 e Ljava/lang/InterruptedException;
21 40 10 command Ljava/util/List<Ljava/lang/String;>;
23 40 11 imagecp Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
29 31 12 logFileEntry Ljava/lang/String;
33 34 12 e Ljava/io/IOException;
47 48 7 e Ljava/io/IOException;
Exception table:
from to target type
14 15 16 Class java.lang.InterruptedException
28 31 32 Class java.io.IOException
5 18 41 any
20 40 41 any
4 19 43 any
20 43 43 any
3 19 46 Class java.io.IOException
20 46 46 Class java.io.IOException
}
SourceFile: "NativeImageServer.java"
NestHost: com.oracle.svm.driver.NativeImageServer
InnerClasses:
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 ServerCommand = com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand of com.oracle.svm.hosted.server.SubstrateServerMessage
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles