public class jdk.jshell.execution.JdiInitiator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.jshell.execution.JdiInitiator
super_class: java.lang.Object
{
private static final double CONNECT_TIMEOUT_FACTOR;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.5
private final int connectTimeout;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.jdi.VirtualMachine vm;
descriptor: Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
private java.lang.Process process;
descriptor: Ljava/lang/Process;
flags: (0x0002) ACC_PRIVATE
private final com.sun.jdi.connect.Connector connector;
descriptor: Lcom/sun/jdi/connect/Connector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String remoteAgent;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument> connectorArgs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
public void <init>(int, java.util.List<java.lang.String>, java.lang.String, boolean, java.lang.String, int, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (ILjava/util/List;Ljava/lang/String;ZLjava/lang/String;ILjava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
2: aload 0
aload 3
putfield jdk.jshell.execution.JdiInitiator.remoteAgent:Ljava/lang/String;
3: aload 0
iload 6
i2d
ldc 1.5
dmul
d2i
putfield jdk.jshell.execution.JdiInitiator.connectTimeout:I
4: iload 4
ifeq 6
5: ldc "com.sun.jdi.CommandLineLaunch"
goto 7
6: StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List java.lang.String int java.lang.String int java.util.Map
StackMap stack:
ldc "com.sun.jdi.SocketListen"
7: StackMap locals:
StackMap stack: java.lang.String
astore 8
start local 8 8: aload 0
aload 0
aload 8
invokevirtual jdk.jshell.execution.JdiInitiator.findConnector:(Ljava/lang/String;)Lcom/sun/jdi/connect/Connector;
putfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
9: aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
ifnonnull 11
10: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "No connector named: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.lang.String
StackMap stack:
iload 4
ifeq 13
12: aload 0
iload 1
ldc " "
aload 2
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual jdk.jshell.execution.JdiInitiator.launchArgs:(ILjava/lang/String;)Ljava/util/Map;
goto 14
13: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
14: StackMap locals:
StackMap stack: java.util.Map
astore 9
start local 9 15: iload 4
ifne 19
16: aload 9
ldc "timeout"
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 5
ifnull 19
iload 4
ifne 19
18: aload 9
ldc "localAddress"
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: StackMap locals: java.util.Map
StackMap stack:
aload 9
aload 7
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
20: aload 0
aload 0
aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
aload 9
invokevirtual jdk.jshell.execution.JdiInitiator.mergeConnectorArgs:(Lcom/sun/jdi/connect/Connector;Ljava/util/Map;)Ljava/util/Map;
putfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
21: aload 0
iload 4
ifeq 23
22: aload 0
invokevirtual jdk.jshell.execution.JdiInitiator.launchTarget:()Lcom/sun/jdi/VirtualMachine;
goto 24
23: StackMap locals:
StackMap stack: jdk.jshell.execution.JdiInitiator
aload 0
iload 1
aload 2
invokevirtual jdk.jshell.execution.JdiInitiator.listenTarget:(ILjava/util/List;)Lcom/sun/jdi/VirtualMachine;
24: StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List java.lang.String int java.lang.String int java.util.Map java.lang.String java.util.Map
StackMap stack: jdk.jshell.execution.JdiInitiator com.sun.jdi.VirtualMachine
putfield jdk.jshell.execution.JdiInitiator.vm:Lcom/sun/jdi/VirtualMachine;
25: return
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 26 0 this Ljdk/jshell/execution/JdiInitiator;
0 26 1 port I
0 26 2 remoteVMOptions Ljava/util/List<Ljava/lang/String;>;
0 26 3 remoteAgent Ljava/lang/String;
0 26 4 isLaunch Z
0 26 5 host Ljava/lang/String;
0 26 6 timeout I
0 26 7 customConnectorArgs Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
8 26 8 connectorName Ljava/lang/String;
15 26 9 argumentName2Value Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (ILjava/util/List<Ljava/lang/String;>;Ljava/lang/String;ZLjava/lang/String;ILjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
port
remoteVMOptions
remoteAgent
isLaunch
host
timeout
customConnectorArgs
public com.sun.jdi.VirtualMachine vm();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.execution.JdiInitiator.vm:Lcom/sun/jdi/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
public java.lang.Process process();
descriptor: ()Ljava/lang/Process;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
private com.sun.jdi.VirtualMachine launchTarget();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
checkcast com.sun.jdi.connect.LaunchingConnector
astore 1
start local 1 1: aload 0
aload 0
aload 1
invokedynamic call(Ljdk/jshell/execution/JdiInitiator;Lcom/sun/jdi/connect/LaunchingConnector;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jshell/execution/JdiInitiator.lambda$0(Lcom/sun/jdi/connect/LaunchingConnector;)Lcom/sun/jdi/VirtualMachine; (7)
()Lcom/sun/jdi/VirtualMachine;
aconst_null
invokevirtual jdk.jshell.execution.JdiInitiator.timedVirtualMachineCreation:(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Callable;)Lcom/sun/jdi/VirtualMachine;
astore 2
start local 2 2: aload 0
aload 2
invokeinterface com.sun.jdi.VirtualMachine.process:()Ljava/lang/Process;
putfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
3: aload 2
4: areturn
end local 2 5: StackMap locals: jdk.jshell.execution.JdiInitiator com.sun.jdi.connect.LaunchingConnector
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: aload 0
aload 2
ldc "launch"
invokevirtual jdk.jshell.execution.JdiInitiator.reportLaunchFail:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jshell/execution/JdiInitiator;
1 7 1 launcher Lcom/sun/jdi/connect/LaunchingConnector;
2 5 2 new_vm Lcom/sun/jdi/VirtualMachine;
6 7 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 4 5 Class java.lang.Throwable
private com.sun.jdi.VirtualMachine listenTarget(int, java.util.List<java.lang.String>);
descriptor: (ILjava/util/List;)Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
checkcast com.sun.jdi.connect.ListeningConnector
astore 3
start local 3 1: aload 0
ldc "error"
invokevirtual jdk.jshell.execution.JdiInitiator.createTempFile:(Ljava/lang/String;)Ljava/io/File;
astore 4
start local 4 2: aload 0
ldc "output"
invokevirtual jdk.jshell.execution.JdiInitiator.createTempFile:(Ljava/lang/String;)Ljava/io/File;
astore 5
start local 5 3: aload 3
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.startListening:(Ljava/util/Map;)Ljava/lang/String;
astore 6
start local 6 4: aload 0
new java.lang.StringBuilder
dup
ldc "Listening at address: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual jdk.jshell.execution.JdiInitiator.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 7: aload 8
aload 7
ifnonnull 9
8: ldc "java"
goto 10
9: StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List com.sun.jdi.connect.ListeningConnector java.io.File java.io.File java.lang.String java.lang.String java.util.List
StackMap stack: java.util.List
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "bin"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List com.sun.jdi.connect.ListeningConnector java.io.File java.io.File java.lang.String java.lang.String java.util.List
StackMap stack: java.util.List java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 8
new java.lang.StringBuilder
dup
ldc "-agentlib:jdwp=transport="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
invokeinterface com.sun.jdi.connect.Connector.transport:()Lcom/sun/jdi/connect/Transport;
invokeinterface com.sun.jdi.connect.Transport.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc ",address="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 8
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
15: aload 8
aload 0
getfield jdk.jshell.execution.JdiInitiator.remoteAgent:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 8
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: new java.lang.ProcessBuilder
dup
aload 8
invokespecial java.lang.ProcessBuilder.<init>:(Ljava/util/List;)V
astore 9
start local 9 18: aload 9
aload 4
invokevirtual java.lang.ProcessBuilder.redirectError:(Ljava/io/File;)Ljava/lang/ProcessBuilder;
pop
19: aload 9
aload 5
invokevirtual java.lang.ProcessBuilder.redirectOutput:(Ljava/io/File;)Ljava/lang/ProcessBuilder;
pop
20: aload 0
aload 9
invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
putfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
21: aload 0
aload 0
aload 0
aload 3
invokedynamic call(Ljdk/jshell/execution/JdiInitiator;Lcom/sun/jdi/connect/ListeningConnector;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jshell/execution/JdiInitiator.lambda$1(Lcom/sun/jdi/connect/ListeningConnector;)Lcom/sun/jdi/VirtualMachine; (7)
()Lcom/sun/jdi/VirtualMachine;
22: aload 0
invokedynamic call(Ljdk/jshell/execution/JdiInitiator;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jshell/execution/JdiInitiator.lambda$2()Ljava/lang/Integer; (7)
()Ljava/lang/Integer;
23: invokevirtual jdk.jshell.execution.JdiInitiator.timedVirtualMachineCreation:(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Callable;)Lcom/sun/jdi/VirtualMachine;
putfield jdk.jshell.execution.JdiInitiator.vm:Lcom/sun/jdi/VirtualMachine;
24: aload 3
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.stopListening:(Ljava/util/Map;)V
25: goto 27
StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List com.sun.jdi.connect.ListeningConnector java.io.File java.io.File java.lang.String java.lang.String java.util.List java.lang.ProcessBuilder
StackMap stack: java.lang.Exception
26: pop
27: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.File.delete:()Z
pop
28: aload 5
invokevirtual java.io.File.delete:()Z
pop
29: aload 0
getfield jdk.jshell.execution.JdiInitiator.vm:Lcom/sun/jdi/VirtualMachine;
30: areturn
end local 9 end local 8 end local 7 end local 6 31: StackMap locals: jdk.jshell.execution.JdiInitiator int java.util.List com.sun.jdi.connect.ListeningConnector java.io.File java.io.File
StackMap stack: java.lang.Throwable
astore 6
start local 6 32: aload 0
getfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
ifnull 34
33: aload 0
getfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroyForcibly:()Ljava/lang/Process;
pop
34: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.stopListening:(Ljava/util/Map;)V
35: goto 37
StackMap locals:
StackMap stack: java.lang.Exception
36: pop
37: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
aload 4
invokevirtual jdk.jshell.execution.JdiInitiator.readFile:(Ljava/io/File;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 5
invokevirtual jdk.jshell.execution.JdiInitiator.readFile:(Ljava/io/File;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 38: aload 4
invokevirtual java.io.File.delete:()Z
pop
39: aload 5
invokevirtual java.io.File.delete:()Z
pop
40: aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifeq 42
41: aload 0
aload 6
ldc "listen"
invokevirtual jdk.jshell.execution.JdiInitiator.reportLaunchFail:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/InternalError;
athrow
42: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Ljdk/jshell/execution/JdiInitiator;
0 43 1 port I
0 43 2 remoteVMOptions Ljava/util/List<Ljava/lang/String;>;
1 43 3 listener Lcom/sun/jdi/connect/ListeningConnector;
2 43 4 crashErrorFile Ljava/io/File;
3 43 5 crashOutputFile Ljava/io/File;
4 31 6 addr Ljava/lang/String;
6 31 7 javaHome Ljava/lang/String;
7 31 8 args Ljava/util/List<Ljava/lang/String;>;
18 31 9 pb Ljava/lang/ProcessBuilder;
32 43 6 ex Ljava/lang/Throwable;
38 43 7 text Ljava/lang/String;
Exception table:
from to target type
24 25 26 Class java.io.IOException
24 25 26 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
3 30 31 Class java.lang.Throwable
34 35 36 Class java.io.IOException
34 35 36 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
Signature: (ILjava/util/List<Ljava/lang/String;>;)Lcom/sun/jdi/VirtualMachine;
MethodParameters:
Name Flags
port
remoteVMOptions
private java.io.File createTempFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: ldc "remote"
aload 1
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 2
start local 2 1: aload 2
invokevirtual java.io.File.deleteOnExit:()V
2: aload 2
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.lang.InternalError
dup
ldc "Failed create temp "
aload 2
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/execution/JdiInitiator;
0 6 1 label Ljava/lang/String;
1 4 2 f Ljava/io/File;
5 6 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
label
private java.lang.String readFile(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.String
dup
aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
1: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
2: invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.lang.StringBuilder
dup
ldc "error reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/execution/JdiInitiator;
0 6 1 f Ljava/io/File;
5 6 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
f
com.sun.jdi.VirtualMachine timedVirtualMachineCreation(java.util.concurrent.Callable<com.sun.jdi.VirtualMachine>, java.util.concurrent.Callable<java.lang.Integer>);
descriptor: (Ljava/util/concurrent/Callable;Ljava/util/concurrent/Callable;)Lcom/sun/jdi/VirtualMachine;
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokedynamic newThread()Ljava/util/concurrent/ThreadFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Runnable;)Ljava/lang/Thread;
jdk/jshell/execution/JdiInitiator.lambda$3(Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
(Ljava/lang/Runnable;)Ljava/lang/Thread;
invokestatic java.util.concurrent.Executors.newCachedThreadPool:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
astore 4
start local 4 1: aload 4
aload 1
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 5
start local 5 2: aload 2
ifnull 4
3: aload 4
aload 2
aload 5
invokedynamic call(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Future;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jshell/execution/JdiInitiator.lambda$4(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Future;)Ljava/lang/Integer; (6)
()Ljava/lang/Integer;
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
pop
4: StackMap locals: jdk.jshell.execution.JdiInitiator java.util.concurrent.Callable java.util.concurrent.Callable top java.util.concurrent.ExecutorService java.util.concurrent.Future
StackMap stack:
aload 5
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectTimeout:I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.Future.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
checkcast com.sun.jdi.VirtualMachine
astore 3
start local 3 5: goto 12
end local 3 StackMap locals:
StackMap stack: java.util.concurrent.TimeoutException
6: astore 6
start local 6 7: aload 5
iconst_1
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
8: aload 6
athrow
end local 6 end local 5 9: StackMap locals: jdk.jshell.execution.JdiInitiator java.util.concurrent.Callable java.util.concurrent.Callable top java.util.concurrent.ExecutorService
StackMap stack: java.lang.Throwable
astore 7
10: aload 4
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
pop
11: aload 7
athrow
start local 3 12: StackMap locals: jdk.jshell.execution.JdiInitiator java.util.concurrent.Callable java.util.concurrent.Callable com.sun.jdi.VirtualMachine java.util.concurrent.ExecutorService
StackMap stack:
aload 4
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
pop
13: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jshell/execution/JdiInitiator;
0 14 1 creator Ljava/util/concurrent/Callable<Lcom/sun/jdi/VirtualMachine;>;
0 14 2 processComplete Ljava/util/concurrent/Callable<Ljava/lang/Integer;>;
5 6 3 result Lcom/sun/jdi/VirtualMachine;
12 14 3 result Lcom/sun/jdi/VirtualMachine;
1 14 4 executor Ljava/util/concurrent/ExecutorService;
2 9 5 future Ljava/util/concurrent/Future<Lcom/sun/jdi/VirtualMachine;>;
7 9 6 ex Ljava/util/concurrent/TimeoutException;
Exception table:
from to target type
4 5 6 Class java.util.concurrent.TimeoutException
1 9 9 any
Exceptions:
throws java.lang.Exception
Signature: (Ljava/util/concurrent/Callable<Lcom/sun/jdi/VirtualMachine;>;Ljava/util/concurrent/Callable<Ljava/lang/Integer;>;)Lcom/sun/jdi/VirtualMachine;
MethodParameters:
Name Flags
creator
processComplete
private com.sun.jdi.connect.Connector findConnector(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/jdi/connect/Connector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic com.sun.jdi.Bootstrap.virtualMachineManager:()Lcom/sun/jdi/VirtualMachineManager;
invokeinterface com.sun.jdi.VirtualMachineManager.allConnectors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: jdk.jshell.execution.JdiInitiator java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector
astore 2
start local 2 2: aload 2
invokeinterface com.sun.jdi.connect.Connector.name:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/execution/JdiInitiator;
0 6 1 name Ljava/lang/String;
2 4 2 cntor Lcom/sun/jdi/connect/Connector;
MethodParameters:
Name Flags
name
private java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument> mergeConnectorArgs(com.sun.jdi.connect.Connector, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Lcom/sun/jdi/connect/Connector;Ljava/util/Map;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.sun.jdi.connect.Connector.defaultArguments:()Ljava/util/Map;
astore 3
start local 3 1: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: jdk.jshell.execution.JdiInitiator com.sun.jdi.connect.Connector java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 3: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 4: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 5: aload 3
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 8
start local 8 6: aload 8
ifnonnull 10
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Argument is not defined for connector:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -- "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface com.sun.jdi.connect.Connector.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: jdk.jshell.execution.JdiInitiator com.sun.jdi.connect.Connector java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String com.sun.jdi.connect.Connector$Argument
StackMap stack:
aload 8
aload 7
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 end local 4 11: StackMap locals: jdk.jshell.execution.JdiInitiator com.sun.jdi.connect.Connector java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/jshell/execution/JdiInitiator;
0 13 1 connector Lcom/sun/jdi/connect/Connector;
0 13 2 argumentName2Value Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 13 3 arguments Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
3 11 4 argumentEntry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
4 11 6 name Ljava/lang/String;
5 11 7 value Ljava/lang/String;
6 11 8 argument Lcom/sun/jdi/connect/Connector$Argument;
Signature: (Lcom/sun/jdi/connect/Connector;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
MethodParameters:
Name Flags
connector
argumentName2Value
private java.util.Map<java.lang.String, java.lang.String> launchArgs(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 1: aload 3
ldc "main"
new java.lang.StringBuilder
dup
aload 0
getfield jdk.jshell.execution.JdiInitiator.remoteAgent:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
ldc "options"
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/execution/JdiInitiator;
0 4 1 port I
0 4 2 remoteVMOptions Ljava/lang/String;
1 4 3 argumentName2Value Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (ILjava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
port
remoteVMOptions
private java.lang.InternalError reportLaunchFail(java.lang.Throwable, java.lang.String);
descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/InternalError;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Failed remote "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jshell.execution.JdiInitiator.connector:Lcom/sun/jdi/connect/Connector;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " -- "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
4: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/execution/JdiInitiator;
0 5 1 ex Ljava/lang/Throwable;
0 5 2 context Ljava/lang/String;
MethodParameters:
Name Flags
ex
context
private void debug(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
0 1 1 format Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
format
args
private void debug(java.lang.Throwable, java.lang.String);
descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
0 1 1 ex Ljava/lang/Throwable;
0 1 2 where Ljava/lang/String;
MethodParameters:
Name Flags
ex
where
private com.sun.jdi.VirtualMachine lambda$0(com.sun.jdi.connect.LaunchingConnector);
descriptor: (Lcom/sun/jdi/connect/LaunchingConnector;)Lcom/sun/jdi/VirtualMachine;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 1
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.LaunchingConnector.launch:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
Exceptions:
throws java.lang.Exception
private com.sun.jdi.VirtualMachine lambda$1(com.sun.jdi.connect.ListeningConnector);
descriptor: (Lcom/sun/jdi/connect/ListeningConnector;)Lcom/sun/jdi/VirtualMachine;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 1
aload 0
getfield jdk.jshell.execution.JdiInitiator.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.accept:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
Exceptions:
throws java.lang.Exception
private java.lang.Integer lambda$2();
descriptor: ()Ljava/lang/Integer;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.execution.JdiInitiator.process:Ljava/lang/Process;
invokevirtual java.lang.Process.waitFor:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/JdiInitiator;
Exceptions:
throws java.lang.Exception
private static java.lang.Thread lambda$3(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.util.concurrent.Executors.defaultThreadFactory:()Ljava/util/concurrent/ThreadFactory;
aload 0
invokeinterface java.util.concurrent.ThreadFactory.newThread:(Ljava/lang/Runnable;)Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runnable Ljava/lang/Runnable;
1 3 1 thread Ljava/lang/Thread;
private static java.lang.Integer lambda$4(java.util.concurrent.Callable, java.util.concurrent.Future);
descriptor: (Ljava/util/concurrent/Callable;Ljava/util/concurrent/Future;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
0: aload 0
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 1
iconst_1
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
2: aload 2
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
1 3 2 i Ljava/lang/Integer;
Exceptions:
throws java.lang.Exception
}
SourceFile: "JdiInitiator.java"
InnerClasses:
public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map