public class com.oracle.mxtool.compilerserver.CompilerDaemon$Connection implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.mxtool.compilerserver.CompilerDaemon$Connection
super_class: java.lang.Object
{
private final java.net.Socket connectionSocket;
descriptor: Ljava/net/Socket;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.mxtool.compilerserver.CompilerDaemon$Compiler compiler;
descriptor: Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Compiler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.mxtool.compilerserver.CompilerDaemon this$0;
descriptor: Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.oracle.mxtool.compilerserver.CompilerDaemon, java.net.Socket, com.oracle.mxtool.compilerserver.CompilerDaemon$Compiler);
descriptor: (Lcom/oracle/mxtool/compilerserver/CompilerDaemon;Ljava/net/Socket;Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Compiler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.connectionSocket:Ljava/net/Socket;
2: aload 0
aload 3
putfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.compiler:Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Compiler;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Connection;
0 4 2 connectionSocket Ljava/net/Socket;
0 4 3 compiler Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Compiler;
MethodParameters:
Name Flags
this$0 final
connectionSocket
compiler
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=1
start local 0 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.connectionSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
ldc "UTF-8"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 1
start local 1 1: new java.io.OutputStreamWriter
dup
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.connectionSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
ldc "UTF-8"
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
astore 2
start local 2 2: aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
invokevirtual java.lang.String.length:()I
ifne 12
4: StackMap locals: java.io.BufferedReader java.io.OutputStreamWriter java.lang.String
StackMap stack:
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
ldc "Shutting down\n"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.mxtool.compilerserver.CompilerDaemon.logf:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
iconst_0
putfield com.oracle.mxtool.compilerserver.CompilerDaemon.running:Z
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
getfield com.oracle.mxtool.compilerserver.CompilerDaemon.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
ldc 50
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ThreadPoolExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
getfield com.oracle.mxtool.compilerserver.CompilerDaemon.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
invokevirtual java.util.concurrent.ThreadPoolExecutor.getActiveCount:()I
iconst_1
if_icmpgt 7
9: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
getfield com.oracle.mxtool.compilerserver.CompilerDaemon.serverSocket:Ljava/net/ServerSocket;
invokevirtual java.net.ServerSocket.close:()V
10: iconst_0
invokestatic java.lang.System.exit:(I)V
11: goto 23
12: StackMap locals:
StackMap stack:
aload 3
ldc "\u0000"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 13: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
ldc "Compiling %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
ldc " "
aload 4
invokevirtual com.oracle.mxtool.compilerserver.CompilerDaemon.join:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
aastore
invokevirtual com.oracle.mxtool.compilerserver.CompilerDaemon.logf:(Ljava/lang/String;[Ljava/lang/Object;)V
14: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.compiler:Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Compiler;
aload 4
invokeinterface com.oracle.mxtool.compilerserver.CompilerDaemon$Compiler.compile:([Ljava/lang/String;)I
istore 5
start local 5 15: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.this$0:Lcom/oracle/mxtool/compilerserver/CompilerDaemon;
ldc "Result = %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.mxtool.compilerserver.CompilerDaemon.logf:(Ljava/lang/String;[Ljava/lang/Object;)V
16: aload 2
new java.lang.StringBuilder
dup
iload 5
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.OutputStreamWriter.write:(Ljava/lang/String;)V
end local 5 end local 4 end local 3 17: goto 23
StackMap locals: com.oracle.mxtool.compilerserver.CompilerDaemon$Connection java.io.BufferedReader java.io.OutputStreamWriter
StackMap stack: java.lang.Throwable
18: astore 6
19: aload 2
invokevirtual java.io.OutputStreamWriter.close:()V
20: aload 1
invokevirtual java.io.BufferedReader.close:()V
21: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.connectionSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
22: aload 6
athrow
23: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.OutputStreamWriter.close:()V
24: aload 1
invokevirtual java.io.BufferedReader.close:()V
25: aload 0
getfield com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.connectionSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
end local 2 end local 1 26: goto 29
StackMap locals: com.oracle.mxtool.compilerserver.CompilerDaemon$Connection
StackMap stack: java.lang.Exception
27: astore 1
start local 1 28: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
end local 1 29: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/mxtool/compilerserver/CompilerDaemon$Connection;
1 26 1 input Ljava/io/BufferedReader;
2 26 2 output Ljava/io/OutputStreamWriter;
3 17 3 commandLine Ljava/lang/String;
13 17 4 args [Ljava/lang/String;
15 17 5 result I
28 29 1 ioe Ljava/lang/Exception;
Exception table:
from to target type
2 18 18 any
0 26 27 Class java.lang.Exception
}
SourceFile: "CompilerDaemon.java"
NestHost: com.oracle.mxtool.compilerserver.CompilerDaemon
InnerClasses:
abstract Compiler = com.oracle.mxtool.compilerserver.CompilerDaemon$Compiler of com.oracle.mxtool.compilerserver.CompilerDaemon
public Connection = com.oracle.mxtool.compilerserver.CompilerDaemon$Connection of com.oracle.mxtool.compilerserver.CompilerDaemon