public class org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest extends com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest
super_class: com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest this
0: .line 46
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.<init>:()V
return
end local 0 // org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/ThreadsActivationCompilationTest;
public void testThreadActivationCompilation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest this
0: .line 50
aload 0 /* this */
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.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
ldc "engine.CompileImmediately"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
ldc "engine.BackgroundCompilation"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
1: .line 52
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
astore 1 /* compiledEnter */
start local 1 // java.util.concurrent.atomic.AtomicReference compiledEnter
2: .line 53
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
astore 2 /* compiledLeave */
start local 2 // java.util.concurrent.atomic.AtomicReference compiledLeave
3: .line 54
aload 1 /* compiledEnter */
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
4: .line 55
aload 2 /* compiledLeave */
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
5: .line 56
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
astore 3 /* singleContext */
start local 3 // com.oracle.truffle.api.Assumption singleContext
6: .line 57
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
new org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$1
dup
aload 0 /* this */
aload 3 /* singleContext */
aload 2 /* compiledLeave */
aload 1 /* compiledEnter */
invokespecial org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$1.<init>:(Lorg/graalvm/compiler/truffle/test/ThreadsActivationCompilationTest;Lcom/oracle/truffle/api/Assumption;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachThreadsActivationListener:(Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
7: .line 81
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
8: .line 83
aload 1 /* compiledEnter */
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
9: .line 84
aload 2 /* compiledLeave */
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
10: .line 86
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$2
dup
aload 0 /* this */
aconst_null
aload 1 /* compiledEnter */
aload 2 /* compiledLeave */
invokespecial org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$2.<init>:(Lorg/graalvm/compiler/truffle/test/ThreadsActivationCompilationTest;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 4 /* target */
start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
11: .line 108
invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getContext:()Lcom/oracle/truffle/api/TruffleContext;
astore 5 /* tc */
start local 5 // com.oracle.truffle.api.TruffleContext tc
12: .line 109
aload 3 /* singleContext */
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
13: .line 110
aload 4 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5 /* tc */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
14: .line 111
aload 4 /* target */
iconst_1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
pop
15: .line 112
aload 4 /* target */
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValidLastTier:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
16: .line 113
aload 4 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5 /* tc */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
17: .line 115
aload 4 /* target */
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValidLastTier:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
18: .line 116
aload 1 /* compiledEnter */
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
19: .line 117
aload 2 /* compiledLeave */
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
20: .line 119
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
21: .line 120
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
22: .line 122
return
end local 5 // com.oracle.truffle.api.TruffleContext tc
end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
end local 3 // com.oracle.truffle.api.Assumption singleContext
end local 2 // java.util.concurrent.atomic.AtomicReference compiledLeave
end local 1 // java.util.concurrent.atomic.AtomicReference compiledEnter
end local 0 // org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/truffle/test/ThreadsActivationCompilationTest;
2 23 1 compiledEnter Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Boolean;>;
3 23 2 compiledLeave Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Boolean;>;
6 23 3 singleContext Lcom/oracle/truffle/api/Assumption;
11 23 4 target Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
12 23 5 tc Lcom/oracle/truffle/api/TruffleContext;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ThreadsActivationCompilationTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$1 org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$2
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public LanguageContext = com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext of com.oracle.truffle.api.test.polyglot.ProxyLanguage
org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$1
org.graalvm.compiler.truffle.test.ThreadsActivationCompilationTest$2
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context