final class com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler implements sun.misc.SignalHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler
super_class: java.lang.Object
{
private int attemptCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
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);
descriptor: (Lcom/oracle/svm/driver/NativeImageServer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.attemptCount:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/driver/NativeImageServer$AbortBuildSignalHandler;
MethodParameters:
Name Flags
this$0 final
public void handle(sun.misc.Signal);
descriptor: (Lsun/misc/Signal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.building:Lcom/oracle/svm/driver/NativeImageServer$Server;
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.attemptCount:I
iconst_3
if_icmpge 2
aload 2
ifnonnull 6
2: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.killServer:()V
3: aload 0
invokevirtual com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.closeFileChannels:()V
4: iconst_1
invokestatic java.lang.System.exit:(I)V
5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.attemptCount:I
iconst_1
iadd
putfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.attemptCount:I
7: aload 2
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.abortTask:()V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/driver/NativeImageServer$AbortBuildSignalHandler;
0 9 1 signal Lsun/misc/Signal;
1 9 2 current Lcom/oracle/svm/driver/NativeImageServer$Server;
MethodParameters:
Name Flags
signal
private void closeFileChannels();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "CleanupHandler Begin"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
1: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
dup
astore 1
monitorenter
2: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.openFileChannels:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.FileChannel
astore 2
start local 2 4: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
new java.lang.StringBuilder
dup
ldc "Closing open FileChannel: "
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 2
invokevirtual java.nio.channels.FileChannel.close:()V
6: goto 9
StackMap locals: com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler java.util.List java.nio.channels.FileChannel java.util.Iterator
StackMap stack: java.lang.Exception
7: astore 4
start local 4 8: ldc "Closing FileChannel failed"
aload 4
invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 4 end local 2 9: StackMap locals: com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 1
monitorexit
11: goto 14
StackMap locals: com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler java.util.List
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "CleanupHandler End"
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/svm/driver/NativeImageServer$AbortBuildSignalHandler;
4 9 2 fileChannel Ljava/nio/channels/FileChannel;
8 9 4 e Ljava/lang/Exception;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
2 11 12 any
12 13 12 any
private void killServer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
ldc "Caught interrupt. Kill Server."
invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
1: aload 0
getfield com.oracle.svm.driver.NativeImageServer$AbortBuildSignalHandler.this$0:Lcom/oracle/svm/driver/NativeImageServer;
getfield com.oracle.svm.driver.NativeImageServer.building:Lcom/oracle/svm/driver/NativeImageServer$Server;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
invokevirtual com.oracle.svm.driver.NativeImageServer$Server.shutdown:()V
4: StackMap locals: com.oracle.svm.driver.NativeImageServer$Server
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/driver/NativeImageServer$AbortBuildSignalHandler;
2 5 1 current Lcom/oracle/svm/driver/NativeImageServer$Server;
}
SourceFile: "NativeImageServer.java"
NestHost: com.oracle.svm.driver.NativeImageServer
InnerClasses:
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