class com.oracle.truffle.api.test.ThreadSafetyTest$1 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.ThreadSafetyTest$1
super_class: java.lang.Object
{
private final com.oracle.truffle.api.CallTarget val$target;
descriptor: Lcom/oracle/truffle/api/CallTarget;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$expectedResult;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.atomic.AtomicInteger val$ai;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.CallTarget, int, java.util.concurrent.atomic.AtomicInteger);
descriptor: (Lcom/oracle/truffle/api/CallTarget;ILjava/util/concurrent/atomic/AtomicInteger;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$target:Lcom/oracle/truffle/api/CallTarget;
aload 0
iload 2
putfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$expectedResult:I
aload 0
aload 3
putfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$ai:Ljava/util/concurrent/atomic/AtomicInteger;
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/api/test/ThreadSafetyTest$1;
MethodParameters:
Name Flags
val$target final
val$expectedResult final
val$ai final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$target:Lcom/oracle/truffle/api/CallTarget;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$expectedResult:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
getfield com.oracle.truffle.api.test.ThreadSafetyTest$1.val$ai:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
end local 1 3: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
start local 1 5: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/ThreadSafetyTest$1;
1 3 1 result Ljava/lang/Object;
5 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
}
SourceFile: "ThreadSafetyTest.java"
EnclosingMethod: com.oracle.truffle.api.test.ThreadSafetyTest.testTarget:(Lcom/oracle/truffle/api/CallTarget;II)V
NestHost: com.oracle.truffle.api.test.ThreadSafetyTest
InnerClasses:
com.oracle.truffle.api.test.ThreadSafetyTest$1