class com.oracle.svm.core.windows.SignalDispatcher implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.core.windows.SignalDispatcher
super_class: java.lang.Object
{
private static final int NEAR_MAX_PRIORITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final java.lang.Thread signalDispatcherThread;
descriptor: Ljava/lang/Thread;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new java.lang.Thread
dup
invokestatic com.oracle.svm.core.thread.JavaThreads.singleton:()Lcom/oracle/svm/core/thread/JavaThreads;
getfield com.oracle.svm.core.thread.JavaThreads.systemGroup:Ljava/lang/ThreadGroup;
1: new com.oracle.svm.core.windows.SignalDispatcher
dup
invokespecial com.oracle.svm.core.windows.SignalDispatcher.<init>:()V
ldc "Signal Dispatcher"
2: invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V
putstatic com.oracle.svm.core.windows.SignalDispatcher.signalDispatcherThread:Ljava/lang/Thread;
3: getstatic com.oracle.svm.core.windows.SignalDispatcher.signalDispatcherThread:Ljava/lang/Thread;
bipush 9
invokevirtual java.lang.Thread.setPriority:(I)V
4: getstatic com.oracle.svm.core.windows.SignalDispatcher.signalDispatcherThread:Ljava/lang/Thread;
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/windows/SignalDispatcher;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.windows.SignalDispatcher.osSignalWait:()I
istore 1
start local 1 1: iload 1
invokestatic com.oracle.svm.core.windows.SignalDispatcher.osSigexitnumPd:()I
if_icmpne 3
2: return
3: StackMap locals: int
StackMap stack:
iload 1
invokestatic com.oracle.svm.core.windows.Target_jdk_internal_misc_Signal.dispatch:(I)V
end local 1 4: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/core/windows/SignalDispatcher;
1 4 1 sig I
private static native int osSignalWait();
descriptor: ()I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CFunction(value = "os__signal_wait")
private static native int osSigexitnumPd();
descriptor: ()I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CFunction(value = "os__sigexitnum_pd", transition = org.graalvm.nativeimage.c.function.CFunction$Transition.NO_TRANSITION:Lorg/graalvm/nativeimage/c/function/CFunction$Transition;)
static void ensureInitialized();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.svm.core.windows.SignalDispatcher.signalDispatcherThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.getState:()Ljava/lang/Thread$State;
getstatic java.lang.Thread$State.NEW:Ljava/lang/Thread$State;
if_acmpne 7
1: invokestatic com.oracle.svm.core.windows.SignalDispatcher.jdkMiscSignalInit:()Z
ifne 5
2: new java.lang.StringBuilder
dup
ldc "Native state initialization for jdk.internal.misc.Signal failed with error code: 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: invokestatic com.oracle.svm.core.windows.headers.WinBase.GetLastError:()I
bipush 16
invokestatic java.lang.Integer.toUnsignedString:(II)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
5: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
invokedynamic run()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/core/windows/SignalDispatcher.osTerminateSignalThread()V (6)
()V
invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.addTearDownHook:(Ljava/lang/Runnable;)V
6: getstatic com.oracle.svm.core.windows.SignalDispatcher.signalDispatcherThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
7: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
private static native boolean jdkMiscSignalInit();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CFunction(value = "jdk_misc_signal_init", transition = org.graalvm.nativeimage.c.function.CFunction$Transition.NO_TRANSITION:Lorg/graalvm/nativeimage/c/function/CFunction$Transition;)
private static native void osTerminateSignalThread();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CFunction(value = "os__terminate_signal_thread", transition = org.graalvm.nativeimage.c.function.CFunction$Transition.NO_TRANSITION:Lorg/graalvm/nativeimage/c/function/CFunction$Transition;)
}
SourceFile: "Target_jdk_internal_misc_Signal.java"
InnerClasses:
public final State = java.lang.Thread$State of java.lang.Thread
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Transition = org.graalvm.nativeimage.c.function.CFunction$Transition of org.graalvm.nativeimage.c.function.CFunction