final class java.lang.ProcessImpl
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.ProcessImpl
super_class: java.lang.Object
{
private static final sun.misc.JavaIOFileDescriptorAccess fdAccess;
descriptor: Lsun/misc/JavaIOFileDescriptorAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/lang/ProcessImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.ProcessImpl.$assertionsDisabled:Z
3: invokestatic sun.misc.SharedSecrets.getJavaIOFileDescriptorAccess:()Lsun/misc/JavaIOFileDescriptorAccess;
4: putstatic java.lang.ProcessImpl.fdAccess:Lsun/misc/JavaIOFileDescriptorAccess;
5: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ProcessImpl;
private static byte[] toCString(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.getBytes:()[B
astore 1
start local 1 3: aload 1
arraylength
iconst_1
iadd
newarray 8
astore 2
start local 2 4: aload 1
iconst_0
5: aload 2
iconst_0
6: aload 1
arraylength
7: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 2
aload 2
arraylength
iconst_1
isub
iconst_0
bastore
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 s Ljava/lang/String;
3 10 1 bytes [B
4 10 2 result [B
MethodParameters:
Name Flags
s
static java.lang.Process start(java.lang.String[], java.util.Map<java.lang.String, java.lang.String>, java.lang.String, java.lang.ProcessBuilder$Redirect[], boolean);
descriptor: ([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;[Ljava/lang/ProcessBuilder$Redirect;Z)Ljava/lang/Process;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic java.lang.ProcessImpl.$assertionsDisabled:Z
ifne 2
aload 0
ifnull 1
aload 0
arraylength
ifgt 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
arraylength
iconst_1
isub
anewarray byte[]
astore 5
start local 5 3: aload 5
arraylength
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 9
6: StackMap locals: byte[][] int int
StackMap stack:
aload 5
iload 7
aload 0
iload 7
iconst_1
iadd
aaload
invokevirtual java.lang.String.getBytes:()[B
aastore
7: iload 6
aload 5
iload 7
aaload
arraylength
iadd
istore 6
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
aload 5
arraylength
if_icmplt 6
end local 7 10: iload 6
newarray 8
astore 7
start local 7 11: iconst_0
istore 8
start local 8 12: aload 5
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 17
StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int top int int byte[][]
StackMap stack:
13: aload 12
iload 10
aaload
astore 9
start local 9 14: aload 9
iconst_0
aload 7
iload 8
aload 9
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: iload 8
aload 9
arraylength
iconst_1
iadd
iadd
istore 8
end local 9 16: iinc 10 1
StackMap locals:
StackMap stack:
17: iload 10
iload 11
if_icmplt 13
18: iconst_1
newarray 10
astore 9
start local 9 19: aload 1
aload 9
invokestatic java.lang.ProcessEnvironment.toEnvironmentBlock:(Ljava/util/Map;[I)[B
astore 10
start local 10 20: aconst_null
astore 12
start local 12 21: aconst_null
astore 13
start local 13 22: aconst_null
astore 14
start local 14 23: aload 3
ifnonnull 26
24: iconst_3
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
dup
iconst_2
iconst_m1
iastore
astore 11
start local 11 25: goto 49
end local 11 26: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream
StackMap stack:
iconst_3
newarray 10
astore 11
start local 11 27: aload 3
iconst_0
aaload
getstatic java.lang.ProcessBuilder$Redirect.PIPE:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 29
28: aload 11
iconst_0
iconst_m1
iastore
goto 33
29: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] int[] java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream
StackMap stack:
aload 3
iconst_0
aaload
getstatic java.lang.ProcessBuilder$Redirect.INHERIT:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 31
30: aload 11
iconst_0
iconst_0
iastore
goto 33
31: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
aload 3
iconst_0
aaload
invokevirtual java.lang.ProcessBuilder$Redirect.file:()Ljava/io/File;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 12
32: aload 11
iconst_0
getstatic java.lang.ProcessImpl.fdAccess:Lsun/misc/JavaIOFileDescriptorAccess;
aload 12
invokevirtual java.io.FileInputStream.getFD:()Ljava/io/FileDescriptor;
invokeinterface sun.misc.JavaIOFileDescriptorAccess.get:(Ljava/io/FileDescriptor;)I
iastore
33: StackMap locals:
StackMap stack:
aload 3
iconst_1
aaload
getstatic java.lang.ProcessBuilder$Redirect.PIPE:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 35
34: aload 11
iconst_1
iconst_m1
iastore
goto 41
35: StackMap locals:
StackMap stack:
aload 3
iconst_1
aaload
getstatic java.lang.ProcessBuilder$Redirect.INHERIT:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 37
36: aload 11
iconst_1
iconst_1
iastore
goto 41
37: StackMap locals:
StackMap stack:
new java.io.FileOutputStream
dup
aload 3
iconst_1
aaload
invokevirtual java.lang.ProcessBuilder$Redirect.file:()Ljava/io/File;
38: aload 3
iconst_1
aaload
invokevirtual java.lang.ProcessBuilder$Redirect.append:()Z
39: invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;Z)V
astore 13
40: aload 11
iconst_1
getstatic java.lang.ProcessImpl.fdAccess:Lsun/misc/JavaIOFileDescriptorAccess;
aload 13
invokevirtual java.io.FileOutputStream.getFD:()Ljava/io/FileDescriptor;
invokeinterface sun.misc.JavaIOFileDescriptorAccess.get:(Ljava/io/FileDescriptor;)I
iastore
41: StackMap locals:
StackMap stack:
aload 3
iconst_2
aaload
getstatic java.lang.ProcessBuilder$Redirect.PIPE:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 43
42: aload 11
iconst_2
iconst_m1
iastore
goto 49
43: StackMap locals:
StackMap stack:
aload 3
iconst_2
aaload
getstatic java.lang.ProcessBuilder$Redirect.INHERIT:Ljava/lang/ProcessBuilder$Redirect;
if_acmpne 45
44: aload 11
iconst_2
iconst_2
iastore
goto 49
45: StackMap locals:
StackMap stack:
new java.io.FileOutputStream
dup
aload 3
iconst_2
aaload
invokevirtual java.lang.ProcessBuilder$Redirect.file:()Ljava/io/File;
46: aload 3
iconst_2
aaload
invokevirtual java.lang.ProcessBuilder$Redirect.append:()Z
47: invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;Z)V
astore 14
48: aload 11
iconst_2
getstatic java.lang.ProcessImpl.fdAccess:Lsun/misc/JavaIOFileDescriptorAccess;
aload 14
invokevirtual java.io.FileOutputStream.getFD:()Ljava/io/FileDescriptor;
invokeinterface sun.misc.JavaIOFileDescriptorAccess.get:(Ljava/io/FileDescriptor;)I
iastore
49: StackMap locals:
StackMap stack:
new java.lang.UNIXProcess
dup
50: aload 0
iconst_0
aaload
invokestatic java.lang.ProcessImpl.toCString:(Ljava/lang/String;)[B
51: aload 7
aload 5
arraylength
52: aload 10
aload 9
iconst_0
iaload
53: aload 2
invokestatic java.lang.ProcessImpl.toCString:(Ljava/lang/String;)[B
54: aload 11
55: iload 4
56: invokespecial java.lang.UNIXProcess.<init>:([B[BI[BI[B[IZ)V
astore 16
57: aload 12
ifnull 64
aload 12
invokevirtual java.io.FileInputStream.close:()V
goto 64
58: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] int[] java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream top java.lang.Process
StackMap stack: java.lang.Throwable
astore 17
59: aload 13
ifnull 62
aload 13
invokevirtual java.io.FileOutputStream.close:()V
goto 62
60: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] int[] java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream top java.lang.Process java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 18
aload 14
ifnull 61
aload 14
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: java.lang.Throwable
StackMap stack:
61: aload 18
athrow
StackMap locals:
StackMap stack:
62: aload 14
ifnull 63
aload 14
invokevirtual java.io.FileOutputStream.close:()V
63: StackMap locals:
StackMap stack:
aload 17
athrow
64: StackMap locals:
StackMap stack:
aload 13
ifnull 67
aload 13
invokevirtual java.io.FileOutputStream.close:()V
goto 67
65: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
aload 14
ifnull 66
aload 14
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] int[] java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream top java.lang.Process top java.lang.Throwable
StackMap stack:
66: aload 18
athrow
StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] int[] java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream top java.lang.Process
StackMap stack:
67: aload 14
ifnull 68
aload 14
invokevirtual java.io.FileOutputStream.close:()V
68: StackMap locals:
StackMap stack:
aload 16
areturn
end local 11 69: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream
StackMap stack: java.lang.Throwable
astore 15
70: aload 12
ifnull 77
aload 12
invokevirtual java.io.FileInputStream.close:()V
goto 77
71: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 17
72: aload 13
ifnull 75
aload 13
invokevirtual java.io.FileOutputStream.close:()V
goto 75
73: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream java.lang.Throwable top java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 18
aload 14
ifnull 74
aload 14
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: java.lang.Throwable
StackMap stack:
74: aload 18
athrow
StackMap locals:
StackMap stack:
75: aload 14
ifnull 76
aload 14
invokevirtual java.io.FileOutputStream.close:()V
76: StackMap locals:
StackMap stack:
aload 17
athrow
77: StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream java.lang.Throwable
StackMap stack:
aload 13
ifnull 80
aload 13
invokevirtual java.io.FileOutputStream.close:()V
goto 80
78: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
aload 14
ifnull 79
aload 14
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream java.lang.Throwable top top java.lang.Throwable
StackMap stack:
79: aload 18
athrow
StackMap locals: java.lang.String[] java.util.Map java.lang.String java.lang.ProcessBuilder$Redirect[] int byte[][] int byte[] int int[] byte[] top java.io.FileInputStream java.io.FileOutputStream java.io.FileOutputStream java.lang.Throwable
StackMap stack:
80: aload 14
ifnull 81
aload 14
invokevirtual java.io.FileOutputStream.close:()V
81: StackMap locals:
StackMap stack:
aload 15
athrow
end local 14 end local 13 end local 12 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 82 0 cmdarray [Ljava/lang/String;
0 82 1 environment Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 82 2 dir Ljava/lang/String;
0 82 3 redirects [Ljava/lang/ProcessBuilder$Redirect;
0 82 4 redirectErrorStream Z
3 82 5 args [[B
4 82 6 size I
5 10 7 i I
11 82 7 argBlock [B
12 82 8 i I
14 16 9 arg [B
19 82 9 envc [I
20 82 10 envBlock [B
25 26 11 std_fds [I
27 69 11 std_fds [I
21 82 12 f0 Ljava/io/FileInputStream;
22 82 13 f1 Ljava/io/FileOutputStream;
23 82 14 f2 Ljava/io/FileOutputStream;
Exception table:
from to target type
57 58 58 any
59 60 60 any
64 65 65 any
23 57 69 any
70 71 71 any
72 73 73 any
77 78 78 any
Exceptions:
throws java.io.IOException
Signature: ([Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;[Ljava/lang/ProcessBuilder$Redirect;Z)Ljava/lang/Process;
MethodParameters:
Name Flags
cmdarray
environment
dir
redirects
redirectErrorStream
}
SourceFile: "ProcessImpl.java"
InnerClasses:
public abstract Redirect = java.lang.ProcessBuilder$Redirect of java.lang.ProcessBuilder