class com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread
super_class: java.lang.Thread
{
private final java.lang.Runnable task;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.Object result;
descriptor: Ljava/lang/Object;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
void <init>(java.util.concurrent.Callable<org.graalvm.polyglot.Value>);
descriptor: (Ljava/util/concurrent/Callable;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
start local 1 // java.util.concurrent.Callable task
0: .line 160
aload 0 /* this */
invokespecial java.lang.Thread.<init>:()V
1: .line 161
aload 0 /* this */
aconst_null
putfield com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.result:Ljava/lang/Object;
2: .line 162
aload 0 /* this */
new com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread$1
dup
aload 0 /* this */
aload 1 /* task */
invokespecial com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread$1.<init>:(Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;Ljava/util/concurrent/Callable;)V
putfield com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.task:Ljava/lang/Runnable;
3: .line 174
return
end local 1 // java.util.concurrent.Callable task
end local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
0 4 1 task Ljava/util/concurrent/Callable<Lorg/graalvm/polyglot/Value;>;
Signature: (Ljava/util/concurrent/Callable<Lorg/graalvm/polyglot/Value;>;)V
MethodParameters:
Name Flags
task
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
0: .line 178
aload 0 /* this */
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.task:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
1: .line 179
return
end local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
public org.graalvm.polyglot.Value joinWithReturnValue();
descriptor: ()Lorg/graalvm/polyglot/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
0: .line 183
aload 0 /* this */
invokevirtual com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.join:()V
1: .line 184
goto 4
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: astore 1 /* e */
start local 1 // java.lang.InterruptedException e
3: .line 185
new java.lang.AssertionError
dup
aload 1 /* e */
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 // java.lang.InterruptedException e
4: .line 187
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread.result:Ljava/lang/Object;
checkcast org.graalvm.polyglot.Value
areturn
end local 0 // com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/threading/SingleThreadAccess$TestingThread;
3 4 1 e Ljava/lang/InterruptedException;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
}
SourceFile: "SingleThreadAccess.java"
NestHost: com.oracle.truffle.js.test.threading.SingleThreadAccess
InnerClasses:
TestingThread = com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread of com.oracle.truffle.js.test.threading.SingleThreadAccess
com.oracle.truffle.js.test.threading.SingleThreadAccess$TestingThread$1