public class org.jruby.util.io.PopenExecutor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.io.PopenExecutor
super_class: java.lang.Object
{
private jnr.constants.platform.Errno errno;
descriptor: Ljnr/constants/platform/Errno;
flags: (0x0002) ACC_PRIVATE
private static final int ST_CONTINUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ST_STOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int posix_sh_cmd_length;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final java.lang.String[] posix_sh_cmds;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] DUMMY_ARRAY;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Comparator<org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair> intcmp;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;>;
private static final java.util.Comparator<org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair> intrcmp;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;>;
private static volatile int[] $SWITCH_TABLE$jnr$constants$platform$Errno;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$runtime$ClassIndex;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 29
anewarray java.lang.String
dup
iconst_0
1: ldc "!"
aastore
dup
iconst_1
2: ldc "."
aastore
dup
iconst_2
3: ldc ":"
aastore
dup
iconst_3
4: ldc "break"
aastore
dup
iconst_4
5: ldc "case"
aastore
dup
iconst_5
6: ldc "continue"
aastore
dup
bipush 6
7: ldc "do"
aastore
dup
bipush 7
8: ldc "done"
aastore
dup
bipush 8
9: ldc "elif"
aastore
dup
bipush 9
10: ldc "else"
aastore
dup
bipush 10
11: ldc "esac"
aastore
dup
bipush 11
12: ldc "eval"
aastore
dup
bipush 12
13: ldc "exec"
aastore
dup
bipush 13
14: ldc "exit"
aastore
dup
bipush 14
15: ldc "export"
aastore
dup
bipush 15
16: ldc "fi"
aastore
dup
bipush 16
17: ldc "for"
aastore
dup
bipush 17
18: ldc "if"
aastore
dup
bipush 18
19: ldc "in"
aastore
dup
bipush 19
20: ldc "readonly"
aastore
dup
bipush 20
21: ldc "return"
aastore
dup
bipush 21
22: ldc "set"
aastore
dup
bipush 22
23: ldc "shift"
aastore
dup
bipush 23
24: ldc "then"
aastore
dup
bipush 24
25: ldc "times"
aastore
dup
bipush 25
26: ldc "trap"
aastore
dup
bipush 26
27: ldc "unset"
aastore
dup
bipush 27
28: ldc "until"
aastore
dup
bipush 28
29: ldc "while"
aastore
30: putstatic org.jruby.util.io.PopenExecutor.posix_sh_cmds:[Ljava/lang/String;
31: getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
putstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
32: new org.jruby.util.io.PopenExecutor$1
dup
invokespecial org.jruby.util.io.PopenExecutor$1.<init>:()V
putstatic org.jruby.util.io.PopenExecutor.intcmp:Ljava/util/Comparator;
33: new org.jruby.util.io.PopenExecutor$2
dup
invokespecial org.jruby.util.io.PopenExecutor$2.<init>:()V
putstatic org.jruby.util.io.PopenExecutor.intrcmp:Ljava/util/Comparator;
34: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/util/io/PopenExecutor;
public static boolean nativePopenAvailable(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.util.cli.Options.NATIVE_POPEN:Lcom/headius/options/Option;
invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.isNative:()Z
ifeq 1
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
runtime
public static org.jruby.runtime.builtin.IRubyObject checkPipeCommand(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 3
start local 3 2: iconst_1
newarray 10
astore 4
start local 4 3: aload 3
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
4: aload 3
invokevirtual org.jruby.util.ByteList.getBegin:()I
5: aload 3
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 3
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
6: aload 4
7: aload 3
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
8: invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
9: bipush 124
10: if_icmpne 12
11: aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
iconst_0
iaload
aload 3
invokevirtual org.jruby.util.ByteList.length:()I
iconst_1
isub
invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
aload 1
invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
12: StackMap locals: org.jruby.RubyString org.jruby.util.ByteList int[]
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 context Lorg/jruby/runtime/ThreadContext;
0 13 1 filenameOrCommand Lorg/jruby/runtime/builtin/IRubyObject;
1 13 2 filenameStr Lorg/jruby/RubyString;
2 13 3 filenameByteList Lorg/jruby/util/ByteList;
3 13 4 chlen [I
MethodParameters:
Name Flags
context
filenameOrCommand
public static org.jruby.RubyFixnum spawn(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFixnum;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: lconst_0
lstore 3
start local 3 2: iconst_1
anewarray java.lang.String
astore 5
start local 5 3: aload 0
aload 1
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.execargNew:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
astore 6
start local 6 4: aload 0
aload 2
aload 6
invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
5: aload 6
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 6
aload 6
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 7
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby long java.lang.String[] org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
6: aload 6
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
StackMap locals:
StackMap stack: org.jruby.RubyString
7: astore 7
start local 7 8: new org.jruby.util.io.PopenExecutor
dup
invokespecial org.jruby.util.io.PopenExecutor.<init>:()V
astore 8
start local 8 9: aload 8
aload 0
aload 2
aload 6
aload 5
invokevirtual org.jruby.util.io.PopenExecutor.spawnProcess:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)J
lstore 3
10: lload 3
ldc -1
lcmp
ifne 14
11: aload 5
iconst_0
aaload
ifnonnull 13
12: aload 2
aload 8
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor
StackMap stack:
aload 2
aload 8
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
aload 5
iconst_0
aaload
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
aload 2
lload 3
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
areturn
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 context Lorg/jruby/runtime/ThreadContext;
0 15 1 argv [Lorg/jruby/runtime/builtin/IRubyObject;
1 15 2 runtime Lorg/jruby/Ruby;
2 15 3 pid J
3 15 5 errmsg [Ljava/lang/String;
4 15 6 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
8 15 7 fail_str Lorg/jruby/runtime/builtin/IRubyObject;
9 15 8 executor Lorg/jruby/util/io/PopenExecutor;
MethodParameters:
Name Flags
context
argv
public long spawnInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], java.lang.String[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/String;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.execargNew:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
astore 4
start local 4 1: aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
2: aload 0
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
aload 3
invokevirtual org.jruby.util.io.PopenExecutor.spawnProcess:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)J
lstore 5
start local 5 3: lload 5
lreturn
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 4 0 this Lorg/jruby/util/io/PopenExecutor;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 argv [Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 errmsg [Ljava/lang/String;
1 4 4 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
3 4 5 ret J
MethodParameters:
Name Flags
context
argv
errmsg
long spawnProcess(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)J
flags: (0x0000)
Code:
stack=9, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.jruby.util.io.PopenExecutor$ExecArg
dup
invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
astore 8
start local 8 1: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 2
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 3
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] top top top org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
2: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
StackMap locals:
StackMap stack: org.jruby.RubyString
3: astore 7
start local 7 4: aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifeq 10
5: aload 7
aload 2
invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
aload 1
aload 2
new java.lang.StringBuilder
dup
ldc "cd '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.prepend:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 7
6: aload 3
aconst_null
putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
7: aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_clear:()V
8: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
lconst_0
invokestatic jnr.posix.SpawnAttribute.pgroup:(J)Ljnr/posix/SpawnAttribute;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
iconst_2
invokestatic jnr.posix.SpawnAttribute.flags:(S)Ljnr/posix/SpawnAttribute;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] top top org.jruby.RubyString org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 8
aload 4
invokevirtual org.jruby.util.io.PopenExecutor.execargRunOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
ifge 12
11: ldc -1
lreturn
12: StackMap locals:
StackMap stack:
aload 7
ifnull 16
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 16
13: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_str:Lorg/jruby/util/io/PopenExecutor$ArgvStr;
getfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
astore 9
start local 9 14: aload 9
arraylength
ifle 16
15: aload 9
iconst_0
aload 7
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
aastore
end local 9 16: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 19
17: aload 0
aload 2
aload 7
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
aload 3
invokevirtual org.jruby.util.io.PopenExecutor.procSpawnSh:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
lstore 5
start local 5 18: goto 21
end local 5 19: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_str:Lorg/jruby/util/io/PopenExecutor$ArgvStr;
getfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
astore 9
start local 9 20: aload 0
aload 2
aload 9
aload 7
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
aload 3
invokevirtual org.jruby.util.io.PopenExecutor.procSpawnCmd:(Lorg/jruby/Ruby;[Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
lstore 5
end local 9 start local 5 21: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] long org.jruby.RubyString org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
lload 5
ldc -1
lcmp
ifne 25
22: aload 1
new org.jruby.RubyProcess$RubyStatus
dup
aload 2
aload 2
invokevirtual org.jruby.Ruby.getProcStatus:()Lorg/jruby/RubyClass;
ldc 32512
lconst_0
invokespecial org.jruby.RubyProcess$RubyStatus.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;JJ)V
invokevirtual org.jruby.runtime.ThreadContext.setLastExitStatus:(Lorg/jruby/runtime/builtin/IRubyObject;)V
23: aload 0
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
ifnull 24
aload 0
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
getstatic jnr.constants.platform.Errno.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/Errno;
if_acmpne 25
24: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
25: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 8
aconst_null
aload 4
invokevirtual org.jruby.util.io.PopenExecutor.execargRunOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
pop
26: lload 5
lreturn
end local 8 end local 7 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 27 0 this Lorg/jruby/util/io/PopenExecutor;
0 27 1 context Lorg/jruby/runtime/ThreadContext;
0 27 2 runtime Lorg/jruby/Ruby;
0 27 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 27 4 errmsg [Ljava/lang/String;
18 19 5 pid J
21 27 5 pid J
4 27 7 prog Lorg/jruby/RubyString;
1 27 8 sarg Lorg/jruby/util/io/PopenExecutor$ExecArg;
14 16 9 argv [Ljava/lang/String;
20 21 9 argv [Ljava/lang/String;
MethodParameters:
Name Flags
context
runtime
eargp
errmsg
long procSpawnCmdInternal(org.jruby.Ruby, java.lang.String[], java.lang.String, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;[Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
flags: (0x0000)
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnonnull 2
1: aload 2
iconst_0
aaload
astore 3
2: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.path_env:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.PopenExecutor.dlnFindExeR:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
astore 3
3: aload 3
ifnonnull 6
4: aload 0
getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
5: ldc -1
lreturn
6: StackMap locals:
StackMap stack:
aload 3
ifnull 7
aload 3
invokevirtual java.lang.String.length:()I
ifne 9
7: StackMap locals:
StackMap stack:
aload 0
getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
8: ldc -1
lreturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
10: aload 3
11: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
12: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
13: aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
14: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
ifnonnull 15
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 16
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String[] java.lang.String org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
15: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
16: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String[] java.lang.String org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List java.util.List
invokeinterface jnr.posix.POSIX.posix_spawnp:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)J
lstore 5
start local 5 17: lload 5
ldc -1
lcmp
ifne 30
18: aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
getstatic jnr.constants.platform.Errno.ENOEXEC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.intValue:()I
if_icmpne 29
19: aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
20: ldc "/bin/sh"
21: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
22: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
23: aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
24: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
ifnonnull 25
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 26
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String[] java.lang.String org.jruby.util.io.PopenExecutor$ExecArg long
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
25: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
26: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String[] java.lang.String org.jruby.util.io.PopenExecutor$ExecArg long
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List java.util.List
invokeinterface jnr.posix.POSIX.posix_spawnp:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)J
lstore 5
27: lload 5
ldc -1
lcmp
ifne 30
aload 0
getstatic jnr.constants.platform.Errno.ENOEXEC:Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
30: StackMap locals:
StackMap stack:
lload 5
lreturn
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 31 0 this Lorg/jruby/util/io/PopenExecutor;
0 31 1 runtime Lorg/jruby/Ruby;
0 31 2 argv [Ljava/lang/String;
0 31 3 prog Ljava/lang/String;
0 31 4 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
17 31 5 status J
MethodParameters:
Name Flags
runtime
argv
prog
eargp
long procSpawnCmd(org.jruby.Ruby, java.lang.String[], java.lang.String, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;[Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc -1
lstore 5
start local 5 1: aload 2
arraylength
ifle 3
aload 2
iconst_0
aaload
ifnull 3
2: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.jruby.util.io.PopenExecutor.procSpawnCmdInternal:(Lorg/jruby/Ruby;[Ljava/lang/String;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
lstore 5
3: StackMap locals: long
StackMap stack:
lload 5
lreturn
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 4 0 this Lorg/jruby/util/io/PopenExecutor;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 argv [Ljava/lang/String;
0 4 3 prog Ljava/lang/String;
0 4 4 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 4 5 pid J
MethodParameters:
Name Flags
runtime
argv
prog
eargp
long procSpawnSh(org.jruby.Ruby, java.lang.String, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
flags: (0x0000)
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "sh"
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.path_env:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.PopenExecutor.dlnFindExeR:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
astore 6
start local 6 1: aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
2: aload 6
ifnull 3
aload 6
goto 4
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String org.jruby.util.io.PopenExecutor$ExecArg top top java.lang.String
StackMap stack: jnr.posix.POSIX
3: ldc "/bin/sh"
4: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String org.jruby.util.io.PopenExecutor$ExecArg top top java.lang.String
StackMap stack: jnr.posix.POSIX java.lang.String
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
5: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
iconst_3
anewarray java.lang.String
dup
iconst_0
6: ldc "sh"
aastore
dup
iconst_1
ldc "-c"
aastore
dup
iconst_2
aload 2
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
7: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
ifnonnull 8
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 9
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String org.jruby.util.io.PopenExecutor$ExecArg top top java.lang.String
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
8: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
9: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String org.jruby.util.io.PopenExecutor$ExecArg top top java.lang.String
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List java.util.List
invokeinterface jnr.posix.POSIX.posix_spawnp:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)J
lstore 4
start local 4 10: lload 4
ldc -1
lcmp
ifne 11
aload 0
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
11: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby java.lang.String org.jruby.util.io.PopenExecutor$ExecArg long java.lang.String
StackMap stack:
lload 4
lreturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/util/io/PopenExecutor;
0 12 1 runtime Lorg/jruby/Ruby;
0 12 2 str Ljava/lang/String;
0 12 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
10 12 4 status J
1 12 6 shell Ljava/lang/String;
MethodParameters:
Name Flags
runtime
str
eargp
public static org.jruby.runtime.builtin.IRubyObject pipeOpen(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, int, org.jruby.util.io.IOEncodable);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ILorg/jruby/util/io/IOEncodable;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
checkcast org.jruby.RubyString
invokestatic org.jruby.util.io.PopenExecutor.isPopenFork:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Z
ifne 4
3: aload 0
aload 5
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.execargNew:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
astore 6
4: StackMap locals: org.jruby.runtime.builtin.IRubyObject[] org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
new org.jruby.util.io.PopenExecutor
dup
invokespecial org.jruby.util.io.PopenExecutor.<init>:()V
aload 0
aload 6
aload 2
iload 3
aload 4
invokevirtual org.jruby.util.io.PopenExecutor.pipeOpen:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;ILorg/jruby/util/io/IOEncodable;)Lorg/jruby/RubyIO;
areturn
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 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 prog Lorg/jruby/runtime/builtin/IRubyObject;
0 5 2 modestr Ljava/lang/String;
0 5 3 fmode I
0 5 4 convconfig Lorg/jruby/util/io/IOEncodable;
1 5 5 argv [Lorg/jruby/runtime/builtin/IRubyObject;
2 5 6 execArg Lorg/jruby/util/io/PopenExecutor$ExecArg;
MethodParameters:
Name Flags
context
prog
modestr
fmode
convconfig
public static org.jruby.runtime.builtin.IRubyObject popen(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.RubyClass, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 2: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 3: aconst_null
aconst_null
invokestatic org.jruby.util.io.EncodingUtils.vmodeVperm:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
astore 11
start local 11 4: iconst_1
newarray 10
astore 13
start local 13 5: iconst_1
newarray 10
astore 14
start local 14 6: new org.jruby.util.io.IOEncodable$ConvConfig
dup
invokespecial org.jruby.util.io.IOEncodable$ConvConfig.<init>:()V
astore 15
start local 15 7: aload 1
arraylength
istore 16
start local 16 8: iload 16
iconst_1
if_icmple 9
aload 4
aload 1
iload 16
iconst_1
isub
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 9
iinc 16 -1
9: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.RubyClass org.jruby.runtime.Block org.jruby.Ruby top top top top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object top int[] int[] org.jruby.util.io.IOEncodable$ConvConfig int
StackMap stack:
iload 16
iconst_1
if_icmple 12
aload 4
aload 1
iconst_0
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 10
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 12
10: iinc 16 -1
11: aload 1
iconst_1
iload 16
iconst_1
iadd
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject[]
astore 1
12: StackMap locals:
StackMap stack:
iload 16
tableswitch { // 1 - 2
1: 14
2: 13
default: 16
}
13: StackMap locals:
StackMap stack:
aload 11
aload 1
iconst_1
aaload
invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
14: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
astore 6
start local 6 15: goto 21
end local 6 16: StackMap locals:
StackMap stack:
aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 17
start local 17 19: aload 4
iload 16
iload 17
iadd
iconst_1
iload 17
iadd
iconst_2
iload 17
iadd
invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
20: aconst_null
areturn
end local 17 start local 6 21: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.RubyClass org.jruby.runtime.Block org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject top top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object top int[] int[] org.jruby.util.io.IOEncodable$ConvConfig int
StackMap stack:
aload 4
aload 6
invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 22: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 27
23: aload 8
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
astore 8
24: aload 0
aload 8
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
invokestatic org.jruby.util.io.PopenExecutor.execargNew:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
astore 12
start local 12 25: aload 8
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.clear:()V
26: goto 33
end local 12 27: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.RubyClass org.jruby.runtime.Block org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object top int[] int[] org.jruby.util.io.IOEncodable$ConvConfig int
StackMap stack:
aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 6
28: aconst_null
astore 12
start local 12 29: aload 4
aload 6
checkcast org.jruby.RubyString
invokestatic org.jruby.util.io.PopenExecutor.isPopenFork:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Z
ifne 33
30: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 6
aastore
astore 17
start local 17 31: aload 0
aload 17
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.execargNew:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
astore 12
32: aload 17
iconst_0
aaload
astore 6
end local 17 33: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.RubyClass org.jruby.runtime.Block org.jruby.Ruby top org.jruby.runtime.builtin.IRubyObject top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.Object org.jruby.util.io.PopenExecutor$ExecArg int[] int[] org.jruby.util.io.IOEncodable$ConvConfig int
StackMap stack:
aload 12
ifnull 38
34: aload 9
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 36
35: aload 0
aload 4
aload 12
aload 9
checkcast org.jruby.RubyHash
invokestatic org.jruby.util.io.PopenExecutor.execargExtractOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
36: StackMap locals:
StackMap stack:
aload 10
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 38
37: aload 0
aload 4
aload 12
aload 10
invokestatic org.jruby.util.io.PopenExecutor.execargSetenv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;)V
38: StackMap locals:
StackMap stack:
aload 0
aload 15
aload 11
aload 9
aload 13
aload 14
invokestatic org.jruby.util.io.EncodingUtils.extractModeEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/IOEncodable;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;[I[I)V
39: aload 4
aload 13
iconst_0
iaload
invokestatic org.jruby.util.io.OpenFile.ioOflagsModestr:(Lorg/jruby/Ruby;I)Ljava/lang/String;
astore 5
start local 5 40: new org.jruby.util.io.PopenExecutor
dup
invokespecial org.jruby.util.io.PopenExecutor.<init>:()V
aload 0
aload 12
aload 5
aload 14
iconst_0
iaload
aload 15
invokevirtual org.jruby.util.io.PopenExecutor.pipeOpen:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;ILorg/jruby/util/io/IOEncodable;)Lorg/jruby/RubyIO;
astore 7
start local 7 41: aload 7
checkcast org.jruby.RubyBasicObject
aload 2
invokevirtual org.jruby.RubyBasicObject.setMetaClass:(Lorg/jruby/RubyClass;)V
42: aload 0
aload 7
aload 3
invokestatic org.jruby.RubyIO.ensureYieldClose:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 43 0 context Lorg/jruby/runtime/ThreadContext;
0 43 1 argv [Lorg/jruby/runtime/builtin/IRubyObject;
0 43 2 klass Lorg/jruby/RubyClass;
0 43 3 block Lorg/jruby/runtime/Block;
1 43 4 runtime Lorg/jruby/Ruby;
40 43 5 modestr Ljava/lang/String;
15 16 6 pname Lorg/jruby/runtime/builtin/IRubyObject;
21 43 6 pname Lorg/jruby/runtime/builtin/IRubyObject;
41 43 7 port Lorg/jruby/runtime/builtin/IRubyObject;
22 43 8 tmp Lorg/jruby/runtime/builtin/IRubyObject;
2 43 9 opt Lorg/jruby/runtime/builtin/IRubyObject;
3 43 10 env Lorg/jruby/runtime/builtin/IRubyObject;
4 43 11 pmode Ljava/lang/Object;
25 27 12 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
29 43 12 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
5 43 13 oflags_p [I
6 43 14 fmode_p [I
7 43 15 convconfig Lorg/jruby/util/io/IOEncodable$ConvConfig;
8 43 16 argc I
19 21 17 ex I
31 33 17 pname_p [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
argv
klass
block
static void execargSetenv(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 1
aload 0
aload 3
checkcast org.jruby.RubyHash
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecEnv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/RubyArray;
goto 2
StackMap locals:
StackMap stack: org.jruby.util.io.PopenExecutor$ExecArg
1: aconst_null
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyArray
2: putfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 4 3 env Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
runtime
eargp
env
public static org.jruby.RubyArray checkExecEnv(org.jruby.runtime.ThreadContext, org.jruby.RubyHash, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 3
invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
astore 4
start local 4 2: aload 1
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyHash org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby org.jruby.RubyArray top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 4: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 7
start local 7 5: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 8
start local 8 6: aload 3
aload 7
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
astore 9
start local 9 7: aload 9
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 9
8: aload 3
new java.lang.StringBuilder
dup
ldc "environment name contains a equal : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
9: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyHash org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby org.jruby.RubyArray java.util.Map$Entry java.util.Iterator org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String
StackMap stack:
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 11
10: aload 3
aload 8
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 8
11: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
astore 7
12: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 13
aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
astore 8
13: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
ldc "PATH"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 15
14: aload 2
aload 8
putfield org.jruby.util.io.PopenExecutor$ExecArg.path_env:Lorg/jruby/runtime/builtin/IRubyObject;
15: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 7
aload 8
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.push:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 9 end local 8 end local 7 end local 5 16: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyHash org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby org.jruby.RubyArray top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
17: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 context Lorg/jruby/runtime/ThreadContext;
0 18 1 hash Lorg/jruby/RubyHash;
0 18 2 pathArg Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 18 3 runtime Lorg/jruby/Ruby;
2 18 4 env Lorg/jruby/RubyArray;
4 16 5 entry Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
5 16 7 key Lorg/jruby/runtime/builtin/IRubyObject;
6 16 8 val Lorg/jruby/runtime/builtin/IRubyObject;
7 16 9 k Ljava/lang/String;
MethodParameters:
Name Flags
context
hash
pathArg
static org.jruby.runtime.builtin.IRubyObject (org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.RubyHash);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0008) ACC_STATIC
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
aload 3
iconst_0
invokestatic org.jruby.util.io.PopenExecutor.handleOptionsCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 runtime Lorg/jruby/Ruby;
0 1 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 1 3 opthash Lorg/jruby/RubyHash;
MethodParameters:
Name Flags
context
runtime
eargp
opthash
static void checkExecOptions(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.RubyHash, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyHash;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
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 3
aload 2
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.handleOptionsCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;Z)Lorg/jruby/runtime/builtin/IRubyObject;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 opthash Lorg/jruby/RubyHash;
0 2 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
MethodParameters:
Name Flags
context
runtime
opthash
eargp
static org.jruby.runtime.builtin.IRubyObject handleOptionsCommon(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.RubyHash, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.jruby.RubyHash.isEmpty:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: aload 3
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 19
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash int org.jruby.RubyHash top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 5: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 8
start local 8 6: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 9
start local 9 7: aload 0
aload 1
aload 2
aload 8
aload 9
invokestatic org.jruby.util.io.PopenExecutor.execargAddopt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
ifeq 19
8: iload 4
ifeq 17
9: aload 8
instanceof org.jruby.RubySymbol
ifeq 16
10: aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
dup
astore 10
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
102338: 11
115792: 12
default: 15
}
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash int org.jruby.RubyHash java.util.Map$Entry java.util.Iterator org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String
StackMap stack:
11: aload 10
ldc "gid"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 15
StackMap locals:
StackMap stack:
12: aload 10
ldc "uid"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 15
13: StackMap locals:
StackMap stack:
aload 1
ldc "popen does not support :gid option in JRuby"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals:
StackMap stack:
aload 1
ldc "popen does not support :uid option in JRuby"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "wrong exec option symbol: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "wrong exec option: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
17: StackMap locals:
StackMap stack:
aload 5
ifnonnull 18
aload 1
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 5
18: StackMap locals:
StackMap stack:
aload 5
aload 0
aload 8
aload 9
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 9 end local 8 end local 6 19: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash int org.jruby.RubyHash top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
20: aload 5
ifnull 21
aload 5
goto 22
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash int org.jruby.RubyHash
StackMap stack:
21: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
22: areturn
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 23 0 context Lorg/jruby/runtime/ThreadContext;
0 23 1 runtime Lorg/jruby/Ruby;
0 23 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 23 3 opthash Lorg/jruby/RubyHash;
0 23 4 raise Z
3 23 5 nonopts Lorg/jruby/RubyHash;
5 19 6 entry Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
6 19 8 key Lorg/jruby/runtime/builtin/IRubyObject;
7 19 9 val Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
runtime
eargp
opthash
raise
static boolean isPopenFork(org.jruby.Ruby, org.jruby.RubyString);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubyString.size:()I
iconst_1
if_icmpne 2
aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
iconst_0
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 45
if_icmpne 2
1: aload 0
ldc "fork() function is unimplemented on JRuby"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 prog Lorg/jruby/RubyString;
MethodParameters:
Name Flags
runtime
prog
private long DO_SPAWN(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String, java.lang.String[], java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
aload 5
invokevirtual org.jruby.util.io.PopenExecutor.procSpawnSh:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;[Ljava/lang/String;)J
lreturn
2: StackMap locals:
StackMap stack:
aload 3
ifnull 3
aload 3
invokevirtual java.lang.String.length:()I
ifne 5
3: StackMap locals:
StackMap stack:
aload 0
getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
4: ldc -1
lreturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
6: aload 3
7: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
8: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
9: aload 4
ifnonnull 10
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 11
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] java.lang.String[]
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List
10: aload 4
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
11: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] java.lang.String[]
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
aload 5
ifnonnull 12
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 13
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] java.lang.String[]
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
12: aload 5
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
13: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] java.lang.String[]
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List java.util.List
invokeinterface jnr.posix.POSIX.posix_spawnp:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)J
lstore 6
start local 6 14: lload 6
ldc -1
lcmp
ifne 16
15: aload 0
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
16: StackMap locals: long
StackMap stack:
lload 6
lreturn
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 17 0 this Lorg/jruby/util/io/PopenExecutor;
0 17 1 runtime Lorg/jruby/Ruby;
0 17 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 17 3 cmd Ljava/lang/String;
0 17 4 args [Ljava/lang/String;
0 17 5 envp [Ljava/lang/String;
14 17 6 ret J
MethodParameters:
Name Flags
runtime
eargp
cmd
args
envp
private long procSpawnSh(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;[Ljava/lang/String;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 6
start local 6 1: aload 3
invokevirtual java.lang.String.toCharArray:()[C
astore 5
start local 5 2: goto 4
3: StackMap locals: char[] int
StackMap stack:
iinc 6 1
4: StackMap locals:
StackMap stack:
iload 6
aload 5
arraylength
if_icmpge 5
aload 5
iload 6
caload
bipush 32
if_icmpeq 3
aload 5
iload 6
caload
bipush 9
if_icmpeq 3
aload 5
iload 6
caload
bipush 10
if_icmpeq 3
5: StackMap locals:
StackMap stack:
iload 6
aload 5
arraylength
if_icmplt 8
6: aload 0
getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
7: ldc -1
lreturn
8: StackMap locals:
StackMap stack:
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 10
9: ldc -1
lreturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
11: ldc "/bin/sh"
12: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
13: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
iconst_3
anewarray java.lang.String
dup
iconst_0
14: ldc "sh"
aastore
dup
iconst_1
ldc "-c"
aastore
dup
iconst_2
aload 3
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
15: aload 4
ifnonnull 16
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 17
StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] char[] int
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List
16: aload 4
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
17: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg java.lang.String java.lang.String[] char[] int
StackMap stack: jnr.posix.POSIX java.lang.String java.util.List java.util.List java.util.List java.util.List
invokeinterface jnr.posix.POSIX.posix_spawnp:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)J
lstore 7
start local 7 18: lload 7
ldc -1
lcmp
ifne 20
19: aload 0
aload 1
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
20: StackMap locals: long
StackMap stack:
lload 7
lreturn
end local 7 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 21 0 this Lorg/jruby/util/io/PopenExecutor;
0 21 1 runtime Lorg/jruby/Ruby;
0 21 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 21 3 str Ljava/lang/String;
0 21 4 envp [Ljava/lang/String;
2 21 5 sChars [C
1 21 6 s I
18 21 7 ret J
MethodParameters:
Name Flags
runtime
eargp
str
envp
private static java.lang.String[] ARGVSTR2ARGV(byte[][]);
descriptor: ([[B)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.String
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
iload 2
aaload
ifnonnull 4
goto 5
4: StackMap locals:
StackMap stack:
aload 1
iload 2
new java.lang.String
dup
aload 0
iload 2
aaload
invokespecial java.lang.String.<init>:([B)V
aastore
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 argv_str [[B
1 8 1 argv [Ljava/lang/String;
2 7 2 i I
MethodParameters:
Name Flags
argv_str
private org.jruby.RubyIO pipeOpen(org.jruby.runtime.ThreadContext, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String, int, org.jruby.util.io.IOEncodable);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;ILorg/jruby/util/io/IOEncodable;)Lorg/jruby/RubyIO;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=26, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: aload 2
ifnull 3
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 2
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 4
StackMap locals: org.jruby.Ruby
StackMap stack:
2: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 4
StackMap locals:
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: org.jruby.RubyString
4: astore 7
start local 7 5: lconst_0
lstore 8
start local 8 6: new org.jruby.util.io.PosixShim
dup
aload 6
invokespecial org.jruby.util.io.PosixShim.<init>:(Lorg/jruby/Ruby;)V
astore 14
start local 14 7: aconst_null
astore 15
start local 15 8: aconst_null
astore 16
start local 16 9: aconst_null
astore 17
start local 17 10: new org.jruby.util.io.PopenExecutor$ExecArg
dup
invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
astore 18
start local 18 11: iconst_m1
istore 20
start local 20 12: aconst_null
astore 21
start local 21 13: aload 7
ifnull 15
14: aload 6
aload 7
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
astore 21
15: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.util.io.PopenExecutor$ExecArg java.lang.String int org.jruby.util.io.IOEncodable org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject long top top top top org.jruby.util.io.PosixShim jnr.constants.platform.Errno java.lang.String[] java.lang.String[] org.jruby.util.io.PopenExecutor$ExecArg top int java.lang.String
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifeq 19
16: new java.lang.StringBuilder
dup
ldc "cd '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 21
17: aload 2
aconst_null
putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
18: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_clear:()V
19: StackMap locals:
StackMap stack:
aload 2
ifnull 21
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 21
20: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_str:Lorg/jruby/util/io/PopenExecutor$ArgvStr;
getfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
astore 16
21: StackMap locals:
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
astore 22
start local 22 22: iconst_2
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
astore 23
start local 23 23: iload 4
iconst_3
iand
tableswitch { // 1 - 3
1: 34
2: 38
3: 24
default: 42
}
24: StackMap locals: int[] int[]
StackMap stack:
aload 6
aload 23
invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
iconst_m1
if_icmpne 26
25: aload 6
aload 14
invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
26: StackMap locals:
StackMap stack:
aload 6
aload 22
invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
iconst_m1
if_icmpne 32
27: aload 14
invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
astore 15
28: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 23
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
29: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 23
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
30: aload 14
aload 15
invokevirtual org.jruby.util.io.PosixShim.setErrno:(Ljnr/constants/platform/Errno;)V
31: aload 6
aload 14
invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
32: StackMap locals:
StackMap stack:
aload 2
ifnull 43
aload 0
aload 6
aload 22
aload 23
aload 2
invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
33: goto 43
34: StackMap locals:
StackMap stack:
aload 6
aload 22
invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
iconst_m1
if_icmpne 36
35: aload 6
aload 14
invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
36: StackMap locals:
StackMap stack:
aload 2
ifnull 43
aload 0
aload 6
aload 22
aconst_null
aload 2
invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
37: goto 43
38: StackMap locals:
StackMap stack:
aload 6
aload 22
invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
iconst_m1
if_icmpne 40
39: aload 6
aload 14
invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
40: StackMap locals:
StackMap stack:
aload 2
ifnull 43
aload 0
aload 6
aconst_null
aload 22
aload 2
invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
41: goto 43
42: StackMap locals:
StackMap stack:
aload 6
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newSystemCallError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
43: StackMap locals:
StackMap stack:
aload 2
ifnull 67
44: aload 1
aload 6
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
45: goto 53
StackMap locals:
StackMap stack: org.jruby.exceptions.RaiseException
46: astore 24
start local 24 47: aload 23
iconst_0
iaload
iconst_m1
if_icmpeq 48
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 23
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
48: StackMap locals: org.jruby.exceptions.RaiseException
StackMap stack:
aload 23
iconst_1
iaload
iconst_m1
if_icmpeq 49
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 23
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
49: StackMap locals:
StackMap stack:
aload 22
iconst_0
iaload
iconst_m1
if_icmpeq 50
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
50: StackMap locals:
StackMap stack:
aload 22
iconst_1
iaload
iconst_m1
if_icmpeq 51
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
51: StackMap locals:
StackMap stack:
aload 6
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
52: aload 24
athrow
end local 24 53: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
aload 2
aload 18
aconst_null
invokevirtual org.jruby.util.io.PopenExecutor.execargRunOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
pop
54: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
ifnull 62
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
astore 17
55: goto 62
56: StackMap locals:
StackMap stack:
invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$jnr$constants$platform$Errno:()[I
aload 0
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
dup
astore 15
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iaload
tableswitch { // 35 - 36
35: 57
36: 57
default: 61
}
57: StackMap locals:
StackMap stack:
ldc 1000
invokestatic java.lang.Thread.sleep:(J)V
58: goto 62
StackMap locals:
StackMap stack: java.lang.InterruptedException
59: pop
60: goto 62
61: StackMap locals:
StackMap stack:
goto 63
62: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 2
aload 21
aload 16
aload 17
invokevirtual org.jruby.util.io.PopenExecutor.DO_SPAWN:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)J
dup2
lstore 8
ldc -1
lcmp
ifeq 56
63: StackMap locals:
StackMap stack:
aload 2
ifnull 65
64: aload 0
aload 1
aload 6
aload 18
aconst_null
aconst_null
invokevirtual org.jruby.util.io.PopenExecutor.execargRunOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
pop
65: StackMap locals:
StackMap stack:
aload 6
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
66: goto 68
67: StackMap locals:
StackMap stack:
aload 6
ldc "spawn without exec args (probably a bug)"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
68: StackMap locals:
StackMap stack:
lload 8
ldc -1
lcmp
ifne 76
69: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
70: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
71: iload 4
iconst_3
iand
iconst_3
if_icmpne 74
72: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
73: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
74: StackMap locals:
StackMap stack:
aload 0
aload 15
putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
75: aload 6
aload 0
getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
76: StackMap locals:
StackMap stack:
iload 4
iconst_1
iand
ifeq 82
iload 4
iconst_2
iand
ifeq 82
77: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
78: aload 22
iconst_0
iaload
istore 19
start local 19 79: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 23
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
80: aload 23
iconst_1
iaload
istore 20
81: goto 88
end local 19 82: StackMap locals:
StackMap stack:
iload 4
iconst_1
iand
ifeq 86
83: aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_1
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
84: aload 22
iconst_0
iaload
istore 19
start local 19 85: goto 88
end local 19 86: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
aload 22
iconst_0
iaload
invokeinterface jnr.posix.POSIX.close:(I)I
pop
87: aload 22
iconst_1
iaload
istore 19
start local 19 88: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.util.io.PopenExecutor$ExecArg java.lang.String int org.jruby.util.io.IOEncodable org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject long top top top top org.jruby.util.io.PosixShim jnr.constants.platform.Errno java.lang.String[] java.lang.String[] org.jruby.util.io.PopenExecutor$ExecArg int int java.lang.String int[] int[]
StackMap stack:
aload 6
invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyIO
astore 11
start local 11 89: aload 11
invokevirtual org.jruby.RubyIO.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
astore 10
start local 10 90: aload 10
new jnr.enxio.channels.NativeDeviceChannel
dup
iload 19
invokespecial jnr.enxio.channels.NativeDeviceChannel.<init>:(I)V
invokevirtual org.jruby.util.io.OpenFile.setChannel:(Ljava/nio/channels/Channel;)V
91: aload 10
iload 4
bipush 40
ior
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
92: aload 5
ifnull 98
93: aload 10
getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
aload 5
invokevirtual org.jruby.util.io.IOEncodable$ConvConfig.copy:(Lorg/jruby/util/io/IOEncodable;)V
94: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 103
95: aload 10
getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
getfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
getstatic org.jruby.util.io.EncodingUtils.ECONV_DEFAULT_NEWLINE_DECORATOR:I
iand
ifeq 103
96: aload 10
getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
dup
getfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
sipush 256
ior
putfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
97: goto 103
98: StackMap locals: org.jruby.util.io.PopenExecutor org.jruby.runtime.ThreadContext org.jruby.util.io.PopenExecutor$ExecArg java.lang.String int org.jruby.util.io.IOEncodable org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject long org.jruby.util.io.OpenFile org.jruby.RubyIO top top org.jruby.util.io.PosixShim jnr.constants.platform.Errno java.lang.String[] java.lang.String[] org.jruby.util.io.PopenExecutor$ExecArg int int java.lang.String int[] int[]
StackMap stack:
aload 10
invokevirtual org.jruby.util.io.OpenFile.NEED_NEWLINE_DECORATOR_ON_READ:()Z
ifeq 100
99: aload 10
getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
dup
getfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
sipush 256
ior
putfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
100: StackMap locals:
StackMap stack:
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
ifeq 103
101: aload 10
invokevirtual org.jruby.util.io.OpenFile.NEED_NEWLINE_DECORATOR_ON_WRITE:()Z
ifeq 103
102: aload 10
getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
dup
getfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
ior
putfield org.jruby.util.io.IOEncodable$ConvConfig.ecflags:I
103: StackMap locals:
StackMap stack:
lload 8
lstore 24
start local 24 104: aload 10
lload 8
invokevirtual org.jruby.util.io.OpenFile.setPid:(J)V
105: aload 10
new org.jruby.util.io.POSIXProcess
dup
aload 6
lload 24
invokespecial org.jruby.util.io.POSIXProcess.<init>:(Lorg/jruby/Ruby;J)V
invokevirtual org.jruby.util.io.OpenFile.setProcess:(Ljava/lang/Process;)V
106: iload 20
iconst_m1
if_icmpeq 114
107: aload 6
invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 13
start local 13 108: aload 13
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
astore 12
start local 12 109: aload 12
new jnr.enxio.channels.NativeDeviceChannel
dup
iload 20
invokespecial jnr.enxio.channels.NativeDeviceChannel.<init>:(I)V
invokevirtual org.jruby.util.io.OpenFile.setChannel:(Ljava/nio/channels/Channel;)V
110: aload 12
iload 4
bipush -2
iand
bipush 8
ior
bipush 32
ior
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
111: aload 10
aload 10
invokevirtual org.jruby.util.io.OpenFile.getMode:()I
bipush -3
iand
invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
112: aload 10
aload 13
checkcast org.jruby.RubyIO
putfield org.jruby.util.io.OpenFile.tiedIOForWriting:Lorg/jruby/RubyIO;
113: aload 11
ldc "@tied_io_for_writing"
aload 13
invokevirtual org.jruby.RubyIO.setInstanceVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 13 end local 12 114: StackMap locals: long
StackMap stack:
aload 11
areturn
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 11 end local 10 end local 8 end local 7 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 115 0 this Lorg/jruby/util/io/PopenExecutor;
0 115 1 context Lorg/jruby/runtime/ThreadContext;
0 115 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 115 3 modestr Ljava/lang/String;
0 115 4 fmode I
0 115 5 convconfig Lorg/jruby/util/io/IOEncodable;
1 115 6 runtime Lorg/jruby/Ruby;
5 115 7 prog Lorg/jruby/runtime/builtin/IRubyObject;
6 115 8 pid J
90 115 10 fptr Lorg/jruby/util/io/OpenFile;
89 115 11 port Lorg/jruby/RubyIO;
109 114 12 write_fptr Lorg/jruby/util/io/OpenFile;
108 114 13 write_port Lorg/jruby/runtime/builtin/IRubyObject;
7 115 14 posix Lorg/jruby/util/io/PosixShim;
8 115 15 e Ljnr/constants/platform/Errno;
9 115 16 args [Ljava/lang/String;
10 115 17 envp [Ljava/lang/String;
11 115 18 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
79 82 19 fd I
85 86 19 fd I
88 115 19 fd I
12 115 20 write_fd I
13 115 21 cmd Ljava/lang/String;
22 115 22 pair [I
23 115 23 writePair [I
47 53 24 re Lorg/jruby/exceptions/RaiseException;
104 115 24 finalPid J
Exception table:
from to target type
44 45 46 Class org.jruby.exceptions.RaiseException
57 58 59 Class java.lang.InterruptedException
MethodParameters:
Name Flags
context
eargp
modestr
fmode
convconfig
private void prepareStdioRedirects(org.jruby.Ruby, int[], int[], org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 5
1: aload 2
iconst_1
iaload
istore 5
start local 5 2: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 1
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
iload 5
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
3: aload 2
iconst_0
iaload
istore 6
start local 6 4: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
iload 6
invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 5: StackMap locals:
StackMap stack:
aload 3
ifnull 10
6: aload 3
iconst_0
iaload
istore 5
start local 5 7: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 1
iconst_0
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
iload 5
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
8: aload 3
iconst_1
iaload
istore 6
start local 6 9: aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
iload 6
invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/util/io/PopenExecutor;
0 11 1 runtime Lorg/jruby/Ruby;
0 11 2 readPipe [I
0 11 3 writePipe [I
0 11 4 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
2 5 5 readPipeWriteFD I
4 5 6 readPipeReadFD I
7 10 5 writePipeReadFD I
9 10 6 writePipeWriteFD I
MethodParameters:
Name Flags
runtime
readPipe
writePipe
eargp
static int run_exec_pgroup(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 1
getfield org.jruby.util.io.PopenExecutor$ExecArg.pgroup_pgid:J
lstore 5
start local 5 2: lload 5
ldc -1
lcmp
ifne 4
3: iload 4
ireturn
4: StackMap locals: int long
StackMap stack:
aload 1
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
lload 5
invokestatic jnr.posix.SpawnAttribute.pgroup:(J)Ljnr/posix/SpawnAttribute;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 1
getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
iconst_2
invokestatic jnr.posix.SpawnAttribute.flags:(S)Ljnr/posix/SpawnAttribute;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: iload 4
ireturn
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 7 0 runtime Lorg/jruby/Ruby;
0 7 1 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 7 2 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 7 3 errmsg [Ljava/lang/String;
1 7 4 ret I
2 7 5 pgroup J
MethodParameters:
Name Flags
runtime
eargp
sargp
errmsg
static int run_exec_rlimit(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "changing rlimit in child is not supported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 ary Lorg/jruby/RubyArray;
0 1 2 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 1 3 errmsg [Ljava/lang/String;
MethodParameters:
Name Flags
runtime
ary
sargp
errmsg
static void saveEnv(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 runtime Lorg/jruby/Ruby;
0 1 2 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
MethodParameters:
Name Flags
context
runtime
sargp
static int run_exec_dup2(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_m1
istore 8
start local 8 1: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.dup2_tmpbuf:[Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
astore 9
start local 9 2: aload 1
invokevirtual org.jruby.RubyArray.size:()I
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 10
5: StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int top int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack:
aload 1
iload 6
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 6: aload 9
iload 6
aaload
aload 10
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
7: aload 9
iload 6
aaload
aload 10
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
8: aload 9
iload 6
aaload
iconst_m1
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
end local 10 9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 5
if_icmplt 5
11: aload 3
ifnonnull 13
12: aload 9
getstatic org.jruby.util.io.PopenExecutor.intcmp:Ljava/util/Comparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
goto 14
13: StackMap locals:
StackMap stack:
aload 9
getstatic org.jruby.util.io.PopenExecutor.intrcmp:Ljava/util/Comparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
14: StackMap locals:
StackMap stack:
iconst_0
istore 6
goto 30
15: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
istore 10
start local 10 16: new org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair
dup
invokespecial org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.<init>:()V
astore 11
start local 11 17: aload 11
iload 10
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
18: aload 9
aload 11
getstatic org.jruby.util.io.PopenExecutor.intcmp:Ljava/util/Comparator;
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I
istore 12
start local 12 19: aload 9
iload 6
aaload
iconst_0
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
20: iload 12
iflt 29
21: goto 23
StackMap locals: int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair int
StackMap stack:
22: iinc 12 -1
StackMap locals:
StackMap stack:
23: iload 12
ifle 28
aload 9
iload 12
iconst_1
isub
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
iload 10
if_icmpeq 22
24: goto 28
25: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
dup
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
iconst_1
iadd
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
26: aload 9
iload 12
aaload
iload 6
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
27: iinc 12 1
28: StackMap locals:
StackMap stack:
iload 12
iload 5
if_icmpge 29
aload 9
iload 12
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
iload 10
if_icmpeq 25
end local 12 end local 11 end local 10 29: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
iload 5
if_icmplt 15
31: iconst_0
istore 6
goto 42
32: StackMap locals:
StackMap stack:
iload 6
istore 10
start local 10 33: goto 40
34: StackMap locals: int
StackMap stack:
aload 0
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
aload 3
aload 4
invokestatic org.jruby.util.io.PopenExecutor.saveRedirectFd:(Lorg/jruby/Ruby;ILorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
ifge 36
35: iconst_m1
ireturn
36: StackMap locals:
StackMap stack:
aload 2
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
37: aload 9
iload 10
aaload
iconst_m1
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
38: aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
istore 10
39: iload 10
iconst_m1
if_icmpeq 40
aload 9
iload 10
aaload
dup
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
iconst_1
isub
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
40: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpeq 41
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
iconst_m1
if_icmpeq 41
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
ifeq 34
end local 10 41: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
42: iload 6
iload 5
if_icmplt 32
43: iconst_0
istore 6
goto 75
44: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
iconst_m1
if_icmpne 46
45: goto 74
46: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
if_icmpne 60
47: aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
istore 11
start local 11 48: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 11
getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
istore 7
start local 7 49: iload 7
iconst_m1
if_icmpne 52
50: aload 4
ifnull 51
aload 4
iconst_0
ldc "fcntl(F_GETFD)"
aastore
51: StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int int int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] top int
StackMap stack:
iconst_m1
ireturn
52: StackMap locals:
StackMap stack:
iload 7
iconst_1
iand
ifeq 58
53: iload 7
bipush -2
iand
istore 7
54: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 11
getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
iload 7
invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
istore 7
55: iload 7
iconst_m1
if_icmpne 58
56: aload 4
ifnull 57
aload 4
iconst_0
ldc "fcntl(F_SETFD)"
aastore
57: StackMap locals:
StackMap stack:
iconst_m1
ireturn
58: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
iconst_m1
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
59: goto 74
end local 11 end local 7 60: StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int top int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack:
iload 8
iconst_m1
if_icmpne 65
61: aload 0
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
invokestatic org.jruby.util.io.PopenExecutor.redirectDup:(Lorg/jruby/Ruby;I)I
istore 8
62: iload 8
iconst_m1
if_icmpne 66
63: aload 4
ifnull 64
aload 4
iconst_0
ldc "dup"
aastore
64: StackMap locals:
StackMap stack:
iconst_m1
ireturn
65: StackMap locals:
StackMap stack:
aload 2
aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
iload 8
invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
66: StackMap locals:
StackMap stack:
aload 9
iload 6
aaload
iload 8
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
67: aload 9
iload 6
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
istore 10
start local 10 68: aload 9
iload 6
aaload
iconst_m1
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
69: goto 73
70: StackMap locals: int
StackMap stack:
aload 2
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
71: aload 9
iload 10
aaload
iconst_m1
putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
72: aload 9
iload 10
aaload
getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
istore 10
73: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpne 70
end local 10 74: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
75: iload 6
iload 5
if_icmplt 44
76: iload 8
iconst_m1
if_icmpeq 83
77: aload 0
aload 2
iload 8
aload 3
ifnull 78
iconst_1
goto 79
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int top int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack: org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg int
78: iconst_0
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int top int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack: org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg int int
79: invokestatic org.jruby.util.io.PopenExecutor.redirectClose:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;IZ)I
istore 7
start local 7 80: iload 7
iconst_m1
if_icmpne 83
81: aload 4
ifnull 82
aload 4
iconst_0
ldc "close"
aastore
82: StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int int int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack:
iconst_m1
ireturn
end local 7 83: StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$ExecArg java.lang.String[] int int top int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[]
StackMap stack:
iconst_0
ireturn
end local 9 end local 8 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 84 0 runtime Lorg/jruby/Ruby;
0 84 1 ary Lorg/jruby/RubyArray;
0 84 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 84 3 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 84 4 errmsg [Ljava/lang/String;
3 84 5 n I
4 84 6 i I
49 60 7 ret I
80 83 7 ret I
1 84 8 extra_fd I
2 84 9 pairs [Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
6 9 10 elt Lorg/jruby/runtime/builtin/IRubyObject;
16 29 10 newfd I
17 29 11 key Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
19 29 12 found I
33 41 10 j I
68 74 10 j I
48 60 11 fd I
MethodParameters:
Name Flags
runtime
ary
eargp
sargp
errmsg
static int redirectDup(org.jruby.Ruby, int);
descriptor: (Lorg/jruby/Ruby;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 1
invokeinterface jnr.posix.POSIX.dup:(I)I
istore 2
start local 2 1: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
istore 3
start local 3 2: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
iload 3
iconst_1
ior
invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
pop
3: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 oldfd I
1 4 2 ret I
2 4 3 flags I
MethodParameters:
Name Flags
runtime
oldfd
static int redirectCloexecDup(org.jruby.Ruby, int);
descriptor: (Lorg/jruby/Ruby;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic org.jruby.util.io.PopenExecutor.redirectDup:(Lorg/jruby/Ruby;I)I
istore 2
start local 2 1: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
istore 3
start local 3 2: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
iload 3
iconst_1
ior
invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
pop
3: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 oldfd I
1 4 2 ret I
2 4 3 flags I
MethodParameters:
Name Flags
runtime
oldfd
static void redirectDup2(org.jruby.util.io.PopenExecutor$ExecArg, int, int);
descriptor: (Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
iload 1
iload 2
invokestatic jnr.posix.SpawnFileAction.dup:(II)Ljnr/posix/SpawnFileAction;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 2 1 oldfd I
0 2 2 newfd I
MethodParameters:
Name Flags
eargp
oldfd
newfd
static int redirectClose(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, int, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;IZ)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 3
1: aload 1
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
iload 2
invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
invokeinterface jnr.posix.POSIX.close:(I)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 4 2 fd I
0 4 3 forChild Z
MethodParameters:
Name Flags
runtime
eargp
fd
forChild
static void redirectOpen(org.jruby.util.io.PopenExecutor$ExecArg, int, java.lang.String, int, int);
descriptor: (Lorg/jruby/util/io/PopenExecutor$ExecArg;ILjava/lang/String;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
aload 2
iload 1
iload 3
iload 4
invokestatic jnr.posix.SpawnFileAction.open:(Ljava/lang/String;III)Ljnr/posix/SpawnFileAction;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 2 1 fd I
0 2 2 pathname Ljava/lang/String;
0 2 3 flags I
0 2 4 perm I
MethodParameters:
Name Flags
eargp
fd
pathname
flags
perm
static int saveRedirectFd(org.jruby.Ruby, int, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;ILorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 fd I
0 1 2 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 1 3 errmsg [Ljava/lang/String;
MethodParameters:
Name Flags
runtime
fd
sargp
errmsg
int execargRunOptions(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0000)
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnull 2
1: aload 4
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.util.io.PopenExecutor$ExecArg.redirect_fds:Lorg/jruby/runtime/builtin/IRubyObject;
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given:()Z
ifeq 5
3: aload 2
aload 3
aload 4
aload 5
invokestatic org.jruby.util.io.PopenExecutor.run_exec_pgroup:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
iconst_m1
if_icmpne 5
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.rlimit_limits:Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 6: aload 6
ifnull 8
7: aload 2
ldc "setting rlimit in child is unsupported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iconst_0
istore 7
start local 7 9: aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
ifeq 11
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do:()Z
ifeq 11
10: aload 2
ldc "clearing env in child is not supported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
11: StackMap locals: int
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
astore 8
start local 8 12: aload 8
ifnull 14
13: aload 3
aload 2
aload 8
iload 7
invokestatic org.jruby.util.ShellLauncher.getModifiedEnv:(Lorg/jruby/Ruby;Ljava/util/Collection;Z)[Ljava/lang/String;
putfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
14: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given:()Z
ifeq 16
15: aload 2
ldc "setting umask in child is unsupported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
16: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
astore 6
17: aload 6
ifnull 20
18: aload 2
aload 6
checkcast org.jruby.RubyArray
aload 3
aload 4
aload 5
invokestatic org.jruby.util.io.PopenExecutor.run_exec_dup2:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
iconst_m1
if_icmpne 20
19: iconst_m1
ireturn
20: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
astore 6
21: aload 6
ifnull 26
22: aload 4
ifnull 24
23: aload 2
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
ldc "cannot close fd before spawn"
invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
goto 26
24: StackMap locals:
StackMap stack:
aload 2
aload 6
checkcast org.jruby.RubyArray
aload 3
aload 5
invokestatic org.jruby.util.io.PopenExecutor.run_exec_close:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
iconst_m1
if_icmpne 26
25: iconst_m1
ireturn
26: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
astore 6
27: aload 6
ifnull 30
28: aload 2
aload 6
checkcast org.jruby.RubyArray
aload 3
aload 4
aload 5
invokestatic org.jruby.util.io.PopenExecutor.run_exec_dup2_child:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
iconst_m1
if_icmpne 30
29: iconst_m1
ireturn
30: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifeq 32
31: new java.lang.RuntimeException
dup
ldc "BUG: chdir not supported in posix_spawn; should have been made into chdir"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.gid_given:()Z
ifeq 34
33: aload 2
ldc "setgid in the child is not supported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
34: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.uid_given:()Z
ifeq 36
35: aload 2
ldc "setuid in the child is not supported"
invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
36: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 8 end local 7 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 37 0 this Lorg/jruby/util/io/PopenExecutor;
0 37 1 context Lorg/jruby/runtime/ThreadContext;
0 37 2 runtime Lorg/jruby/Ruby;
0 37 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 37 4 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 37 5 errmsg [Ljava/lang/String;
6 37 6 obj Lorg/jruby/runtime/builtin/IRubyObject;
9 37 7 clearEnv Z
12 37 8 env Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
context
runtime
eargp
sargp
errmsg
static int run_exec_close(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: goto 9
2: StackMap locals: long
StackMap stack:
aload 1
lload 4
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 7
start local 7 3: aload 7
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 8
start local 8 4: aload 0
aload 2
iload 8
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.redirectClose:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;IZ)I
istore 6
start local 6 5: iload 6
iconst_m1
if_icmpne 8
6: aload 3
ifnull 7
aload 3
iconst_0
ldc "close"
aastore
7: StackMap locals: int org.jruby.RubyArray int
StackMap stack:
iconst_m1
ireturn
end local 8 end local 7 8: StackMap locals:
StackMap stack:
lload 4
lconst_1
ladd
lstore 4
end local 6 StackMap locals:
StackMap stack:
9: lload 4
aload 1
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 2
10: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 runtime Lorg/jruby/Ruby;
0 11 1 ary Lorg/jruby/RubyArray;
0 11 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 11 3 errmsg [Ljava/lang/String;
1 11 4 i J
5 9 6 ret I
3 8 7 elt Lorg/jruby/RubyArray;
4 8 8 fd I
MethodParameters:
Name Flags
runtime
ary
eargp
errmsg
static int run_exec_dup2_child(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.util.io.PopenExecutor$ExecArg, java.lang.String[]);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lconst_0
lstore 5
start local 5 1: goto 7
2: StackMap locals: long
StackMap stack:
aload 1
lload 5
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 7
start local 7 3: aload 7
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 8
start local 8 4: aload 7
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 5: aload 2
iload 9
iload 8
invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
end local 9 end local 8 end local 7 6: lload 5
lconst_1
ladd
lstore 5
StackMap locals:
StackMap stack:
7: lload 5
aload 1
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 2
8: iconst_0
ireturn
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 runtime Lorg/jruby/Ruby;
0 9 1 ary Lorg/jruby/RubyArray;
0 9 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 9 3 sargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 9 4 errmsg [Ljava/lang/String;
1 9 5 i J
3 6 7 elt Lorg/jruby/RubyArray;
4 6 8 newfd I
5 6 9 oldfd I
MethodParameters:
Name Flags
runtime
ary
eargp
sargp
errmsg
static int runExecDup2TmpbufSize(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n
static void execargFixup(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargParentStart:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
MethodParameters:
Name Flags
context
runtime
eargp
static void execargParentStart(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargParentStart1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
1: goto 5
StackMap locals:
StackMap stack: org.jruby.exceptions.RaiseException
2: astore 3
start local 3 3: aload 1
aload 2
invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 runtime Lorg/jruby/Ruby;
0 6 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
3 5 3 re Lorg/jruby/exceptions/RaiseException;
Exception table:
from to target type
0 1 2 Class org.jruby.exceptions.RaiseException
MethodParameters:
Name Flags
context
runtime
eargp
static void execargParentStart1(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecFds:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.util.io.PopenExecutor$ExecArg.redirect_fds:Lorg/jruby/runtime/builtin/IRubyObject;
1: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
astore 5
start local 5 2: aload 5
ifnull 33
3: lconst_0
lstore 6
start local 6 4: goto 32
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg top top org.jruby.RubyArray long
StackMap stack:
aload 5
lload 6
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 8
start local 8 6: aload 8
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 7: aload 8
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 10
start local 10 8: aload 10
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
start local 11 9: aload 10
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 12
start local 12 10: aload 10
ldc 2
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 13
start local 13 11: aload 10
iconst_3
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
start local 14 12: aload 14
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 29
13: new org.jruby.RubyIO$Sysopen
dup
invokespecial org.jruby.RubyIO$Sysopen.<init>:()V
astore 16
start local 16 14: aload 0
aload 11
invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 11
15: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg top top org.jruby.RubyArray long org.jruby.RubyArray int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject top org.jruby.RubyIO$Sysopen
StackMap stack:
aload 16
aload 11
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
putfield org.jruby.RubyIO$Sysopen.fname:Ljava/lang/String;
16: aload 16
iload 12
putfield org.jruby.RubyIO$Sysopen.oflags:I
17: aload 16
iload 13
putfield org.jruby.RubyIO$Sysopen.perm:I
18: aload 16
getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
putfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
19: aload 1
aload 16
invokestatic org.jruby.util.io.PopenExecutor.open_func:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
astore 17
start local 17 20: aload 17
ifnonnull 25
21: aload 16
getfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
if_acmpne 24
22: aload 0
invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
23: goto 15
24: StackMap locals: org.jruby.util.io.ChannelFD
StackMap stack:
aload 1
aload 16
getfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.intValue:()I
aload 11
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
pop
25: StackMap locals:
StackMap stack:
aload 17
getfield org.jruby.util.io.ChannelFD.realFileno:I
istore 15
start local 15 26: aload 10
ldc 3
aload 1
iload 15
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
27: aload 0
invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
end local 17 end local 16 28: goto 30
end local 15 29: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg top top org.jruby.RubyArray long org.jruby.RubyArray int org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 14
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 15
start local 15 30: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
iload 15
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.util.io.PopenExecutor.execargAddopt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 31: lload 6
lconst_1
ladd
lstore 6
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg top top org.jruby.RubyArray long
StackMap stack:
32: lload 6
aload 5
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 5
end local 6 33: StackMap locals:
StackMap stack:
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
astore 5
34: aload 5
ifnull 42
35: aload 5
invokevirtual org.jruby.RubyArray.size:()I
invokestatic org.jruby.util.io.PopenExecutor.runExecDup2TmpbufSize:(I)I
istore 6
start local 6 36: iload 6
anewarray org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair
astore 7
start local 7 37: iconst_0
istore 8
start local 8 38: goto 40
StackMap locals: int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] int
StackMap stack:
39: aload 7
iload 8
new org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair
dup
invokespecial org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.<init>:()V
aastore
iinc 8 1
StackMap locals:
StackMap stack:
40: iload 8
aload 7
arraylength
if_icmplt 39
end local 8 41: aload 2
aload 7
putfield org.jruby.util.io.PopenExecutor$ExecArg.dup2_tmpbuf:[Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
end local 7 end local 6 42: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
ifeq 43
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do:()Z
ifeq 43
iconst_1
goto 44
StackMap locals:
StackMap stack:
43: iconst_0
StackMap locals:
StackMap stack: int
44: istore 3
start local 3 45: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
astore 4
start local 4 46: iload 3
ifne 47
aload 4
ifnull 67
47: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg int org.jruby.RubyArray org.jruby.RubyArray
StackMap stack:
iload 3
ifeq 50
48: aload 1
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 6
start local 6 49: goto 52
end local 6 50: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
ldc "ENV"
invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 51: aload 6
aload 1
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
ldc "to_hash"
invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
52: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 4
ifnull 69
53: aload 6
checkcast org.jruby.RubyHash
astore 7
start local 7 54: lconst_0
lstore 8
start local 8 55: goto 65
56: StackMap locals: org.jruby.RubyHash long
StackMap stack:
aload 4
lload 8
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 57: aload 10
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
start local 11 58: aload 10
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 59: aload 12
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 63
60: aload 11
astore 13
start local 13 61: aload 7
aload 13
invokevirtual org.jruby.RubyHash.fastDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
pop
end local 13 62: goto 64
63: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
aload 0
aload 11
aload 12
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 12 end local 11 end local 10 64: StackMap locals:
StackMap stack:
lload 8
lconst_1
ladd
lstore 8
StackMap locals:
StackMap stack:
65: lload 8
aload 4
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 56
end local 8 end local 7 66: goto 69
end local 6 67: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
ldc "ENV"
invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 68: aload 6
aload 1
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
ldc "to_hash"
invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
69: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 2
aload 6
invokestatic org.jruby.util.io.PopenExecutor.buildEnvp:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;)V
70: return
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 71 0 context Lorg/jruby/runtime/ThreadContext;
0 71 1 runtime Lorg/jruby/Ruby;
0 71 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
45 71 3 unsetenv_others Z
46 71 4 envopts Lorg/jruby/RubyArray;
2 71 5 ary Lorg/jruby/RubyArray<Lorg/jruby/RubyArray;>;
4 33 6 i J
6 31 8 elt Lorg/jruby/RubyArray<Lorg/jruby/RubyArray;>;
7 31 9 fd I
8 31 10 param Lorg/jruby/RubyArray;
9 31 11 vpath Lorg/jruby/runtime/builtin/IRubyObject;
10 31 12 flags I
11 31 13 perm I
12 31 14 fd2v Lorg/jruby/runtime/builtin/IRubyObject;
26 29 15 fd2 I
30 31 15 fd2 I
14 28 16 open_data Lorg/jruby/RubyIO$Sysopen;
20 28 17 ret Lorg/jruby/util/io/ChannelFD;
36 42 6 len I
37 42 7 tmpbuf [Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
38 41 8 i I
49 50 6 envtbl Lorg/jruby/runtime/builtin/IRubyObject;
51 67 6 envtbl Lorg/jruby/runtime/builtin/IRubyObject;
68 71 6 envtbl Lorg/jruby/runtime/builtin/IRubyObject;
54 66 7 stenv Lorg/jruby/RubyHash;
55 66 8 i J
57 64 10 pair Lorg/jruby/runtime/builtin/IRubyObject;
58 64 11 key Lorg/jruby/runtime/builtin/IRubyObject;
59 64 12 val Lorg/jruby/runtime/builtin/IRubyObject;
61 62 13 stkey Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
runtime
eargp
static void execargParentEnd(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
istore 2
start local 2 1: aload 1
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
astore 3
start local 3 2: aload 3
ifnull 14
3: lconst_0
lstore 4
start local 4 4: goto 13
5: StackMap locals: int org.jruby.RubyArray long
StackMap stack:
aload 3
lload 4
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 6
start local 6 6: aload 6
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 7
start local 7 7: aload 7
iconst_3
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 8: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 12
9: aload 8
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 10: aload 0
iload 9
invokestatic org.jruby.util.io.PopenExecutor.parentRedirectClose:(Lorg/jruby/Ruby;I)V
11: aload 7
ldc 3
aload 0
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 9 end local 8 end local 7 end local 6 12: StackMap locals:
StackMap stack:
lload 4
lconst_1
ladd
lstore 4
StackMap locals:
StackMap stack:
13: lload 4
aload 3
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 5
end local 4 14: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 2
invokeinterface jnr.posix.POSIX.errno:(I)V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 runtime Lorg/jruby/Ruby;
0 16 1 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 16 2 err I
2 16 3 ary Lorg/jruby/RubyArray<Lorg/jruby/RubyArray;>;
4 14 4 i J
6 12 6 elt Lorg/jruby/RubyArray<Lorg/jruby/RubyArray;>;
7 12 7 param Lorg/jruby/RubyArray;
8 12 8 fd2v Lorg/jruby/runtime/builtin/IRubyObject;
10 12 9 fd2 I
MethodParameters:
Name Flags
runtime
eargp
static org.jruby.util.io.ChannelFD open_func(org.jruby.Ruby, org.jruby.RubyIO$Sysopen);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.util.io.PopenExecutor.parentRedirectOpen:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
astore 2
start local 2 1: aload 1
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.errno:()I
i2l
invokestatic jnr.constants.platform.Errno.valueOf:(J)Ljnr/constants/platform/Errno;
putfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 data Lorg/jruby/RubyIO$Sysopen;
1 3 2 ret Lorg/jruby/util/io/ChannelFD;
MethodParameters:
Name Flags
runtime
data
static org.jruby.util.io.ChannelFD parentRedirectOpen(org.jruby.Ruby, org.jruby.RubyIO$Sysopen);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.RubyIO.cloexecOpen:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 data Lorg/jruby/RubyIO$Sysopen;
MethodParameters:
Name Flags
runtime
data
static void parentRedirectClose(org.jruby.Ruby, int);
descriptor: (Lorg/jruby/Ruby;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmple 1
aload 0
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
iload 1
invokeinterface jnr.posix.POSIX.close:(I)I
pop
1: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 fd I
MethodParameters:
Name Flags
runtime
fd
private static void buildEnvp(org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 2
checkcast org.jruby.RubyHash
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject top java.util.List top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 3: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 7
start local 7 4: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 8
start local 8 5: aload 4
new java.lang.StringBuilder
dup
aload 0
aload 7
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 0
aload 8
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 4
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 3
start local 3 11: aload 4
aload 3
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
12: aload 1
aload 3
putfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
13: aload 1
aload 4
putfield org.jruby.util.io.PopenExecutor$ExecArg.envp_buf:Ljava/util/List;
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 runtime Lorg/jruby/Ruby;
0 15 1 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 15 2 envtbl Lorg/jruby/runtime/builtin/IRubyObject;
11 15 3 envp_str [Ljava/lang/String;
1 15 4 envp_buf Ljava/util/List<Ljava/lang/String;>;
3 9 5 entry Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
4 9 7 key Lorg/jruby/runtime/builtin/IRubyObject;
5 9 8 val Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
eargp
envtbl
static int checkExecFds1(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.RubyHash, int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;ILorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
ifnull 20
1: lconst_0
lstore 6
start local 6 2: goto 19
3: StackMap locals: long
StackMap stack:
aload 5
checkcast org.jruby.RubyArray
lload 6
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 4: aload 8
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 5: aload 3
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnull 7
6: aload 1
new java.lang.StringBuilder
dup
ldc "fd "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " specified twice"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals: org.jruby.runtime.builtin.IRubyObject int
StackMap stack:
aload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
if_acmpeq 8
aload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
if_acmpne 9
8: StackMap locals:
StackMap stack:
aload 3
aload 0
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
goto 12
9: StackMap locals:
StackMap stack:
aload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
if_acmpne 11
10: aload 3
aload 0
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 8
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
goto 12
11: StackMap locals:
StackMap stack:
aload 3
aload 0
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
iconst_m1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
12: StackMap locals:
StackMap stack:
iload 4
iload 9
if_icmpge 14
13: iload 9
istore 4
14: StackMap locals:
StackMap stack:
aload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
if_acmpeq 15
aload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
if_acmpne 18
15: StackMap locals:
StackMap stack:
aload 8
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
16: iload 4
iload 9
if_icmpge 18
17: iload 9
istore 4
end local 9 end local 8 18: StackMap locals:
StackMap stack:
lload 6
lconst_1
ladd
lstore 6
StackMap locals:
StackMap stack:
19: lload 6
aload 5
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 3
end local 6 20: StackMap locals:
StackMap stack:
iload 4
ireturn
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 21 0 context Lorg/jruby/runtime/ThreadContext;
0 21 1 runtime Lorg/jruby/Ruby;
0 21 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 21 3 h Lorg/jruby/RubyHash;
0 21 4 maxhint I
0 21 5 ary Lorg/jruby/runtime/builtin/IRubyObject;
2 20 6 i J
4 18 8 elt Lorg/jruby/runtime/builtin/IRubyObject;
5 18 9 fd I
MethodParameters:
Name Flags
context
runtime
eargp
h
maxhint
ary
static org.jruby.runtime.builtin.IRubyObject checkExecFds(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 3
start local 3 1: iconst_m1
istore 5
start local 5 2: aload 0
aload 1
aload 2
aload 3
iload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
invokestatic org.jruby.util.io.PopenExecutor.checkExecFds1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;ILorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
3: aload 0
aload 1
aload 2
aload 3
iload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
invokestatic org.jruby.util.io.PopenExecutor.checkExecFds1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;ILorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
4: aload 0
aload 1
aload 2
aload 3
iload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
invokestatic org.jruby.util.io.PopenExecutor.checkExecFds1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;ILorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
5: aload 0
aload 1
aload 2
aload 3
iload 5
aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
invokestatic org.jruby.util.io.PopenExecutor.checkExecFds1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/RubyHash;ILorg/jruby/runtime/builtin/IRubyObject;)I
istore 5
6: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
ifnull 36
7: aload 2
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
astore 4
start local 4 8: lconst_0
lstore 6
start local 6 9: goto 35
10: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash org.jruby.runtime.builtin.IRubyObject int long
StackMap stack:
aload 4
checkcast org.jruby.RubyArray
lload 6
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 11: aload 8
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 9
start local 9 12: aload 8
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 10
start local 10 13: iload 10
istore 11
start local 11 14: aload 3
aload 1
iload 11
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 15: lconst_0
lstore 13
start local 13 16: goto 22
17: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash org.jruby.runtime.builtin.IRubyObject int long org.jruby.runtime.builtin.IRubyObject int int int org.jruby.runtime.builtin.IRubyObject long
StackMap stack:
aload 12
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 11
18: aload 3
aload 12
invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
19: aload 4
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
i2l
lload 13
lcmp
ifge 21
20: aload 1
new java.lang.StringBuilder
dup
ldc "cyclic child fd redirection from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
21: StackMap locals:
StackMap stack:
lload 13
lconst_1
ladd
lstore 13
22: StackMap locals:
StackMap stack:
aload 12
instanceof org.jruby.RubyFixnum
ifeq 23
aload 12
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getIntValue:()I
ifge 17
23: StackMap locals:
StackMap stack:
aload 12
aload 1
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
if_acmpeq 25
24: aload 1
new java.lang.StringBuilder
dup
ldc "child fd "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not redirected"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
25: StackMap locals:
StackMap stack:
iload 10
iload 11
if_icmpeq 34
26: aload 8
checkcast org.jruby.RubyArray
lconst_1
aload 1
iload 11
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
27: aload 3
aload 0
aload 1
iload 9
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 1
iload 11
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
28: aload 1
iload 10
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 12
29: goto 32
start local 15 30: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
aload 0
aload 12
aload 1
iload 11
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
31: aload 15
astore 12
end local 15 32: StackMap locals:
StackMap stack:
aload 3
aload 12
invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 15
start local 15 33: instanceof org.jruby.RubyFixnum
ifne 30
end local 15 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 34: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash org.jruby.runtime.builtin.IRubyObject int long
StackMap stack:
lload 6
lconst_1
ladd
lstore 6
StackMap locals:
StackMap stack:
35: lload 6
aload 4
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
i2l
lcmp
iflt 10
end local 6 end local 4 36: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash top int
StackMap stack:
aload 2
iload 5
putfield org.jruby.util.io.PopenExecutor$ExecArg.close_others_maxhint:I
37: aload 3
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 context Lorg/jruby/runtime/ThreadContext;
0 38 1 runtime Lorg/jruby/Ruby;
0 38 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 38 3 h Lorg/jruby/RubyHash;
8 36 4 ary Lorg/jruby/runtime/builtin/IRubyObject;
2 38 5 maxhint I
9 36 6 i J
11 34 8 elt Lorg/jruby/runtime/builtin/IRubyObject;
12 34 9 newfd I
13 34 10 oldfd I
14 34 11 lastfd I
15 34 12 val Lorg/jruby/runtime/builtin/IRubyObject;
16 34 13 depth J
30 32 15 val2 Lorg/jruby/runtime/builtin/IRubyObject;
33 34 15 val2 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
runtime
eargp
static int execargAddopt(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.io.PopenExecutor$ExecArg, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:()[I
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getClassIndex:()Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iaload
lookupswitch { // 5
4: 67
9: 1
17: 65
27: 67
32: 67
default: 69
}
1: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
start local 5 2: aload 5
ldc "pgroup"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
3: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given:()Z
ifeq 5
4: aload 1
ldc "pgroup option specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: java.lang.String
StackMap stack:
aload 4
ifnull 6
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 8
6: StackMap locals:
StackMap stack:
ldc -1
lstore 7
start local 7 7: goto 14
end local 7 8: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
if_acmpne 11
9: lconst_0
lstore 7
start local 7 10: goto 14
end local 7 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
lstore 7
start local 7 12: lload 7
lconst_0
lcmp
ifge 14
13: aload 1
new java.lang.StringBuilder
dup
ldc "negative process group symbol : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String top long
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given_set:()V
15: aload 2
lload 7
putfield org.jruby.util.io.PopenExecutor$ExecArg.pgroup_pgid:J
end local 7 16: goto 70
17: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String
StackMap stack:
aload 5
ldc "rlimit_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
pop
18: aload 5
ldc "unsetenv_others"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
19: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
ifeq 21
20: aload 1
ldc "unsetenv_others option specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given_set:()V
22: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 25
23: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do_set:()V
24: goto 70
25: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do_clear:()V
26: goto 70
27: StackMap locals:
StackMap stack:
aload 5
ldc "chdir"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
28: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifeq 30
29: aload 1
ldc "chdir option specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
30: StackMap locals:
StackMap stack:
aload 0
aload 4
invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 7
start local 7 31: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_set:()V
32: aload 2
aload 7
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
end local 7 33: goto 70
34: StackMap locals:
StackMap stack:
aload 5
ldc "umask"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
35: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
istore 7
start local 7 36: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given:()Z
ifeq 38
37: aload 1
ldc "umask option specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
38: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String top int
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given_set:()V
39: aload 2
iload 7
putfield org.jruby.util.io.PopenExecutor$ExecArg.umask_mask:I
end local 7 40: goto 70
41: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject java.lang.String
StackMap stack:
aload 5
ldc "close_others"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
42: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_given:()Z
ifeq 44
43: aload 1
ldc "close_others option specified twice"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
44: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_given_set:()V
45: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 48
46: aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_do_set:()V
47: goto 70
48: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_do_clear:()V
49: goto 70
50: StackMap locals:
StackMap stack:
aload 5
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 54
51: aload 1
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
astore 3
52: aload 0
aload 1
aload 3
aload 4
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
53: goto 70
54: StackMap locals:
StackMap stack:
aload 5
ldc "out"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 58
55: aload 1
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
astore 3
56: aload 0
aload 1
aload 3
aload 4
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
57: goto 70
58: StackMap locals:
StackMap stack:
aload 5
ldc "err"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 62
59: aload 1
invokestatic org.jruby.RubyFixnum.two:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
astore 3
60: aload 0
aload 1
aload 3
aload 4
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
61: goto 70
62: StackMap locals:
StackMap stack:
aload 5
ldc "uid"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
pop
63: aload 5
ldc "gid"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
pop
64: iconst_1
ireturn
end local 5 65: StackMap locals:
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifne 67
66: iconst_1
ireturn
67: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 2
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
68: goto 70
69: StackMap locals:
StackMap stack:
iconst_1
ireturn
70: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 context Lorg/jruby/runtime/ThreadContext;
0 71 1 runtime Lorg/jruby/Ruby;
0 71 2 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
0 71 3 key Lorg/jruby/runtime/builtin/IRubyObject;
0 71 4 val Lorg/jruby/runtime/builtin/IRubyObject;
2 65 5 id Ljava/lang/String;
7 8 7 pgroup J
10 11 7 pgroup J
12 16 7 pgroup J
31 33 7 valTmp Lorg/jruby/RubyString;
36 40 7 cmask I
MethodParameters:
Name Flags
context
runtime
eargp
key
val
static void checkExecRedirect(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:()[I
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getClassIndex:()Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iaload
lookupswitch { // 6
4: 26
5: 53
9: 1
17: 20
27: 19
32: 19
default: 69
}
1: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 9
start local 9 2: aload 9
ldc "close"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
3: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
5: goto 70
end local 5 6: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg top top top top java.lang.String
StackMap stack:
aload 9
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
7: aload 1
iconst_0
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 5
start local 5 8: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
9: goto 70
end local 5 10: StackMap locals:
StackMap stack:
aload 9
ldc "out"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
11: aload 1
iconst_1
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 5
start local 5 12: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
13: goto 70
end local 5 14: StackMap locals:
StackMap stack:
aload 9
ldc "err"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
15: aload 1
iconst_2
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 5
start local 5 16: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
17: goto 70
end local 5 18: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "wrong exec redirect symbol: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 9 19: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
aload 1
aload 3
iconst_0
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
20: StackMap locals:
StackMap stack:
aload 3
instanceof org.jruby.RubyFixnum
ifeq 24
21: aload 3
astore 5
start local 5 22: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
23: goto 70
end local 5 24: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
aload 4
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectDefault:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
25: goto 70
26: StackMap locals:
StackMap stack:
aload 3
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 27: aload 3
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpne 32
aload 6
instanceof org.jruby.RubySymbol
ifeq 32
28: aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc "child"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
29: aload 1
aload 3
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 30: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
31: goto 70
end local 5 32: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 6
invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 6
33: aload 3
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 34: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 37
35: getstatic jnr.constants.platform.OpenFlags.O_RDONLY:Ljnr/constants/platform/OpenFlags;
invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
istore 10
start local 10 36: goto 41
end local 10 37: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
instanceof org.jruby.RubyString
ifeq 40
38: aload 1
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic org.jruby.util.io.OpenFile.ioModestrOflags:(Lorg/jruby/Ruby;Ljava/lang/String;)I
istore 10
start local 10 39: goto 41
end local 10 40: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
istore 10
start local 10 41: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top top int
StackMap stack:
aload 1
iload 10
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 7
42: aload 3
checkcast org.jruby.RubyArray
iconst_2
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 43: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 44
aload 1
sipush 420
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
goto 45
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top int
StackMap stack:
44: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
StackMap locals:
StackMap stack: org.jruby.RubyInteger
45: astore 8
46: aload 1
47: aload 6
checkcast org.jruby.RubyString
aload 1
invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
48: aload 7
49: aload 8
50: invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 5
start local 5 51: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
end local 10 end local 8 end local 7 52: goto 70
end local 6 end local 5 53: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
aload 3
astore 6
start local 6 54: aload 0
aload 6
invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 6
55: aload 2
instanceof org.jruby.RubyIO
ifeq 57
56: aload 1
aload 2
iconst_1
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
57: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg top org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 60
aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getIntValue:()I
iconst_1
if_icmpeq 58
aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getIntValue:()I
iconst_2
if_icmpne 60
58: StackMap locals:
StackMap stack:
aload 1
getstatic jnr.constants.platform.OpenFlags.O_WRONLY:Ljnr/constants/platform/OpenFlags;
invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
getstatic jnr.constants.platform.OpenFlags.O_CREAT:Ljnr/constants/platform/OpenFlags;
invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
ior
getstatic jnr.constants.platform.OpenFlags.O_TRUNC:Ljnr/constants/platform/OpenFlags;
invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
ior
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 7
start local 7 59: goto 61
end local 7 60: StackMap locals:
StackMap stack:
aload 1
getstatic jnr.constants.platform.OpenFlags.O_RDONLY:Ljnr/constants/platform/OpenFlags;
invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 7
start local 7 61: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
sipush 420
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
astore 8
start local 8 62: aload 1
63: aload 6
checkcast org.jruby.RubyString
aload 1
invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
64: aload 7
65: aload 8
66: invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 5
start local 5 67: aload 4
aload 1
aload 4
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
aload 2
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
68: goto 70
end local 8 end local 7 end local 6 end local 5 69: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg
StackMap stack:
aload 1
aload 2
aload 3
aload 4
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectDefault:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
70: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 context Lorg/jruby/runtime/ThreadContext;
0 71 1 runtime Lorg/jruby/Ruby;
0 71 2 key Lorg/jruby/runtime/builtin/IRubyObject;
0 71 3 val Lorg/jruby/runtime/builtin/IRubyObject;
0 71 4 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
4 6 5 param Lorg/jruby/runtime/builtin/IRubyObject;
8 10 5 param Lorg/jruby/runtime/builtin/IRubyObject;
12 14 5 param Lorg/jruby/runtime/builtin/IRubyObject;
16 18 5 param Lorg/jruby/runtime/builtin/IRubyObject;
22 24 5 param Lorg/jruby/runtime/builtin/IRubyObject;
30 32 5 param Lorg/jruby/runtime/builtin/IRubyObject;
51 53 5 param Lorg/jruby/runtime/builtin/IRubyObject;
67 69 5 param Lorg/jruby/runtime/builtin/IRubyObject;
27 53 6 path Lorg/jruby/runtime/builtin/IRubyObject;
54 69 6 path Lorg/jruby/runtime/builtin/IRubyObject;
34 52 7 flags Lorg/jruby/runtime/builtin/IRubyObject;
59 60 7 flags Lorg/jruby/runtime/builtin/IRubyObject;
61 69 7 flags Lorg/jruby/runtime/builtin/IRubyObject;
43 52 8 perm Lorg/jruby/runtime/builtin/IRubyObject;
62 69 8 perm Lorg/jruby/runtime/builtin/IRubyObject;
2 19 9 id Ljava/lang/String;
36 37 10 intFlags I
39 40 10 intFlags I
41 52 10 intFlags I
MethodParameters:
Name Flags
context
runtime
key
val
eargp
private static void checkExecRedirectDefault(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 4
start local 4 1: aload 0
aload 4
invokestatic org.jruby.util.TypeConverter.ioCheckIO:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
2: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 6
3: aload 0
aload 2
iconst_0
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
4: aload 2
astore 5
start local 5 5: aload 3
aload 0
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
aload 1
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirect1:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
end local 5 6: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
ldc "wrong exec redirect action"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
0 7 1 key Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 val Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 7 4 tmp Lorg/jruby/runtime/builtin/IRubyObject;
5 6 5 param Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
key
val
eargp
static org.jruby.runtime.builtin.IRubyObject checkExecRedirectFd(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, boolean);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.jruby.RubyFixnum
ifeq 3
1: aload 1
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 2: goto 23
end local 4 3: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubySymbol
ifeq 15
4: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
start local 5 5: aload 5
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: iconst_0
istore 4
start local 4 7: goto 23
end local 4 8: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int top top java.lang.String
StackMap stack:
aload 5
ldc "out"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: iconst_1
istore 4
start local 4 10: goto 23
end local 4 11: StackMap locals:
StackMap stack:
aload 5
ldc "err"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: iconst_2
istore 4
start local 4 13: goto 23
end local 4 14: StackMap locals:
StackMap stack:
aload 0
ldc "wrong exec redirect"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 5 15: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
ldc "to_io"
invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 16: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 22
17: aload 3
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
astore 5
start local 5 18: aload 5
getfield org.jruby.util.io.OpenFile.tiedIOForWriting:Lorg/jruby/RubyIO;
ifnull 20
19: aload 0
ldc "duplex IO redirection"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
20: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject top org.jruby.util.io.OpenFile
StackMap stack:
aload 5
invokevirtual org.jruby.util.io.OpenFile.fd:()Lorg/jruby/util/io/ChannelFD;
invokevirtual org.jruby.util.io.ChannelFD.bestFileno:()I
istore 4
end local 5 start local 4 21: goto 23
end local 4 22: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
ldc "wrong exec redirect"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 start local 4 23: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int top int
StackMap stack:
iload 4
ifge 25
24: aload 0
ldc "negative file descriptor"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
25: StackMap locals:
StackMap stack:
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 27
iload 4
iconst_3
if_icmplt 27
iload 2
ifeq 27
26: aload 0
new java.lang.StringBuilder
dup
ldc "wrong file descriptor ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
27: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 runtime Lorg/jruby/Ruby;
0 28 1 v Lorg/jruby/runtime/builtin/IRubyObject;
0 28 2 iskey Z
16 23 3 tmp Lorg/jruby/runtime/builtin/IRubyObject;
2 3 4 fd I
7 8 4 fd I
10 11 4 fd I
13 14 4 fd I
21 22 4 fd I
23 28 4 fd I
5 15 5 id Ljava/lang/String;
18 21 5 fptr Lorg/jruby/util/io/OpenFile;
MethodParameters:
Name Flags
runtime
v
iskey
static org.jruby.RubyArray checkExecRedirect1(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aload 0
invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
astore 1
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyArray
ifne 8
3: aload 0
aload 2
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
4: iconst_1
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int
5: invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 6: aload 1
aload 0
aload 4
aload 3
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.push:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 4 7: goto 17
8: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 9: goto 16
10: StackMap locals: int
StackMap stack:
aload 2
checkcast org.jruby.RubyArray
iload 4
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 11: aload 0
aload 5
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 12
iconst_0
goto 13
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
12: iconst_1
StackMap locals: org.jruby.Ruby org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int
13: invokestatic org.jruby.util.io.PopenExecutor.checkExecRedirectFd:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 14: aload 1
aload 0
aload 6
aload 3
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
invokevirtual org.jruby.RubyArray.push:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 6 end local 5 15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 2
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
if_icmplt 10
end local 4 17: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 runtime Lorg/jruby/Ruby;
0 18 1 ary Lorg/jruby/RubyArray;
0 18 2 key Lorg/jruby/runtime/builtin/IRubyObject;
0 18 3 param Lorg/jruby/runtime/builtin/IRubyObject;
6 7 4 fd Lorg/jruby/runtime/builtin/IRubyObject;
9 17 4 i I
11 15 5 v Lorg/jruby/runtime/builtin/IRubyObject;
14 15 6 fd Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
ary
key
param
public static org.jruby.util.io.PopenExecutor$ExecArg execargNew(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/util/io/PopenExecutor$ExecArg;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.jruby.util.io.PopenExecutor$ExecArg
dup
invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
astore 3
start local 3 1: aload 0
aload 1
iload 2
aload 3
invokestatic org.jruby.util.io.PopenExecutor.execargInit:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/RubyString;
pop
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 argv [Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 accept_shell Z
1 3 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
MethodParameters:
Name Flags
context
argv
accept_shell
private static org.jruby.RubyString execargInit(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], boolean, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
dup
iconst_1
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
aastore
astore 6
start local 6 1: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject[]
dup
iconst_0
aload 1
aastore
astore 7
start local 7 2: aload 0
aload 7
iload 2
aload 6
invokestatic org.jruby.util.io.PopenExecutor.execGetargs:(Lorg/jruby/runtime/ThreadContext;[[Lorg/jruby/runtime/builtin/IRubyObject;Z[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 4
start local 4 3: aload 0
aload 4
aload 7
iconst_0
aaload
aload 6
iconst_0
aaload
aload 6
iconst_1
aaload
aload 3
invokestatic org.jruby.util.io.PopenExecutor.execFillarg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
4: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 5
aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 6
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] int org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyString top org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[][]
StackMap stack:
5: aload 3
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
StackMap locals:
StackMap stack: org.jruby.RubyString
6: astore 5
start local 5 7: aload 5
areturn
end local 7 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 8 0 context Lorg/jruby/runtime/ThreadContext;
0 8 1 argv [Lorg/jruby/runtime/builtin/IRubyObject;
0 8 2 accept_shell Z
0 8 3 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
3 8 4 prog Lorg/jruby/RubyString;
7 8 5 ret Lorg/jruby/RubyString;
1 8 6 env_opt [Lorg/jruby/runtime/builtin/IRubyObject;
2 8 7 argv_p [[Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
argv
accept_shell
eargp
private static org.jruby.RubyString execGetargs(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[][], boolean, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[[Lorg/jruby/runtime/builtin/IRubyObject;Z[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: iconst_0
istore 7
start local 7 2: aload 1
iconst_0
aaload
arraylength
istore 8
start local 8 3: iload 8
iconst_1
if_icmplt 8
4: aload 4
aload 1
iconst_0
aaload
iload 8
iconst_1
isub
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 5: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 8
6: aload 3
iconst_1
aload 5
aastore
7: iinc 8 -1
end local 5 8: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[][] int org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby top top int int
StackMap stack:
iload 8
iconst_1
if_icmplt 13
9: aload 4
aload 1
iconst_0
aaload
iconst_0
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 10: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 13
11: aload 3
iconst_0
aload 5
aastore
12: iinc 7 1
end local 5 13: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 1
iconst_0
aaload
iload 7
iload 8
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject[]
aastore
14: aload 0
aload 1
iconst_0
aaload
invokestatic org.jruby.util.io.PopenExecutor.checkArgv:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 6
start local 6 15: aload 6
ifnonnull 19
16: aload 1
iconst_0
aaload
iconst_0
aaload
checkcast org.jruby.RubyString
astore 6
17: iload 2
ifeq 19
iload 8
iload 7
isub
iconst_1
if_icmpne 19
18: aload 1
iconst_0
getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
aastore
19: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[][] int org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby top org.jruby.RubyString int int
StackMap stack:
aload 6
areturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 context Lorg/jruby/runtime/ThreadContext;
0 20 1 argv_p [[Lorg/jruby/runtime/builtin/IRubyObject;
0 20 2 accept_shell Z
0 20 3 env_opt [Lorg/jruby/runtime/builtin/IRubyObject;
1 20 4 runtime Lorg/jruby/Ruby;
5 8 5 hash Lorg/jruby/runtime/builtin/IRubyObject;
10 13 5 hash Lorg/jruby/runtime/builtin/IRubyObject;
15 20 6 prog Lorg/jruby/RubyString;
2 20 7 beg I
3 20 8 end I
MethodParameters:
Name Flags
context
argv_p
accept_shell
env_opt
public static org.jruby.RubyString checkArgv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 2
aload 1
iconst_1
ldc 2147483647
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
pop
2: aconst_null
astore 4
start local 4 3: aload 2
aload 1
iconst_0
aaload
invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 4: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 12
5: aload 3
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpeq 7
6: aload 2
ldc "wrong first argument"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
StackMap stack:
aload 3
checkcast org.jruby.RubyArray
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 4
8: aload 1
iconst_0
aload 3
checkcast org.jruby.RubyArray
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
aastore
9: aload 2
aload 4
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
pop
10: aload 4
aload 2
invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
astore 4
11: aload 4
iconst_1
invokevirtual org.jruby.RubyString.setFrozen:(Z)V
12: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 13: goto 18
14: StackMap locals: int
StackMap stack:
aload 1
iload 5
aload 1
iload 5
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
aastore
15: aload 1
iload 5
aload 1
iload 5
aaload
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.newFrozen:()Lorg/jruby/RubyString;
aastore
16: aload 2
aload 1
iload 5
aaload
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
pop
17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
aload 1
arraylength
if_icmplt 14
19: aload 4
areturn
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 20 0 context Lorg/jruby/runtime/ThreadContext;
0 20 1 argv [Lorg/jruby/runtime/builtin/IRubyObject;
1 20 2 runtime Lorg/jruby/Ruby;
4 20 3 tmp Lorg/jruby/runtime/builtin/IRubyObject;
3 20 4 prog Lorg/jruby/RubyString;
13 20 5 i I
MethodParameters:
Name Flags
context
argv
private static void execFillarg(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.io.PopenExecutor$ExecArg);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=17, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 6
start local 6 1: aload 2
arraylength
istore 7
start local 7 2: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 4
3: aload 0
aload 6
aload 4
checkcast org.jruby.RubyHash
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecOptions:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyHash;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
4: StackMap locals: org.jruby.Ruby int
StackMap stack:
aload 6
invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
astore 8
start local 8 5: aload 8
aload 6
invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
invokeinterface jnr.posix.POSIX.getcwd:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
6: aload 1
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
astore 9
start local 9 7: aload 6
aload 9
invokestatic org.jruby.util.ShellLauncher.changeDirInsideJar:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/String;
dup
astore 9
ifnull 10
8: aload 6
aload 9
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
astore 1
9: goto 14
StackMap locals: java.lang.String java.lang.String
StackMap stack:
10: aload 8
ldc "uri:classloader:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
11: aload 5
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifne 14
12: aload 5
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_set:()V
13: aload 5
aload 8
putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
end local 9 14: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifeq 17
iload 7
iconst_1
if_icmple 17
15: aload 6
aload 2
invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 9
start local 9 16: aload 9
aload 0
aload 6
ldc " "
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyArray.join:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 1
end local 9 17: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 19
18: aload 5
aload 0
aload 3
checkcast org.jruby.RubyHash
aload 5
invokestatic org.jruby.util.io.PopenExecutor.checkExecEnv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/util/io/PopenExecutor$ExecArg;)Lorg/jruby/RubyArray;
putfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
19: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
astore 1
20: aload 5
iload 7
ifeq 21
aload 5
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifne 21
iconst_0
goto 22
StackMap locals:
StackMap stack: org.jruby.util.io.PopenExecutor$ExecArg
21: iconst_1
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby int java.lang.String
StackMap stack: org.jruby.util.io.PopenExecutor$ExecArg int
22: putfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
23: aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 25
24: aload 5
aload 1
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
goto 26
25: StackMap locals:
StackMap stack:
aload 5
aload 1
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
26: StackMap locals:
StackMap stack:
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifne 77
27: aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifeq 77
28: new org.jruby.util.ByteList
dup
getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
iconst_0
invokespecial org.jruby.util.ByteList.<init>:([BZ)V
astore 11
start local 11 29: iconst_0
istore 12
start local 12 30: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 13
start local 13 31: aload 13
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 9
start local 9 32: iconst_0
istore 10
start local 10 33: goto 49
34: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby int java.lang.String byte[] int org.jruby.util.ByteList int org.jruby.util.ByteList
StackMap stack:
aload 13
iload 10
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 32
if_icmpeq 35
aload 13
iload 10
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 9
if_icmpne 37
35: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
if_acmpeq 38
aload 11
invokevirtual org.jruby.util.ByteList.length:()I
ifne 38
aload 11
iload 10
aload 11
invokevirtual org.jruby.util.ByteList.begin:()I
isub
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
36: goto 38
37: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
if_acmpne 38
aload 11
aload 9
invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
aload 11
iload 10
aload 13
invokevirtual org.jruby.util.ByteList.begin:()I
iadd
invokevirtual org.jruby.util.ByteList.setBegin:(I)V
38: StackMap locals:
StackMap stack:
iload 12
ifne 40
ldc "*?{}[]<>()~&|\\$;'`\"\n#"
aload 13
iload 10
invokevirtual org.jruby.util.ByteList.get:(I)I
sipush 255
iand
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 40
39: iconst_1
istore 12
40: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.jruby.util.ByteList.length:()I
ifne 46
41: aload 13
iload 10
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 61
if_icmpne 44
42: iconst_1
istore 12
43: goto 46
44: StackMap locals:
StackMap stack:
aload 13
iload 10
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 47
if_icmpne 46
45: aload 11
sipush 256
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
46: StackMap locals:
StackMap stack:
iload 12
ifeq 48
47: goto 50
48: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
49: iload 10
aload 13
invokevirtual org.jruby.util.ByteList.length:()I
if_icmplt 34
50: StackMap locals:
StackMap stack:
iload 12
ifne 55
aload 11
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
if_acmpeq 55
51: aload 11
invokevirtual org.jruby.util.ByteList.length:()I
ifne 52
aload 11
iload 10
aload 11
invokevirtual org.jruby.util.ByteList.getBegin:()I
isub
invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
52: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.jruby.util.ByteList.length:()I
ifle 55
aload 11
invokevirtual org.jruby.util.ByteList.length:()I
bipush 8
if_icmpgt 55
53: getstatic org.jruby.util.io.PopenExecutor.posix_sh_cmds:[Ljava/lang/String;
aload 11
invokevirtual org.jruby.util.ByteList.toString:()Ljava/lang/String;
getstatic org.jruby.util.io.PopenExecutor$StringComparator.INSTANCE:Lorg/jruby/util/io/PopenExecutor$StringComparator;
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I
iflt 55
54: iconst_1
istore 12
55: StackMap locals:
StackMap stack:
iload 12
ifne 57
aload 5
invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
ifne 57
56: aload 5
iconst_0
putfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
57: StackMap locals:
StackMap stack:
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 77
58: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 59: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
astore 9
60: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.begin:()I
istore 10
61: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.length:()I
iload 10
iadd
istore 15
start local 15 62: goto 72
63: StackMap locals: java.util.List int
StackMap stack:
iinc 10 1
64: StackMap locals:
StackMap stack:
iload 10
iload 15
if_icmpge 65
aload 9
iload 10
baload
bipush 32
if_icmpeq 63
aload 9
iload 10
baload
bipush 9
if_icmpeq 63
65: StackMap locals:
StackMap stack:
iload 10
iload 15
if_icmpge 72
66: iload 10
istore 16
start local 16 67: goto 69
68: StackMap locals: int
StackMap stack:
iinc 10 1
69: StackMap locals:
StackMap stack:
iload 10
iload 15
if_icmpge 70
aload 9
iload 10
baload
bipush 32
if_icmpeq 70
aload 9
iload 10
baload
bipush 9
if_icmpne 68
70: StackMap locals:
StackMap stack:
aload 14
aload 9
iload 16
iload 10
invokestatic java.util.Arrays.copyOfRange:([BII)[B
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
71: aload 5
aload 14
putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
end local 16 72: StackMap locals:
StackMap stack:
iload 10
iload 15
if_icmplt 64
73: aload 14
invokeinterface java.util.List.size:()I
ifle 76
74: aload 5
aload 6
aload 14
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast byte[]
invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
75: goto 77
76: StackMap locals:
StackMap stack:
aload 5
aload 6
invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 77: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby int java.lang.String
StackMap stack:
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 82
78: aload 6
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.path_env:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.PopenExecutor.dlnFindExeR:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
astore 9
start local 9 79: aload 9
ifnull 81
80: aload 5
aload 6
aload 6
aload 9
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_abspath:Lorg/jruby/RubyString;
goto 82
81: StackMap locals: java.lang.String
StackMap stack:
aload 5
aconst_null
putfield org.jruby.util.io.PopenExecutor$ExecArg.command_abspath:Lorg/jruby/RubyString;
end local 9 82: StackMap locals:
StackMap stack:
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 93
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
ifnonnull 93
83: new java.util.ArrayList
dup
iload 7
invokespecial java.util.ArrayList.<init>:(I)V
astore 10
start local 10 84: iconst_0
istore 9
start local 9 85: goto 91
86: StackMap locals: int java.util.ArrayList
StackMap stack:
aload 2
iload 9
aaload
astore 11
start local 11 87: aload 6
aload 11
invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
astore 12
start local 12 88: aload 12
aload 0
invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
astore 12
89: aload 10
aload 12
invokevirtual org.jruby.RubyString.getBytes:()[B
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 90: iinc 9 1
StackMap locals:
StackMap stack:
91: iload 9
iload 7
if_icmplt 86
92: aload 5
aload 10
putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
end local 10 end local 9 93: StackMap locals:
StackMap stack:
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
ifne 102
94: new org.jruby.util.io.PopenExecutor$ArgvStr
dup
invokespecial org.jruby.util.io.PopenExecutor$ArgvStr.<init>:()V
astore 9
start local 9 95: aload 9
aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray java.lang.String
putfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
96: iconst_0
istore 10
start local 10 97: aload 5
getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 100
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby int java.lang.String org.jruby.util.io.PopenExecutor$ArgvStr int top java.util.Iterator
StackMap stack:
98: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 11
start local 11 99: aload 9
getfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
iload 10
iinc 10 1
new java.lang.String
dup
aload 11
invokespecial java.lang.String.<init>:([B)V
aastore
end local 11 100: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 98
101: aload 5
aload 9
putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_str:Lorg/jruby/util/io/PopenExecutor$ArgvStr;
end local 10 end local 9 102: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor$ExecArg org.jruby.Ruby int java.lang.String
StackMap stack:
return
end local 8 end local 7 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 103 0 context Lorg/jruby/runtime/ThreadContext;
0 103 1 prog Lorg/jruby/RubyString;
0 103 2 argv [Lorg/jruby/runtime/builtin/IRubyObject;
0 103 3 env Lorg/jruby/runtime/builtin/IRubyObject;
0 103 4 opthash Lorg/jruby/runtime/builtin/IRubyObject;
0 103 5 eargp Lorg/jruby/util/io/PopenExecutor$ExecArg;
1 103 6 runtime Lorg/jruby/Ruby;
2 103 7 argc I
5 103 8 virtualCWD Ljava/lang/String;
7 14 9 arg Ljava/lang/String;
16 17 9 array Lorg/jruby/RubyArray;
32 77 9 pBytes [B
33 77 10 p I
29 77 11 first Lorg/jruby/util/ByteList;
30 77 12 has_meta Z
31 77 13 progByteList Lorg/jruby/util/ByteList;
59 77 14 argv_buf Ljava/util/List<[B>;
62 77 15 pEnd I
67 72 16 w I
79 82 9 abspath Ljava/lang/String;
85 93 9 i I
84 93 10 argv_buf Ljava/util/ArrayList<[B>;
87 90 11 arg Lorg/jruby/runtime/builtin/IRubyObject;
88 90 12 argStr Lorg/jruby/RubyString;
95 102 9 argv_str Lorg/jruby/util/io/PopenExecutor$ArgvStr;
97 102 10 i I
99 100 11 bytes [B
MethodParameters:
Name Flags
context
prog
argv
env
opthash
eargp
private static java.lang.String dlnFindExeR(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.jruby.util.ShellLauncher.findPathExecutable:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/io/File;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
goto 3
StackMap locals: java.io.File
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 runtime Lorg/jruby/Ruby;
0 4 1 fname Ljava/lang/String;
0 4 2 path Lorg/jruby/runtime/builtin/IRubyObject;
1 4 3 exePath Ljava/io/File;
MethodParameters:
Name Flags
runtime
fname
path
static int[] $SWITCH_TABLE$jnr$constants$platform$Errno();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$jnr$constants$platform$Errno:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jnr.constants.platform.Errno.values:()[Ljnr/constants/platform/Errno;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jnr.constants.platform.Errno.E2BIG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jnr.constants.platform.Errno.EACCES:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 13
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jnr.constants.platform.Errno.EADDRINUSE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 49
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jnr.constants.platform.Errno.EADDRNOTAVAIL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 50
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jnr.constants.platform.Errno.EADV:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 104
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jnr.constants.platform.Errno.EAFNOSUPPORT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 48
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jnr.constants.platform.Errno.EAGAIN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 36
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jnr.constants.platform.Errno.EALREADY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 38
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jnr.constants.platform.Errno.EAUTH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 133
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jnr.constants.platform.Errno.EBADE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 94
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jnr.constants.platform.Errno.EBADF:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 9
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jnr.constants.platform.Errno.EBADFD:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 109
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jnr.constants.platform.Errno.EBADMSG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 78
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jnr.constants.platform.Errno.EBADR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 95
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic jnr.constants.platform.Errno.EBADRPC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 134
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic jnr.constants.platform.Errno.EBADRQC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 98
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic jnr.constants.platform.Errno.EBADSLT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 99
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic jnr.constants.platform.Errno.EBFONT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 101
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic jnr.constants.platform.Errno.EBUSY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 16
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic jnr.constants.platform.Errno.ECANCELED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 123
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic jnr.constants.platform.Errno.ECAPMODE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 147
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic jnr.constants.platform.Errno.ECHILD:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 10
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic jnr.constants.platform.Errno.ECHRNG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 86
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic jnr.constants.platform.Errno.ECOMM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 106
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic jnr.constants.platform.Errno.ECONNABORTED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 54
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic jnr.constants.platform.Errno.ECONNREFUSED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 62
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic jnr.constants.platform.Errno.ECONNRESET:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 55
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic jnr.constants.platform.Errno.EDEADLK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 11
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic jnr.constants.platform.Errno.EDEADLOCK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 100
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic jnr.constants.platform.Errno.EDESTADDRREQ:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 40
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic jnr.constants.platform.Errno.EDOM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 33
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic jnr.constants.platform.Errno.EDOOFUS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 135
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic jnr.constants.platform.Errno.EDOTDOT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 107
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic jnr.constants.platform.Errno.EDQUOT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 69
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic jnr.constants.platform.Errno.EEXIST:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 17
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic jnr.constants.platform.Errno.EFAULT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 14
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic jnr.constants.platform.Errno.EFBIG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 27
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic jnr.constants.platform.Errno.EFTYPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 136
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic jnr.constants.platform.Errno.EHOSTDOWN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 65
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic jnr.constants.platform.Errno.EHOSTUNREACH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 66
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic jnr.constants.platform.Errno.EHWPOISON:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 146
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
getstatic jnr.constants.platform.Errno.EIDRM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 75
iastore
126: goto 128
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
127: pop
StackMap locals:
StackMap stack:
128: aload 0
getstatic jnr.constants.platform.Errno.EILSEQ:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 77
iastore
129: goto 131
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
130: pop
StackMap locals:
StackMap stack:
131: aload 0
getstatic jnr.constants.platform.Errno.EINPROGRESS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 37
iastore
132: goto 134
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
133: pop
StackMap locals:
StackMap stack:
134: aload 0
getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iconst_4
iastore
135: goto 137
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
136: pop
StackMap locals:
StackMap stack:
137: aload 0
getstatic jnr.constants.platform.Errno.EINVAL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 22
iastore
138: goto 140
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
139: pop
StackMap locals:
StackMap stack:
140: aload 0
getstatic jnr.constants.platform.Errno.EIO:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iconst_5
iastore
141: goto 143
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
142: pop
StackMap locals:
StackMap stack:
143: aload 0
getstatic jnr.constants.platform.Errno.EIPSEC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 145
iastore
144: goto 146
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
145: pop
StackMap locals:
StackMap stack:
146: aload 0
getstatic jnr.constants.platform.Errno.EISCONN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 57
iastore
147: goto 149
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
148: pop
StackMap locals:
StackMap stack:
149: aload 0
getstatic jnr.constants.platform.Errno.EISDIR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 21
iastore
150: goto 152
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
151: pop
StackMap locals:
StackMap stack:
152: aload 0
getstatic jnr.constants.platform.Errno.EISNAM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 121
iastore
153: goto 155
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
154: pop
StackMap locals:
StackMap stack:
155: aload 0
getstatic jnr.constants.platform.Errno.EKEYEXPIRED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 124
iastore
156: goto 158
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
157: pop
StackMap locals:
StackMap stack:
158: aload 0
getstatic jnr.constants.platform.Errno.EKEYREJECTED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 125
iastore
159: goto 161
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
160: pop
StackMap locals:
StackMap stack:
161: aload 0
getstatic jnr.constants.platform.Errno.EKEYREVOKED:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 126
iastore
162: goto 164
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
163: pop
StackMap locals:
StackMap stack:
164: aload 0
getstatic jnr.constants.platform.Errno.EL2HLT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 93
iastore
165: goto 167
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
166: pop
StackMap locals:
StackMap stack:
167: aload 0
getstatic jnr.constants.platform.Errno.EL2NSYNC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 87
iastore
168: goto 170
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
169: pop
StackMap locals:
StackMap stack:
170: aload 0
getstatic jnr.constants.platform.Errno.EL3HLT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 88
iastore
171: goto 173
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
172: pop
StackMap locals:
StackMap stack:
173: aload 0
getstatic jnr.constants.platform.Errno.EL3RST:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 89
iastore
174: goto 176
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
175: pop
StackMap locals:
StackMap stack:
176: aload 0
getstatic jnr.constants.platform.Errno.ELIBACC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 111
iastore
177: goto 179
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
178: pop
StackMap locals:
StackMap stack:
179: aload 0
getstatic jnr.constants.platform.Errno.ELIBBAD:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 112
iastore
180: goto 182
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
181: pop
StackMap locals:
StackMap stack:
182: aload 0
getstatic jnr.constants.platform.Errno.ELIBEXEC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 115
iastore
183: goto 185
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
184: pop
StackMap locals:
StackMap stack:
185: aload 0
getstatic jnr.constants.platform.Errno.ELIBMAX:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 114
iastore
186: goto 188
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
187: pop
StackMap locals:
StackMap stack:
188: aload 0
getstatic jnr.constants.platform.Errno.ELIBSCN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 113
iastore
189: goto 191
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
190: pop
StackMap locals:
StackMap stack:
191: aload 0
getstatic jnr.constants.platform.Errno.ELNRNG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 90
iastore
192: goto 194
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
193: pop
StackMap locals:
StackMap stack:
194: aload 0
getstatic jnr.constants.platform.Errno.ELOOP:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 63
iastore
195: goto 197
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
196: pop
StackMap locals:
StackMap stack:
197: aload 0
getstatic jnr.constants.platform.Errno.EMEDIUMTYPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 127
iastore
198: goto 200
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
199: pop
StackMap locals:
StackMap stack:
200: aload 0
getstatic jnr.constants.platform.Errno.EMFILE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 24
iastore
201: goto 203
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
202: pop
StackMap locals:
StackMap stack:
203: aload 0
getstatic jnr.constants.platform.Errno.EMLINK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 31
iastore
204: goto 206
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
205: pop
StackMap locals:
StackMap stack:
206: aload 0
getstatic jnr.constants.platform.Errno.EMSGSIZE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 41
iastore
207: goto 209
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
208: pop
StackMap locals:
StackMap stack:
209: aload 0
getstatic jnr.constants.platform.Errno.EMULTIHOP:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 79
iastore
210: goto 212
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
211: pop
StackMap locals:
StackMap stack:
212: aload 0
getstatic jnr.constants.platform.Errno.ENAMETOOLONG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 64
iastore
213: goto 215
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
214: pop
StackMap locals:
StackMap stack:
215: aload 0
getstatic jnr.constants.platform.Errno.ENAVAIL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 120
iastore
216: goto 218
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
217: pop
StackMap locals:
StackMap stack:
218: aload 0
getstatic jnr.constants.platform.Errno.ENEEDAUTH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 137
iastore
219: goto 221
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
220: pop
StackMap locals:
StackMap stack:
221: aload 0
getstatic jnr.constants.platform.Errno.ENETDOWN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 51
iastore
222: goto 224
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
223: pop
StackMap locals:
StackMap stack:
224: aload 0
getstatic jnr.constants.platform.Errno.ENETRESET:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 53
iastore
225: goto 227
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
226: pop
StackMap locals:
StackMap stack:
227: aload 0
getstatic jnr.constants.platform.Errno.ENETUNREACH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 52
iastore
228: goto 230
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
229: pop
StackMap locals:
StackMap stack:
230: aload 0
getstatic jnr.constants.platform.Errno.ENFILE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 23
iastore
231: goto 233
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
232: pop
StackMap locals:
StackMap stack:
233: aload 0
getstatic jnr.constants.platform.Errno.ENOANO:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 97
iastore
234: goto 236
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
235: pop
StackMap locals:
StackMap stack:
236: aload 0
getstatic jnr.constants.platform.Errno.ENOATTR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 138
iastore
237: goto 239
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
238: pop
StackMap locals:
StackMap stack:
239: aload 0
getstatic jnr.constants.platform.Errno.ENOBUFS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 56
iastore
240: goto 242
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
241: pop
StackMap locals:
StackMap stack:
242: aload 0
getstatic jnr.constants.platform.Errno.ENOCSI:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 92
iastore
243: goto 245
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
244: pop
StackMap locals:
StackMap stack:
245: aload 0
getstatic jnr.constants.platform.Errno.ENODATA:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 80
iastore
246: goto 248
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
247: pop
StackMap locals:
StackMap stack:
248: aload 0
getstatic jnr.constants.platform.Errno.ENODEV:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 19
iastore
249: goto 251
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
250: pop
StackMap locals:
StackMap stack:
251: aload 0
getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iconst_2
iastore
252: goto 254
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
253: pop
StackMap locals:
StackMap stack:
254: aload 0
getstatic jnr.constants.platform.Errno.ENOEXEC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 8
iastore
255: goto 257
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
256: pop
StackMap locals:
StackMap stack:
257: aload 0
getstatic jnr.constants.platform.Errno.ENOKEY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 128
iastore
258: goto 260
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
259: pop
StackMap locals:
StackMap stack:
260: aload 0
getstatic jnr.constants.platform.Errno.ENOLCK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 72
iastore
261: goto 263
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
262: pop
StackMap locals:
StackMap stack:
263: aload 0
getstatic jnr.constants.platform.Errno.ENOLINK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 81
iastore
264: goto 266
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
265: pop
StackMap locals:
StackMap stack:
266: aload 0
getstatic jnr.constants.platform.Errno.ENOMEDIUM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 129
iastore
267: goto 269
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
268: pop
StackMap locals:
StackMap stack:
269: aload 0
getstatic jnr.constants.platform.Errno.ENOMEM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 12
iastore
270: goto 272
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
271: pop
StackMap locals:
StackMap stack:
272: aload 0
getstatic jnr.constants.platform.Errno.ENOMSG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 76
iastore
273: goto 275
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
274: pop
StackMap locals:
StackMap stack:
275: aload 0
getstatic jnr.constants.platform.Errno.ENONET:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 102
iastore
276: goto 278
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
277: pop
StackMap locals:
StackMap stack:
278: aload 0
getstatic jnr.constants.platform.Errno.ENOPKG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 103
iastore
279: goto 281
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
280: pop
StackMap locals:
StackMap stack:
281: aload 0
getstatic jnr.constants.platform.Errno.ENOPROTOOPT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 43
iastore
282: goto 284
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
283: pop
StackMap locals:
StackMap stack:
284: aload 0
getstatic jnr.constants.platform.Errno.ENOSPC:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 28
iastore
285: goto 287
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
286: pop
StackMap locals:
StackMap stack:
287: aload 0
getstatic jnr.constants.platform.Errno.ENOSR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 82
iastore
288: goto 290
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
289: pop
StackMap locals:
StackMap stack:
290: aload 0
getstatic jnr.constants.platform.Errno.ENOSTR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 83
iastore
291: goto 293
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
292: pop
StackMap locals:
StackMap stack:
293: aload 0
getstatic jnr.constants.platform.Errno.ENOSYS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 73
iastore
294: goto 296
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
295: pop
StackMap locals:
StackMap stack:
296: aload 0
getstatic jnr.constants.platform.Errno.ENOTBLK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 15
iastore
297: goto 299
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
298: pop
StackMap locals:
StackMap stack:
299: aload 0
getstatic jnr.constants.platform.Errno.ENOTCAPABLE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 148
iastore
300: goto 302
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
301: pop
StackMap locals:
StackMap stack:
302: aload 0
getstatic jnr.constants.platform.Errno.ENOTCONN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 58
iastore
303: goto 305
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
304: pop
StackMap locals:
StackMap stack:
305: aload 0
getstatic jnr.constants.platform.Errno.ENOTDIR:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 20
iastore
306: goto 308
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
307: pop
StackMap locals:
StackMap stack:
308: aload 0
getstatic jnr.constants.platform.Errno.ENOTEMPTY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 67
iastore
309: goto 311
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
310: pop
StackMap locals:
StackMap stack:
311: aload 0
getstatic jnr.constants.platform.Errno.ENOTNAM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 119
iastore
312: goto 314
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
313: pop
StackMap locals:
StackMap stack:
314: aload 0
getstatic jnr.constants.platform.Errno.ENOTRECOVERABLE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 130
iastore
315: goto 317
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
316: pop
StackMap locals:
StackMap stack:
317: aload 0
getstatic jnr.constants.platform.Errno.ENOTSOCK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 39
iastore
318: goto 320
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
319: pop
StackMap locals:
StackMap stack:
320: aload 0
getstatic jnr.constants.platform.Errno.ENOTSUP:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 139
iastore
321: goto 323
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
322: pop
StackMap locals:
StackMap stack:
323: aload 0
getstatic jnr.constants.platform.Errno.ENOTTY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 25
iastore
324: goto 326
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
325: pop
StackMap locals:
StackMap stack:
326: aload 0
getstatic jnr.constants.platform.Errno.ENOTUNIQ:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 108
iastore
327: goto 329
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
328: pop
StackMap locals:
StackMap stack:
329: aload 0
getstatic jnr.constants.platform.Errno.ENXIO:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 6
iastore
330: goto 332
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
331: pop
StackMap locals:
StackMap stack:
332: aload 0
getstatic jnr.constants.platform.Errno.EOPNOTSUPP:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 46
iastore
333: goto 335
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
334: pop
StackMap locals:
StackMap stack:
335: aload 0
getstatic jnr.constants.platform.Errno.EOVERFLOW:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 74
iastore
336: goto 338
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
337: pop
StackMap locals:
StackMap stack:
338: aload 0
getstatic jnr.constants.platform.Errno.EOWNERDEAD:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 131
iastore
339: goto 341
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
340: pop
StackMap locals:
StackMap stack:
341: aload 0
getstatic jnr.constants.platform.Errno.EPERM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iconst_1
iastore
342: goto 344
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
343: pop
StackMap locals:
StackMap stack:
344: aload 0
getstatic jnr.constants.platform.Errno.EPFNOSUPPORT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 47
iastore
345: goto 347
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
346: pop
StackMap locals:
StackMap stack:
347: aload 0
getstatic jnr.constants.platform.Errno.EPIPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 32
iastore
348: goto 350
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
349: pop
StackMap locals:
StackMap stack:
350: aload 0
getstatic jnr.constants.platform.Errno.EPROCLIM:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 140
iastore
351: goto 353
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
352: pop
StackMap locals:
StackMap stack:
353: aload 0
getstatic jnr.constants.platform.Errno.EPROCUNAVAIL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 141
iastore
354: goto 356
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
355: pop
StackMap locals:
StackMap stack:
356: aload 0
getstatic jnr.constants.platform.Errno.EPROGMISMATCH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 142
iastore
357: goto 359
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
358: pop
StackMap locals:
StackMap stack:
359: aload 0
getstatic jnr.constants.platform.Errno.EPROGUNAVAIL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 143
iastore
360: goto 362
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
361: pop
StackMap locals:
StackMap stack:
362: aload 0
getstatic jnr.constants.platform.Errno.EPROTO:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 84
iastore
363: goto 365
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
364: pop
StackMap locals:
StackMap stack:
365: aload 0
getstatic jnr.constants.platform.Errno.EPROTONOSUPPORT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 44
iastore
366: goto 368
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
367: pop
StackMap locals:
StackMap stack:
368: aload 0
getstatic jnr.constants.platform.Errno.EPROTOTYPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 42
iastore
369: goto 371
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
370: pop
StackMap locals:
StackMap stack:
371: aload 0
getstatic jnr.constants.platform.Errno.ERANGE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 34
iastore
372: goto 374
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
373: pop
StackMap locals:
StackMap stack:
374: aload 0
getstatic jnr.constants.platform.Errno.EREMCHG:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 110
iastore
375: goto 377
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
376: pop
StackMap locals:
StackMap stack:
377: aload 0
getstatic jnr.constants.platform.Errno.EREMOTE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 71
iastore
378: goto 380
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
379: pop
StackMap locals:
StackMap stack:
380: aload 0
getstatic jnr.constants.platform.Errno.EREMOTEIO:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 122
iastore
381: goto 383
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
382: pop
StackMap locals:
StackMap stack:
383: aload 0
getstatic jnr.constants.platform.Errno.ERESTART:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 116
iastore
384: goto 386
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
385: pop
StackMap locals:
StackMap stack:
386: aload 0
getstatic jnr.constants.platform.Errno.ERFKILL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 132
iastore
387: goto 389
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
388: pop
StackMap locals:
StackMap stack:
389: aload 0
getstatic jnr.constants.platform.Errno.EROFS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 30
iastore
390: goto 392
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
391: pop
StackMap locals:
StackMap stack:
392: aload 0
getstatic jnr.constants.platform.Errno.ERPCMISMATCH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 144
iastore
393: goto 395
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
394: pop
StackMap locals:
StackMap stack:
395: aload 0
getstatic jnr.constants.platform.Errno.ESHUTDOWN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 59
iastore
396: goto 398
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
397: pop
StackMap locals:
StackMap stack:
398: aload 0
getstatic jnr.constants.platform.Errno.ESOCKTNOSUPPORT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 45
iastore
399: goto 401
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
400: pop
StackMap locals:
StackMap stack:
401: aload 0
getstatic jnr.constants.platform.Errno.ESPIPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 29
iastore
402: goto 404
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
403: pop
StackMap locals:
StackMap stack:
404: aload 0
getstatic jnr.constants.platform.Errno.ESRCH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
iconst_3
iastore
405: goto 407
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
406: pop
StackMap locals:
StackMap stack:
407: aload 0
getstatic jnr.constants.platform.Errno.ESRMNT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 105
iastore
408: goto 410
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
409: pop
StackMap locals:
StackMap stack:
410: aload 0
getstatic jnr.constants.platform.Errno.ESTALE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 70
iastore
411: goto 413
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
412: pop
StackMap locals:
StackMap stack:
413: aload 0
getstatic jnr.constants.platform.Errno.ESTRPIPE:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 117
iastore
414: goto 416
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
415: pop
StackMap locals:
StackMap stack:
416: aload 0
getstatic jnr.constants.platform.Errno.ETIME:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 85
iastore
417: goto 419
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
418: pop
StackMap locals:
StackMap stack:
419: aload 0
getstatic jnr.constants.platform.Errno.ETIMEDOUT:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 61
iastore
420: goto 422
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
421: pop
StackMap locals:
StackMap stack:
422: aload 0
getstatic jnr.constants.platform.Errno.ETOOMANYREFS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 60
iastore
423: goto 425
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
424: pop
StackMap locals:
StackMap stack:
425: aload 0
getstatic jnr.constants.platform.Errno.ETXTBSY:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 26
iastore
426: goto 428
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
427: pop
StackMap locals:
StackMap stack:
428: aload 0
getstatic jnr.constants.platform.Errno.EUCLEAN:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 118
iastore
429: goto 431
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
430: pop
StackMap locals:
StackMap stack:
431: aload 0
getstatic jnr.constants.platform.Errno.EUNATCH:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 91
iastore
432: goto 434
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
433: pop
StackMap locals:
StackMap stack:
434: aload 0
getstatic jnr.constants.platform.Errno.EUSERS:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 68
iastore
435: goto 437
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
436: pop
StackMap locals:
StackMap stack:
437: aload 0
getstatic jnr.constants.platform.Errno.EWOULDBLOCK:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 35
iastore
438: goto 440
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
439: pop
StackMap locals:
StackMap stack:
440: aload 0
getstatic jnr.constants.platform.Errno.EXDEV:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 18
iastore
441: goto 443
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
442: pop
StackMap locals:
StackMap stack:
443: aload 0
getstatic jnr.constants.platform.Errno.EXFULL:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
bipush 96
iastore
444: goto 446
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
445: pop
StackMap locals:
StackMap stack:
446: aload 0
getstatic jnr.constants.platform.Errno.__UNKNOWN_CONSTANT__:Ljnr/constants/platform/Errno;
invokevirtual jnr.constants.platform.Errno.ordinal:()I
sipush 149
iastore
447: goto 449
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
448: pop
StackMap locals:
StackMap stack:
449: aload 0
dup
putstatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$jnr$constants$platform$Errno:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
125 126 127 Class java.lang.NoSuchFieldError
128 129 130 Class java.lang.NoSuchFieldError
131 132 133 Class java.lang.NoSuchFieldError
134 135 136 Class java.lang.NoSuchFieldError
137 138 139 Class java.lang.NoSuchFieldError
140 141 142 Class java.lang.NoSuchFieldError
143 144 145 Class java.lang.NoSuchFieldError
146 147 148 Class java.lang.NoSuchFieldError
149 150 151 Class java.lang.NoSuchFieldError
152 153 154 Class java.lang.NoSuchFieldError
155 156 157 Class java.lang.NoSuchFieldError
158 159 160 Class java.lang.NoSuchFieldError
161 162 163 Class java.lang.NoSuchFieldError
164 165 166 Class java.lang.NoSuchFieldError
167 168 169 Class java.lang.NoSuchFieldError
170 171 172 Class java.lang.NoSuchFieldError
173 174 175 Class java.lang.NoSuchFieldError
176 177 178 Class java.lang.NoSuchFieldError
179 180 181 Class java.lang.NoSuchFieldError
182 183 184 Class java.lang.NoSuchFieldError
185 186 187 Class java.lang.NoSuchFieldError
188 189 190 Class java.lang.NoSuchFieldError
191 192 193 Class java.lang.NoSuchFieldError
194 195 196 Class java.lang.NoSuchFieldError
197 198 199 Class java.lang.NoSuchFieldError
200 201 202 Class java.lang.NoSuchFieldError
203 204 205 Class java.lang.NoSuchFieldError
206 207 208 Class java.lang.NoSuchFieldError
209 210 211 Class java.lang.NoSuchFieldError
212 213 214 Class java.lang.NoSuchFieldError
215 216 217 Class java.lang.NoSuchFieldError
218 219 220 Class java.lang.NoSuchFieldError
221 222 223 Class java.lang.NoSuchFieldError
224 225 226 Class java.lang.NoSuchFieldError
227 228 229 Class java.lang.NoSuchFieldError
230 231 232 Class java.lang.NoSuchFieldError
233 234 235 Class java.lang.NoSuchFieldError
236 237 238 Class java.lang.NoSuchFieldError
239 240 241 Class java.lang.NoSuchFieldError
242 243 244 Class java.lang.NoSuchFieldError
245 246 247 Class java.lang.NoSuchFieldError
248 249 250 Class java.lang.NoSuchFieldError
251 252 253 Class java.lang.NoSuchFieldError
254 255 256 Class java.lang.NoSuchFieldError
257 258 259 Class java.lang.NoSuchFieldError
260 261 262 Class java.lang.NoSuchFieldError
263 264 265 Class java.lang.NoSuchFieldError
266 267 268 Class java.lang.NoSuchFieldError
269 270 271 Class java.lang.NoSuchFieldError
272 273 274 Class java.lang.NoSuchFieldError
275 276 277 Class java.lang.NoSuchFieldError
278 279 280 Class java.lang.NoSuchFieldError
281 282 283 Class java.lang.NoSuchFieldError
284 285 286 Class java.lang.NoSuchFieldError
287 288 289 Class java.lang.NoSuchFieldError
290 291 292 Class java.lang.NoSuchFieldError
293 294 295 Class java.lang.NoSuchFieldError
296 297 298 Class java.lang.NoSuchFieldError
299 300 301 Class java.lang.NoSuchFieldError
302 303 304 Class java.lang.NoSuchFieldError
305 306 307 Class java.lang.NoSuchFieldError
308 309 310 Class java.lang.NoSuchFieldError
311 312 313 Class java.lang.NoSuchFieldError
314 315 316 Class java.lang.NoSuchFieldError
317 318 319 Class java.lang.NoSuchFieldError
320 321 322 Class java.lang.NoSuchFieldError
323 324 325 Class java.lang.NoSuchFieldError
326 327 328 Class java.lang.NoSuchFieldError
329 330 331 Class java.lang.NoSuchFieldError
332 333 334 Class java.lang.NoSuchFieldError
335 336 337 Class java.lang.NoSuchFieldError
338 339 340 Class java.lang.NoSuchFieldError
341 342 343 Class java.lang.NoSuchFieldError
344 345 346 Class java.lang.NoSuchFieldError
347 348 349 Class java.lang.NoSuchFieldError
350 351 352 Class java.lang.NoSuchFieldError
353 354 355 Class java.lang.NoSuchFieldError
356 357 358 Class java.lang.NoSuchFieldError
359 360 361 Class java.lang.NoSuchFieldError
362 363 364 Class java.lang.NoSuchFieldError
365 366 367 Class java.lang.NoSuchFieldError
368 369 370 Class java.lang.NoSuchFieldError
371 372 373 Class java.lang.NoSuchFieldError
374 375 376 Class java.lang.NoSuchFieldError
377 378 379 Class java.lang.NoSuchFieldError
380 381 382 Class java.lang.NoSuchFieldError
383 384 385 Class java.lang.NoSuchFieldError
386 387 388 Class java.lang.NoSuchFieldError
389 390 391 Class java.lang.NoSuchFieldError
392 393 394 Class java.lang.NoSuchFieldError
395 396 397 Class java.lang.NoSuchFieldError
398 399 400 Class java.lang.NoSuchFieldError
401 402 403 Class java.lang.NoSuchFieldError
404 405 406 Class java.lang.NoSuchFieldError
407 408 409 Class java.lang.NoSuchFieldError
410 411 412 Class java.lang.NoSuchFieldError
413 414 415 Class java.lang.NoSuchFieldError
416 417 418 Class java.lang.NoSuchFieldError
419 420 421 Class java.lang.NoSuchFieldError
422 423 424 Class java.lang.NoSuchFieldError
425 426 427 Class java.lang.NoSuchFieldError
428 429 430 Class java.lang.NoSuchFieldError
431 432 433 Class java.lang.NoSuchFieldError
434 435 436 Class java.lang.NoSuchFieldError
437 438 439 Class java.lang.NoSuchFieldError
440 441 442 Class java.lang.NoSuchFieldError
443 444 445 Class java.lang.NoSuchFieldError
446 447 448 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$org$jruby$runtime$ClassIndex();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.runtime.ClassIndex.values:()[Lorg/jruby/runtime/ClassIndex;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.runtime.ClassIndex.ARRAY:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.runtime.ClassIndex.BASICOBJECT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 39
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.runtime.ClassIndex.BIGDECIMAL:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 40
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.runtime.ClassIndex.BIGNUM:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.runtime.ClassIndex.BINDING:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 33
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.runtime.ClassIndex.CLASS:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 14
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.runtime.ClassIndex.COMPLEX:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 21
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.jruby.runtime.ClassIndex.CONTINUATION:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 38
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.jruby.runtime.ClassIndex.CONVERTER:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 24
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.jruby.runtime.ClassIndex.DIR:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 36
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.jruby.runtime.ClassIndex.ENCODING:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 23
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic org.jruby.runtime.ClassIndex.EXCEPTION:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 31
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic org.jruby.runtime.ClassIndex.FALSE:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 8
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic org.jruby.runtime.ClassIndex.FILE:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 27
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic org.jruby.runtime.ClassIndex.FIXNUM:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iconst_2
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic org.jruby.runtime.ClassIndex.FLOAT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 12
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic org.jruby.runtime.ClassIndex.GENERATOR:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 25
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic org.jruby.runtime.ClassIndex.HASH:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 11
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic org.jruby.runtime.ClassIndex.INTEGER:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 17
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic org.jruby.runtime.ClassIndex.IO:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 32
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic org.jruby.runtime.ClassIndex.MATCHDATA:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 28
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic org.jruby.runtime.ClassIndex.MAX_CLASSES:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 41
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic org.jruby.runtime.ClassIndex.METHOD:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 35
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic org.jruby.runtime.ClassIndex.MODULE:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 13
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic org.jruby.runtime.ClassIndex.NIL:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 6
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic org.jruby.runtime.ClassIndex.NO_INDEX:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iconst_1
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic org.jruby.runtime.ClassIndex.NUMERIC:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 18
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic org.jruby.runtime.ClassIndex.OBJECT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 15
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic org.jruby.runtime.ClassIndex.PROC:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 34
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic org.jruby.runtime.ClassIndex.RANGE:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 19
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 22
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic org.jruby.runtime.ClassIndex.REGEXP:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 10
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic org.jruby.runtime.ClassIndex.STRING:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
iconst_5
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 16
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic org.jruby.runtime.ClassIndex.SYMBOL:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 9
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic org.jruby.runtime.ClassIndex.THREAD:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 30
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic org.jruby.runtime.ClassIndex.THREADGROUP:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 29
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic org.jruby.runtime.ClassIndex.TIME:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 20
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic org.jruby.runtime.ClassIndex.TRUE:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 7
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic org.jruby.runtime.ClassIndex.UNBOUNDMETHOD:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 37
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic org.jruby.runtime.ClassIndex.YIELDER:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
bipush 26
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
dup
putstatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
}
SourceFile: "PopenExecutor.java"
NestMembers:
org.jruby.util.io.PopenExecutor$1 org.jruby.util.io.PopenExecutor$2 org.jruby.util.io.PopenExecutor$ArgvStr org.jruby.util.io.PopenExecutor$ExecArg org.jruby.util.io.PopenExecutor$PopenArg org.jruby.util.io.PopenExecutor$StringComparator org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public Sysopen = org.jruby.RubyIO$Sysopen of org.jruby.RubyIO
public RubyStatus = org.jruby.RubyProcess$RubyStatus of org.jruby.RubyProcess
public ConvConfig = org.jruby.util.io.IOEncodable$ConvConfig of org.jruby.util.io.IOEncodable
org.jruby.util.io.PopenExecutor$1
org.jruby.util.io.PopenExecutor$2
private ArgvStr = org.jruby.util.io.PopenExecutor$ArgvStr of org.jruby.util.io.PopenExecutor
public ExecArg = org.jruby.util.io.PopenExecutor$ExecArg of org.jruby.util.io.PopenExecutor
private PopenArg = org.jruby.util.io.PopenExecutor$PopenArg of org.jruby.util.io.PopenExecutor
private final StringComparator = org.jruby.util.io.PopenExecutor$StringComparator of org.jruby.util.io.PopenExecutor
private run_exec_dup2_fd_pair = org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair of org.jruby.util.io.PopenExecutor