public class com.oracle.truffle.js.test.threading.SingleThreadAccess
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.threading.SingleThreadAccess
super_class: java.lang.Object
{
public org.graalvm.polyglot.Context cx;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0001) ACC_PUBLIC
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/js/test/threading/SingleThreadAccess;
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.threading.TestUtil.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
RuntimeVisibleAnnotations:
org.junit.Before()
public void end();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
ifnull 2
1: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
RuntimeVisibleAnnotations:
org.junit.After()
public void valueInTwoThreads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread
dup
new com.oracle.truffle.js.test.threading.SingleThreadAccess$1
dup
aload 0
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$1.<init>:(Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;)V
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.<init>:(Ljava/util/concurrent/Callable;)V
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.start:()V
2: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.joinWithReturnValue:()Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
ldc 42
invokestatic org.junit.Assert.assertEquals:(JJ)V
3: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
1 5 1 t Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
RuntimeVisibleAnnotations:
org.junit.Test()
public void functionInTwoThreads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread
dup
new com.oracle.truffle.js.test.threading.SingleThreadAccess$2
dup
aload 0
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$2.<init>:(Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;)V
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.<init>:(Ljava/util/concurrent/Callable;)V
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.start:()V
2: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.joinWithReturnValue:()Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
ldc 42
invokestatic org.junit.Assert.assertEquals:(JJ)V
3: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
1 5 1 t Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
RuntimeVisibleAnnotations:
org.junit.Test()
public void evalInTwoThreads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "var foo = 42;"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
1: new com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread
dup
new com.oracle.truffle.js.test.threading.SingleThreadAccess$3
dup
aload 0
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$3.<init>:(Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;)V
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.<init>:(Ljava/util/concurrent/Callable;)V
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.start:()V
3: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.joinWithReturnValue:()Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
ldc 42
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
2 6 1 t Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
RuntimeVisibleAnnotations:
org.junit.Test()
public void createThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
ldc "js"
ldc "var foo = 42;"
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
1: new com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread
dup
new com.oracle.truffle.js.test.threading.SingleThreadAccess$4
dup
aload 0
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$4.<init>:(Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;)V
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.<init>:(Ljava/util/concurrent/Callable;)V
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.start:()V
3: aload 1
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.joinWithReturnValue:()Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
ldc 42
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: aload 0
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess.cx:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess;
2 6 1 t Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "SingleThreadAccess.java"
NestMembers:
com.oracle.truffle.js.test.threading.SingleThreadAccess$1 com.oracle.truffle.js.test.threading.SingleThreadAccess$2 com.oracle.truffle.js.test.threading.SingleThreadAccess$3 com.oracle.truffle.js.test.threading.SingleThreadAccess$4 com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread$1
InnerClasses:
com.oracle.truffle.js.test.threading.SingleThreadAccess$1
com.oracle.truffle.js.test.threading.SingleThreadAccess$2
com.oracle.truffle.js.test.threading.SingleThreadAccess$3
com.oracle.truffle.js.test.threading.SingleThreadAccess$4
TestingThread = com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread of com.oracle.truffle.js.test.threading.SingleThreadAccess
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context