public class com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler implements com.oracle.svm.truffle.api.SubstrateTruffleCompiler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler
super_class: java.lang.Object
{
private final com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord<org.graalvm.nativeimage.Isolate> sharedIsolate;
descriptor: Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord<Lorg/graalvm/nativeimage/Isolate;>;
protected final com.oracle.svm.truffle.api.SubstrateTruffleCompiler delegate;
descriptor: Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean firstCompilation;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.svm.truffle.api.SubstrateTruffleCompiler);
descriptor: (Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord
dup
invokespecial com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.<init>:()V
putfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
2: aload 0
aload 1
putfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
3: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.firstCompilation:Ljava/util/concurrent/atomic/AtomicBoolean;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 5 1 delegate Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
MethodParameters:
Name Flags
delegate
public void initialize(java.util.Map<java.lang.String, java.lang.Object>, org.graalvm.compiler.truffle.common.CompilableTruffleAST, );
descriptor: (Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
ifne 2
1: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
aload 1
aload 2
iload 3
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.initialize:(Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 3 1 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 3 2 compilable Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
0 3 3 firstInitialization Z
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
MethodParameters:
Name Flags
options
compilable
firstInitialization
public org.graalvm.compiler.truffle.common.TruffleCompilation openCompilation(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
aload 1
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.openCompilation:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 1 1 compilable Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
MethodParameters:
Name Flags
compilable
public org.graalvm.compiler.truffle.common.TruffleDebugContext openDebugContext(java.util.Map<java.lang.String, java.lang.Object>, org.graalvm.compiler.truffle.common.TruffleCompilation);
descriptor: (Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
aload 1
aload 2
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.openDebugContext:(Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 1 1 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 1 2 compilation Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;
MethodParameters:
Name Flags
options
compilation
public void doCompile(org.graalvm.compiler.truffle.common.TruffleDebugContext, org.graalvm.compiler.truffle.common.TruffleCompilation, java.util.Map<java.lang.String, java.lang.Object>, org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider, org.graalvm.compiler.truffle.common.TruffleCompilationTask, org.graalvm.compiler.truffle.common.TruffleCompilerListener);
descriptor: (Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
ifne 3
1: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
aconst_null
aload 2
aload 3
aload 4
aload 5
aload 6
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.doCompile:(Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.beforeCompilation:()Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
astore 7
start local 7 4: new com.oracle.svm.graal.isolated.IsolatedCompileClient
dup
aload 7
invokespecial com.oracle.svm.graal.isolated.IsolatedCompileClient.<init>:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
astore 8
start local 8 5: aload 8
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
6: aload 3
invokeinterface java.util.Map.isEmpty:()Z
ifeq 7
aconst_null
goto 8
StackMap locals: com.oracle.svm.graal.isolated.CompilerIsolateThread com.oracle.svm.graal.isolated.IsolatedCompileClient
StackMap stack:
7: aload 3
invokestatic org.graalvm.util.OptionsEncoder.encode:(Ljava/util/Map;)[B
StackMap locals:
StackMap stack: byte[]
8: astore 9
start local 9 9: invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.encodeRuntimeOptionValues:()[B
astore 10
start local 10 10: aconst_null
astore 11
start local 11 11: aload 6
ifnull 13
12: new com.oracle.svm.truffle.isolated.IsolatedEventContext
dup
aload 6
aload 2
invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilation.getCompilable:()Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
aload 4
invokespecial com.oracle.svm.truffle.isolated.IsolatedEventContext.<init>:(Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;)V
astore 11
13: StackMap locals: byte[] byte[] com.oracle.svm.truffle.isolated.IsolatedEventContext
StackMap stack:
aload 7
14: invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
checkcast com.oracle.svm.graal.isolated.ClientIsolateThread
15: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
invokestatic com.oracle.svm.graal.isolated.ImageHeapObjects.ref:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ImageHeapRef;
16: aload 8
aload 2
checkcast org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
17: aload 8
aload 2
invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilation.getCompilable:()Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
checkcast com.oracle.svm.truffle.api.SubstrateCompilableTruffleAST
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
18: aload 8
aload 9
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
19: aload 9
invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.getNullableArrayLength:(Ljava/lang/Object;)I
20: aload 8
aload 4
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
21: aload 8
aload 5
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
22: aload 8
aload 11
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
23: aload 8
aload 10
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
24: aload 10
invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.getNullableArrayLength:(Ljava/lang/Object;)I
25: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.firstCompilation:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
26: invokestatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.doCompile0:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ImageHeapRef;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;ILcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;IZ)Lcom/oracle/svm/graal/isolated/ClientHandle;
astore 12
start local 12 27: aload 8
aload 12
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.unhand:(Lcom/oracle/svm/graal/isolated/ClientHandle;)Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 28: aload 13
ifnull 33
29: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "doCompile threw: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 12 end local 11 end local 10 end local 9 30: StackMap locals: com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler org.graalvm.compiler.truffle.common.TruffleDebugContext org.graalvm.compiler.truffle.common.TruffleCompilation java.util.Map org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener com.oracle.svm.graal.isolated.CompilerIsolateThread com.oracle.svm.graal.isolated.IsolatedCompileClient
StackMap stack: java.lang.Throwable
astore 14
31: aconst_null
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
32: aload 14
athrow
33: StackMap locals:
StackMap stack:
aconst_null
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
end local 8 34: goto 38
StackMap locals: com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler org.graalvm.compiler.truffle.common.TruffleDebugContext org.graalvm.compiler.truffle.common.TruffleCompilation java.util.Map org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener com.oracle.svm.graal.isolated.CompilerIsolateThread
StackMap stack: java.lang.Throwable
35: astore 15
36: aload 0
aload 7
invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.afterCompilation:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
37: aload 15
athrow
38: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.afterCompilation:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
39: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 40 1 debug Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;
0 40 2 compilation Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
0 40 3 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 40 4 inlining Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;
0 40 5 task Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;
0 40 6 listener Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
4 40 7 context Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
5 34 8 client Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;
9 30 9 encodedOptions [B
10 30 10 encodedRuntimeOptions [B
11 30 11 eventContext Lcom/oracle/svm/truffle/isolated/IsolatedEventContext;
27 30 12 thrownException Lcom/oracle/svm/graal/isolated/ClientHandle<Ljava/lang/String;>;
28 30 13 exception Ljava/lang/String;
Exception table:
from to target type
6 30 30 any
4 35 35 any
Signature: (Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"DLS_DEAD_LOCAL_STORE"}, justification = "False positive.")
MethodParameters:
Name Flags
debug
compilation
options
inlining
task
listener
protected com.oracle.svm.graal.isolated.CompilerIsolateThread beforeCompilation();
descriptor: ()Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.Isolate
astore 1
start local 1 1: aload 1
invokeinterface org.graalvm.nativeimage.Isolate.isNull:()Z
ifeq 10
2: invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.createCompilationIsolate:()Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
astore 2
start local 2 3: aload 2
invokestatic org.graalvm.nativeimage.Isolates.getIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/Isolate;
astore 1
4: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.Isolate
aload 1
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.compareAndSet:(Lorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;)Z
ifeq 7
5: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
new java.lang.Thread
dup
aload 0
invokedynamic run(Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler.sharedIsolateShutdown()V (7)
()V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
6: aload 2
areturn
7: StackMap locals: org.graalvm.nativeimage.Isolate com.oracle.svm.graal.isolated.CompilerIsolateThread
StackMap stack:
aload 2
invokestatic org.graalvm.nativeimage.Isolates.tearDownIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)V
8: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.Isolate
astore 1
9: getstatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.$assertionsDisabled:Z
ifne 10
aload 1
invokeinterface org.graalvm.nativeimage.Isolate.isNonNull:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.nativeimage.Isolates.attachCurrentThread:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/nativeimage/IsolateThread;
checkcast com.oracle.svm.graal.isolated.CompilerIsolateThread
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
1 11 1 isolate Lorg/graalvm/nativeimage/Isolate;
3 10 2 thread Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
private void sharedIsolateShutdown();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.Isolate
astore 1
start local 1 1: aload 1
invokestatic org.graalvm.nativeimage.Isolates.attachCurrentThread:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/nativeimage/IsolateThread;
checkcast com.oracle.svm.graal.isolated.CompilerIsolateThread
astore 2
start local 2 2: aload 2
invokestatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.compilerIsolateThreadShutdown:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
3: aload 2
invokestatic org.graalvm.nativeimage.Isolates.detachThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
1 5 1 isolate Lorg/graalvm/nativeimage/Isolate;
2 5 2 context Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
protected static void compilerIsolateThreadShutdown(com.oracle.svm.graal.isolated.CompilerIsolateThread);
descriptor: (Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.nativeimage.VMRuntime.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint()
com.oracle.svm.core.c.function.CEntryPointOptions(include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.NotPublished:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.nativeimage.c.function.CEntryPoint$IsolateThreadContext()
MethodParameters:
Name Flags
context
protected void afterCompilation(com.oracle.svm.graal.isolated.CompilerIsolateThread);
descriptor: (Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.nativeimage.Isolates.detachThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
0 2 1 context Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
MethodParameters:
Name Flags
context
private static com.oracle.svm.graal.isolated.ClientHandle<java.lang.String> doCompile0(com.oracle.svm.graal.isolated.CompilerIsolateThread, com.oracle.svm.graal.isolated.ClientIsolateThread, com.oracle.svm.graal.isolated.ImageHeapRef<com.oracle.svm.truffle.api.SubstrateTruffleCompiler>, com.oracle.svm.graal.isolated.ClientHandle<org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier>, com.oracle.svm.graal.isolated.ClientHandle<com.oracle.svm.truffle.api.SubstrateCompilableTruffleAST>, com.oracle.svm.graal.isolated.ClientHandle<byte[]>, int, com.oracle.svm.graal.isolated.ClientHandle<org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider>, com.oracle.svm.graal.isolated.ClientHandle<org.graalvm.compiler.truffle.common.TruffleCompilationTask>, com.oracle.svm.graal.isolated.ClientHandle<com.oracle.svm.truffle.isolated.IsolatedEventContext>, com.oracle.svm.graal.isolated.ClientHandle<byte[]>, int, boolean);
descriptor: (Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ImageHeapRef;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;ILcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/graal/isolated/ClientHandle;IZ)Lcom/oracle/svm/graal/isolated/ClientHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=22, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: new com.oracle.svm.graal.isolated.IsolatedCompileContext
dup
aload 1
invokespecial com.oracle.svm.graal.isolated.IsolatedCompileContext.<init>:(Lcom/oracle/svm/graal/isolated/ClientIsolateThread;)V
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
1: aload 10
iload 11
invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.applyClientRuntimeOptionValues:(Lcom/oracle/svm/graal/isolated/ClientHandle;I)V
2: aload 2
invokestatic com.oracle.svm.graal.isolated.ImageHeapObjects.deref:(Lcom/oracle/svm/graal/isolated/ImageHeapRef;)Ljava/lang/Object;
checkcast com.oracle.svm.truffle.api.SubstrateTruffleCompiler
astore 13
start local 13 3: aload 1
aload 5
iload 6
invokestatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.decodeOptions:(Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle;I)Ljava/util/Map;
astore 14
start local 14 4: new com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST
dup
aload 4
invokespecial com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
astore 15
start local 15 5: aload 13
aload 14
aload 15
iload 12
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.initialize:(Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
6: new com.oracle.svm.truffle.isolated.IsolatedCompilationIdentifier
dup
aload 3
aload 15
invokespecial com.oracle.svm.truffle.isolated.IsolatedCompilationIdentifier.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST;)V
astore 16
start local 16 7: new com.oracle.svm.truffle.isolated.IsolatedTruffleInlining
dup
aload 7
invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleInlining.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
astore 17
start local 17 8: aconst_null
astore 18
start local 18 9: aload 8
invokestatic com.oracle.svm.graal.isolated.IsolatedHandles.nullHandle:()Lcom/oracle/svm/graal/isolated/IsolatedHandle;
invokeinterface com.oracle.svm.graal.isolated.ClientHandle.notEqual:(Lorg/graalvm/word/ComparableWord;)Z
ifeq 11
10: new com.oracle.svm.truffle.isolated.IsolatedTruffleCompilationTask
dup
aload 8
invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleCompilationTask.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
astore 18
11: StackMap locals: com.oracle.svm.graal.isolated.CompilerIsolateThread com.oracle.svm.graal.isolated.ClientIsolateThread com.oracle.svm.graal.isolated.ImageHeapRef com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle int com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle int int com.oracle.svm.truffle.api.SubstrateTruffleCompiler java.util.Map com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleCompilation com.oracle.svm.truffle.isolated.IsolatedTruffleInlining org.graalvm.compiler.truffle.common.TruffleCompilationTask
StackMap stack:
aconst_null
astore 19
start local 19 12: aload 9
invokestatic com.oracle.svm.graal.isolated.IsolatedHandles.nullHandle:()Lcom/oracle/svm/graal/isolated/IsolatedHandle;
invokeinterface com.oracle.svm.graal.isolated.ClientHandle.notEqual:(Lorg/graalvm/word/ComparableWord;)Z
ifeq 14
13: new com.oracle.svm.truffle.isolated.IsolatedTruffleCompilerEventForwarder
dup
aload 9
invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleCompilerEventForwarder.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
astore 19
14: StackMap locals: org.graalvm.compiler.truffle.common.TruffleCompilerListener
StackMap stack:
aload 13
aconst_null
aload 16
aload 14
aload 17
aload 18
aload 19
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.doCompile:(Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;Lorg/graalvm/compiler/truffle/common/TruffleCompilation;Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
15: invokestatic com.oracle.svm.graal.isolated.IsolatedHandles.nullHandle:()Lcom/oracle/svm/graal/isolated/IsolatedHandle;
checkcast com.oracle.svm.graal.isolated.ClientHandle
astore 21
16: aconst_null
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
17: aload 21
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 18: StackMap locals: com.oracle.svm.graal.isolated.CompilerIsolateThread com.oracle.svm.graal.isolated.ClientIsolateThread com.oracle.svm.graal.isolated.ImageHeapRef com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle int com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle com.oracle.svm.graal.isolated.ClientHandle int int
StackMap stack: java.lang.Throwable
astore 13
start local 13 19: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 14
start local 14 20: aload 13
new java.io.PrintWriter
dup
aload 14
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
21: invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.get:()Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;
aload 14
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileContext.createStringInClient:(Ljava/lang/CharSequence;)Lcom/oracle/svm/graal/isolated/ClientHandle;
astore 21
22: aconst_null
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
23: aload 21
areturn
end local 14 end local 13 24: StackMap locals:
StackMap stack: java.lang.Throwable
astore 20
25: aconst_null
invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
26: aload 20
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 context Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
0 27 1 client Lcom/oracle/svm/graal/isolated/ClientIsolateThread;
0 27 2 delegateRef Lcom/oracle/svm/graal/isolated/ImageHeapRef<Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;>;
0 27 3 compilationIdentifierHandle Lcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;>;
0 27 4 compilableHandle Lcom/oracle/svm/graal/isolated/ClientHandle<Lcom/oracle/svm/truffle/api/SubstrateCompilableTruffleAST;>;
0 27 5 encodedOptionsHandle Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;
0 27 6 encodedOptionsLength I
0 27 7 inliningHandle Lcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;>;
0 27 8 taskHandle Lcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;>;
0 27 9 eventContextHandle Lcom/oracle/svm/graal/isolated/ClientHandle<Lcom/oracle/svm/truffle/isolated/IsolatedEventContext;>;
0 27 10 encodedRuntimeOptionsHandle Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;
0 27 11 encodedRuntimeOptionsLength I
0 27 12 firstCompilation Z
3 18 13 delegate Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
4 18 14 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
5 18 15 compilable Lcom/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST;
7 18 16 compilation Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
8 18 17 inlining Lcom/oracle/svm/truffle/isolated/IsolatedTruffleInlining<Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;>;
9 18 18 task Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;
12 18 19 listener Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
19 24 13 t Ljava/lang/Throwable;
20 24 14 writer Ljava/io/StringWriter;
Exception table:
from to target type
1 16 18 Class java.lang.Throwable
1 16 24 any
18 22 24 any
Signature: (Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ImageHeapRef<Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;>;Lcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;>;Lcom/oracle/svm/graal/isolated/ClientHandle<Lcom/oracle/svm/truffle/api/SubstrateCompilableTruffleAST;>;Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;ILcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;>;Lcom/oracle/svm/graal/isolated/ClientHandle<Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;>;Lcom/oracle/svm/graal/isolated/ClientHandle<Lcom/oracle/svm/truffle/isolated/IsolatedEventContext;>;Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;IZ)Lcom/oracle/svm/graal/isolated/ClientHandle<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint()
com.oracle.svm.core.c.function.CEntryPointOptions(include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.NotPublished:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.nativeimage.c.function.CEntryPoint$IsolateThreadContext()
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
MethodParameters:
Name Flags
context
client
delegateRef
compilationIdentifierHandle
compilableHandle
encodedOptionsHandle
encodedOptionsLength
inliningHandle
taskHandle
eventContextHandle
encodedRuntimeOptionsHandle
encodedRuntimeOptionsLength
firstCompilation
private static java.util.Map<java.lang.String, java.lang.Object> decodeOptions(com.oracle.svm.graal.isolated.ClientIsolateThread, com.oracle.svm.graal.isolated.ClientHandle<byte[]>, int);
descriptor: (Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle;I)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifgt 2
1: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
areturn
2: StackMap locals:
StackMap stack:
iload 2
newarray 8
astore 3
start local 3 3: aconst_null
astore 4
aconst_null
astore 5
4: aload 3
invokestatic org.graalvm.nativeimage.PinnedObject.create:(Ljava/lang/Object;)Lorg/graalvm/nativeimage/PinnedObject;
astore 6
start local 6 5: aload 0
aload 1
aload 6
iconst_0
invokeinterface org.graalvm.nativeimage.PinnedObject.addressOfArrayElement:(I)Lorg/graalvm/word/PointerBase;
invokestatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.copyEncodedOptions:(Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle;Lorg/graalvm/word/PointerBase;)V
6: aload 6
ifnull 12
aload 6
invokeinterface org.graalvm.nativeimage.PinnedObject.close:()V
goto 12
StackMap locals: com.oracle.svm.graal.isolated.ClientIsolateThread com.oracle.svm.graal.isolated.ClientHandle int byte[] java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.PinnedObject
StackMap stack: java.lang.Throwable
7: astore 4
aload 6
ifnull 8
aload 6
invokeinterface org.graalvm.nativeimage.PinnedObject.close:()V
end local 6 StackMap locals:
StackMap stack:
8: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
aload 4
ifnonnull 10
aload 5
astore 4
goto 11
StackMap locals:
StackMap stack:
10: aload 4
aload 5
if_acmpeq 11
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.util.OptionsEncoder.decode:([B)Ljava/util/Map;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 client Lcom/oracle/svm/graal/isolated/ClientIsolateThread;
0 13 1 encodedOptionsHandle Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;
0 13 2 encodedOptionsLength I
3 13 3 encodedOptions [B
5 8 6 pinnedEncodedOptions Lorg/graalvm/nativeimage/PinnedObject;
Exception table:
from to target type
5 6 7 any
4 9 9 any
Signature: (Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
client
encodedOptionsHandle
encodedOptionsLength
private static void copyEncodedOptions(com.oracle.svm.graal.isolated.ClientIsolateThread, com.oracle.svm.graal.isolated.ClientHandle<byte[]>, org.graalvm.word.PointerBase);
descriptor: (Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle;Lorg/graalvm/word/PointerBase;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.get:()Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;
aload 1
invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.unhand:(Lcom/oracle/svm/graal/isolated/ClientHandle;)Ljava/lang/Object;
checkcast byte[]
astore 3
start local 3 1: aload 2
aload 3
arraylength
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.asByteBuffer:(Lorg/graalvm/word/PointerBase;I)Ljava/nio/ByteBuffer;
aload 3
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 client Lcom/oracle/svm/graal/isolated/ClientIsolateThread;
0 3 1 encodedOptionsHandle Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;
0 3 2 buffer Lorg/graalvm/word/PointerBase;
1 3 3 encodedOptions [B
Signature: (Lcom/oracle/svm/graal/isolated/ClientIsolateThread;Lcom/oracle/svm/graal/isolated/ClientHandle<[B>;Lorg/graalvm/word/PointerBase;)V
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint()
com.oracle.svm.core.c.function.CEntryPointOptions(include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.NotPublished:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.nativeimage.c.function.CEntryPoint$IsolateThreadContext()
1:
2:
MethodParameters:
Name Flags
client
encodedOptionsHandle
buffer
public java.lang.String getCompilerConfigurationName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.getCompilerConfigurationName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
public void teardown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.tearDownIsolateOnShutdown:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
protected void tearDownIsolateOnShutdown();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.sharedIsolate:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicWord;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.Isolate
astore 1
start local 1 1: aload 1
invokeinterface org.graalvm.nativeimage.Isolate.isNonNull:()Z
ifeq 4
2: aload 1
invokestatic org.graalvm.nativeimage.Isolates.attachCurrentThread:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/nativeimage/IsolateThread;
astore 2
start local 2 3: aload 2
invokestatic org.graalvm.nativeimage.Isolates.tearDownIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)V
end local 2 4: StackMap locals: org.graalvm.nativeimage.Isolate
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
1 5 1 shared Lorg/graalvm/nativeimage/Isolate;
3 4 2 current Lorg/graalvm/nativeimage/IsolateThread;
public org.graalvm.compiler.truffle.compiler.PartialEvaluator getPartialEvaluator();
descriptor: ()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
public org.graalvm.compiler.api.replacements.SnippetReflectionProvider getSnippetReflection();
descriptor: ()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler;
}
SourceFile: "IsolateAwareTruffleCompiler.java"
InnerClasses:
public final Publish = com.oracle.svm.core.c.function.CEntryPointOptions$Publish of com.oracle.svm.core.c.function.CEntryPointOptions
public AtomicWord = com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord of com.oracle.svm.core.jdk.UninterruptibleUtils
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract IsolateThreadContext = org.graalvm.nativeimage.c.function.CEntryPoint$IsolateThreadContext of org.graalvm.nativeimage.c.function.CEntryPoint