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: .line 1823
            bipush 29
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 1824
            ldc "!"
            aastore
            dup
            iconst_1
         2: .line 1825
            ldc "."
            aastore
            dup
            iconst_2
         3: .line 1826
            ldc ":"
            aastore
            dup
            iconst_3
         4: .line 1827
            ldc "break"
            aastore
            dup
            iconst_4
         5: .line 1828
            ldc "case"
            aastore
            dup
            iconst_5
         6: .line 1829
            ldc "continue"
            aastore
            dup
            bipush 6
         7: .line 1830
            ldc "do"
            aastore
            dup
            bipush 7
         8: .line 1831
            ldc "done"
            aastore
            dup
            bipush 8
         9: .line 1832
            ldc "elif"
            aastore
            dup
            bipush 9
        10: .line 1833
            ldc "else"
            aastore
            dup
            bipush 10
        11: .line 1834
            ldc "esac"
            aastore
            dup
            bipush 11
        12: .line 1835
            ldc "eval"
            aastore
            dup
            bipush 12
        13: .line 1836
            ldc "exec"
            aastore
            dup
            bipush 13
        14: .line 1837
            ldc "exit"
            aastore
            dup
            bipush 14
        15: .line 1838
            ldc "export"
            aastore
            dup
            bipush 15
        16: .line 1839
            ldc "fi"
            aastore
            dup
            bipush 16
        17: .line 1840
            ldc "for"
            aastore
            dup
            bipush 17
        18: .line 1841
            ldc "if"
            aastore
            dup
            bipush 18
        19: .line 1842
            ldc "in"
            aastore
            dup
            bipush 19
        20: .line 1843
            ldc "readonly"
            aastore
            dup
            bipush 20
        21: .line 1844
            ldc "return"
            aastore
            dup
            bipush 21
        22: .line 1845
            ldc "set"
            aastore
            dup
            bipush 22
        23: .line 1846
            ldc "shift"
            aastore
            dup
            bipush 23
        24: .line 1847
            ldc "then"
            aastore
            dup
            bipush 24
        25: .line 1848
            ldc "times"
            aastore
            dup
            bipush 25
        26: .line 1849
            ldc "trap"
            aastore
            dup
            bipush 26
        27: .line 1850
            ldc "unset"
            aastore
            dup
            bipush 27
        28: .line 1851
            ldc "until"
            aastore
            dup
            bipush 28
        29: .line 1852
            ldc "while"
            aastore
        30: .line 1823
            putstatic org.jruby.util.io.PopenExecutor.posix_sh_cmds:[Ljava/lang/String;
        31: .line 1855
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            putstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
        32: .line 2199
            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: .line 2206
            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: .line 2211
            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 // org.jruby.util.io.PopenExecutor this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 516
            aload 0 /* this */
            aconst_null
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
         2: .line 48
            return
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.Ruby runtime
         0: .line 56
            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 /* runtime */
            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 // org.jruby.Ruby runtime
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject filenameOrCommand
         0: .line 61
            aload 1 /* filenameOrCommand */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* filenameStr */
        start local 2 // org.jruby.RubyString filenameStr
         1: .line 62
            aload 2 /* filenameStr */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 3 /* filenameByteList */
        start local 3 // org.jruby.util.ByteList filenameByteList
         2: .line 63
            iconst_1
            newarray 10
            astore 4 /* chlen */
        start local 4 // int[] chlen
         3: .line 66
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         4: .line 67
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         5: .line 68
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         6: .line 69
            aload 4 /* chlen */
         7: .line 70
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
         8: .line 65
            invokestatic org.jruby.util.io.EncodingUtils.encAscget:([BII[ILorg/jcodings/Encoding;)I
         9: .line 70
            bipush 124
        10: .line 65
            if_icmpne 12
        11: .line 71
            aload 2 /* filenameStr */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* chlen */
            iconst_0
            iaload
            aload 3 /* filenameByteList */
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_1
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            aload 1 /* filenameOrCommand */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        12: .line 73
      StackMap locals: org.jruby.RubyString org.jruby.util.ByteList int[]
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int[] chlen
        end local 3 // org.jruby.util.ByteList filenameByteList
        end local 2 // org.jruby.RubyString filenameStr
        end local 1 // org.jruby.runtime.builtin.IRubyObject filenameOrCommand
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
         0: .line 78
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 79
            lconst_0
            lstore 3 /* pid */
        start local 3 // long pid
         2: .line 80
            iconst_1
            anewarray java.lang.String
            astore 5 /* errmsg */
        start local 5 // java.lang.String[] errmsg
         3: .line 84
            aload 0 /* context */
            aload 1 /* argv */
            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 /* eargp */
        start local 6 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         4: .line 85
            aload 0 /* context */
            aload 2 /* runtime */
            aload 6 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
         5: .line 86
            aload 6 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 6
            aload 6 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         7: astore 7 /* fail_str */
        start local 7 // org.jruby.runtime.builtin.IRubyObject fail_str
         8: .line 88
            new org.jruby.util.io.PopenExecutor
            dup
            invokespecial org.jruby.util.io.PopenExecutor.<init>:()V
            astore 8 /* executor */
        start local 8 // org.jruby.util.io.PopenExecutor executor
         9: .line 89
            aload 8 /* executor */
            aload 0 /* context */
            aload 2 /* runtime */
            aload 6 /* eargp */
            aload 5 /* errmsg */
            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 /* pid */
        10: .line 91
            lload 3 /* pid */
            ldc -1
            lcmp
            ifne 14
        11: .line 92
            aload 5 /* errmsg */
            iconst_0
            aaload
            ifnonnull 13
        12: .line 93
            aload 2 /* runtime */
            aload 8 /* executor */
            getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
            aload 7 /* fail_str */
            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: .line 95
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.util.io.PopenExecutor
      StackMap stack:
            aload 2 /* runtime */
            aload 8 /* executor */
            getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
            aload 5 /* errmsg */
            iconst_0
            aaload
            invokevirtual org.jruby.Ruby.newErrnoFromErrno:(Ljnr/constants/platform/Errno;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 97
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            lload 3 /* pid */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 8 // org.jruby.util.io.PopenExecutor executor
        end local 7 // org.jruby.runtime.builtin.IRubyObject fail_str
        end local 6 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 5 // java.lang.String[] errmsg
        end local 3 // long pid
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] argv
        start local 3 // java.lang.String[] errmsg
         0: .line 105
            aload 1 /* context */
            aload 2 /* argv */
            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 /* eargp */
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         1: .line 106
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
         2: .line 107
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* eargp */
            aload 3 /* errmsg */
            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 /* ret */
        start local 5 // long ret
         3: .line 108
            lload 5 /* ret */
            lreturn
        end local 5 // long ret
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 3 // java.lang.String[] errmsg
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 4 // java.lang.String[] errmsg
         0: .line 115
            new org.jruby.util.io.PopenExecutor$ExecArg
            dup
            invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
            astore 8 /* sarg */
        start local 8 // org.jruby.util.io.PopenExecutor$ExecArg sarg
         1: .line 117
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 2
            aload 3 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         3: astore 7 /* prog */
        start local 7 // org.jruby.RubyString prog
         4: .line 119
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifeq 10
         5: .line 122
            aload 7 /* prog */
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aload 1 /* context */
            aload 2 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "cd '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* eargp */
            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 /* prog */
         6: .line 123
            aload 3 /* eargp */
            aconst_null
            putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
         7: .line 124
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_clear:()V
         8: .line 127
            aload 3 /* eargp */
            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: .line 128
            aload 3 /* eargp */
            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: .line 131
      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 /* this */
            aload 1 /* context */
            aload 2 /* runtime */
            aload 3 /* eargp */
            aload 8 /* sarg */
            aload 4 /* errmsg */
            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: .line 132
            ldc -1
            lreturn
        12: .line 135
      StackMap locals:
      StackMap stack:
            aload 7 /* prog */
            ifnull 16
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 16
        13: .line 136
            aload 3 /* eargp */
            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 /* argv */
        start local 9 // java.lang.String[] argv
        14: .line 137
            aload 9 /* argv */
            arraylength
            ifle 16
        15: .line 138
            aload 9 /* argv */
            iconst_0
            aload 7 /* prog */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            aastore
        end local 9 // java.lang.String[] argv
        16: .line 141
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 19
        17: .line 142
            aload 0 /* this */
            aload 2 /* runtime */
            aload 7 /* prog */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor.procSpawnSh:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/io/PopenExecutor$ExecArg;)J
            lstore 5 /* pid */
        start local 5 // long pid
        18: .line 143
            goto 21
        end local 5 // long pid
        19: .line 145
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            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 /* argv */
        start local 9 // java.lang.String[] argv
        20: .line 146
            aload 0 /* this */
            aload 2 /* runtime */
            aload 9 /* argv */
            aload 7 /* prog */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            aload 3 /* eargp */
            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 /* pid */
        end local 9 // java.lang.String[] argv
        start local 5 // long pid
        21: .line 148
      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 /* pid */
            ldc -1
            lcmp
            ifne 25
        22: .line 149
            aload 1 /* context */
            new org.jruby.RubyProcess$RubyStatus
            dup
            aload 2 /* runtime */
            aload 2 /* runtime */
            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: .line 150
            aload 0 /* this */
            getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
            ifnull 24
            aload 0 /* this */
            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: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* runtime */
            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: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* runtime */
            aload 8 /* sarg */
            aconst_null
            aload 4 /* errmsg */
            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: .line 157
            lload 5 /* pid */
            lreturn
        end local 8 // org.jruby.util.io.PopenExecutor$ExecArg sarg
        end local 7 // org.jruby.RubyString prog
        end local 5 // long pid
        end local 4 // java.lang.String[] errmsg
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String[] argv
        start local 3 // java.lang.String prog
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 167
            aload 3 /* prog */
            ifnonnull 2
         1: .line 168
            aload 2 /* argv */
            iconst_0
            aaload
            astore 3 /* prog */
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            aload 3 /* prog */
            aload 4 /* eargp */
            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 /* prog */
         3: .line 170
            aload 3 /* prog */
            ifnonnull 6
         4: .line 171
            aload 0 /* this */
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
         5: .line 172
            ldc -1
            lreturn
         6: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* prog */
            ifnull 7
            aload 3 /* prog */
            invokevirtual java.lang.String.length:()I
            ifne 9
         7: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
         8: .line 183
            ldc -1
            lreturn
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
        10: .line 187
            aload 3 /* prog */
        11: .line 188
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
        12: .line 189
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
        13: .line 190
            aload 2 /* argv */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        14: .line 191
            aload 4 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        16: .line 186
      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 /* status */
        start local 5 // long status
        17: .line 192
            lload 5 /* status */
            ldc -1
            lcmp
            ifne 30
        18: .line 193
            aload 1 /* runtime */
            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: .line 197
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
        20: .line 198
            ldc "/bin/sh"
        21: .line 199
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
        22: .line 200
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
        23: .line 201
            aload 2 /* argv */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        24: .line 202
            aload 4 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        26: .line 197
      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 /* status */
        27: .line 203
            lload 5 /* status */
            ldc -1
            lcmp
            ifne 30
            aload 0 /* this */
            getstatic jnr.constants.platform.Errno.ENOEXEC:Ljnr/constants/platform/Errno;
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
        28: .line 204
            goto 30
        29: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            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: .line 208
      StackMap locals:
      StackMap stack:
            lload 5 /* status */
            lreturn
        end local 5 // long status
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 3 // java.lang.String prog
        end local 2 // java.lang.String[] argv
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String[] argv
        start local 3 // java.lang.String prog
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 213
            ldc -1
            lstore 5 /* pid */
        start local 5 // long pid
         1: .line 215
            aload 2 /* argv */
            arraylength
            ifle 3
            aload 2 /* argv */
            iconst_0
            aaload
            ifnull 3
         2: .line 224
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* argv */
            aload 3 /* prog */
            aload 4 /* eargp */
            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 /* pid */
         3: .line 226
      StackMap locals: long
      StackMap stack:
            lload 5 /* pid */
            lreturn
        end local 5 // long pid
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 3 // java.lang.String prog
        end local 2 // java.lang.String[] argv
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String str
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 236
            aload 1 /* runtime */
            ldc "sh"
            aload 3 /* eargp */
            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 /* shell */
        start local 6 // java.lang.String shell
         1: .line 239
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
         2: .line 240
            aload 6 /* shell */
            ifnull 3
            aload 6 /* shell */
            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: .line 241
      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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
         5: .line 242
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 243
            ldc "sh"
            aastore
            dup
            iconst_1
            ldc "-c"
            aastore
            dup
            iconst_2
            aload 2 /* str */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
         7: .line 244
            aload 3 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
         9: .line 239
      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 /* status */
        start local 4 // long status
        10: .line 246
            lload 4 /* status */
            ldc -1
            lcmp
            ifne 11
            aload 0 /* this */
            aload 1 /* runtime */
            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: .line 248
      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 /* status */
            lreturn
        end local 6 // java.lang.String shell
        end local 4 // long status
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // java.lang.String str
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject prog
        start local 2 // java.lang.String modestr
        start local 3 // int fmode
        start local 4 // org.jruby.util.io.IOEncodable convconfig
         0: .line 253
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* prog */
            aastore
            astore 5 /* argv */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] argv
         1: .line 254
            aconst_null
            astore 6 /* execArg */
        start local 6 // org.jruby.util.io.PopenExecutor$ExecArg execArg
         2: .line 256
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* prog */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.util.io.PopenExecutor.isPopenFork:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Z
            ifne 4
         3: .line 257
            aload 0 /* context */
            aload 5 /* argv */
            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 /* execArg */
         4: .line 258
      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 /* context */
            aload 6 /* execArg */
            aload 2 /* modestr */
            iload 3 /* fmode */
            aload 4 /* convconfig */
            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 // org.jruby.util.io.PopenExecutor$ExecArg execArg
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 4 // org.jruby.util.io.IOEncodable convconfig
        end local 3 // int fmode
        end local 2 // java.lang.String modestr
        end local 1 // org.jruby.runtime.builtin.IRubyObject prog
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        start local 2 // org.jruby.RubyClass klass
        start local 3 // org.jruby.runtime.Block block
         0: .line 263
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 265
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* opt */
        start local 9 // org.jruby.runtime.builtin.IRubyObject opt
         2: aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* env */
        start local 10 // org.jruby.runtime.builtin.IRubyObject env
         3: .line 266
            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 /* pmode */
        start local 11 // java.lang.Object pmode
         4: .line 268
            iconst_1
            newarray 10
            astore 13 /* oflags_p */
        start local 13 // int[] oflags_p
         5: iconst_1
            newarray 10
            astore 14 /* fmode_p */
        start local 14 // int[] fmode_p
         6: .line 269
            new org.jruby.util.io.IOEncodable$ConvConfig
            dup
            invokespecial org.jruby.util.io.IOEncodable$ConvConfig.<init>:()V
            astore 15 /* convconfig */
        start local 15 // org.jruby.util.io.IOEncodable$ConvConfig convconfig
         7: .line 270
            aload 1 /* argv */
            arraylength
            istore 16 /* argc */
        start local 16 // int argc
         8: .line 272
            iload 16 /* argc */
            iconst_1
            if_icmple 9
            aload 4 /* runtime */
            aload 1 /* argv */
            iload 16 /* argc */
            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 /* opt */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 9
            iinc 16 /* argc */ -1
         9: .line 273
      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 /* argc */
            iconst_1
            if_icmple 12
            aload 4 /* runtime */
            aload 1 /* argv */
            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 /* env */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 12
        10: .line 274
            iinc 16 /* argc */ -1
        11: .line 275
            aload 1 /* argv */
            iconst_1
            iload 16 /* argc */
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            astore 1 /* argv */
        12: .line 277
      StackMap locals:
      StackMap stack:
            iload 16 /* argc */
            tableswitch { // 1 - 2
                    1: 14
                    2: 13
              default: 16
          }
        13: .line 279
      StackMap locals:
      StackMap stack:
            aload 11 /* pmode */
            aload 1 /* argv */
            iconst_1
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.vmode:(Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;)V
        14: .line 281
      StackMap locals:
      StackMap stack:
            aload 1 /* argv */
            iconst_0
            aaload
            astore 6 /* pname */
        start local 6 // org.jruby.runtime.builtin.IRubyObject pname
        15: .line 282
            goto 21
        end local 6 // org.jruby.runtime.builtin.IRubyObject pname
        16: .line 284
      StackMap locals:
      StackMap stack:
            aload 9 /* opt */
            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 /* ex */
        start local 17 // int ex
        19: .line 285
            aload 4 /* runtime */
            iload 16 /* argc */
            iload 17 /* ex */
            iadd
            iconst_1
            iload 17 /* ex */
            iadd
            iconst_2
            iload 17 /* ex */
            iadd
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
        20: .line 286
            aconst_null
            areturn
        end local 17 // int ex
        start local 6 // org.jruby.runtime.builtin.IRubyObject pname
        21: .line 290
      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 /* runtime */
            aload 6 /* pname */
            invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* tmp */
        start local 8 // org.jruby.runtime.builtin.IRubyObject tmp
        22: .line 291
            aload 8 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 27
        23: .line 298
            aload 8 /* tmp */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 8 /* tmp */
        24: .line 300
            aload 0 /* context */
            aload 8 /* tmp */
            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 /* eargp */
        start local 12 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        25: .line 301
            aload 8 /* tmp */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.clear:()V
        26: .line 302
            goto 33
        end local 12 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        27: .line 303
      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 /* pname */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 6 /* pname */
        28: .line 304
            aconst_null
            astore 12 /* eargp */
        start local 12 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        29: .line 305
            aload 4 /* runtime */
            aload 6 /* pname */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.util.io.PopenExecutor.isPopenFork:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Z
            ifne 33
        30: .line 306
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 6 /* pname */
            aastore
            astore 17 /* pname_p */
        start local 17 // org.jruby.runtime.builtin.IRubyObject[] pname_p
        31: .line 307
            aload 0 /* context */
            aload 17 /* pname_p */
            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 /* eargp */
        32: .line 308
            aload 17 /* pname_p */
            iconst_0
            aaload
            astore 6 /* pname */
        end local 17 // org.jruby.runtime.builtin.IRubyObject[] pname_p
        33: .line 311
      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 /* eargp */
            ifnull 38
        34: .line 312
            aload 9 /* opt */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 36
        35: .line 313
            aload 0 /* context */
            aload 4 /* runtime */
            aload 12 /* eargp */
            aload 9 /* opt */
            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 /* opt */
        36: .line 314
      StackMap locals:
      StackMap stack:
            aload 10 /* env */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 38
        37: .line 315
            aload 0 /* context */
            aload 4 /* runtime */
            aload 12 /* eargp */
            aload 10 /* env */
            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: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 15 /* convconfig */
            aload 11 /* pmode */
            aload 9 /* opt */
            aload 13 /* oflags_p */
            aload 14 /* fmode_p */
            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: .line 318
            aload 4 /* runtime */
            aload 13 /* oflags_p */
            iconst_0
            iaload
            invokestatic org.jruby.util.io.OpenFile.ioOflagsModestr:(Lorg/jruby/Ruby;I)Ljava/lang/String;
            astore 5 /* modestr */
        start local 5 // java.lang.String modestr
        40: .line 320
            new org.jruby.util.io.PopenExecutor
            dup
            invokespecial org.jruby.util.io.PopenExecutor.<init>:()V
            aload 0 /* context */
            aload 12 /* eargp */
            aload 5 /* modestr */
            aload 14 /* fmode_p */
            iconst_0
            iaload
            aload 15 /* convconfig */
            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 /* port */
        start local 7 // org.jruby.runtime.builtin.IRubyObject port
        41: .line 332
            aload 7 /* port */
            checkcast org.jruby.RubyBasicObject
            aload 2 /* klass */
            invokevirtual org.jruby.RubyBasicObject.setMetaClass:(Lorg/jruby/RubyClass;)V
        42: .line 333
            aload 0 /* context */
            aload 7 /* port */
            aload 3 /* block */
            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 // int argc
        end local 15 // org.jruby.util.io.IOEncodable$ConvConfig convconfig
        end local 14 // int[] fmode_p
        end local 13 // int[] oflags_p
        end local 12 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 11 // java.lang.Object pmode
        end local 10 // org.jruby.runtime.builtin.IRubyObject env
        end local 9 // org.jruby.runtime.builtin.IRubyObject opt
        end local 8 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 7 // org.jruby.runtime.builtin.IRubyObject port
        end local 6 // org.jruby.runtime.builtin.IRubyObject pname
        end local 5 // java.lang.String modestr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.runtime.builtin.IRubyObject env
         0: .line 337
            aload 2 /* eargp */
            aload 3 /* env */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 1
            aload 0 /* context */
            aload 3 /* env */
            checkcast org.jruby.RubyHash
            aload 2 /* eargp */
            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: .line 338
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject env
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyHash hash
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg pathArg
         0: .line 342
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 345
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 4 /* env */
        start local 4 // org.jruby.RubyArray env
         2: .line 346
            aload 1 /* hash */
            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 /* entry */
        start local 5 // java.util.Map$Entry entry
         4: .line 347
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 7 /* key */
        start local 7 // org.jruby.runtime.builtin.IRubyObject key
         5: .line 348
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 8 /* val */
        start local 8 // org.jruby.runtime.builtin.IRubyObject val
         6: .line 351
            aload 3 /* runtime */
            aload 7 /* key */
            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 /* k */
        start local 9 // java.lang.String k
         7: .line 352
            aload 9 /* k */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 9
         8: .line 353
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "environment name contains a equal : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* k */
            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: .line 355
      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 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 11
        10: .line 356
            aload 3 /* runtime */
            aload 8 /* val */
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 8 /* val */
        11: .line 358
      StackMap locals:
      StackMap stack:
            aload 7 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            astore 7 /* key */
        12: .line 359
            aload 8 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 13
            aload 8 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            astore 8 /* val */
        13: .line 361
      StackMap locals:
      StackMap stack:
            aload 7 /* key */
            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: .line 362
            aload 2 /* pathArg */
            aload 8 /* val */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.path_env:Lorg/jruby/runtime/builtin/IRubyObject;
        15: .line 365
      StackMap locals:
      StackMap stack:
            aload 4 /* env */
            aload 3 /* runtime */
            aload 7 /* key */
            aload 8 /* val */
            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 // java.lang.String k
        end local 8 // org.jruby.runtime.builtin.IRubyObject val
        end local 7 // org.jruby.runtime.builtin.IRubyObject key
        end local 5 // java.util.Map$Entry entry
        16: .line 346
      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: .line 368
            aload 4 /* env */
            areturn
        end local 4 // org.jruby.RubyArray env
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg pathArg
        end local 1 // org.jruby.RubyHash hash
        end local 0 // org.jruby.runtime.ThreadContext context
      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 execargExtractOptions(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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.RubyHash opthash
         0: .line 373
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* opthash */
            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 // org.jruby.RubyHash opthash
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyHash opthash
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 378
            aload 0 /* context */
            aload 1 /* runtime */
            aload 3 /* eargp */
            aload 2 /* opthash */
            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: .line 379
            return
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // org.jruby.RubyHash opthash
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.RubyHash opthash
        start local 4 // boolean raise
         0: .line 382
            aload 3 /* opthash */
            invokevirtual org.jruby.RubyHash.isEmpty:()Z
            ifeq 2
         1: .line 383
            aconst_null
            areturn
         2: .line 385
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* nonopts */
        start local 5 // org.jruby.RubyHash nonopts
         3: .line 387
            aload 3 /* opthash */
            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 /* entry */
        start local 6 // java.util.Map$Entry entry
         5: .line 388
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 8 /* key */
        start local 8 // org.jruby.runtime.builtin.IRubyObject key
         6: .line 389
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 9 /* val */
        start local 9 // org.jruby.runtime.builtin.IRubyObject val
         7: .line 391
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 8 /* key */
            aload 9 /* val */
            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: .line 392
            iload 4 /* raise */
            ifeq 17
         9: .line 393
            aload 8 /* key */
            instanceof org.jruby.RubySymbol
            ifeq 16
        10: .line 394
            aload 8 /* key */
            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: .line 396
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            ldc "popen does not support :gid option in JRuby"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            ldc "popen does not support :uid option in JRuby"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 400
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong exec option symbol: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* key */
            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: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong exec option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* key */
            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: .line 408
      StackMap locals:
      StackMap stack:
            aload 5 /* nonopts */
            ifnonnull 18
            aload 1 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 5 /* nonopts */
        18: .line 409
      StackMap locals:
      StackMap stack:
            aload 5 /* nonopts */
            aload 0 /* context */
            aload 8 /* key */
            aload 9 /* val */
            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 // org.jruby.runtime.builtin.IRubyObject val
        end local 8 // org.jruby.runtime.builtin.IRubyObject key
        end local 6 // java.util.Map$Entry entry
        19: .line 387
      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: .line 412
            aload 5 /* nonopts */
            ifnull 21
            aload 5 /* nonopts */
            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 /* context */
            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 // org.jruby.RubyHash nonopts
        end local 4 // boolean raise
        end local 3 // org.jruby.RubyHash opthash
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyString prog
         0: .line 417
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.size:()I
            iconst_1
            if_icmpne 2
            aload 1 /* prog */
            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: .line 418
            aload 0 /* runtime */
            ldc "fork() function is unimplemented on JRuby"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 420
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.jruby.RubyString prog
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // java.lang.String cmd
        start local 4 // java.lang.String[] args
        start local 5 // java.lang.String[] envp
         0: .line 425
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 2
         1: .line 426
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* cmd */
            aload 5 /* envp */
            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: .line 436
      StackMap locals:
      StackMap stack:
            aload 3 /* cmd */
            ifnull 3
            aload 3 /* cmd */
            invokevirtual java.lang.String.length:()I
            ifne 5
         3: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
         4: .line 438
            ldc -1
            lreturn
         5: .line 440
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
         6: .line 441
            aload 3 /* cmd */
         7: .line 442
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
         8: .line 443
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
         9: .line 444
            aload 4 /* args */
            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 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        11: .line 445
      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 /* envp */
            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 /* envp */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        13: .line 440
      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 /* ret */
        start local 6 // long ret
        14: .line 447
            lload 6 /* ret */
            ldc -1
            lcmp
            ifne 16
        15: .line 448
            aload 0 /* this */
            aload 1 /* runtime */
            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: .line 451
      StackMap locals: long
      StackMap stack:
            lload 6 /* ret */
            lreturn
        end local 6 // long ret
        end local 5 // java.lang.String[] envp
        end local 4 // java.lang.String[] args
        end local 3 // java.lang.String cmd
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // java.lang.String str
        start local 4 // java.lang.String[] envp
         0: .line 457
            iconst_0
            istore 6 /* s */
        start local 6 // int s
         1: .line 459
            aload 3 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 5 /* sChars */
        start local 5 // char[] sChars
         2: .line 460
            goto 4
         3: .line 461
      StackMap locals: char[] int
      StackMap stack:
            iinc 6 /* s */ 1
         4: .line 460
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 5 /* sChars */
            arraylength
            if_icmpge 5
            aload 5 /* sChars */
            iload 6 /* s */
            caload
            bipush 32
            if_icmpeq 3
            aload 5 /* sChars */
            iload 6 /* s */
            caload
            bipush 9
            if_icmpeq 3
            aload 5 /* sChars */
            iload 6 /* s */
            caload
            bipush 10
            if_icmpeq 3
         5: .line 463
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 5 /* sChars */
            arraylength
            if_icmplt 8
         6: .line 464
            aload 0 /* this */
            getstatic jnr.constants.platform.Errno.ENOENT:Ljnr/constants/platform/Errno;
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
         7: .line 465
            ldc -1
            lreturn
         8: .line 469
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 10
         9: .line 471
            ldc -1
            lreturn
        10: .line 486
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
        11: .line 487
            ldc "/bin/sh"
        12: .line 488
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
        13: .line 489
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 490
            ldc "sh"
            aastore
            dup
            iconst_1
            ldc "-c"
            aastore
            dup
            iconst_2
            aload 3 /* str */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        15: .line 491
            aload 4 /* envp */
            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 /* envp */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        17: .line 486
      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 /* ret */
        start local 7 // long ret
        18: .line 493
            lload 7 /* ret */
            ldc -1
            lcmp
            ifne 20
        19: .line 494
            aload 0 /* this */
            aload 1 /* runtime */
            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: .line 497
      StackMap locals: long
      StackMap stack:
            lload 7 /* ret */
            lreturn
        end local 7 // long ret
        end local 6 // int s
        end local 5 // char[] sChars
        end local 4 // java.lang.String[] envp
        end local 3 // java.lang.String str
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // byte[][] argv_str
         0: .line 507
            aload 0 /* argv_str */
            arraylength
            anewarray java.lang.String
            astore 1 /* argv */
        start local 1 // java.lang.String[] argv
         1: .line 508
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 510
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* argv_str */
            iload 2 /* i */
            aaload
            ifnonnull 4
            goto 5
         4: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* argv */
            iload 2 /* i */
            new java.lang.String
            dup
            aload 0 /* argv_str */
            iload 2 /* i */
            aaload
            invokespecial java.lang.String.<init>:([B)V
            aastore
         5: .line 508
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* argv_str */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 513
            aload 1 /* argv */
            areturn
        end local 1 // java.lang.String[] argv
        end local 0 // byte[][] argv_str
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // java.lang.String modestr
        start local 4 // int fmode
        start local 5 // org.jruby.util.io.IOEncodable convconfig
         0: .line 520
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 521
            aload 2 /* eargp */
            ifnull 3
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 2
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
            goto 4
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 2 /* eargp */
            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 /* prog */
        start local 7 // org.jruby.runtime.builtin.IRubyObject prog
         5: .line 522
            lconst_0
            lstore 8 /* pid */
        start local 8 // long pid
         6: .line 527
            new org.jruby.util.io.PosixShim
            dup
            aload 6 /* runtime */
            invokespecial org.jruby.util.io.PosixShim.<init>:(Lorg/jruby/Ruby;)V
            astore 14 /* posix */
        start local 14 // org.jruby.util.io.PosixShim posix
         7: .line 529
            aconst_null
            astore 15 /* e */
        start local 15 // jnr.constants.platform.Errno e
         8: .line 531
            aconst_null
            astore 16 /* args */
        start local 16 // java.lang.String[] args
         9: .line 532
            aconst_null
            astore 17 /* envp */
        start local 17 // java.lang.String[] envp
        10: .line 534
            new org.jruby.util.io.PopenExecutor$ExecArg
            dup
            invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
            astore 18 /* sargp */
        start local 18 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        11: .line 536
            iconst_m1
            istore 20 /* write_fd */
        start local 20 // int write_fd
        12: .line 537
            aconst_null
            astore 21 /* cmd */
        start local 21 // java.lang.String cmd
        13: .line 539
            aload 7 /* prog */
            ifnull 15
        14: .line 540
            aload 6 /* runtime */
            aload 7 /* prog */
            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 /* cmd */
        15: .line 542
      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 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifeq 19
        16: .line 545
            new java.lang.StringBuilder
            dup
            ldc "cd '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* eargp */
            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 /* cmd */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 21 /* cmd */
        17: .line 546
            aload 2 /* eargp */
            aconst_null
            putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
        18: .line 547
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_clear:()V
        19: .line 550
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 21
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 21
        20: .line 551
            aload 2 /* eargp */
            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 /* args */
        21: .line 553
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 10
            dup
            iconst_0
            iconst_m1
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            astore 22 /* pair */
        start local 22 // int[] pair
        22: iconst_2
            newarray 10
            dup
            iconst_0
            iconst_m1
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            astore 23 /* writePair */
        start local 23 // int[] writePair
        23: .line 554
            iload 4 /* fmode */
            iconst_3
            iand
            tableswitch { // 1 - 3
                    1: 34
                    2: 38
                    3: 24
              default: 42
          }
        24: .line 556
      StackMap locals: int[] int[]
      StackMap stack:
            aload 6 /* runtime */
            aload 23 /* writePair */
            invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
            iconst_m1
            if_icmpne 26
        25: .line 557
            aload 6 /* runtime */
            aload 14 /* posix */
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            aload 7 /* prog */
            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: .line 558
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 22 /* pair */
            invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
            iconst_m1
            if_icmpne 32
        27: .line 559
            aload 14 /* posix */
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            astore 15 /* e */
        28: .line 560
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 23 /* writePair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        29: .line 561
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 23 /* writePair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        30: .line 562
            aload 14 /* posix */
            aload 15 /* e */
            invokevirtual org.jruby.util.io.PosixShim.setErrno:(Ljnr/constants/platform/Errno;)V
        31: .line 563
            aload 6 /* runtime */
            aload 14 /* posix */
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            aload 7 /* prog */
            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: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 43
            aload 0 /* this */
            aload 6 /* runtime */
            aload 22 /* pair */
            aload 23 /* writePair */
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
        33: .line 568
            goto 43
        34: .line 570
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 22 /* pair */
            invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
            iconst_m1
            if_icmpne 36
        35: .line 571
            aload 6 /* runtime */
            aload 14 /* posix */
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            aload 7 /* prog */
            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: .line 573
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 43
            aload 0 /* this */
            aload 6 /* runtime */
            aload 22 /* pair */
            aconst_null
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
        37: .line 575
            goto 43
        38: .line 577
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 22 /* pair */
            invokestatic org.jruby.api.API.rb_pipe:(Lorg/jruby/Ruby;[I)I
            iconst_m1
            if_icmpne 40
        39: .line 578
            aload 6 /* runtime */
            aload 14 /* posix */
            invokevirtual org.jruby.util.io.PosixShim.getErrno:()Ljnr/constants/platform/Errno;
            aload 7 /* prog */
            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: .line 580
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 43
            aload 0 /* this */
            aload 6 /* runtime */
            aconst_null
            aload 22 /* pair */
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor.prepareStdioRedirects:(Lorg/jruby/Ruby;[I[ILorg/jruby/util/io/PopenExecutor$ExecArg;)V
        41: .line 582
            goto 43
        42: .line 584
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 7 /* prog */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newSystemCallError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        43: .line 586
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 67
        44: .line 588
            aload 1 /* context */
            aload 6 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargFixup:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
        45: .line 589
            goto 53
      StackMap locals:
      StackMap stack: org.jruby.exceptions.RaiseException
        46: astore 24 /* re */
        start local 24 // org.jruby.exceptions.RaiseException re
        47: .line 590
            aload 23 /* writePair */
            iconst_0
            iaload
            iconst_m1
            if_icmpeq 48
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 23 /* writePair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        48: .line 591
      StackMap locals: org.jruby.exceptions.RaiseException
      StackMap stack:
            aload 23 /* writePair */
            iconst_1
            iaload
            iconst_m1
            if_icmpeq 49
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 23 /* writePair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        49: .line 592
      StackMap locals:
      StackMap stack:
            aload 22 /* pair */
            iconst_0
            iaload
            iconst_m1
            if_icmpeq 50
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        50: .line 593
      StackMap locals:
      StackMap stack:
            aload 22 /* pair */
            iconst_1
            iaload
            iconst_m1
            if_icmpeq 51
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        51: .line 594
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
        52: .line 595
            aload 24 /* re */
            athrow
        end local 24 // org.jruby.exceptions.RaiseException re
        53: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* runtime */
            aload 2 /* eargp */
            aload 18 /* sargp */
            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: .line 598
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
            ifnull 62
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
            astore 17 /* envp */
        55: .line 599
            goto 62
        56: .line 601
      StackMap locals:
      StackMap stack:
            invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$jnr$constants$platform$Errno:()[I
            aload 0 /* this */
            getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
            dup
            astore 15 /* e */
            invokevirtual jnr.constants.platform.Errno.ordinal:()I
            iaload
            tableswitch { // 35 - 36
                   35: 57
                   36: 57
              default: 61
          }
        57: .line 604
      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: .line 605
            goto 62
        61: .line 607
      StackMap locals:
      StackMap stack:
            goto 63
        62: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* runtime */
            aload 2 /* eargp */
            aload 21 /* cmd */
            aload 16 /* args */
            aload 17 /* envp */
            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 /* pid */
            ldc -1
            lcmp
            ifeq 56
        63: .line 609
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            ifnull 65
        64: .line 610
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* runtime */
            aload 18 /* sargp */
            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: .line 611
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
        66: .line 612
            goto 68
        67: .line 614
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            ldc "spawn without exec args (probably a bug)"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        68: .line 618
      StackMap locals:
      StackMap stack:
            lload 8 /* pid */
            ldc -1
            lcmp
            ifne 76
        69: .line 619
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        70: .line 620
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        71: .line 621
            iload 4 /* fmode */
            iconst_3
            iand
            iconst_3
            if_icmpne 74
        72: .line 622
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        73: .line 623
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        74: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* e */
            putfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
        75: .line 626
            aload 6 /* runtime */
            aload 0 /* this */
            getfield org.jruby.util.io.PopenExecutor.errno:Ljnr/constants/platform/Errno;
            aload 7 /* prog */
            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: .line 628
      StackMap locals:
      StackMap stack:
            iload 4 /* fmode */
            iconst_1
            iand
            ifeq 82
            iload 4 /* fmode */
            iconst_2
            iand
            ifeq 82
        77: .line 629
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        78: .line 630
            aload 22 /* pair */
            iconst_0
            iaload
            istore 19 /* fd */
        start local 19 // int fd
        79: .line 631
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 23 /* writePair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        80: .line 632
            aload 23 /* writePair */
            iconst_1
            iaload
            istore 20 /* write_fd */
        81: .line 633
            goto 88
        end local 19 // int fd
        82: .line 634
      StackMap locals:
      StackMap stack:
            iload 4 /* fmode */
            iconst_1
            iand
            ifeq 86
        83: .line 635
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_1
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        84: .line 636
            aload 22 /* pair */
            iconst_0
            iaload
            istore 19 /* fd */
        start local 19 // int fd
        85: .line 637
            goto 88
        end local 19 // int fd
        86: .line 639
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            aload 22 /* pair */
            iconst_0
            iaload
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
        87: .line 640
            aload 22 /* pair */
            iconst_1
            iaload
            istore 19 /* fd */
        start local 19 // int fd
        88: .line 643
      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 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyIO
            astore 11 /* port */
        start local 11 // org.jruby.RubyIO port
        89: .line 644
            aload 11 /* port */
            invokevirtual org.jruby.RubyIO.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
            astore 10 /* fptr */
        start local 10 // org.jruby.util.io.OpenFile fptr
        90: .line 645
            aload 10 /* fptr */
            new jnr.enxio.channels.NativeDeviceChannel
            dup
            iload 19 /* fd */
            invokespecial jnr.enxio.channels.NativeDeviceChannel.<init>:(I)V
            invokevirtual org.jruby.util.io.OpenFile.setChannel:(Ljava/nio/channels/Channel;)V
        91: .line 646
            aload 10 /* fptr */
            iload 4 /* fmode */
            bipush 40
            ior
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
        92: .line 647
            aload 5 /* convconfig */
            ifnull 98
        93: .line 648
            aload 10 /* fptr */
            getfield org.jruby.util.io.OpenFile.encs:Lorg/jruby/util/io/IOEncodable$ConvConfig;
            aload 5 /* convconfig */
            invokevirtual org.jruby.util.io.IOEncodable$ConvConfig.copy:(Lorg/jruby/util/io/IOEncodable;)V
        94: .line 649
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 103
        95: .line 650
            aload 10 /* fptr */
            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: .line 651
            aload 10 /* fptr */
            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: .line 654
            goto 103
        98: .line 656
      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 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.NEED_NEWLINE_DECORATOR_ON_READ:()Z
            ifeq 100
        99: .line 657
            aload 10 /* fptr */
            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: .line 659
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.io.EncodingUtils.TEXTMODE_NEWLINE_DECORATOR_ON_WRITE:I
            ifeq 103
       101: .line 660
            aload 10 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.NEED_NEWLINE_DECORATOR_ON_WRITE:()Z
            ifeq 103
       102: .line 661
            aload 10 /* fptr */
            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: .line 665
      StackMap locals:
      StackMap stack:
            lload 8 /* pid */
            lstore 24 /* finalPid */
        start local 24 // long finalPid
       104: .line 666
            aload 10 /* fptr */
            lload 8 /* pid */
            invokevirtual org.jruby.util.io.OpenFile.setPid:(J)V
       105: .line 667
            aload 10 /* fptr */
            new org.jruby.util.io.POSIXProcess
            dup
            aload 6 /* runtime */
            lload 24 /* finalPid */
            invokespecial org.jruby.util.io.POSIXProcess.<init>:(Lorg/jruby/Ruby;J)V
            invokevirtual org.jruby.util.io.OpenFile.setProcess:(Ljava/lang/Process;)V
       106: .line 669
            iload 20 /* write_fd */
            iconst_m1
            if_icmpeq 114
       107: .line 670
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getIO:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* write_port */
        start local 13 // org.jruby.runtime.builtin.IRubyObject write_port
       108: .line 671
            aload 13 /* write_port */
            checkcast org.jruby.RubyIO
            invokevirtual org.jruby.RubyIO.MakeOpenFile:()Lorg/jruby/util/io/OpenFile;
            astore 12 /* write_fptr */
        start local 12 // org.jruby.util.io.OpenFile write_fptr
       109: .line 672
            aload 12 /* write_fptr */
            new jnr.enxio.channels.NativeDeviceChannel
            dup
            iload 20 /* write_fd */
            invokespecial jnr.enxio.channels.NativeDeviceChannel.<init>:(I)V
            invokevirtual org.jruby.util.io.OpenFile.setChannel:(Ljava/nio/channels/Channel;)V
       110: .line 673
            aload 12 /* write_fptr */
            iload 4 /* fmode */
            bipush -2
            iand
            bipush 8
            ior
            bipush 32
            ior
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
       111: .line 674
            aload 10 /* fptr */
            aload 10 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.getMode:()I
            bipush -3
            iand
            invokevirtual org.jruby.util.io.OpenFile.setMode:(I)V
       112: .line 675
            aload 10 /* fptr */
            aload 13 /* write_port */
            checkcast org.jruby.RubyIO
            putfield org.jruby.util.io.OpenFile.tiedIOForWriting:Lorg/jruby/RubyIO;
       113: .line 676
            aload 11 /* port */
            ldc "@tied_io_for_writing"
            aload 13 /* write_port */
            invokevirtual org.jruby.RubyIO.setInstanceVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 13 // org.jruby.runtime.builtin.IRubyObject write_port
        end local 12 // org.jruby.util.io.OpenFile write_fptr
       114: .line 683
      StackMap locals: long
      StackMap stack:
            aload 11 /* port */
            areturn
        end local 24 // long finalPid
        end local 23 // int[] writePair
        end local 22 // int[] pair
        end local 21 // java.lang.String cmd
        end local 20 // int write_fd
        end local 19 // int fd
        end local 18 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 17 // java.lang.String[] envp
        end local 16 // java.lang.String[] args
        end local 15 // jnr.constants.platform.Errno e
        end local 14 // org.jruby.util.io.PosixShim posix
        end local 11 // org.jruby.RubyIO port
        end local 10 // org.jruby.util.io.OpenFile fptr
        end local 8 // long pid
        end local 7 // org.jruby.runtime.builtin.IRubyObject prog
        end local 6 // org.jruby.Ruby runtime
        end local 5 // org.jruby.util.io.IOEncodable convconfig
        end local 4 // int fmode
        end local 3 // java.lang.String modestr
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int[] readPipe
        start local 3 // int[] writePipe
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 692
            aload 2 /* readPipe */
            ifnull 5
         1: .line 694
            aload 2 /* readPipe */
            iconst_1
            iaload
            istore 5 /* readPipeWriteFD */
        start local 5 // int readPipeWriteFD
         2: .line 695
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 1 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            iload 5 /* readPipeWriteFD */
            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: .line 698
            aload 2 /* readPipe */
            iconst_0
            iaload
            istore 6 /* readPipeReadFD */
        start local 6 // int readPipeReadFD
         4: .line 699
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
            iload 6 /* readPipeReadFD */
            invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int readPipeReadFD
        end local 5 // int readPipeWriteFD
         5: .line 702
      StackMap locals:
      StackMap stack:
            aload 3 /* writePipe */
            ifnull 10
         6: .line 704
            aload 3 /* writePipe */
            iconst_0
            iaload
            istore 5 /* writePipeReadFD */
        start local 5 // int writePipeReadFD
         7: .line 705
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 1 /* runtime */
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            iload 5 /* writePipeReadFD */
            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: .line 708
            aload 3 /* writePipe */
            iconst_1
            iaload
            istore 6 /* writePipeWriteFD */
        start local 6 // int writePipeWriteFD
         9: .line 709
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
            iload 6 /* writePipeWriteFD */
            invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int writePipeWriteFD
        end local 5 // int writePipeReadFD
        10: .line 711
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 3 // int[] writePipe
        end local 2 // int[] readPipe
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 3 // java.lang.String[] errmsg
         0: .line 720
            iconst_0
            istore 4 /* ret */
        start local 4 // int ret
         1: .line 723
            aload 1 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.pgroup_pgid:J
            lstore 5 /* pgroup */
        start local 5 // long pgroup
         2: .line 724
            lload 5 /* pgroup */
            ldc -1
            lcmp
            ifne 4
         3: .line 726
            iload 4 /* ret */
            ireturn
         4: .line 729
      StackMap locals: int long
      StackMap stack:
            aload 1 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.attributes:Ljava/util/List;
            lload 5 /* pgroup */
            invokestatic jnr.posix.SpawnAttribute.pgroup:(J)Ljnr/posix/SpawnAttribute;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 730
            aload 1 /* eargp */
            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: .line 732
            iload 4 /* ret */
            ireturn
        end local 5 // long pgroup
        end local 4 // int ret
        end local 3 // java.lang.String[] errmsg
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray ary
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 3 // java.lang.String[] errmsg
         0: .line 736
            aload 0 /* runtime */
            ldc "changing rlimit in child is not supported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // java.lang.String[] errmsg
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
         0: .line 794
            return
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray ary
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 4 // java.lang.String[] errmsg
         0: .line 799
            iconst_m1
            istore 8 /* extra_fd */
        start local 8 // int extra_fd
         1: .line 800
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.dup2_tmpbuf:[Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
            astore 9 /* pairs */
        start local 9 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] pairs
         2: .line 802
            aload 1 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            istore 5 /* n */
        start local 5 // int n
         3: .line 805
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 10
         5: .line 806
      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 /* ary */
            iload 6 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* elt */
        start local 10 // org.jruby.runtime.builtin.IRubyObject elt
         6: .line 807
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            aload 10 /* elt */
            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: .line 808
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            aload 10 /* elt */
            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: .line 809
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            iconst_m1
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
        end local 10 // org.jruby.runtime.builtin.IRubyObject elt
         9: .line 805
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 5
        11: .line 813
            aload 3 /* sargp */
            ifnonnull 13
        12: .line 814
            aload 9 /* pairs */
            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: .line 816
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            getstatic org.jruby.util.io.PopenExecutor.intrcmp:Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        14: .line 819
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
            goto 30
        15: .line 820
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
            istore 10 /* newfd */
        start local 10 // int newfd
        16: .line 821
            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 /* key */
        start local 11 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair key
        17: .line 822
            aload 11 /* key */
            iload 10 /* newfd */
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
        18: .line 823
            aload 9 /* pairs */
            aload 11 /* key */
            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 /* found */
        start local 12 // int found
        19: .line 824
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            iconst_0
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
        20: .line 825
            iload 12 /* found */
            iflt 29
        21: .line 826
            goto 23
      StackMap locals: int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair int
      StackMap stack:
        22: iinc 12 /* found */ -1
      StackMap locals:
      StackMap stack:
        23: iload 12 /* found */
            ifle 28
            aload 9 /* pairs */
            iload 12 /* found */
            iconst_1
            isub
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            iload 10 /* newfd */
            if_icmpeq 22
        24: .line 827
            goto 28
        25: .line 828
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            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: .line 829
            aload 9 /* pairs */
            iload 12 /* found */
            aaload
            iload 6 /* i */
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
        27: .line 830
            iinc 12 /* found */ 1
        28: .line 827
      StackMap locals:
      StackMap stack:
            iload 12 /* found */
            iload 5 /* n */
            if_icmpge 29
            aload 9 /* pairs */
            iload 12 /* found */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            iload 10 /* newfd */
            if_icmpeq 25
        end local 12 // int found
        end local 11 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair key
        end local 10 // int newfd
        29: .line 819
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 15
        31: .line 836
            iconst_0
            istore 6 /* i */
            goto 42
        32: .line 837
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 10 /* j */
        start local 10 // int j
        33: .line 838
            goto 40
        34: .line 839
      StackMap locals: int
      StackMap stack:
            aload 0 /* runtime */
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
            aload 3 /* sargp */
            aload 4 /* errmsg */
            invokestatic org.jruby.util.io.PopenExecutor.saveRedirectFd:(Lorg/jruby/Ruby;ILorg/jruby/util/io/PopenExecutor$ExecArg;[Ljava/lang/String;)I
            ifge 36
        35: .line 840
            iconst_m1
            ireturn
        36: .line 843
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            aload 9 /* pairs */
            iload 10 /* j */
            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: .line 844
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            iconst_m1
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
        38: .line 845
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
            istore 10 /* j */
        39: .line 846
            iload 10 /* j */
            iconst_m1
            if_icmpeq 40
            aload 9 /* pairs */
            iload 10 /* j */
            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: .line 838
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            iconst_m1
            if_icmpeq 41
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            iconst_m1
            if_icmpeq 41
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.num_newer:I
            ifeq 34
        end local 10 // int j
        41: .line 836
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 32
        43: .line 851
            iconst_0
            istore 6 /* i */
            goto 75
        44: .line 853
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            iconst_m1
            if_icmpne 46
        45: .line 854
            goto 74
        46: .line 855
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.newfd:I
            if_icmpne 60
        47: .line 856
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            istore 11 /* fd */
        start local 11 // int fd
        48: .line 857
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 11 /* fd */
            getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
            invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
            istore 7 /* ret */
        start local 7 // int ret
        49: .line 858
            iload 7 /* ret */
            iconst_m1
            if_icmpne 52
        50: .line 859
            aload 4 /* errmsg */
            ifnull 51
            aload 4 /* errmsg */
            iconst_0
            ldc "fcntl(F_GETFD)"
            aastore
        51: .line 860
      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: .line 862
      StackMap locals:
      StackMap stack:
            iload 7 /* ret */
            iconst_1
            iand
            ifeq 58
        53: .line 863
            iload 7 /* ret */
            bipush -2
            iand
            istore 7 /* ret */
        54: .line 864
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 11 /* fd */
            getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
            iload 7 /* ret */
            invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
            istore 7 /* ret */
        55: .line 865
            iload 7 /* ret */
            iconst_m1
            if_icmpne 58
        56: .line 866
            aload 4 /* errmsg */
            ifnull 57
            aload 4 /* errmsg */
            iconst_0
            ldc "fcntl(F_SETFD)"
            aastore
        57: .line 867
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        58: .line 870
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            iconst_m1
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
        59: .line 871
            goto 74
        end local 11 // int fd
        end local 7 // int ret
        60: .line 873
      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 /* extra_fd */
            iconst_m1
            if_icmpne 65
        61: .line 874
            aload 0 /* runtime */
            aload 9 /* pairs */
            iload 6 /* i */
            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 /* extra_fd */
        62: .line 875
            iload 8 /* extra_fd */
            iconst_m1
            if_icmpne 66
        63: .line 876
            aload 4 /* errmsg */
            ifnull 64
            aload 4 /* errmsg */
            iconst_0
            ldc "dup"
            aastore
        64: .line 877
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        65: .line 883
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            iload 8 /* extra_fd */
            invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
        66: .line 885
      StackMap locals:
      StackMap stack:
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            iload 8 /* extra_fd */
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
        67: .line 886
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
            istore 10 /* j */
        start local 10 // int j
        68: .line 887
            aload 9 /* pairs */
            iload 6 /* i */
            aaload
            iconst_m1
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
        69: .line 888
            goto 73
        70: .line 890
      StackMap locals: int
      StackMap stack:
            aload 2 /* eargp */
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
            aload 9 /* pairs */
            iload 10 /* j */
            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: .line 891
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            iconst_m1
            putfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.oldfd:I
        72: .line 892
            aload 9 /* pairs */
            iload 10 /* j */
            aaload
            getfield org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair.older_index:I
            istore 10 /* j */
        73: .line 888
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            iconst_m1
            if_icmpne 70
        end local 10 // int j
        74: .line 851
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 44
        76: .line 895
            iload 8 /* extra_fd */
            iconst_m1
            if_icmpeq 83
        77: .line 896
            aload 0 /* runtime */
            aload 2 /* eargp */
            iload 8 /* extra_fd */
            aload 3 /* sargp */
            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 /* ret */
        start local 7 // int ret
        80: .line 897
            iload 7 /* ret */
            iconst_m1
            if_icmpne 83
        81: .line 898
            aload 4 /* errmsg */
            ifnull 82
            aload 4 /* errmsg */
            iconst_0
            ldc "close"
            aastore
        82: .line 899
      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 // int ret
        83: .line 903
      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 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] pairs
        end local 8 // int extra_fd
        end local 6 // int i
        end local 5 // int n
        end local 4 // java.lang.String[] errmsg
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // int oldfd
         0: .line 910
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 1 /* oldfd */
            invokeinterface jnr.posix.POSIX.dup:(I)I
            istore 2 /* ret */
        start local 2 // int ret
         1: .line 911
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* ret */
            getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
            invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
            istore 3 /* flags */
        start local 3 // int flags
         2: .line 912
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* ret */
            getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
            iload 3 /* flags */
            iconst_1
            ior
            invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
            pop
         3: .line 913
            iload 2 /* ret */
            ireturn
        end local 3 // int flags
        end local 2 // int ret
        end local 1 // int oldfd
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // int oldfd
         0: .line 918
            aload 0 /* runtime */
            iload 1 /* oldfd */
            invokestatic org.jruby.util.io.PopenExecutor.redirectDup:(Lorg/jruby/Ruby;I)I
            istore 2 /* ret */
        start local 2 // int ret
         1: .line 920
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* ret */
            getstatic jnr.constants.platform.Fcntl.F_GETFD:Ljnr/constants/platform/Fcntl;
            invokeinterface jnr.posix.POSIX.fcntl:(ILjnr/constants/platform/Fcntl;)I
            istore 3 /* flags */
        start local 3 // int flags
         2: .line 921
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* ret */
            getstatic jnr.constants.platform.Fcntl.F_SETFD:Ljnr/constants/platform/Fcntl;
            iload 3 /* flags */
            iconst_1
            ior
            invokeinterface jnr.posix.POSIX.fcntlInt:(ILjnr/constants/platform/Fcntl;I)I
            pop
         3: .line 923
            iload 2 /* ret */
            ireturn
        end local 3 // int flags
        end local 2 // int ret
        end local 1 // int oldfd
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 1 // int oldfd
        start local 2 // int newfd
         0: .line 928
            aload 0 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
            iload 1 /* oldfd */
            iload 2 /* newfd */
            invokestatic jnr.posix.SpawnFileAction.dup:(II)Ljnr/posix/SpawnFileAction;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 929
            return
        end local 2 // int newfd
        end local 1 // int oldfd
        end local 0 // org.jruby.util.io.PopenExecutor$ExecArg eargp
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 2 // int fd
        start local 3 // boolean forChild
         0: .line 933
            iload 3 /* forChild */
            ifeq 3
         1: .line 934
            aload 1 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
            iload 2 /* fd */
            invokestatic jnr.posix.SpawnFileAction.close:(I)Ljnr/posix/SpawnFileAction;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 935
            iconst_0
            ireturn
         3: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* fd */
            invokeinterface jnr.posix.POSIX.close:(I)I
            ireturn
        end local 3 // boolean forChild
        end local 2 // int fd
        end local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 1 // int fd
        start local 2 // java.lang.String pathname
        start local 3 // int flags
        start local 4 // int perm
         0: .line 943
            aload 0 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fileActions:Ljava/util/List;
            aload 2 /* pathname */
            iload 1 /* fd */
            iload 3 /* flags */
            iload 4 /* perm */
            invokestatic jnr.posix.SpawnFileAction.open:(Ljava/lang/String;III)Ljnr/posix/SpawnFileAction;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 944
            return
        end local 4 // int perm
        end local 3 // int flags
        end local 2 // java.lang.String pathname
        end local 1 // int fd
        end local 0 // org.jruby.util.io.PopenExecutor$ExecArg eargp
      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 // org.jruby.Ruby runtime
        start local 1 // int fd
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 3 // java.lang.String[] errmsg
         0: .line 976
            iconst_0
            ireturn
        end local 3 // java.lang.String[] errmsg
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 1 // int fd
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.util.io.PopenExecutor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 5 // java.lang.String[] errmsg
         0: .line 982
            aload 4 /* sargp */
            ifnull 2
         1: .line 984
            aload 4 /* sargp */
            aload 1 /* context */
            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: .line 988
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given:()Z
            ifeq 5
         3: .line 989
            aload 2 /* runtime */
            aload 3 /* eargp */
            aload 4 /* sargp */
            aload 5 /* errmsg */
            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: .line 990
            iconst_m1
            ireturn
         5: .line 995
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.rlimit_limits:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* obj */
        start local 6 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 996
            aload 6 /* obj */
            ifnull 8
         7: .line 997
            aload 2 /* runtime */
            ldc "setting rlimit in child is unsupported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1004
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iconst_0
            istore 7 /* clearEnv */
        start local 7 // boolean clearEnv
         9: .line 1005
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
            ifeq 11
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do:()Z
            ifeq 11
        10: .line 1007
            aload 2 /* runtime */
            ldc "clearing env in child is not supported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 1014
      StackMap locals: int
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
            astore 8 /* env */
        start local 8 // org.jruby.RubyArray env
        12: .line 1015
            aload 8 /* env */
            ifnull 14
        13: .line 1016
            aload 3 /* eargp */
            aload 2 /* runtime */
            aload 8 /* env */
            iload 7 /* clearEnv */
            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: .line 1020
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given:()Z
            ifeq 16
        15: .line 1021
            aload 2 /* runtime */
            ldc "setting umask in child is unsupported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 1031
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            astore 6 /* obj */
        17: .line 1032
            aload 6 /* obj */
            ifnull 20
        18: .line 1033
            aload 2 /* runtime */
            aload 6 /* obj */
            checkcast org.jruby.RubyArray
            aload 3 /* eargp */
            aload 4 /* sargp */
            aload 5 /* errmsg */
            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: .line 1034
            iconst_m1
            ireturn
        20: .line 1037
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
            astore 6 /* obj */
        21: .line 1038
            aload 6 /* obj */
            ifnull 26
        22: .line 1039
            aload 4 /* sargp */
            ifnull 24
        23: .line 1040
            aload 2 /* runtime */
            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: .line 1042
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 6 /* obj */
            checkcast org.jruby.RubyArray
            aload 3 /* eargp */
            aload 5 /* errmsg */
            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: .line 1043
            iconst_m1
            ireturn
        26: .line 1047
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            astore 6 /* obj */
        27: .line 1048
            aload 6 /* obj */
            ifnull 30
        28: .line 1049
            aload 2 /* runtime */
            aload 6 /* obj */
            checkcast org.jruby.RubyArray
            aload 3 /* eargp */
            aload 4 /* sargp */
            aload 5 /* errmsg */
            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: .line 1050
            iconst_m1
            ireturn
        30: .line 1053
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifeq 32
        31: .line 1055
            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: .line 1069
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.gid_given:()Z
            ifeq 34
        33: .line 1070
            aload 2 /* runtime */
            ldc "setgid in the child is not supported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        34: .line 1079
      StackMap locals:
      StackMap stack:
            aload 3 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.uid_given:()Z
            ifeq 36
        35: .line 1080
            aload 2 /* runtime */
            ldc "setuid in the child is not supported"
            invokevirtual org.jruby.Ruby.newNotImplementedError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        36: .line 1099
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // org.jruby.RubyArray env
        end local 7 // boolean clearEnv
        end local 6 // org.jruby.runtime.builtin.IRubyObject obj
        end local 5 // java.lang.String[] errmsg
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.util.io.PopenExecutor this
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray ary
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // java.lang.String[] errmsg
         0: .line 1107
            lconst_0
            lstore 4 /* i */
        start local 4 // long i
         1: goto 9
         2: .line 1108
      StackMap locals: long
      StackMap stack:
            aload 1 /* ary */
            lload 4 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 7 /* elt */
        start local 7 // org.jruby.RubyArray elt
         3: .line 1109
            aload 7 /* elt */
            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 /* fd */
        start local 8 // int fd
         4: .line 1110
            aload 0 /* runtime */
            aload 2 /* eargp */
            iload 8 /* fd */
            iconst_1
            invokestatic org.jruby.util.io.PopenExecutor.redirectClose:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;IZ)I
            istore 6 /* ret */
        start local 6 // int ret
         5: .line 1111
            iload 6 /* ret */
            iconst_m1
            if_icmpne 8
         6: .line 1112
            aload 3 /* errmsg */
            ifnull 7
            aload 3 /* errmsg */
            iconst_0
            ldc "close"
            aastore
         7: .line 1113
      StackMap locals: int org.jruby.RubyArray int
      StackMap stack:
            iconst_m1
            ireturn
        end local 8 // int fd
        end local 7 // org.jruby.RubyArray elt
         8: .line 1107
      StackMap locals:
      StackMap stack:
            lload 4 /* i */
            lconst_1
            ladd
            lstore 4 /* i */
        end local 6 // int ret
      StackMap locals:
      StackMap stack:
         9: lload 4 /* i */
            aload 1 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 2
        10: .line 1116
            iconst_0
            ireturn
        end local 4 // long i
        end local 3 // java.lang.String[] errmsg
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray ary
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        start local 4 // java.lang.String[] errmsg
         0: .line 1124
            lconst_0
            lstore 5 /* i */
        start local 5 // long i
         1: goto 7
         2: .line 1125
      StackMap locals: long
      StackMap stack:
            aload 1 /* ary */
            lload 5 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 7 /* elt */
        start local 7 // org.jruby.RubyArray elt
         3: .line 1126
            aload 7 /* elt */
            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 /* newfd */
        start local 8 // int newfd
         4: .line 1127
            aload 7 /* elt */
            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 /* oldfd */
        start local 9 // int oldfd
         5: .line 1134
            aload 2 /* eargp */
            iload 9 /* oldfd */
            iload 8 /* newfd */
            invokestatic org.jruby.util.io.PopenExecutor.redirectDup2:(Lorg/jruby/util/io/PopenExecutor$ExecArg;II)V
        end local 9 // int oldfd
        end local 8 // int newfd
        end local 7 // org.jruby.RubyArray elt
         6: .line 1124
            lload 5 /* i */
            lconst_1
            ladd
            lstore 5 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 5 /* i */
            aload 1 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 2
         8: .line 1137
            iconst_0
            ireturn
        end local 5 // long i
        end local 4 // java.lang.String[] errmsg
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg sargp
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.Ruby runtime
      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 // int n
         0: .line 1148
            iload 0 /* n */
            ireturn
        end local 0 // int n
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1152
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargParentStart:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
         1: .line 1153
            return
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1157
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargParentStart1:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
         1: .line 1158
            goto 5
      StackMap locals:
      StackMap stack: org.jruby.exceptions.RaiseException
         2: astore 3 /* re */
        start local 3 // org.jruby.exceptions.RaiseException re
         3: .line 1159
            aload 1 /* runtime */
            aload 2 /* eargp */
            invokestatic org.jruby.util.io.PopenExecutor.execargParentEnd:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;)V
         4: .line 1160
            aload 3 /* re */
            athrow
        end local 3 // org.jruby.exceptions.RaiseException re
         5: .line 1162
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1169
            aload 2 /* eargp */
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            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: .line 1171
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
            astore 5 /* ary */
        start local 5 // org.jruby.RubyArray ary
         2: .line 1172
            aload 5 /* ary */
            ifnull 33
         3: .line 1174
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         4: goto 32
         5: .line 1175
      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 /* ary */
            lload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 8 /* elt */
        start local 8 // org.jruby.RubyArray elt
         6: .line 1176
            aload 8 /* elt */
            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 /* fd */
        start local 9 // int fd
         7: .line 1177
            aload 8 /* elt */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 10 /* param */
        start local 10 // org.jruby.RubyArray param
         8: .line 1178
            aload 10 /* param */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* vpath */
        start local 11 // org.jruby.runtime.builtin.IRubyObject vpath
         9: .line 1179
            aload 10 /* param */
            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 /* flags */
        start local 12 // int flags
        10: .line 1180
            aload 10 /* param */
            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 /* perm */
        start local 13 // int perm
        11: .line 1181
            aload 10 /* param */
            iconst_3
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 14 /* fd2v */
        start local 14 // org.jruby.runtime.builtin.IRubyObject fd2v
        12: .line 1183
            aload 14 /* fd2v */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 29
        13: .line 1184
            new org.jruby.RubyIO$Sysopen
            dup
            invokespecial org.jruby.RubyIO$Sysopen.<init>:()V
            astore 16 /* open_data */
        start local 16 // org.jruby.RubyIO$Sysopen open_data
        14: .line 1185
            aload 0 /* context */
            aload 11 /* vpath */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 11 /* vpath */
        15: .line 1189
      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 /* open_data */
            aload 11 /* vpath */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            putfield org.jruby.RubyIO$Sysopen.fname:Ljava/lang/String;
        16: .line 1190
            aload 16 /* open_data */
            iload 12 /* flags */
            putfield org.jruby.RubyIO$Sysopen.oflags:I
        17: .line 1191
            aload 16 /* open_data */
            iload 13 /* perm */
            putfield org.jruby.RubyIO$Sysopen.perm:I
        18: .line 1193
            aload 16 /* open_data */
            getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
            putfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
        19: .line 1194
            aload 1 /* runtime */
            aload 16 /* open_data */
            invokestatic org.jruby.util.io.PopenExecutor.open_func:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
            astore 17 /* ret */
        start local 17 // org.jruby.util.io.ChannelFD ret
        20: .line 1196
            aload 17 /* ret */
            ifnonnull 25
        21: .line 1197
            aload 16 /* open_data */
            getfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
            getstatic jnr.constants.platform.Errno.EINTR:Ljnr/constants/platform/Errno;
            if_acmpne 24
        22: .line 1198
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
        23: .line 1199
            goto 15
        24: .line 1201
      StackMap locals: org.jruby.util.io.ChannelFD
      StackMap stack:
            aload 1 /* runtime */
            aload 16 /* open_data */
            getfield org.jruby.RubyIO$Sysopen.errno:Ljnr/constants/platform/Errno;
            invokevirtual jnr.constants.platform.Errno.intValue:()I
            aload 11 /* vpath */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(ILjava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            pop
        25: .line 1204
      StackMap locals:
      StackMap stack:
            aload 17 /* ret */
            getfield org.jruby.util.io.ChannelFD.realFileno:I
            istore 15 /* fd2 */
        start local 15 // int fd2
        26: .line 1206
            aload 10 /* param */
            ldc 3
            aload 1 /* runtime */
            iload 15 /* fd2 */
            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: .line 1207
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
        end local 17 // org.jruby.util.io.ChannelFD ret
        end local 16 // org.jruby.RubyIO$Sysopen open_data
        28: .line 1210
            goto 30
        end local 15 // int fd2
        29: .line 1212
      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 /* fd2v */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 15 /* fd2 */
        start local 15 // int fd2
        30: .line 1214
      StackMap locals: int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 1 /* runtime */
            iload 9 /* fd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            iload 15 /* fd2 */
            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 // int fd2
        end local 14 // org.jruby.runtime.builtin.IRubyObject fd2v
        end local 13 // int perm
        end local 12 // int flags
        end local 11 // org.jruby.runtime.builtin.IRubyObject vpath
        end local 10 // org.jruby.RubyArray param
        end local 9 // int fd
        end local 8 // org.jruby.RubyArray elt
        31: .line 1174
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      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 /* i */
            aload 5 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 5
        end local 6 // long i
        33: .line 1218
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            astore 5 /* ary */
        34: .line 1219
            aload 5 /* ary */
            ifnull 42
        35: .line 1220
            aload 5 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            invokestatic org.jruby.util.io.PopenExecutor.runExecDup2TmpbufSize:(I)I
            istore 6 /* len */
        start local 6 // int len
        36: .line 1221
            iload 6 /* len */
            anewarray org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair
            astore 7 /* tmpbuf */
        start local 7 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] tmpbuf
        37: .line 1222
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        38: goto 40
      StackMap locals: int org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] int
      StackMap stack:
        39: aload 7 /* tmpbuf */
            iload 8 /* i */
            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 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 8 /* i */
            aload 7 /* tmpbuf */
            arraylength
            if_icmplt 39
        end local 8 // int i
        41: .line 1223
            aload 2 /* eargp */
            aload 7 /* tmpbuf */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.dup2_tmpbuf:[Lorg/jruby/util/io/PopenExecutor$run_exec_dup2_fd_pair;
        end local 7 // org.jruby.util.io.PopenExecutor$run_exec_dup2_fd_pair[] tmpbuf
        end local 6 // int len
        42: .line 1227
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
            ifeq 43
            aload 2 /* eargp */
            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 /* unsetenv_others */
        start local 3 // boolean unsetenv_others
        45: .line 1228
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.env_modification:Lorg/jruby/RubyArray;
            astore 4 /* envopts */
        start local 4 // org.jruby.RubyArray envopts
        46: .line 1229
            iload 3 /* unsetenv_others */
            ifne 47
            aload 4 /* envopts */
            ifnull 67
        47: .line 1230
      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 /* unsetenv_others */
            ifeq 50
        48: .line 1231
            aload 1 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 6 /* envtbl */
        start local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        49: .line 1232
            goto 52
        end local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        50: .line 1234
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            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 /* envtbl */
        start local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        51: .line 1235
            aload 6 /* envtbl */
            aload 1 /* runtime */
            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 /* envtbl */
        52: .line 1237
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* envopts */
            ifnull 69
        53: .line 1238
            aload 6 /* envtbl */
            checkcast org.jruby.RubyHash
            astore 7 /* stenv */
        start local 7 // org.jruby.RubyHash stenv
        54: .line 1240
            lconst_0
            lstore 8 /* i */
        start local 8 // long i
        55: goto 65
        56: .line 1241
      StackMap locals: org.jruby.RubyHash long
      StackMap stack:
            aload 4 /* envopts */
            lload 8 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* pair */
        start local 10 // org.jruby.runtime.builtin.IRubyObject pair
        57: .line 1242
            aload 10 /* pair */
            checkcast org.jruby.RubyArray
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* key */
        start local 11 // org.jruby.runtime.builtin.IRubyObject key
        58: .line 1243
            aload 10 /* pair */
            checkcast org.jruby.RubyArray
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* val */
        start local 12 // org.jruby.runtime.builtin.IRubyObject val
        59: .line 1244
            aload 12 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 63
        60: .line 1245
            aload 11 /* key */
            astore 13 /* stkey */
        start local 13 // org.jruby.runtime.builtin.IRubyObject stkey
        61: .line 1246
            aload 7 /* stenv */
            aload 13 /* stkey */
            invokevirtual org.jruby.RubyHash.fastDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            pop
        end local 13 // org.jruby.runtime.builtin.IRubyObject stkey
        62: .line 1247
            goto 64
        63: .line 1249
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* stenv */
            aload 0 /* context */
            aload 11 /* key */
            aload 12 /* val */
            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 // org.jruby.runtime.builtin.IRubyObject val
        end local 11 // org.jruby.runtime.builtin.IRubyObject key
        end local 10 // org.jruby.runtime.builtin.IRubyObject pair
        64: .line 1240
      StackMap locals:
      StackMap stack:
            lload 8 /* i */
            lconst_1
            ladd
            lstore 8 /* i */
      StackMap locals:
      StackMap stack:
        65: lload 8 /* i */
            aload 4 /* envopts */
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 56
        end local 8 // long i
        end local 7 // org.jruby.RubyHash stenv
        66: .line 1253
            goto 69
        end local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        67: .line 1256
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            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 /* envtbl */
        start local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        68: .line 1257
            aload 6 /* envtbl */
            aload 1 /* runtime */
            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 /* envtbl */
        69: .line 1259
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 6 /* envtbl */
            invokestatic org.jruby.util.io.PopenExecutor.buildEnvp:(Lorg/jruby/Ruby;Lorg/jruby/util/io/PopenExecutor$ExecArg;Lorg/jruby/runtime/builtin/IRubyObject;)V
        70: .line 1261
            return
        end local 6 // org.jruby.runtime.builtin.IRubyObject envtbl
        end local 5 // org.jruby.RubyArray ary
        end local 4 // org.jruby.RubyArray envopts
        end local 3 // boolean unsetenv_others
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1264
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            invokeinterface jnr.posix.POSIX.errno:()I
            istore 2 /* err */
        start local 2 // int err
         1: .line 1267
            aload 1 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         2: .line 1268
            aload 3 /* ary */
            ifnull 14
         3: .line 1270
            lconst_0
            lstore 4 /* i */
        start local 4 // long i
         4: goto 13
         5: .line 1271
      StackMap locals: int org.jruby.RubyArray long
      StackMap stack:
            aload 3 /* ary */
            lload 4 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 6 /* elt */
        start local 6 // org.jruby.RubyArray elt
         6: .line 1272
            aload 6 /* elt */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 7 /* param */
        start local 7 // org.jruby.RubyArray param
         7: .line 1275
            aload 7 /* param */
            iconst_3
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* fd2v */
        start local 8 // org.jruby.runtime.builtin.IRubyObject fd2v
         8: .line 1276
            aload 8 /* fd2v */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 12
         9: .line 1277
            aload 8 /* fd2v */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 9 /* fd2 */
        start local 9 // int fd2
        10: .line 1278
            aload 0 /* runtime */
            iload 9 /* fd2 */
            invokestatic org.jruby.util.io.PopenExecutor.parentRedirectClose:(Lorg/jruby/Ruby;I)V
        11: .line 1279
            aload 7 /* param */
            ldc 3
            aload 0 /* runtime */
            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 // int fd2
        end local 8 // org.jruby.runtime.builtin.IRubyObject fd2v
        end local 7 // org.jruby.RubyArray param
        end local 6 // org.jruby.RubyArray elt
        12: .line 1270
      StackMap locals:
      StackMap stack:
            lload 4 /* i */
            lconst_1
            ladd
            lstore 4 /* i */
      StackMap locals:
      StackMap stack:
        13: lload 4 /* i */
            aload 3 /* ary */
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 5
        end local 4 // long i
        14: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 2 /* err */
            invokeinterface jnr.posix.POSIX.errno:(I)V
        15: .line 1285
            return
        end local 3 // org.jruby.RubyArray ary
        end local 2 // int err
        end local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyIO$Sysopen data
         0: .line 1288
            aload 0 /* runtime */
            aload 1 /* data */
            invokestatic org.jruby.util.io.PopenExecutor.parentRedirectOpen:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
            astore 2 /* ret */
        start local 2 // org.jruby.util.io.ChannelFD ret
         1: .line 1289
            aload 1 /* data */
            aload 0 /* runtime */
            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: .line 1290
            aload 2 /* ret */
            areturn
        end local 2 // org.jruby.util.io.ChannelFD ret
        end local 1 // org.jruby.RubyIO$Sysopen data
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyIO$Sysopen data
         0: .line 1294
            aload 0 /* runtime */
            aload 1 /* data */
            invokestatic org.jruby.RubyIO.cloexecOpen:(Lorg/jruby/Ruby;Lorg/jruby/RubyIO$Sysopen;)Lorg/jruby/util/io/ChannelFD;
            areturn
        end local 1 // org.jruby.RubyIO$Sysopen data
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // int fd
         0: .line 1299
            iload 1 /* fd */
            iconst_2
            if_icmple 1
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            iload 1 /* fd */
            invokeinterface jnr.posix.POSIX.close:(I)I
            pop
         1: .line 1300
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int fd
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 2 // org.jruby.runtime.builtin.IRubyObject envtbl
         0: .line 1305
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* envp_buf */
        start local 4 // java.util.List envp_buf
         1: .line 1306
            aload 2 /* envtbl */
            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 /* entry */
        start local 5 // java.util.Map$Entry entry
         3: .line 1307
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 7 /* key */
        start local 7 // org.jruby.runtime.builtin.IRubyObject key
         4: .line 1308
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 8 /* val */
        start local 8 // org.jruby.runtime.builtin.IRubyObject val
         5: .line 1310
            aload 4 /* envp_buf */
            new java.lang.StringBuilder
            dup
            aload 0 /* runtime */
            aload 7 /* key */
            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: .line 1311
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1312
            aload 0 /* runtime */
            aload 8 /* val */
            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: .line 1310
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.jruby.runtime.builtin.IRubyObject val
        end local 7 // org.jruby.runtime.builtin.IRubyObject key
        end local 5 // java.util.Map$Entry entry
         9: .line 1306
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 1314
            aload 4 /* envp_buf */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 3 /* envp_str */
        start local 3 // java.lang.String[] envp_str
        11: .line 1315
            aload 4 /* envp_buf */
            aload 3 /* envp_str */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        12: .line 1316
            aload 1 /* eargp */
            aload 3 /* envp_str */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.envp_str:[Ljava/lang/String;
        13: .line 1317
            aload 1 /* eargp */
            aload 4 /* envp_buf */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.envp_buf:Ljava/util/List;
        14: .line 1318
            return
        end local 4 // java.util.List envp_buf
        end local 3 // java.lang.String[] envp_str
        end local 2 // org.jruby.runtime.builtin.IRubyObject envtbl
        end local 1 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.RubyHash h
        start local 4 // int maxhint
        start local 5 // org.jruby.runtime.builtin.IRubyObject ary
         0: .line 1323
            aload 5 /* ary */
            ifnull 20
         1: .line 1324
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         2: goto 19
         3: .line 1325
      StackMap locals: long
      StackMap stack:
            aload 5 /* ary */
            checkcast org.jruby.RubyArray
            lload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* elt */
        start local 8 // org.jruby.runtime.builtin.IRubyObject elt
         4: .line 1326
            aload 8 /* elt */
            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 /* fd */
        start local 9 // int fd
         5: .line 1327
            aload 3 /* h */
            aload 1 /* runtime */
            iload 9 /* fd */
            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: .line 1328
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "fd "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* fd */
            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: .line 1330
      StackMap locals: org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 5 /* ary */
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
            if_acmpeq 8
            aload 5 /* ary */
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            if_acmpne 9
         8: .line 1331
      StackMap locals:
      StackMap stack:
            aload 3 /* h */
            aload 0 /* context */
            aload 1 /* runtime */
            iload 9 /* fd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            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: .line 1332
      StackMap locals:
      StackMap stack:
            aload 5 /* ary */
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            if_acmpne 11
        10: .line 1333
            aload 3 /* h */
            aload 0 /* context */
            aload 1 /* runtime */
            iload 9 /* fd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 8 /* elt */
            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: .line 1335
      StackMap locals:
      StackMap stack:
            aload 3 /* h */
            aload 0 /* context */
            aload 1 /* runtime */
            iload 9 /* fd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            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: .line 1336
      StackMap locals:
      StackMap stack:
            iload 4 /* maxhint */
            iload 9 /* fd */
            if_icmpge 14
        13: .line 1337
            iload 9 /* fd */
            istore 4 /* maxhint */
        14: .line 1338
      StackMap locals:
      StackMap stack:
            aload 5 /* ary */
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            if_acmpeq 15
            aload 5 /* ary */
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            if_acmpne 18
        15: .line 1339
      StackMap locals:
      StackMap stack:
            aload 8 /* elt */
            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 /* fd */
        16: .line 1340
            iload 4 /* maxhint */
            iload 9 /* fd */
            if_icmpge 18
        17: .line 1341
            iload 9 /* fd */
            istore 4 /* maxhint */
        end local 9 // int fd
        end local 8 // org.jruby.runtime.builtin.IRubyObject elt
        18: .line 1324
      StackMap locals:
      StackMap stack:
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        19: lload 6 /* i */
            aload 5 /* ary */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 3
        end local 6 // long i
        20: .line 1345
      StackMap locals:
      StackMap stack:
            iload 4 /* maxhint */
            ireturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject ary
        end local 4 // int maxhint
        end local 3 // org.jruby.RubyHash h
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1349
            aload 1 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 3 /* h */
        start local 3 // org.jruby.RubyHash h
         1: .line 1351
            iconst_m1
            istore 5 /* maxhint */
        start local 5 // int maxhint
         2: .line 1354
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* h */
            iload 5 /* maxhint */
            aload 2 /* eargp */
            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 /* maxhint */
         3: .line 1355
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* h */
            iload 5 /* maxhint */
            aload 2 /* eargp */
            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 /* maxhint */
         4: .line 1356
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* h */
            iload 5 /* maxhint */
            aload 2 /* eargp */
            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 /* maxhint */
         5: .line 1357
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* eargp */
            aload 3 /* h */
            iload 5 /* maxhint */
            aload 2 /* eargp */
            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 /* maxhint */
         6: .line 1359
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            ifnull 36
         7: .line 1360
            aload 2 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            astore 4 /* ary */
        start local 4 // org.jruby.runtime.builtin.IRubyObject ary
         8: .line 1361
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         9: goto 35
        10: .line 1362
      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 /* ary */
            checkcast org.jruby.RubyArray
            lload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* elt */
        start local 8 // org.jruby.runtime.builtin.IRubyObject elt
        11: .line 1363
            aload 8 /* elt */
            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 /* newfd */
        start local 9 // int newfd
        12: .line 1364
            aload 8 /* elt */
            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 /* oldfd */
        start local 10 // int oldfd
        13: .line 1365
            iload 10 /* oldfd */
            istore 11 /* lastfd */
        start local 11 // int lastfd
        14: .line 1366
            aload 3 /* h */
            aload 1 /* runtime */
            iload 11 /* lastfd */
            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 /* val */
        start local 12 // org.jruby.runtime.builtin.IRubyObject val
        15: .line 1367
            lconst_0
            lstore 13 /* depth */
        start local 13 // long depth
        16: .line 1368
            goto 22
        17: .line 1369
      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 /* val */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 11 /* lastfd */
        18: .line 1370
            aload 3 /* h */
            aload 12 /* val */
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* val */
        19: .line 1371
            aload 4 /* ary */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lload 13 /* depth */
            lcmp
            ifge 21
        20: .line 1372
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "cyclic child fd redirection from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* oldfd */
            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: .line 1373
      StackMap locals:
      StackMap stack:
            lload 13 /* depth */
            lconst_1
            ladd
            lstore 13 /* depth */
        22: .line 1368
      StackMap locals:
      StackMap stack:
            aload 12 /* val */
            instanceof org.jruby.RubyFixnum
            ifeq 23
            aload 12 /* val */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getIntValue:()I
            ifge 17
        23: .line 1375
      StackMap locals:
      StackMap stack:
            aload 12 /* val */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            if_acmpeq 25
        24: .line 1376
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "child fd "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* oldfd */
            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: .line 1377
      StackMap locals:
      StackMap stack:
            iload 10 /* oldfd */
            iload 11 /* lastfd */
            if_icmpeq 34
        26: .line 1379
            aload 8 /* elt */
            checkcast org.jruby.RubyArray
            lconst_1
            aload 1 /* runtime */
            iload 11 /* lastfd */
            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: .line 1380
            aload 3 /* h */
            aload 0 /* context */
            aload 1 /* runtime */
            iload 9 /* newfd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 1 /* runtime */
            iload 11 /* lastfd */
            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: .line 1381
            aload 1 /* runtime */
            iload 10 /* oldfd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 12 /* val */
        29: .line 1382
            goto 32
        start local 15 // org.jruby.runtime.builtin.IRubyObject val2
        30: .line 1383
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* h */
            aload 0 /* context */
            aload 12 /* val */
            aload 1 /* runtime */
            iload 11 /* lastfd */
            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: .line 1384
            aload 15 /* val2 */
            astore 12 /* val */
        end local 15 // org.jruby.runtime.builtin.IRubyObject val2
        32: .line 1382
      StackMap locals:
      StackMap stack:
            aload 3 /* h */
            aload 12 /* val */
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 15 /* val2 */
        start local 15 // org.jruby.runtime.builtin.IRubyObject val2
        33: instanceof org.jruby.RubyFixnum
            ifne 30
        end local 15 // org.jruby.runtime.builtin.IRubyObject val2
        end local 13 // long depth
        end local 12 // org.jruby.runtime.builtin.IRubyObject val
        end local 11 // int lastfd
        end local 10 // int oldfd
        end local 9 // int newfd
        end local 8 // org.jruby.runtime.builtin.IRubyObject elt
        34: .line 1361
      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 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        35: lload 6 /* i */
            aload 4 /* ary */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            i2l
            lcmp
            iflt 10
        end local 6 // long i
        end local 4 // org.jruby.runtime.builtin.IRubyObject ary
        36: .line 1390
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.util.io.PopenExecutor$ExecArg org.jruby.RubyHash top int
      StackMap stack:
            aload 2 /* eargp */
            iload 5 /* maxhint */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.close_others_maxhint:I
        37: .line 1391
            aload 3 /* h */
            areturn
        end local 5 // int maxhint
        end local 3 // org.jruby.RubyHash h
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        start local 3 // org.jruby.runtime.builtin.IRubyObject key
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         0: .line 1403
            invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:()[I
            aload 3 /* key */
            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: .line 1405
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* id */
        start local 5 // java.lang.String id
         2: .line 1407
            aload 5 /* id */
            ldc "pgroup"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
         3: .line 1409
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given:()Z
            ifeq 5
         4: .line 1410
            aload 1 /* runtime */
            ldc "pgroup option specified twice"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1412
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* val */
            ifnull 6
            aload 4 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 8
         6: .line 1413
      StackMap locals:
      StackMap stack:
            ldc -1
            lstore 7 /* pgroup */
        start local 7 // long pgroup
         7: goto 14
        end local 7 // long pgroup
         8: .line 1414
      StackMap locals:
      StackMap stack:
            aload 4 /* val */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            if_acmpne 11
         9: .line 1415
            lconst_0
            lstore 7 /* pgroup */
        start local 7 // long pgroup
        10: goto 14
        end local 7 // long pgroup
        11: .line 1417
      StackMap locals:
      StackMap stack:
            aload 4 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lstore 7 /* pgroup */
        start local 7 // long pgroup
        12: .line 1418
            lload 7 /* pgroup */
            lconst_0
            lcmp
            ifge 14
        13: .line 1419
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "negative process group symbol : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 7 /* pgroup */
            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: .line 1422
      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 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.pgroup_given_set:()V
        15: .line 1423
            aload 2 /* eargp */
            lload 7 /* pgroup */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.pgroup_pgid:J
        end local 7 // long pgroup
        16: .line 1424
            goto 70
        17: .line 1437
      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 /* id */
            ldc "rlimit_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            pop
        18: .line 1466
            aload 5 /* id */
            ldc "unsetenv_others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        19: .line 1467
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given:()Z
            ifeq 21
        20: .line 1468
            aload 1 /* runtime */
            ldc "unsetenv_others option specified twice"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        21: .line 1470
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_given_set:()V
        22: .line 1471
            aload 4 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 25
        23: .line 1472
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do_set:()V
        24: .line 1473
            goto 70
        25: .line 1474
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.unsetenv_others_do_clear:()V
        26: .line 1476
            goto 70
        27: .line 1477
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "chdir"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        28: .line 1478
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifeq 30
        29: .line 1479
            aload 1 /* runtime */
            ldc "chdir option specified twice"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        30: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* val */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 7 /* valTmp */
        start local 7 // org.jruby.RubyString valTmp
        31: .line 1482
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_set:()V
        32: .line 1483
            aload 2 /* eargp */
            aload 7 /* valTmp */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
        end local 7 // org.jruby.RubyString valTmp
        33: .line 1484
            goto 70
        34: .line 1485
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "umask"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        35: .line 1486
            aload 4 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            istore 7 /* cmask */
        start local 7 // int cmask
        36: .line 1487
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given:()Z
            ifeq 38
        37: .line 1488
            aload 1 /* runtime */
            ldc "umask option specified twice"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        38: .line 1490
      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 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.umask_given_set:()V
        39: .line 1491
            aload 2 /* eargp */
            iload 7 /* cmask */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.umask_mask:I
        end local 7 // int cmask
        40: .line 1492
            goto 70
        41: .line 1493
      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 /* id */
            ldc "close_others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        42: .line 1494
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_given:()Z
            ifeq 44
        43: .line 1495
            aload 1 /* runtime */
            ldc "close_others option specified twice"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        44: .line 1497
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_given_set:()V
        45: .line 1498
            aload 4 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 48
        46: .line 1499
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_do_set:()V
        47: .line 1500
            goto 70
        48: .line 1501
      StackMap locals:
      StackMap stack:
            aload 2 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.close_others_do_clear:()V
        49: .line 1503
            goto 70
        50: .line 1504
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "in"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        51: .line 1505
            aload 1 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 3 /* key */
        52: .line 1506
            aload 0 /* context */
            aload 1 /* runtime */
            aload 3 /* key */
            aload 4 /* val */
            aload 2 /* eargp */
            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: .line 1507
            goto 70
        54: .line 1508
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "out"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 58
        55: .line 1509
            aload 1 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 3 /* key */
        56: .line 1510
            aload 0 /* context */
            aload 1 /* runtime */
            aload 3 /* key */
            aload 4 /* val */
            aload 2 /* eargp */
            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: .line 1511
            goto 70
        58: .line 1512
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "err"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 62
        59: .line 1513
            aload 1 /* runtime */
            invokestatic org.jruby.RubyFixnum.two:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 3 /* key */
        60: .line 1514
            aload 0 /* context */
            aload 1 /* runtime */
            aload 3 /* key */
            aload 4 /* val */
            aload 2 /* eargp */
            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: .line 1515
            goto 70
        62: .line 1516
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "uid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            pop
        63: .line 1532
            aload 5 /* id */
            ldc "gid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            pop
        64: .line 1549
            iconst_1
            ireturn
        end local 5 // java.lang.String id
        65: .line 1554
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            instanceof org.jruby.RubyFixnum
            ifne 67
        66: .line 1555
            iconst_1
            ireturn
        67: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* runtime */
            aload 3 /* key */
            aload 4 /* val */
            aload 2 /* eargp */
            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: .line 1561
            goto 70
        69: .line 1564
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        70: .line 1567
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // org.jruby.runtime.builtin.IRubyObject key
        end local 2 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
        start local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1577
            invokestatic org.jruby.util.io.PopenExecutor.$SWITCH_TABLE$org$jruby$runtime$ClassIndex:()[I
            aload 3 /* val */
            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: .line 1579
      StackMap locals:
      StackMap stack:
            aload 3 /* val */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 9 /* id */
        start local 9 // java.lang.String id
         2: .line 1580
            aload 9 /* id */
            ldc "close"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 1581
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
         4: .line 1582
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_close:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1583
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
         6: .line 1584
      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 /* id */
            ldc "in"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 1585
            aload 1 /* runtime */
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
         8: .line 1586
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1587
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        10: .line 1588
      StackMap locals:
      StackMap stack:
            aload 9 /* id */
            ldc "out"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 1589
            aload 1 /* runtime */
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        12: .line 1590
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1591
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        14: .line 1592
      StackMap locals:
      StackMap stack:
            aload 9 /* id */
            ldc "err"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 1593
            aload 1 /* runtime */
            iconst_2
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        16: .line 1594
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1595
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        18: .line 1597
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong exec redirect symbol: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* id */
            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 // java.lang.String id
        19: .line 1603
      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 /* runtime */
            aload 3 /* val */
            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 /* val */
        20: .line 1606
      StackMap locals:
      StackMap stack:
            aload 3 /* val */
            instanceof org.jruby.RubyFixnum
            ifeq 24
        21: .line 1607
            aload 3 /* val */
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        22: .line 1608
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1609
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        24: .line 1612
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            aload 2 /* key */
            aload 3 /* val */
            aload 4 /* eargp */
            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: .line 1613
            goto 70
        26: .line 1616
      StackMap locals:
      StackMap stack:
            aload 3 /* val */
            checkcast org.jruby.RubyArray
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* path */
        start local 6 // org.jruby.runtime.builtin.IRubyObject path
        27: .line 1617
            aload 3 /* val */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_2
            if_icmpne 32
            aload 6 /* path */
            instanceof org.jruby.RubySymbol
            ifeq 32
        28: .line 1618
            aload 6 /* path */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "child"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        29: .line 1619
            aload 1 /* runtime */
            aload 3 /* val */
            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 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        30: .line 1620
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2_child:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1621
            goto 70
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        32: .line 1623
      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 /* context */
            aload 6 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* path */
        33: .line 1624
            aload 3 /* val */
            checkcast org.jruby.RubyArray
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* flags */
        start local 7 // org.jruby.runtime.builtin.IRubyObject flags
        34: .line 1626
            aload 7 /* flags */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 37
        35: .line 1627
            getstatic jnr.constants.platform.OpenFlags.O_RDONLY:Ljnr/constants/platform/OpenFlags;
            invokevirtual jnr.constants.platform.OpenFlags.intValue:()I
            istore 10 /* intFlags */
        start local 10 // int intFlags
        36: goto 41
        end local 10 // int intFlags
        37: .line 1628
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* flags */
            instanceof org.jruby.RubyString
            ifeq 40
        38: .line 1629
            aload 1 /* runtime */
            aload 7 /* flags */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.io.OpenFile.ioModestrOflags:(Lorg/jruby/Ruby;Ljava/lang/String;)I
            istore 10 /* intFlags */
        start local 10 // int intFlags
        39: goto 41
        end local 10 // int intFlags
        40: .line 1631
      StackMap locals:
      StackMap stack:
            aload 7 /* flags */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            istore 10 /* intFlags */
        start local 10 // int intFlags
        41: .line 1632
      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 /* runtime */
            iload 10 /* intFlags */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 7 /* flags */
        42: .line 1633
            aload 3 /* val */
            checkcast org.jruby.RubyArray
            iconst_2
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* perm */
        start local 8 // org.jruby.runtime.builtin.IRubyObject perm
        43: .line 1634
            aload 8 /* perm */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 44
            aload 1 /* runtime */
            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 /* perm */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
      StackMap locals:
      StackMap stack: org.jruby.RubyInteger
        45: astore 8 /* perm */
        46: .line 1635
            aload 1 /* runtime */
        47: .line 1636
            aload 6 /* path */
            checkcast org.jruby.RubyString
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
        48: .line 1637
            aload 7 /* flags */
        49: .line 1638
            aload 8 /* perm */
        50: .line 1635
            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 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        51: .line 1639
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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 // int intFlags
        end local 8 // org.jruby.runtime.builtin.IRubyObject perm
        end local 7 // org.jruby.runtime.builtin.IRubyObject flags
        52: .line 1641
            goto 70
        end local 6 // org.jruby.runtime.builtin.IRubyObject path
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        53: .line 1644
      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 /* val */
            astore 6 /* path */
        start local 6 // org.jruby.runtime.builtin.IRubyObject path
        54: .line 1645
            aload 0 /* context */
            aload 6 /* path */
            invokestatic org.jruby.RubyFile.get_path:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* path */
        55: .line 1646
            aload 2 /* key */
            instanceof org.jruby.RubyIO
            ifeq 57
        56: .line 1647
            aload 1 /* runtime */
            aload 2 /* key */
            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 /* key */
        57: .line 1648
      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 /* key */
            instanceof org.jruby.RubyFixnum
            ifeq 60
            aload 2 /* key */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getIntValue:()I
            iconst_1
            if_icmpeq 58
            aload 2 /* key */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getIntValue:()I
            iconst_2
            if_icmpne 60
        58: .line 1649
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            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 /* flags */
        start local 7 // org.jruby.runtime.builtin.IRubyObject flags
        59: goto 61
        end local 7 // org.jruby.runtime.builtin.IRubyObject flags
        60: .line 1651
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            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 /* flags */
        start local 7 // org.jruby.runtime.builtin.IRubyObject flags
        61: .line 1652
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* runtime */
            sipush 420
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 8 /* perm */
        start local 8 // org.jruby.runtime.builtin.IRubyObject perm
        62: .line 1653
            aload 1 /* runtime */
        63: .line 1654
            aload 6 /* path */
            checkcast org.jruby.RubyString
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
        64: .line 1655
            aload 7 /* flags */
        65: .line 1656
            aload 8 /* perm */
        66: .line 1653
            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 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
        67: .line 1657
            aload 4 /* eargp */
            aload 1 /* runtime */
            aload 4 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_open:Lorg/jruby/RubyArray;
            aload 2 /* key */
            aload 5 /* param */
            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: .line 1658
            goto 70
        end local 8 // org.jruby.runtime.builtin.IRubyObject perm
        end local 7 // org.jruby.runtime.builtin.IRubyObject flags
        end local 6 // org.jruby.runtime.builtin.IRubyObject path
        end local 5 // org.jruby.runtime.builtin.IRubyObject param
        69: .line 1661
      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 /* runtime */
            aload 2 /* key */
            aload 3 /* val */
            aload 4 /* eargp */
            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: .line 1664
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject val
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1669
            aload 2 /* val */
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 1670
            aload 0 /* runtime */
            aload 4 /* tmp */
            invokestatic org.jruby.util.TypeConverter.ioCheckIO:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* val */
         2: .line 1671
            aload 2 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 6
         3: .line 1672
            aload 0 /* runtime */
            aload 2 /* val */
            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 /* val */
         4: .line 1673
            aload 2 /* val */
            astore 5 /* param */
        start local 5 // org.jruby.runtime.builtin.IRubyObject param
         5: .line 1674
            aload 3 /* eargp */
            aload 0 /* runtime */
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.fd_dup2:Lorg/jruby/RubyArray;
            aload 1 /* key */
            aload 5 /* param */
            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 // org.jruby.runtime.builtin.IRubyObject param
         6: .line 1676
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* runtime */
            ldc "wrong exec redirect action"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // org.jruby.runtime.builtin.IRubyObject val
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject v
        start local 2 // boolean iskey
         0: .line 1683
            aload 1 /* v */
            instanceof org.jruby.RubyFixnum
            ifeq 3
         1: .line 1684
            aload 1 /* v */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* fd */
        start local 4 // int fd
         2: .line 1685
            goto 23
        end local 4 // int fd
         3: .line 1686
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            instanceof org.jruby.RubySymbol
            ifeq 15
         4: .line 1687
            aload 1 /* v */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* id */
        start local 5 // java.lang.String id
         5: .line 1688
            aload 5 /* id */
            ldc "in"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 1689
            iconst_0
            istore 4 /* fd */
        start local 4 // int fd
         7: goto 23
        end local 4 // int fd
         8: .line 1690
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int top top java.lang.String
      StackMap stack:
            aload 5 /* id */
            ldc "out"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1691
            iconst_1
            istore 4 /* fd */
        start local 4 // int fd
        10: goto 23
        end local 4 // int fd
        11: .line 1692
      StackMap locals:
      StackMap stack:
            aload 5 /* id */
            ldc "err"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 1693
            iconst_2
            istore 4 /* fd */
        start local 4 // int fd
        13: goto 23
        end local 4 // int fd
        14: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "wrong exec redirect"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // java.lang.String id
        15: .line 1697
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 1 /* v */
            aload 0 /* runtime */
            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 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        16: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 22
        17: .line 1699
            aload 3 /* tmp */
            checkcast org.jruby.RubyIO
            invokevirtual org.jruby.RubyIO.getOpenFileChecked:()Lorg/jruby/util/io/OpenFile;
            astore 5 /* fptr */
        start local 5 // org.jruby.util.io.OpenFile fptr
        18: .line 1700
            aload 5 /* fptr */
            getfield org.jruby.util.io.OpenFile.tiedIOForWriting:Lorg/jruby/RubyIO;
            ifnull 20
        19: .line 1701
            aload 0 /* runtime */
            ldc "duplex IO redirection"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        20: .line 1702
      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 /* fptr */
            invokevirtual org.jruby.util.io.OpenFile.fd:()Lorg/jruby/util/io/ChannelFD;
            invokevirtual org.jruby.util.io.ChannelFD.bestFileno:()I
            istore 4 /* fd */
        end local 5 // org.jruby.util.io.OpenFile fptr
        start local 4 // int fd
        21: .line 1703
            goto 23
        end local 4 // int fd
        22: .line 1705
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* runtime */
            ldc "wrong exec redirect"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        start local 4 // int fd
        23: .line 1707
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int top int
      StackMap stack:
            iload 4 /* fd */
            ifge 25
        24: .line 1708
            aload 0 /* runtime */
            ldc "negative file descriptor"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        25: .line 1710
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 27
            iload 4 /* fd */
            iconst_3
            if_icmplt 27
            iload 2 /* iskey */
            ifeq 27
        26: .line 1711
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong file descriptor ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* fd */
            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: .line 1713
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            iload 4 /* fd */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // int fd
        end local 2 // boolean iskey
        end local 1 // org.jruby.runtime.builtin.IRubyObject v
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray ary
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject param
         0: .line 1718
            aload 1 /* ary */
            ifnonnull 2
         1: .line 1719
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 1 /* ary */
         2: .line 1721
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof org.jruby.RubyArray
            ifne 8
         3: .line 1722
            aload 0 /* runtime */
            aload 2 /* key */
            aload 3 /* param */
            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 /* fd */
        start local 4 // org.jruby.runtime.builtin.IRubyObject fd
         6: .line 1723
            aload 1 /* ary */
            aload 0 /* runtime */
            aload 4 /* fd */
            aload 3 /* param */
            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 // org.jruby.runtime.builtin.IRubyObject fd
         7: .line 1724
            goto 17
         8: .line 1727
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 16
        10: .line 1728
      StackMap locals: int
      StackMap stack:
            aload 2 /* key */
            checkcast org.jruby.RubyArray
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* v */
        start local 5 // org.jruby.runtime.builtin.IRubyObject v
        11: .line 1729
            aload 0 /* runtime */
            aload 5 /* v */
            aload 3 /* param */
            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 /* fd */
        start local 6 // org.jruby.runtime.builtin.IRubyObject fd
        14: .line 1730
            aload 1 /* ary */
            aload 0 /* runtime */
            aload 6 /* fd */
            aload 3 /* param */
            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 // org.jruby.runtime.builtin.IRubyObject fd
        end local 5 // org.jruby.runtime.builtin.IRubyObject v
        15: .line 1727
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 2 /* key */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 10
        end local 4 // int i
        17: .line 1734
      StackMap locals:
      StackMap stack:
            aload 1 /* ary */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject param
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        start local 2 // boolean accept_shell
         0: .line 1742
            new org.jruby.util.io.PopenExecutor$ExecArg
            dup
            invokespecial org.jruby.util.io.PopenExecutor$ExecArg.<init>:()V
            astore 3 /* eargp */
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         1: .line 1743
            aload 0 /* context */
            aload 1 /* argv */
            iload 2 /* accept_shell */
            aload 3 /* eargp */
            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: .line 1744
            aload 3 /* eargp */
            areturn
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // boolean accept_shell
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        start local 2 // boolean accept_shell
        start local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1750
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            astore 6 /* env_opt */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] env_opt
         1: .line 1751
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject[]
            dup
            iconst_0
            aload 1 /* argv */
            aastore
            astore 7 /* argv_p */
        start local 7 // org.jruby.runtime.builtin.IRubyObject[][] argv_p
         2: .line 1752
            aload 0 /* context */
            aload 7 /* argv_p */
            iload 2 /* accept_shell */
            aload 6 /* env_opt */
            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 /* prog */
        start local 4 // org.jruby.RubyString prog
         3: .line 1753
            aload 0 /* context */
            aload 4 /* prog */
            aload 7 /* argv_p */
            iconst_0
            aaload
            aload 6 /* env_opt */
            iconst_0
            aaload
            aload 6 /* env_opt */
            iconst_1
            aaload
            aload 3 /* eargp */
            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: .line 1754
            aload 3 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 5
            aload 3 /* eargp */
            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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         6: astore 5 /* ret */
        start local 5 // org.jruby.RubyString ret
         7: .line 1755
            aload 5 /* ret */
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject[][] argv_p
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] env_opt
        end local 5 // org.jruby.RubyString ret
        end local 4 // org.jruby.RubyString prog
        end local 3 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 2 // boolean accept_shell
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[][] argv_p
        start local 2 // boolean accept_shell
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] env_opt
         0: .line 1760
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1763
            iconst_0
            istore 7 /* beg */
        start local 7 // int beg
         2: .line 1764
            aload 1 /* argv_p */
            iconst_0
            aaload
            arraylength
            istore 8 /* end */
        start local 8 // int end
         3: .line 1766
            iload 8 /* end */
            iconst_1
            if_icmplt 8
         4: .line 1767
            aload 4 /* runtime */
            aload 1 /* argv_p */
            iconst_0
            aaload
            iload 8 /* end */
            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 /* hash */
        start local 5 // org.jruby.runtime.builtin.IRubyObject hash
         5: .line 1768
            aload 5 /* hash */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         6: .line 1769
            aload 3 /* env_opt */
            iconst_1
            aload 5 /* hash */
            aastore
         7: .line 1770
            iinc 8 /* end */ -1
        end local 5 // org.jruby.runtime.builtin.IRubyObject hash
         8: .line 1774
      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 /* end */
            iconst_1
            if_icmplt 13
         9: .line 1775
            aload 4 /* runtime */
            aload 1 /* argv_p */
            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 /* hash */
        start local 5 // org.jruby.runtime.builtin.IRubyObject hash
        10: .line 1776
            aload 5 /* hash */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 13
        11: .line 1777
            aload 3 /* env_opt */
            iconst_0
            aload 5 /* hash */
            aastore
        12: .line 1778
            iinc 7 /* beg */ 1
        end local 5 // org.jruby.runtime.builtin.IRubyObject hash
        13: .line 1781
      StackMap locals:
      StackMap stack:
            aload 1 /* argv_p */
            iconst_0
            aload 1 /* argv_p */
            iconst_0
            aaload
            iload 7 /* beg */
            iload 8 /* end */
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            aastore
        14: .line 1782
            aload 0 /* context */
            aload 1 /* argv_p */
            iconst_0
            aaload
            invokestatic org.jruby.util.io.PopenExecutor.checkArgv:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* prog */
        start local 6 // org.jruby.RubyString prog
        15: .line 1783
            aload 6 /* prog */
            ifnonnull 19
        16: .line 1784
            aload 1 /* argv_p */
            iconst_0
            aaload
            iconst_0
            aaload
            checkcast org.jruby.RubyString
            astore 6 /* prog */
        17: .line 1785
            iload 2 /* accept_shell */
            ifeq 19
            iload 8 /* end */
            iload 7 /* beg */
            isub
            iconst_1
            if_icmpne 19
        18: .line 1786
            aload 1 /* argv_p */
            iconst_0
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        19: .line 1789
      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 /* prog */
            areturn
        end local 8 // int end
        end local 7 // int beg
        end local 6 // org.jruby.RubyString prog
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] env_opt
        end local 2 // boolean accept_shell
        end local 1 // org.jruby.runtime.builtin.IRubyObject[][] argv_p
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
         0: .line 1794
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1799
            aload 2 /* runtime */
            aload 1 /* argv */
            iconst_1
            ldc 2147483647
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         2: .line 1801
            aconst_null
            astore 4 /* prog */
        start local 4 // org.jruby.RubyString prog
         3: .line 1802
            aload 2 /* runtime */
            aload 1 /* argv */
            iconst_0
            aaload
            invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         4: .line 1803
            aload 3 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 12
         5: .line 1804
            aload 3 /* tmp */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_2
            if_icmpeq 7
         6: .line 1805
            aload 2 /* runtime */
            ldc "wrong first argument"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1807
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack:
            aload 3 /* tmp */
            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 /* prog */
         8: .line 1808
            aload 1 /* argv */
            iconst_0
            aload 3 /* tmp */
            checkcast org.jruby.RubyArray
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
         9: .line 1809
            aload 2 /* runtime */
            aload 4 /* prog */
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
        10: .line 1810
            aload 4 /* prog */
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* prog */
        11: .line 1811
            aload 4 /* prog */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
        12: .line 1813
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 1814
      StackMap locals: int
      StackMap stack:
            aload 1 /* argv */
            iload 5 /* i */
            aload 1 /* argv */
            iload 5 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            aastore
        15: .line 1815
            aload 1 /* argv */
            iload 5 /* i */
            aload 1 /* argv */
            iload 5 /* i */
            aaload
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.newFrozen:()Lorg/jruby/RubyString;
            aastore
        16: .line 1816
            aload 2 /* runtime */
            aload 1 /* argv */
            iload 5 /* i */
            aaload
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
        17: .line 1813
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 1 /* argv */
            arraylength
            if_icmplt 14
        19: .line 1819
            aload 4 /* prog */
            areturn
        end local 5 // int i
        end local 4 // org.jruby.RubyString prog
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString prog
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] argv
        start local 3 // org.jruby.runtime.builtin.IRubyObject env
        start local 4 // org.jruby.runtime.builtin.IRubyObject opthash
        start local 5 // org.jruby.util.io.PopenExecutor$ExecArg eargp
         0: .line 1858
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 1859
            aload 2 /* argv */
            arraylength
            istore 7 /* argc */
        start local 7 // int argc
         2: .line 1861
            aload 4 /* opthash */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         3: .line 1862
            aload 0 /* context */
            aload 6 /* runtime */
            aload 4 /* opthash */
            checkcast org.jruby.RubyHash
            aload 5 /* eargp */
            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: .line 1865
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentDirectory:()Ljava/lang/String;
            astore 8 /* virtualCWD */
        start local 8 // java.lang.String virtualCWD
         5: .line 1866
            aload 8 /* virtualCWD */
            aload 6 /* runtime */
            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: .line 1867
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            astore 9 /* arg */
        start local 9 // java.lang.String arg
         7: .line 1870
            aload 6 /* runtime */
            aload 9 /* arg */
            invokestatic org.jruby.util.ShellLauncher.changeDirInsideJar:(Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 9 /* arg */
            ifnull 10
         8: .line 1871
            aload 6 /* runtime */
            aload 9 /* arg */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 1 /* prog */
         9: .line 1872
            goto 14
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        10: aload 8 /* virtualCWD */
            ldc "uri:classloader:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 14
        11: .line 1874
            aload 5 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifne 14
        12: .line 1876
            aload 5 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given_set:()V
        13: .line 1877
            aload 5 /* eargp */
            aload 8 /* virtualCWD */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.chdir_dir:Ljava/lang/String;
        end local 9 // java.lang.String arg
        14: .line 1882
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifeq 17
            iload 7 /* argc */
            iconst_1
            if_icmple 17
        15: .line 1883
            aload 6 /* runtime */
            aload 2 /* argv */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 9 /* array */
        start local 9 // org.jruby.RubyArray array
        16: .line 1884
            aload 9 /* array */
            aload 0 /* context */
            aload 6 /* runtime */
            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 /* prog */
        end local 9 // org.jruby.RubyArray array
        17: .line 1887
      StackMap locals:
      StackMap stack:
            aload 3 /* env */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 19
        18: .line 1888
            aload 5 /* eargp */
            aload 0 /* context */
            aload 3 /* env */
            checkcast org.jruby.RubyHash
            aload 5 /* eargp */
            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: .line 1891
      StackMap locals:
      StackMap stack:
            aload 1 /* prog */
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            astore 1 /* prog */
        20: .line 1893
            aload 5 /* eargp */
            iload 7 /* argc */
            ifeq 21
            aload 5 /* eargp */
            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: .line 1894
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 25
        24: .line 1895
            aload 5 /* eargp */
            aload 1 /* prog */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
            goto 26
        25: .line 1897
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            aload 1 /* prog */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
        26: .line 1899
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifne 77
        27: .line 1900
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifeq 77
        28: .line 1903
            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 /* first */
        start local 11 // org.jruby.util.ByteList first
        29: .line 1904
            iconst_0
            istore 12 /* has_meta */
        start local 12 // boolean has_meta
        30: .line 1929
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 13 /* progByteList */
        start local 13 // org.jruby.util.ByteList progByteList
        31: .line 1930
            aload 13 /* progByteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* pBytes */
        start local 9 // byte[] pBytes
        32: .line 1931
            iconst_0
            istore 10 /* p */
        start local 10 // int p
        33: goto 49
        34: .line 1932
      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 /* progByteList */
            iload 10 /* p */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            bipush 32
            if_icmpeq 35
            aload 13 /* progByteList */
            iload 10 /* p */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            bipush 9
            if_icmpne 37
        35: .line 1933
      StackMap locals:
      StackMap stack:
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
            if_acmpeq 38
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 38
            aload 11 /* first */
            iload 10 /* p */
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.begin:()I
            isub
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        36: .line 1934
            goto 38
        37: .line 1936
      StackMap locals:
      StackMap stack:
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
            if_acmpne 38
            aload 11 /* first */
            aload 9 /* pBytes */
            invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
            aload 11 /* first */
            iload 10 /* p */
            aload 13 /* progByteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            iadd
            invokevirtual org.jruby.util.ByteList.setBegin:(I)V
        38: .line 1938
      StackMap locals:
      StackMap stack:
            iload 12 /* has_meta */
            ifne 40
            ldc "*?{}[]<>()~&|\\$;'`\"\n#"
            aload 13 /* progByteList */
            iload 10 /* p */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            sipush 255
            iand
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 40
        39: .line 1939
            iconst_1
            istore 12 /* has_meta */
        40: .line 1940
      StackMap locals:
      StackMap stack:
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 46
        41: .line 1941
            aload 13 /* progByteList */
            iload 10 /* p */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            bipush 61
            if_icmpne 44
        42: .line 1942
            iconst_1
            istore 12 /* has_meta */
        43: .line 1943
            goto 46
        44: .line 1944
      StackMap locals:
      StackMap stack:
            aload 13 /* progByteList */
            iload 10 /* p */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            bipush 47
            if_icmpne 46
        45: .line 1945
            aload 11 /* first */
            sipush 256
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        46: .line 1948
      StackMap locals:
      StackMap stack:
            iload 12 /* has_meta */
            ifeq 48
        47: .line 1949
            goto 50
        48: .line 1931
      StackMap locals:
      StackMap stack:
            iinc 10 /* p */ 1
      StackMap locals:
      StackMap stack:
        49: iload 10 /* p */
            aload 13 /* progByteList */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmplt 34
        50: .line 1951
      StackMap locals:
      StackMap stack:
            iload 12 /* has_meta */
            ifne 55
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            getstatic org.jruby.util.io.PopenExecutor.DUMMY_ARRAY:[B
            if_acmpeq 55
        51: .line 1952
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 52
            aload 11 /* first */
            iload 10 /* p */
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            isub
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        52: .line 1953
      StackMap locals:
      StackMap stack:
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifle 55
            aload 11 /* first */
            invokevirtual org.jruby.util.ByteList.length:()I
            bipush 8
            if_icmpgt 55
        53: .line 1954
            getstatic org.jruby.util.io.PopenExecutor.posix_sh_cmds:[Ljava/lang/String;
            aload 11 /* first */
            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: .line 1955
            iconst_1
            istore 12 /* has_meta */
        55: .line 1957
      StackMap locals:
      StackMap stack:
            iload 12 /* has_meta */
            ifne 57
            aload 5 /* eargp */
            invokevirtual org.jruby.util.io.PopenExecutor$ExecArg.chdir_given:()Z
            ifne 57
        56: .line 1959
            aload 5 /* eargp */
            iconst_0
            putfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
        57: .line 1961
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 77
        58: .line 1962
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* argv_buf */
        start local 14 // java.util.List argv_buf
        59: .line 1963
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* pBytes */
        60: .line 1964
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 10 /* p */
        61: .line 1965
            aload 1 /* prog */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 10 /* p */
            iadd
            istore 15 /* pEnd */
        start local 15 // int pEnd
        62: .line 1966
            goto 72
        63: .line 1968
      StackMap locals: java.util.List int
      StackMap stack:
            iinc 10 /* p */ 1
        64: .line 1967
      StackMap locals:
      StackMap stack:
            iload 10 /* p */
            iload 15 /* pEnd */
            if_icmpge 65
            aload 9 /* pBytes */
            iload 10 /* p */
            baload
            bipush 32
            if_icmpeq 63
            aload 9 /* pBytes */
            iload 10 /* p */
            baload
            bipush 9
            if_icmpeq 63
        65: .line 1969
      StackMap locals:
      StackMap stack:
            iload 10 /* p */
            iload 15 /* pEnd */
            if_icmpge 72
        66: .line 1970
            iload 10 /* p */
            istore 16 /* w */
        start local 16 // int w
        67: .line 1971
            goto 69
        68: .line 1972
      StackMap locals: int
      StackMap stack:
            iinc 10 /* p */ 1
        69: .line 1971
      StackMap locals:
      StackMap stack:
            iload 10 /* p */
            iload 15 /* pEnd */
            if_icmpge 70
            aload 9 /* pBytes */
            iload 10 /* p */
            baload
            bipush 32
            if_icmpeq 70
            aload 9 /* pBytes */
            iload 10 /* p */
            baload
            bipush 9
            if_icmpne 68
        70: .line 1973
      StackMap locals:
      StackMap stack:
            aload 14 /* argv_buf */
            aload 9 /* pBytes */
            iload 16 /* w */
            iload 10 /* p */
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        71: .line 1974
            aload 5 /* eargp */
            aload 14 /* argv_buf */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
        end local 16 // int w
        72: .line 1966
      StackMap locals:
      StackMap stack:
            iload 10 /* p */
            iload 15 /* pEnd */
            if_icmplt 64
        73: .line 1977
            aload 14 /* argv_buf */
            invokeinterface java.util.List.size:()I
            ifle 76
        74: .line 1978
            aload 5 /* eargp */
            aload 6 /* runtime */
            aload 14 /* argv_buf */
            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: .line 1979
            goto 77
        76: .line 1980
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            aload 6 /* runtime */
            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 // int pEnd
        end local 14 // java.util.List argv_buf
        end local 13 // org.jruby.util.ByteList progByteList
        end local 12 // boolean has_meta
        end local 11 // org.jruby.util.ByteList first
        end local 10 // int p
        end local 9 // byte[] pBytes
        77: .line 1986
      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 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 82
        78: .line 1988
            aload 6 /* runtime */
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.command_name:Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            aload 5 /* eargp */
            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 /* abspath */
        start local 9 // java.lang.String abspath
        79: .line 1989
            aload 9 /* abspath */
            ifnull 81
        80: .line 1990
            aload 5 /* eargp */
            aload 6 /* runtime */
            aload 6 /* runtime */
            aload 9 /* abspath */
            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: .line 1992
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* eargp */
            aconst_null
            putfield org.jruby.util.io.PopenExecutor$ExecArg.command_abspath:Lorg/jruby/RubyString;
        end local 9 // java.lang.String abspath
        82: .line 1995
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 93
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
            ifnonnull 93
        83: .line 1997
            new java.util.ArrayList
            dup
            iload 7 /* argc */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* argv_buf */
        start local 10 // java.util.ArrayList argv_buf
        84: .line 1998
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        85: goto 91
        86: .line 1999
      StackMap locals: int java.util.ArrayList
      StackMap stack:
            aload 2 /* argv */
            iload 9 /* i */
            aaload
            astore 11 /* arg */
        start local 11 // org.jruby.runtime.builtin.IRubyObject arg
        87: .line 2000
            aload 6 /* runtime */
            aload 11 /* arg */
            invokestatic org.jruby.util.StringSupport.checkEmbeddedNulls:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 12 /* argStr */
        start local 12 // org.jruby.RubyString argStr
        88: .line 2001
            aload 12 /* argStr */
            aload 0 /* context */
            invokevirtual org.jruby.RubyString.export:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            astore 12 /* argStr */
        89: .line 2002
            aload 10 /* argv_buf */
            aload 12 /* argStr */
            invokevirtual org.jruby.RubyString.getBytes:()[B
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.jruby.RubyString argStr
        end local 11 // org.jruby.runtime.builtin.IRubyObject arg
        90: .line 1998
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        91: iload 9 /* i */
            iload 7 /* argc */
            if_icmplt 86
        92: .line 2004
            aload 5 /* eargp */
            aload 10 /* argv_buf */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_buf:Ljava/util/List;
        end local 10 // java.util.ArrayList argv_buf
        end local 9 // int i
        93: .line 2007
      StackMap locals:
      StackMap stack:
            aload 5 /* eargp */
            getfield org.jruby.util.io.PopenExecutor$ExecArg.use_shell:Z
            ifne 102
        94: .line 2008
            new org.jruby.util.io.PopenExecutor$ArgvStr
            dup
            invokespecial org.jruby.util.io.PopenExecutor$ArgvStr.<init>:()V
            astore 9 /* argv_str */
        start local 9 // org.jruby.util.io.PopenExecutor$ArgvStr argv_str
        95: .line 2009
            aload 9 /* argv_str */
            aload 5 /* eargp */
            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: .line 2010
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        97: .line 2011
            aload 5 /* eargp */
            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 /* bytes */
        start local 11 // byte[] bytes
        99: .line 2012
            aload 9 /* argv_str */
            getfield org.jruby.util.io.PopenExecutor$ArgvStr.argv:[Ljava/lang/String;
            iload 10 /* i */
            iinc 10 /* i */ 1
            new java.lang.String
            dup
            aload 11 /* bytes */
            invokespecial java.lang.String.<init>:([B)V
            aastore
        end local 11 // byte[] bytes
       100: .line 2011
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       101: .line 2014
            aload 5 /* eargp */
            aload 9 /* argv_str */
            putfield org.jruby.util.io.PopenExecutor$ExecArg.argv_str:Lorg/jruby/util/io/PopenExecutor$ArgvStr;
        end local 10 // int i
        end local 9 // org.jruby.util.io.PopenExecutor$ArgvStr argv_str
       102: .line 2016
      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 // java.lang.String virtualCWD
        end local 7 // int argc
        end local 6 // org.jruby.Ruby runtime
        end local 5 // org.jruby.util.io.PopenExecutor$ExecArg eargp
        end local 4 // org.jruby.runtime.builtin.IRubyObject opthash
        end local 3 // org.jruby.runtime.builtin.IRubyObject env
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] argv
        end local 1 // org.jruby.RubyString prog
        end local 0 // org.jruby.runtime.ThreadContext context
      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 // org.jruby.Ruby runtime
        start local 1 // java.lang.String fname
        start local 2 // org.jruby.runtime.builtin.IRubyObject path
         0: .line 2031
            aload 0 /* runtime */
            aload 1 /* fname */
            aload 2 /* path */
            invokestatic org.jruby.util.ShellLauncher.findPathExecutable:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/io/File;
            astore 3 /* exePath */
        start local 3 // java.io.File exePath
         1: .line 2032
            aload 3 /* exePath */
            ifnull 2
            aload 3 /* exePath */
            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 // java.io.File exePath
        end local 2 // org.jruby.runtime.builtin.IRubyObject path
        end local 1 // java.lang.String fname
        end local 0 // org.jruby.Ruby runtime
      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: .line 48
            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: .line 48
            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