public class com.oracle.truffle.sl.test.SLValueSharingTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLValueSharingTest
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 // com.oracle.truffle.sl.test.SLValueSharingTest this
0: .line 49
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.sl.test.SLValueSharingTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/test/SLValueSharingTest;
public void testImplicitValueSharing();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=1
start local 0 // com.oracle.truffle.sl.test.SLValueSharingTest this
0: .line 61
new com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject
dup
invokespecial com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject.<init>:()V
astore 1 /* obj */
start local 1 // com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject obj
1: .line 62
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
astore 2 /* b */
start local 2 // org.graalvm.polyglot.Context$Builder b
2: .line 63
aconst_null
astore 3
aconst_null
astore 4
3: aload 2 /* b */
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 5 /* c0 */
start local 5 // org.graalvm.polyglot.Context c0
4: .line 64
aload 2 /* b */
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 6 /* c1 */
start local 6 // org.graalvm.polyglot.Context c1
5: .line 66
aload 5 /* c0 */
ldc "sl"
ldc "function test(obj) { obj.sharedField = new(); }"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
6: .line 67
aload 6 /* c1 */
ldc "sl"
ldc "function test(obj) { return obj.sharedField; }"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
7: .line 69
aload 5 /* c0 */
ldc "sl"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "test"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1 /* obj */
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
8: .line 70
aload 6 /* c1 */
ldc "sl"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "test"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 7 /* test1 */
start local 7 // org.graalvm.polyglot.Value test1
9: .line 72
aload 7 /* test1 */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1 /* obj */
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
10: .line 73
invokestatic org.junit.Assert.fail:()V
11: .line 74
goto 16
StackMap locals: com.oracle.truffle.sl.test.SLValueSharingTest com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Context org.graalvm.polyglot.Value
StackMap stack: org.graalvm.polyglot.PolyglotException
12: astore 8 /* e */
start local 8 // org.graalvm.polyglot.PolyglotException e
13: .line 75
ldc 28
aload 8 /* e */
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharIndex:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: .line 76
ldc 43
aload 8 /* e */
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharEndIndex:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
15: .line 77
aload 8 /* e */
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 8 /* e */
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "cannot be passed from one context to another"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 8 // org.graalvm.polyglot.PolyglotException e
end local 7 // org.graalvm.polyglot.Value test1
16: .line 79
StackMap locals:
StackMap stack:
aload 6 /* c1 */
ifnull 19
aload 6 /* c1 */
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 3
aload 6 /* c1 */
ifnull 18
aload 6 /* c1 */
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 6 // org.graalvm.polyglot.Context c1
StackMap locals:
StackMap stack:
18: aload 3
athrow
StackMap locals:
StackMap stack:
19: aload 5 /* c0 */
ifnull 27
aload 5 /* c0 */
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 4
aload 3
ifnonnull 21
aload 4
astore 3
goto 22
StackMap locals:
StackMap stack:
21: aload 3
aload 4
if_acmpeq 22
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 5 /* c0 */
ifnull 23
aload 5 /* c0 */
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 5 // org.graalvm.polyglot.Context c0
StackMap locals:
StackMap stack:
23: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 4
aload 3
ifnonnull 25
aload 4
astore 3
goto 26
StackMap locals:
StackMap stack:
25: aload 3
aload 4
if_acmpeq 26
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 3
athrow
27: .line 81
StackMap locals:
StackMap stack:
return
end local 2 // org.graalvm.polyglot.Context$Builder b
end local 1 // com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject obj
end local 0 // com.oracle.truffle.sl.test.SLValueSharingTest this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/sl/test/SLValueSharingTest;
1 28 1 obj Lcom/oracle/truffle/sl/test/SLValueSharingTest$JavaObject;
2 28 2 b Lorg/graalvm/polyglot/Context$Builder;
4 23 5 c0 Lorg/graalvm/polyglot/Context;
5 18 6 c1 Lorg/graalvm/polyglot/Context;
9 16 7 test1 Lorg/graalvm/polyglot/Value;
13 16 8 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
9 11 12 Class org.graalvm.polyglot.PolyglotException
5 16 17 any
4 19 20 any
3 24 24 any
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "SLValueSharingTest.java"
NestMembers:
com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject
InnerClasses:
public JavaObject = com.oracle.truffle.sl.test.SLValueSharingTest$JavaObject of com.oracle.truffle.sl.test.SLValueSharingTest
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context