public class com.oracle.truffle.sl.test.SLCodeSharingTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLCodeSharingTest
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lcom/oracle/truffle/sl/test/SLCodeSharingTest;
private static org.graalvm.polyglot.Source createFib();
descriptor: ()Lorg/graalvm/polyglot/Source;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "sl"
ldc "function fib(n) {\n if (n == 1 || n == 2) {\n return 1;\n }\n return fib(n - 1) + fib(n - 2);\n}\n"
1: ldc "fib.sl"
2: invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
3: invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
4: areturn
LocalVariableTable:
Start End Slot Name Signature
public void testFibSharing();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: invokestatic com.oracle.truffle.sl.test.SLCodeSharingTest.createFib:()Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
astore 4
start local 4 3: aconst_null
astore 5
aconst_null
astore 6
4: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 4
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 7
start local 7 5: lconst_0
aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: aload 7
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
7: lconst_1
aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: aload 7
ifnull 15
aload 7
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 15
StackMap locals: com.oracle.truffle.sl.test.SLCodeSharingTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
10: astore 5
aload 7
ifnull 11
aload 7
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 7 StackMap locals:
StackMap stack:
11: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 6
aload 5
ifnonnull 13
aload 6
astore 5
goto 14
StackMap locals:
StackMap stack:
13: aload 5
aload 6
if_acmpeq 14
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 5
athrow
15: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
16: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 4
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 7
start local 7 17: lconst_1
aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
19: aload 7
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
20: lconst_1
aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
21: aload 4
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
22: aload 7
ifnull 28
aload 7
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 28
StackMap locals: com.oracle.truffle.sl.test.SLCodeSharingTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
23: astore 5
aload 7
ifnull 24
aload 7
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 7 StackMap locals:
StackMap stack:
24: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 6
aload 5
ifnonnull 26
aload 6
astore 5
goto 27
StackMap locals:
StackMap stack:
26: aload 5
aload 6
if_acmpeq 27
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 5
athrow
28: StackMap locals:
StackMap stack:
aload 4
ifnull 34
aload 4
invokevirtual org.graalvm.polyglot.Engine.close:()V
goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 2
aload 4
ifnull 30
aload 4
invokevirtual org.graalvm.polyglot.Engine.close:()V
end local 4 StackMap locals:
StackMap stack:
30: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 3
aload 2
ifnonnull 32
aload 3
astore 2
goto 33
StackMap locals:
StackMap stack:
32: aload 2
aload 3
if_acmpeq 33
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 2
athrow
34: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/oracle/truffle/sl/test/SLCodeSharingTest;
1 35 1 fib Lorg/graalvm/polyglot/Source;
3 30 4 engine Lorg/graalvm/polyglot/Engine;
5 11 7 context Lorg/graalvm/polyglot/Context;
17 24 7 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
5 9 10 any
4 12 12 any
17 22 23 any
16 25 25 any
3 28 29 any
2 31 31 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "SLCodeSharingTest.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source