final class org.jruby.util.SunSignalFacade$JRubySignalHandler implements sun.misc.SignalHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.jruby.util.SunSignalFacade$JRubySignalHandler
super_class: java.lang.Object
{
private final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.builtin.IRubyObject block;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String signal;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.BlockCallback blockCallback;
descriptor: Lorg/jruby/runtime/BlockCallback;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
aload 3
invokespecial org.jruby.util.SunSignalFacade$JRubySignalHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/BlockCallback;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/util/SunSignalFacade$JRubySignalHandler;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 block Lorg/jruby/runtime/builtin/IRubyObject;
0 2 3 signal Ljava/lang/String;
MethodParameters:
Name Flags
runtime
block
signal
public void <init>(org.jruby.Ruby, org.jruby.runtime.BlockCallback, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/BlockCallback;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
aload 2
aload 3
invokespecial org.jruby.util.SunSignalFacade$JRubySignalHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/BlockCallback;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/util/SunSignalFacade$JRubySignalHandler;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 callback Lorg/jruby/runtime/BlockCallback;
0 2 3 signal Ljava/lang/String;
MethodParameters:
Name Flags
runtime
callback
signal
private void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.BlockCallback, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/BlockCallback;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
2: aload 0
aload 2
putfield org.jruby.util.SunSignalFacade$JRubySignalHandler.block:Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
aload 3
putfield org.jruby.util.SunSignalFacade$JRubySignalHandler.blockCallback:Lorg/jruby/runtime/BlockCallback;
4: aload 0
aload 4
putfield org.jruby.util.SunSignalFacade$JRubySignalHandler.signal:Ljava/lang/String;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/util/SunSignalFacade$JRubySignalHandler;
0 6 1 runtime Lorg/jruby/Ruby;
0 6 2 block Lorg/jruby/runtime/builtin/IRubyObject;
0 6 3 callback Lorg/jruby/runtime/BlockCallback;
0 6 4 signal Ljava/lang/String;
MethodParameters:
Name Flags
runtime
block
callback
signal
public void handle(sun.misc.Signal);
descriptor: (Lsun/misc/Signal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 2
start local 2 1: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$!"
invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
aload 1
invokevirtual sun.misc.Signal.getNumber:()I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 4
start local 4 3: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.block:Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 6
4: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.block:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
ldc "call"
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
5: goto 21
6: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyFixnum
StackMap stack:
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.blockCallback:Lorg/jruby/runtime/BlockCallback;
aload 2
aload 4
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokeinterface org.jruby.runtime.BlockCallback.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 7: goto 21
StackMap locals: org.jruby.util.SunSignalFacade$JRubySignalHandler sun.misc.Signal org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.exceptions.RaiseException
8: astore 4
start local 4 9: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getThread:()Lorg/jruby/RubyClass;
aload 2
ldc "main"
invokevirtual org.jruby.RubyClass.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
10: aload 2
ldc "raise"
aload 4
invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
11: goto 13
StackMap locals: org.jruby.util.SunSignalFacade$JRubySignalHandler sun.misc.Signal org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.exceptions.RaiseException
StackMap stack: java.lang.Exception
12: pop
13: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
ldc "$!"
aload 3
invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 14: new sun.misc.Signal
dup
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.signal:Ljava/lang/String;
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
goto 22
15: StackMap locals: org.jruby.util.SunSignalFacade$JRubySignalHandler sun.misc.Signal org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.exceptions.MainExitException
pop
16: aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getThreadService:()Lorg/jruby/internal/runtime/ThreadService;
invokevirtual org.jruby.internal.runtime.ThreadService.getMainThread:()Lorg/jruby/RubyThread;
invokevirtual org.jruby.RubyThread.kill:()Lorg/jruby/runtime/builtin/IRubyObject;
pop
17: new sun.misc.Signal
dup
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.signal:Ljava/lang/String;
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
goto 22
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
19: new sun.misc.Signal
dup
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.signal:Ljava/lang/String;
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
new sun.misc.Signal
dup
aload 0
getfield org.jruby.util.SunSignalFacade$JRubySignalHandler.signal:Ljava/lang/String;
invokespecial sun.misc.Signal.<init>:(Ljava/lang/String;)V
aload 0
invokestatic sun.misc.Signal.handle:(Lsun/misc/Signal;Lsun/misc/SignalHandler;)Lsun/misc/SignalHandler;
pop
22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/jruby/util/SunSignalFacade$JRubySignalHandler;
0 23 1 signal Lsun/misc/Signal;
1 23 2 context Lorg/jruby/runtime/ThreadContext;
2 23 3 oldExc Lorg/jruby/runtime/builtin/IRubyObject;
3 7 4 signum Lorg/jruby/RubyFixnum;
9 14 4 e Lorg/jruby/exceptions/RaiseException;
Exception table:
from to target type
2 7 8 Class org.jruby.exceptions.RaiseException
9 11 12 Class java.lang.Exception
2 7 15 Class org.jruby.exceptions.MainExitException
2 14 18 any
15 17 18 any
MethodParameters:
Name Flags
signal
}
SourceFile: "SunSignalFacade.java"
NestHost: org.jruby.util.SunSignalFacade
InnerClasses:
private final JRubySignalHandler = org.jruby.util.SunSignalFacade$JRubySignalHandler of org.jruby.util.SunSignalFacade