public class com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest extends com.oracle.truffle.tools.chromeinspector.test.EnginesGCedTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest
super_class: com.oracle.truffle.tools.chromeinspector.test.EnginesGCedTest
{
private static final int PORT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9229
private static final java.lang.String[] INITIAL_MESSAGES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String CODE1;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
private static final java.lang.String CODE2;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
1: ldc "{\"id\":1,\"method\":\"Runtime.enable\"}"
aastore
dup
iconst_1
2: ldc "{\"id\":2,\"method\":\"Debugger.enable\"}"
aastore
dup
iconst_2
3: ldc "{\"id\":3,\"method\":\"Debugger.setPauseOnExceptions\",\"params\":{\"state\":\"none\"}}"
aastore
dup
iconst_3
4: ldc "{\"id\":4,\"method\":\"Runtime.runIfWaitingForDebugger\"}"
aastore
5: putstatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.INITIAL_MESSAGES:[Ljava/lang/String;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.tools.chromeinspector.test.EnginesGCedTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
public void testMultipleEnginesSerial();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: iconst_4
anewarray org.graalvm.polyglot.Source
dup
iconst_0
1: ldc "sl"
ldc "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest1.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_1
2: ldc "sl"
ldc "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest2.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_2
3: ldc "sl"
ldc "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest3.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_3
4: ldc "sl"
ldc "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest4.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
5: astore 1
start local 1 6: aload 1
arraylength
anewarray java.util.concurrent.CountDownLatch
astore 2
start local 2 7: iconst_0
istore 3
start local 3 8: goto 11
9: StackMap locals: org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] int
StackMap stack:
aload 2
iload 3
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
aastore
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 1
arraylength
if_icmplt 9
end local 3 12: new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
astore 3
start local 3 13: aload 2
aload 3
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.verifySerialDebug:([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)V
14: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 15: iconst_0
istore 5
start local 5 16: goto 19
17: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] java.util.concurrent.atomic.AtomicReference java.io.ByteArrayOutputStream int
StackMap stack:
aload 0
aload 1
iload 5
aaload
aload 4
aload 2
iload 5
aaload
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.runEngine:(Lorg/graalvm/polyglot/Source;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
pop
18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 1
arraylength
if_icmplt 17
end local 5 20: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 22
21: new java.lang.AssertionError
dup
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
astore 5
start local 5 23: iconst_0
istore 6
start local 6 24: goto 27
25: StackMap locals: java.lang.String int
StackMap stack:
aload 5
aload 5
new java.lang.StringBuilder
dup
ldc "9229/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 6
aaload
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
26: iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
aload 1
arraylength
if_icmplt 25
end local 6 28: return
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 29 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
6 29 1 sources [Lorg/graalvm/polyglot/Source;
7 29 2 isUp [Ljava/util/concurrent/CountDownLatch;
8 12 3 i I
13 29 3 error Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
15 29 4 out Ljava/io/ByteArrayOutputStream;
16 20 5 i I
23 29 5 output Ljava/lang/String;
24 28 6 i I
RuntimeVisibleAnnotations:
org.junit.Test()
private static void verifySerialDebug(java.util.concurrent.CountDownLatch[], java.util.concurrent.atomic.AtomicReference<java.lang.Throwable>);
descriptor: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.Thread
dup
aload 0
aload 1
invokedynamic run([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/chromeinspector/test/MultiEngineTest.lambda$0([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)V (6)
()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
1: invokevirtual java.lang.Thread.start:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 isUp [Ljava/util/concurrent/CountDownLatch;
0 3 1 error Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
Signature: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
isUp
error
public void testMultipleEnginesParallel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=1
start local 0 0: iconst_4
anewarray org.graalvm.polyglot.Source
dup
iconst_0
1: ldc "sl"
ldc "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest1.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_1
2: ldc "sl"
ldc "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest2.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_2
3: ldc "sl"
ldc "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest3.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_3
4: ldc "sl"
ldc "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest4.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
5: astore 1
start local 1 6: aload 1
arraylength
anewarray java.util.concurrent.CountDownLatch
astore 2
start local 2 7: iconst_0
istore 3
start local 3 8: goto 11
9: StackMap locals: org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] int
StackMap stack:
aload 2
iload 3
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
aastore
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 1
arraylength
if_icmplt 9
end local 3 12: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
astore 3
start local 3 13: aload 2
aload 3
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.verifyParallelDebug:([Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
14: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 15: aload 1
arraylength
anewarray java.lang.Thread
astore 5
start local 5 16: iconst_0
istore 6
start local 6 17: goto 25
18: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] java.util.List java.io.ByteArrayOutputStream java.lang.Thread[] int
StackMap stack:
iload 6
istore 7
start local 7 19: new java.lang.Thread
dup
aload 0
aload 1
iload 7
aload 4
aload 2
aload 3
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;[Lorg/graalvm/polyglot/Source;ILjava/io/ByteArrayOutputStream;[Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/chromeinspector/test/MultiEngineTest.lambda$1([Lorg/graalvm/polyglot/Source;ILjava/io/ByteArrayOutputStream;[Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V (7)
()V
20: aload 1
iload 6
aaload
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
21: invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
astore 8
start local 8 22: aload 8
invokevirtual java.lang.Thread.start:()V
23: aload 5
iload 6
aload 8
aastore
end local 8 end local 7 24: iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
aload 1
arraylength
if_icmplt 18
end local 6 26: iconst_0
istore 6
start local 6 27: goto 30
28: StackMap locals:
StackMap stack:
aload 5
iload 6
aaload
invokevirtual java.lang.Thread.join:()V
29: iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
aload 1
arraylength
if_icmplt 28
end local 6 31: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 38
32: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
astore 6
start local 6 33: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 36
StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] java.util.List java.io.ByteArrayOutputStream java.lang.Thread[] java.lang.AssertionError top java.util.Iterator
StackMap stack:
34: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 7
start local 7 35: aload 6
aload 7
invokevirtual java.lang.AssertionError.addSuppressed:(Ljava/lang/Throwable;)V
end local 7 36: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
37: aload 6
athrow
end local 6 38: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.concurrent.CountDownLatch[] java.util.List java.io.ByteArrayOutputStream java.lang.Thread[]
StackMap stack:
new java.lang.String
dup
aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.lang.String.<init>:([B)V
astore 6
start local 6 39: iconst_0
istore 7
start local 7 40: goto 43
41: StackMap locals: java.lang.String int
StackMap stack:
aload 6
aload 6
new java.lang.StringBuilder
dup
ldc "9229/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 7
aaload
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
42: iinc 7 1
StackMap locals:
StackMap stack:
43: iload 7
aload 1
arraylength
if_icmplt 41
end local 7 44: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
6 45 1 sources [Lorg/graalvm/polyglot/Source;
7 45 2 isUp [Ljava/util/concurrent/CountDownLatch;
8 12 3 i I
13 45 3 errors Ljava/util/List<Ljava/lang/Throwable;>;
15 45 4 out Ljava/io/ByteArrayOutputStream;
16 45 5 threads [Ljava/lang/Thread;
17 26 6 i I
19 24 7 index I
22 24 8 t Ljava/lang/Thread;
27 31 6 i I
33 38 6 err Ljava/lang/AssertionError;
35 36 7 thr Ljava/lang/Throwable;
39 45 6 output Ljava/lang/String;
40 44 7 i I
Exceptions:
throws java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMultipleEnginesSamePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=1
start local 0 0: iconst_2
anewarray org.graalvm.polyglot.Source
dup
iconst_0
1: ldc "sl"
ldc "function main() {\n n = 3;\n f = factorial(n);\n return f;\n}\nfunction factorial(n) {\n f = 1;\n i = 2;\n while (i <= n) {\n f = f * i;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest1.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
dup
iconst_1
2: ldc "sl"
ldc "function main() {\n n = 3;\n f = fibonacci(n);\n return f;\n}\nfunction fibonacci(n) {\n if (n == 0) {\n return 0;\n }\n n1 = 0;\n i = 2;\n f = 1;\n while (i <= n) {\n lastf = f;\n f = f + n1;\n n1 = lastf;\n i = i + 1;\n }\n return f;\n}"
ldc "MTest2.sl"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
aastore
3: astore 1
start local 1 4: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
astore 2
start local 2 5: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 6: new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 4
start local 4 7: new java.lang.StringBuilder
dup
ldc "samePath"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.truffle.tools.chromeinspector.test.SecureInspectorPathGenerator.getToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 8: new java.lang.Thread
dup
aload 0
aload 1
aload 5
aload 3
aload 4
aload 2
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;[Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/ByteArrayOutputStream;Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/chromeinspector/test/MultiEngineTest.lambda$2([Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/ByteArrayOutputStream;Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V (7)
()V
9: aload 1
iconst_0
aaload
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
10: invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
astore 6
start local 6 11: aload 6
invokevirtual java.lang.Thread.start:()V
12: aload 4
invokevirtual java.util.concurrent.CountDownLatch.await:()V
13: aload 0
aload 1
iconst_1
aaload
aload 5
aload 3
aload 4
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.runEngine:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
pop
14: invokestatic org.junit.Assert.fail:()V
15: goto 19
StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.List java.io.ByteArrayOutputStream java.util.concurrent.CountDownLatch java.lang.String java.lang.Thread
StackMap stack: java.lang.Throwable
16: astore 7
start local 7 17: aload 7
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
astore 8
start local 8 18: aload 8
aload 8
ldc "Inspector session with the same path exists already"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 8 end local 7 19: StackMap locals:
StackMap stack:
aload 5
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.checkSuspendAndResume:(Ljava/lang/String;)V
20: aload 6
invokevirtual java.lang.Thread.join:()V
21: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 28
22: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
astore 7
start local 7 23: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 26
StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.List java.io.ByteArrayOutputStream java.util.concurrent.CountDownLatch java.lang.String java.lang.Thread java.lang.AssertionError top java.util.Iterator
StackMap stack:
24: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 8
start local 8 25: aload 7
aload 8
invokevirtual java.lang.AssertionError.addSuppressed:(Ljava/lang/Throwable;)V
end local 8 26: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
27: aload 7
athrow
end local 7 28: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source[] java.util.List java.io.ByteArrayOutputStream java.util.concurrent.CountDownLatch java.lang.String java.lang.Thread
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
4 29 1 sources [Lorg/graalvm/polyglot/Source;
5 29 2 errors Ljava/util/List<Ljava/lang/Throwable;>;
6 29 3 out Ljava/io/ByteArrayOutputStream;
7 29 4 isUp Ljava/util/concurrent/CountDownLatch;
8 29 5 samePath Ljava/lang/String;
11 29 6 t Ljava/lang/Thread;
17 19 7 thr Ljava/lang/Throwable;
18 19 8 message Ljava/lang/String;
23 28 7 err Ljava/lang/AssertionError;
25 26 8 thr Ljava/lang/Throwable;
Exception table:
from to target type
13 15 16 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static void verifyParallelDebug(java.util.concurrent.CountDownLatch[], java.util.List<java.lang.Throwable>);
descriptor: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.Thread
dup
aload 0
aload 1
invokedynamic run([Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/chromeinspector/test/MultiEngineTest.lambda$3([Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V (6)
()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
1: invokevirtual java.lang.Thread.start:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 isUp [Ljava/util/concurrent/CountDownLatch;
0 3 1 errors Ljava/util/List<Ljava/lang/Throwable;>;
Signature: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/List<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
isUp
errors
private java.lang.String runEngine(org.graalvm.polyglot.Source, java.io.OutputStream, java.util.concurrent.CountDownLatch);
descriptor: (Lorg/graalvm/polyglot/Source;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 1
invokevirtual org.graalvm.polyglot.Source.getName:()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;
invokestatic com.oracle.truffle.tools.chromeinspector.test.SecureInspectorPathGenerator.getToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
aload 3
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.runEngine:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
0 1 1 src Lorg/graalvm/polyglot/Source;
0 1 2 out Ljava/io/OutputStream;
0 1 3 isUp Ljava/util/concurrent/CountDownLatch;
MethodParameters:
Name Flags
src
out
isUp
private java.lang.String runEngine(org.graalvm.polyglot.Source, java.lang.String, java.io.OutputStream, java.util.concurrent.CountDownLatch);
descriptor: (Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
aconst_null
astore 6
1: invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
ldc "inspect.Path"
aload 2
invokevirtual org.graalvm.polyglot.Engine$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Engine$Builder;
aload 3
invokevirtual org.graalvm.polyglot.Engine$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
astore 7
start local 7 2: aload 0
aload 7
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.addEngineReference:(Lorg/graalvm/polyglot/Engine;)V
3: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 7
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 8
start local 8 4: aload 4
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
5: aload 8
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
astore 9
start local 9 6: aload 9
invokevirtual org.graalvm.polyglot.Value.fitsInLong:()Z
ifeq 10
7: aload 9
invokevirtual org.graalvm.polyglot.Value.asLong:()J
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
8: aload 7
ifnull 9
aload 7
invokevirtual org.graalvm.polyglot.Engine.close:()V
9: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source java.lang.String java.io.OutputStream java.util.concurrent.CountDownLatch java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine org.graalvm.polyglot.Context org.graalvm.polyglot.Value
StackMap stack: java.lang.String
areturn
10: StackMap locals:
StackMap stack:
aload 9
ldc Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.String
11: aload 7
ifnull 12
aload 7
invokevirtual org.graalvm.polyglot.Engine.close:()V
12: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 9 end local 8 StackMap locals: com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest org.graalvm.polyglot.Source java.lang.String java.io.OutputStream java.util.concurrent.CountDownLatch java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine
StackMap stack: java.lang.Throwable
13: astore 5
14: aload 7
ifnull 15
aload 7
invokevirtual org.graalvm.polyglot.Engine.close:()V
end local 7 StackMap locals:
StackMap stack:
15: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 6
aload 5
ifnonnull 17
aload 6
astore 5
goto 18
StackMap locals:
StackMap stack:
17: aload 5
aload 6
if_acmpeq 18
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
0 19 1 src Lorg/graalvm/polyglot/Source;
0 19 2 path Ljava/lang/String;
0 19 3 out Ljava/io/OutputStream;
0 19 4 isUp Ljava/util/concurrent/CountDownLatch;
2 15 7 e Lorg/graalvm/polyglot/Engine;
4 13 8 c Lorg/graalvm/polyglot/Context;
6 13 9 result Lorg/graalvm/polyglot/Value;
Exception table:
from to target type
2 8 13 any
10 11 13 any
1 9 16 any
10 12 16 any
13 16 16 any
MethodParameters:
Name Flags
src
path
out
isUp
private static void checkInfo(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=12, args_size=1
start local 0 0: new java.net.URL
dup
ldc "http"
invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
sipush 9229
ldc "/json"
invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
checkcast java.net.HttpURLConnection
astore 2
start local 2 2: ldc "application/json; charset=UTF-8"
aload 2
invokevirtual java.net.HttpURLConnection.getContentType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: new java.io.StringWriter
dup
aload 2
invokevirtual java.net.HttpURLConnection.getContentLength:()I
invokespecial java.io.StringWriter.<init>:(I)V
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 2
invokevirtual java.net.HttpURLConnection.getInputStream:()Ljava/io/InputStream;
ldc "UTF-8"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 6
start local 6 6: goto 8
start local 7 7: StackMap locals: java.lang.String[] java.net.URL java.net.HttpURLConnection java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String
StackMap stack:
aload 3
aload 7
invokevirtual java.io.StringWriter.write:(Ljava/lang/String;)V
end local 7 8: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 7
start local 7 9: ifnonnull 7
end local 7 10: aload 6
ifnull 16
aload 6
invokevirtual java.io.BufferedReader.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
aload 6
ifnull 12
aload 6
invokevirtual java.io.BufferedReader.close:()V
end local 6 StackMap locals:
StackMap stack:
12: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
aload 4
ifnonnull 14
aload 5
astore 4
goto 15
StackMap locals:
StackMap stack:
14: aload 4
aload 5
if_acmpeq 15
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
astore 4
start local 4 17: new com.oracle.truffle.tools.utils.json.JSONArray
dup
aload 4
invokespecial com.oracle.truffle.tools.utils.json.JSONArray.<init>:(Ljava/lang/String;)V
astore 5
start local 5 18: aload 4
aload 0
arraylength
i2l
aload 5
invokevirtual com.oracle.truffle.tools.utils.json.JSONArray.length:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
19: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 20: iconst_0
istore 7
start local 7 21: goto 24
22: StackMap locals: java.lang.String[] java.net.URL java.net.HttpURLConnection java.io.StringWriter java.lang.String com.oracle.truffle.tools.utils.json.JSONArray java.util.Set int
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
ldc "9229/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
aload 0
arraylength
if_icmplt 22
end local 7 25: iconst_0
istore 7
start local 7 26: goto 38
27: StackMap locals:
StackMap stack:
aload 5
iload 7
invokevirtual com.oracle.truffle.tools.utils.json.JSONArray.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.utils.json.JSONObject
astore 8
start local 8 28: aload 8
ldc "webSocketDebuggerUrl"
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 29: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 34
StackMap locals: java.lang.String[] java.net.URL java.net.HttpURLConnection java.io.StringWriter java.lang.String com.oracle.truffle.tools.utils.json.JSONArray java.util.Set int com.oracle.truffle.tools.utils.json.JSONObject java.lang.String top java.util.Iterator
StackMap stack:
30: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 31: aload 9
aload 10
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 34
32: aload 6
aload 10
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
33: goto 35
end local 10 34: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
35: StackMap locals: java.lang.String[] java.net.URL java.net.HttpURLConnection java.io.StringWriter java.lang.String com.oracle.truffle.tools.utils.json.JSONArray java.util.Set int com.oracle.truffle.tools.utils.json.JSONObject java.lang.String
StackMap stack:
aload 6
invokeinterface java.util.Set.size:()I
aload 0
arraylength
iload 7
isub
iconst_1
isub
if_icmple 37
36: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 9
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " does not end with any of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 9 end local 8 37: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
38: iload 7
aload 0
arraylength
if_icmplt 27
end local 7 39: aload 6
invokeinterface java.util.Set.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
40: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 paths [Ljava/lang/String;
1 41 1 url Ljava/net/URL;
2 41 2 connection Ljava/net/HttpURLConnection;
4 41 3 out Ljava/io/StringWriter;
6 12 6 in Ljava/io/BufferedReader;
7 8 7 inputLine Ljava/lang/String;
9 10 7 inputLine Ljava/lang/String;
17 41 4 message Ljava/lang/String;
18 41 5 infos Lcom/oracle/truffle/tools/utils/json/JSONArray;
20 41 6 endWs Ljava/util/Set<Ljava/lang/String;>;
21 25 7 i I
26 39 7 i I
28 37 8 info Lcom/oracle/truffle/tools/utils/json/JSONObject;
29 37 9 ws Ljava/lang/String;
31 34 10 end Ljava/lang/String;
Exception table:
from to target type
6 10 11 any
5 13 13 any
Exceptions:
throws java.net.MalformedURLException, java.io.IOException
MethodParameters:
Name Flags
paths
private static void checkSuspendAndResume(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=1
start local 0 0: new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 1
start local 1 1: new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 2
start local 2 2: new java.util.concurrent.atomic.AtomicReference
dup
aconst_null
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
astore 3
start local 3 3: new java.lang.StringBuilder
dup
ldc "ws://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()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;
sipush 9229
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 4: new com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest$1
dup
new java.net.URI
dup
aload 4
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
aload 2
aload 1
aload 3
invokespecial com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest$1.<init>:(Ljava/net/URI;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)V
astore 5
start local 5 5: aload 5
invokevirtual com.oracle.truffle.tools.utils.java_websocket.client.WebSocketClient.connectBlocking:()Z
istore 6
start local 6 6: new java.lang.StringBuilder
dup
ldc "Connection has not succeeded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 6
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
7: getstatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.INITIAL_MESSAGES:[Ljava/lang/String;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 11
StackMap locals: java.lang.String java.util.concurrent.CountDownLatch java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicReference java.lang.String com.oracle.truffle.tools.utils.java_websocket.client.WebSocketClient int top int int java.lang.String[]
StackMap stack:
8: aload 10
iload 8
aaload
astore 7
start local 7 9: aload 5
aload 7
invokevirtual com.oracle.truffle.tools.utils.java_websocket.client.WebSocketClient.send:(Ljava/lang/String;)V
end local 7 10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
iload 9
if_icmplt 8
12: aload 1
invokevirtual java.util.concurrent.CountDownLatch.await:()V
13: aload 5
invokevirtual com.oracle.truffle.tools.utils.java_websocket.client.WebSocketClient.close:()V
14: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 16
15: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Exception
athrow
16: StackMap locals: java.lang.String java.util.concurrent.CountDownLatch java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicReference java.lang.String com.oracle.truffle.tools.utils.java_websocket.client.WebSocketClient int
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 path Ljava/lang/String;
1 17 1 closed Ljava/util/concurrent/CountDownLatch;
2 17 2 paused Ljava/util/concurrent/atomic/AtomicBoolean;
3 17 3 exception Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Exception;>;
4 17 4 url Ljava/lang/String;
5 17 5 wsc Lcom/oracle/truffle/tools/utils/java_websocket/client/WebSocketClient;
6 17 6 connectionSucceeded Z
9 10 7 message Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
path
private static void lambda$0(java.util.concurrent.CountDownLatch[], java.util.concurrent.atomic.AtomicReference);
descriptor: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=2
0: iconst_0
istore 2
start local 2 1: goto 8
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
invokevirtual java.util.concurrent.CountDownLatch.await:()V
3: new java.lang.StringBuilder
dup
ldc "MTest"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ".sl."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic com.oracle.truffle.tools.chromeinspector.test.SecureInspectorPathGenerator.getToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 4: iconst_1
anewarray java.lang.String
dup
iconst_0
5: aload 3
aastore
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.checkInfo:([Ljava/lang/String;)V
6: aload 3
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.checkSuspendAndResume:(Ljava/lang/String;)V
end local 3 7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
if_icmplt 2
end local 2 9: goto 13
StackMap locals: java.util.concurrent.CountDownLatch[] java.util.concurrent.atomic.AtomicReference
StackMap stack: java.lang.Throwable
10: astore 2
start local 2 11: aload 2
invokevirtual java.lang.Throwable.printStackTrace:()V
12: aload 1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
end local 2 13: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 9 2 i I
4 7 3 path Ljava/lang/String;
11 13 2 thr Ljava/lang/Throwable;
Exception table:
from to target type
0 9 10 Class java.lang.Throwable
private void lambda$1(org.graalvm.polyglot.Source[], int, java.io.ByteArrayOutputStream, java.util.concurrent.CountDownLatch[], java.util.List);
descriptor: ([Lorg/graalvm/polyglot/Source;ILjava/io/ByteArrayOutputStream;[Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=6
start local 0 0: aload 0
aload 1
iload 2
aaload
aload 3
aload 4
iload 2
aaload
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.runEngine:(Lorg/graalvm/polyglot/Source;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
pop
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 6
start local 6 3: aload 6
invokevirtual java.lang.Throwable.printStackTrace:()V
4: aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
3 5 6 thr Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
private void lambda$2(org.graalvm.polyglot.Source[], java.lang.String, java.io.ByteArrayOutputStream, java.util.concurrent.CountDownLatch, java.util.List);
descriptor: ([Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/ByteArrayOutputStream;Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=6
start local 0 0: aload 0
aload 1
iconst_0
aaload
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.runEngine:(Lorg/graalvm/polyglot/Source;Ljava/lang/String;Ljava/io/OutputStream;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/String;
pop
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 6
start local 6 3: aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 4
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
end local 6 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/tools/chromeinspector/test/MultiEngineTest;
3 5 6 thr Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
private static void lambda$3(java.util.concurrent.CountDownLatch[], java.util.List);
descriptor: ([Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=2
0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
invokevirtual java.util.concurrent.CountDownLatch.await:()V
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 0
arraylength
if_icmplt 2
end local 2 5: aload 0
arraylength
anewarray java.lang.String
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 10
8: StackMap locals: java.util.concurrent.CountDownLatch[] java.util.List java.lang.String[] int
StackMap stack:
aload 2
iload 3
new java.lang.StringBuilder
dup
ldc "MTest"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ".sl."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic com.oracle.truffle.tools.chromeinspector.test.SecureInspectorPathGenerator.getToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
arraylength
if_icmplt 8
end local 3 11: aload 2
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.checkInfo:([Ljava/lang/String;)V
12: iconst_0
istore 3
start local 3 13: goto 18
14: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 15: new java.lang.Thread
dup
aload 2
iload 4
aload 1
invokedynamic run([Ljava/lang/String;ILjava/util/List;)Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/chromeinspector/test/MultiEngineTest.lambda$4([Ljava/lang/String;ILjava/util/List;)V (6)
()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
16: invokevirtual java.lang.Thread.start:()V
end local 4 17: iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
aload 2
arraylength
if_icmplt 14
end local 3 end local 2 19: goto 23
StackMap locals: java.util.concurrent.CountDownLatch[] java.util.List
StackMap stack: java.lang.Throwable
20: astore 2
start local 2 21: aload 2
invokevirtual java.lang.Throwable.printStackTrace:()V
22: aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 23: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 5 2 i I
6 19 2 paths [Ljava/lang/String;
7 11 3 i I
13 19 3 i I
15 17 4 index I
21 23 2 thr Ljava/lang/Throwable;
Exception table:
from to target type
0 19 20 Class java.lang.Throwable
private static void lambda$4(java.lang.String[], int, java.util.List);
descriptor: ([Ljava/lang/String;ILjava/util/List;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
0: aload 0
iload 1
aaload
invokestatic com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest.checkSuspendAndResume:(Ljava/lang/String;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 3
invokevirtual java.lang.Throwable.printStackTrace:()V
4: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
3 5 3 thr Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
}
SourceFile: "MultiEngineTest.java"
NestMembers:
com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest$1
InnerClasses:
com.oracle.truffle.tools.chromeinspector.test.MultiEngineTest$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public final Builder = org.graalvm.polyglot.Engine$Builder of org.graalvm.polyglot.Engine
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source