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: .line 72
            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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler delegate
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            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: .line 80
            aload 0 /* this */
            aload 1 /* delegate */
            putfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
         3: .line 81
            aload 0 /* this */
            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: .line 82
            return
        end local 1 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler delegate
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // java.util.Map options
        start local 2 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 3 // boolean firstInitialization
         0: .line 86
            invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
            ifne 2
         1: .line 89
            aload 0 /* this */
            getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            aload 1 /* options */
            aload 2 /* compilable */
            iload 3 /* firstInitialization */
            invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.initialize:(Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
         2: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean firstInitialization
        end local 2 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 1 // java.util.Map options
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 95
            aload 0 /* this */
            getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            aload 1 /* compilable */
            invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.openCompilation:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
            areturn
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // java.util.Map options
        start local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
         0: .line 100
            aload 0 /* this */
            getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            aload 1 /* options */
            aload 2 /* compilation */
            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 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        end local 1 // java.util.Map options
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // org.graalvm.compiler.truffle.common.TruffleDebugContext debug
        start local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        start local 3 // java.util.Map options
        start local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inlining
        start local 5 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        start local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
         0: .line 108
            invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
            ifne 3
         1: .line 109
            aload 0 /* this */
            getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            aconst_null
            aload 2 /* compilation */
            aload 3 /* options */
            aload 4 /* inlining */
            aload 5 /* task */
            aload 6 /* listener */
            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: .line 110
            return
         3: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.beforeCompilation:()Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
            astore 7 /* context */
        start local 7 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
         4: .line 115
            new com.oracle.svm.graal.isolated.IsolatedCompileClient
            dup
            aload 7 /* context */
            invokespecial com.oracle.svm.graal.isolated.IsolatedCompileClient.<init>:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
            astore 8 /* client */
        start local 8 // com.oracle.svm.graal.isolated.IsolatedCompileClient client
         5: .line 116
            aload 8 /* client */
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
         6: .line 118
            aload 3 /* options */
            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 /* options */
            invokestatic org.graalvm.util.OptionsEncoder.encode:(Ljava/util/Map;)[B
      StackMap locals:
      StackMap stack: byte[]
         8: astore 9 /* encodedOptions */
        start local 9 // byte[] encodedOptions
         9: .line 119
            invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.encodeRuntimeOptionValues:()[B
            astore 10 /* encodedRuntimeOptions */
        start local 10 // byte[] encodedRuntimeOptions
        10: .line 120
            aconst_null
            astore 11 /* eventContext */
        start local 11 // com.oracle.svm.truffle.isolated.IsolatedEventContext eventContext
        11: .line 121
            aload 6 /* listener */
            ifnull 13
        12: .line 122
            new com.oracle.svm.truffle.isolated.IsolatedEventContext
            dup
            aload 6 /* listener */
            aload 2 /* compilation */
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilation.getCompilable:()Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            aload 4 /* inlining */
            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 /* eventContext */
        13: .line 124
      StackMap locals: byte[] byte[] com.oracle.svm.truffle.isolated.IsolatedEventContext
      StackMap stack:
            aload 7 /* context */
        14: .line 125
            invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
            checkcast com.oracle.svm.graal.isolated.ClientIsolateThread
        15: .line 126
            aload 0 /* this */
            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: .line 127
            aload 8 /* client */
            aload 2 /* compilation */
            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: .line 128
            aload 8 /* client */
            aload 2 /* compilation */
            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: .line 129
            aload 8 /* client */
            aload 9 /* encodedOptions */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
        19: .line 130
            aload 9 /* encodedOptions */
            invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.getNullableArrayLength:(Ljava/lang/Object;)I
        20: .line 131
            aload 8 /* client */
            aload 4 /* inlining */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
        21: .line 132
            aload 8 /* client */
            aload 5 /* task */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
        22: .line 133
            aload 8 /* client */
            aload 11 /* eventContext */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
        23: .line 134
            aload 8 /* client */
            aload 10 /* encodedRuntimeOptions */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.hand:(Ljava/lang/Object;)Lcom/oracle/svm/graal/isolated/ClientHandle;
        24: .line 135
            aload 10 /* encodedRuntimeOptions */
            invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.getNullableArrayLength:(Ljava/lang/Object;)I
        25: .line 136
            aload 0 /* this */
            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: .line 124
            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 /* thrownException */
        start local 12 // com.oracle.svm.graal.isolated.ClientHandle thrownException
        27: .line 138
            aload 8 /* client */
            aload 12 /* thrownException */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.unhand:(Lcom/oracle/svm/graal/isolated/ClientHandle;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* exception */
        start local 13 // java.lang.String exception
        28: .line 139
            aload 13 /* exception */
            ifnull 33
        29: .line 140
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "doCompile threw: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* exception */
            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 // java.lang.String exception
        end local 12 // com.oracle.svm.graal.isolated.ClientHandle thrownException
        end local 11 // com.oracle.svm.truffle.isolated.IsolatedEventContext eventContext
        end local 10 // byte[] encodedRuntimeOptions
        end local 9 // byte[] encodedOptions
        30: .line 142
      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: .line 143
            aconst_null
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
        32: .line 144
            aload 14
            athrow
        33: .line 143
      StackMap locals:
      StackMap stack:
            aconst_null
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;)V
        end local 8 // com.oracle.svm.graal.isolated.IsolatedCompileClient client
        34: .line 145
            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: .line 146
            aload 0 /* this */
            aload 7 /* context */
            invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.afterCompilation:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
        37: .line 147
            aload 15
            athrow
        38: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* context */
            invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.afterCompilation:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
        39: .line 148
            return
        end local 7 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
        end local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        end local 5 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        end local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inlining
        end local 3 // java.util.Map options
        end local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        end local 1 // org.graalvm.compiler.truffle.common.TruffleDebugContext debug
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 151
            aload 0 /* this */
            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 /* isolate */
        start local 1 // org.graalvm.nativeimage.Isolate isolate
         1: .line 152
            aload 1 /* isolate */
            invokeinterface org.graalvm.nativeimage.Isolate.isNull:()Z
            ifeq 10
         2: .line 153
            invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.createCompilationIsolate:()Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;
            astore 2 /* thread */
        start local 2 // com.oracle.svm.graal.isolated.CompilerIsolateThread thread
         3: .line 154
            aload 2 /* thread */
            invokestatic org.graalvm.nativeimage.Isolates.getIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/Isolate;
            astore 1 /* isolate */
         4: .line 155
            aload 0 /* this */
            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 /* isolate */
            invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicWord.compareAndSet:(Lorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;)Z
            ifeq 7
         5: .line 156
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            new java.lang.Thread
            dup
            aload 0 /* this */
            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: .line 157
            aload 2 /* thread */
            areturn
         7: .line 159
      StackMap locals: org.graalvm.nativeimage.Isolate com.oracle.svm.graal.isolated.CompilerIsolateThread
      StackMap stack:
            aload 2 /* thread */
            invokestatic org.graalvm.nativeimage.Isolates.tearDownIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)V
         8: .line 160
            aload 0 /* this */
            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 /* isolate */
         9: .line 161
            getstatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.$assertionsDisabled:Z
            ifne 10
            aload 1 /* isolate */
            invokeinterface org.graalvm.nativeimage.Isolate.isNonNull:()Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // com.oracle.svm.graal.isolated.CompilerIsolateThread thread
        10: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* isolate */
            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 // org.graalvm.nativeimage.Isolate isolate
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 167
            aload 0 /* this */
            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 /* isolate */
        start local 1 // org.graalvm.nativeimage.Isolate isolate
         1: .line 168
            aload 1 /* isolate */
            invokestatic org.graalvm.nativeimage.Isolates.attachCurrentThread:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/nativeimage/IsolateThread;
            checkcast com.oracle.svm.graal.isolated.CompilerIsolateThread
            astore 2 /* context */
        start local 2 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
         2: .line 169
            aload 2 /* context */
            invokestatic com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.compilerIsolateThreadShutdown:(Lcom/oracle/svm/graal/isolated/CompilerIsolateThread;)V
         3: .line 170
            aload 2 /* context */
            invokestatic org.graalvm.nativeimage.Isolates.detachThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
         4: .line 171
            return
        end local 2 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
        end local 1 // org.graalvm.nativeimage.Isolate isolate
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
         0: .line 176
            invokestatic org.graalvm.nativeimage.VMRuntime.shutdown:()V
         1: .line 177
            return
        end local 0 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
        start local 1 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
         0: .line 181
            aload 1 /* context */
            invokestatic org.graalvm.nativeimage.Isolates.detachThread:(Lorg/graalvm/nativeimage/IsolateThread;)V
         1: .line 182
            return
        end local 1 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
        start local 1 // com.oracle.svm.graal.isolated.ClientIsolateThread client
        start local 2 // com.oracle.svm.graal.isolated.ImageHeapRef delegateRef
        start local 3 // com.oracle.svm.graal.isolated.ClientHandle compilationIdentifierHandle
        start local 4 // com.oracle.svm.graal.isolated.ClientHandle compilableHandle
        start local 5 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        start local 6 // int encodedOptionsLength
        start local 7 // com.oracle.svm.graal.isolated.ClientHandle inliningHandle
        start local 8 // com.oracle.svm.graal.isolated.ClientHandle taskHandle
        start local 9 // com.oracle.svm.graal.isolated.ClientHandle eventContextHandle
        start local 10 // com.oracle.svm.graal.isolated.ClientHandle encodedRuntimeOptionsHandle
        start local 11 // int encodedRuntimeOptionsLength
        start local 12 // boolean firstCompilation
         0: .line 200
            new com.oracle.svm.graal.isolated.IsolatedCompileContext
            dup
            aload 1 /* client */
            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: .line 202
            aload 10 /* encodedRuntimeOptionsHandle */
            iload 11 /* encodedRuntimeOptionsLength */
            invokestatic com.oracle.svm.graal.isolated.IsolatedGraalUtils.applyClientRuntimeOptionValues:(Lcom/oracle/svm/graal/isolated/ClientHandle;I)V
         2: .line 203
            aload 2 /* delegateRef */
            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 /* delegate */
        start local 13 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler delegate
         3: .line 204
            aload 1 /* client */
            aload 5 /* encodedOptionsHandle */
            iload 6 /* encodedOptionsLength */
            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 /* options */
        start local 14 // java.util.Map options
         4: .line 205
            new com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST
            dup
            aload 4 /* compilableHandle */
            invokespecial com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
            astore 15 /* compilable */
        start local 15 // com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST compilable
         5: .line 206
            aload 13 /* delegate */
            aload 14 /* options */
            aload 15 /* compilable */
            iload 12 /* firstCompilation */
            invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.initialize:(Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
         6: .line 207
            new com.oracle.svm.truffle.isolated.IsolatedCompilationIdentifier
            dup
            aload 3 /* compilationIdentifierHandle */
            aload 15 /* compilable */
            invokespecial com.oracle.svm.truffle.isolated.IsolatedCompilationIdentifier.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;Lcom/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST;)V
            astore 16 /* compilation */
        start local 16 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
         7: .line 208
            new com.oracle.svm.truffle.isolated.IsolatedTruffleInlining
            dup
            aload 7 /* inliningHandle */
            invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleInlining.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
            astore 17 /* inlining */
        start local 17 // com.oracle.svm.truffle.isolated.IsolatedTruffleInlining inlining
         8: .line 209
            aconst_null
            astore 18 /* task */
        start local 18 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
         9: .line 210
            aload 8 /* taskHandle */
            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: .line 211
            new com.oracle.svm.truffle.isolated.IsolatedTruffleCompilationTask
            dup
            aload 8 /* taskHandle */
            invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleCompilationTask.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
            astore 18 /* task */
        11: .line 213
      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 /* listener */
        start local 19 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        12: .line 214
            aload 9 /* eventContextHandle */
            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: .line 215
            new com.oracle.svm.truffle.isolated.IsolatedTruffleCompilerEventForwarder
            dup
            aload 9 /* eventContextHandle */
            invokespecial com.oracle.svm.truffle.isolated.IsolatedTruffleCompilerEventForwarder.<init>:(Lcom/oracle/svm/graal/isolated/ClientHandle;)V
            astore 19 /* listener */
        14: .line 217
      StackMap locals: org.graalvm.compiler.truffle.common.TruffleCompilerListener
      StackMap stack:
            aload 13 /* delegate */
            aconst_null
            aload 16 /* compilation */
            aload 14 /* options */
            aload 17 /* inlining */
            aload 18 /* task */
            aload 19 /* listener */
            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: .line 218
            invokestatic com.oracle.svm.graal.isolated.IsolatedHandles.nullHandle:()Lcom/oracle/svm/graal/isolated/IsolatedHandle;
            checkcast com.oracle.svm.graal.isolated.ClientHandle
            astore 21
        16: .line 224
            aconst_null
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
        17: .line 218
            aload 21
            areturn
        end local 19 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        end local 18 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        end local 17 // com.oracle.svm.truffle.isolated.IsolatedTruffleInlining inlining
        end local 16 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        end local 15 // com.oracle.svm.truffle.isolated.IsolatedCompilableTruffleAST compilable
        end local 14 // java.util.Map options
        end local 13 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler delegate
        18: .line 219
      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 /* t */
        start local 13 // java.lang.Throwable t
        19: .line 220
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 14 /* writer */
        start local 14 // java.io.StringWriter writer
        20: .line 221
            aload 13 /* t */
            new java.io.PrintWriter
            dup
            aload 14 /* writer */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
        21: .line 222
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.get:()Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;
            aload 14 /* writer */
            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: .line 224
            aconst_null
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
        23: .line 222
            aload 21
            areturn
        end local 14 // java.io.StringWriter writer
        end local 13 // java.lang.Throwable t
        24: .line 223
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 20
        25: .line 224
            aconst_null
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileContext.set:(Lcom/oracle/svm/graal/isolated/IsolatedCompileContext;)V
        26: .line 225
            aload 20
            athrow
        end local 12 // boolean firstCompilation
        end local 11 // int encodedRuntimeOptionsLength
        end local 10 // com.oracle.svm.graal.isolated.ClientHandle encodedRuntimeOptionsHandle
        end local 9 // com.oracle.svm.graal.isolated.ClientHandle eventContextHandle
        end local 8 // com.oracle.svm.graal.isolated.ClientHandle taskHandle
        end local 7 // com.oracle.svm.graal.isolated.ClientHandle inliningHandle
        end local 6 // int encodedOptionsLength
        end local 5 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        end local 4 // com.oracle.svm.graal.isolated.ClientHandle compilableHandle
        end local 3 // com.oracle.svm.graal.isolated.ClientHandle compilationIdentifierHandle
        end local 2 // com.oracle.svm.graal.isolated.ImageHeapRef delegateRef
        end local 1 // com.oracle.svm.graal.isolated.ClientIsolateThread client
        end local 0 // com.oracle.svm.graal.isolated.CompilerIsolateThread context
      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 // com.oracle.svm.graal.isolated.ClientIsolateThread client
        start local 1 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        start local 2 // int encodedOptionsLength
         0: .line 229
            iload 2 /* encodedOptionsLength */
            ifgt 2
         1: .line 230
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         2: .line 232
      StackMap locals:
      StackMap stack:
            iload 2 /* encodedOptionsLength */
            newarray 8
            astore 3 /* encodedOptions */
        start local 3 // byte[] encodedOptions
         3: .line 233
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 3 /* encodedOptions */
            invokestatic org.graalvm.nativeimage.PinnedObject.create:(Ljava/lang/Object;)Lorg/graalvm/nativeimage/PinnedObject;
            astore 6 /* pinnedEncodedOptions */
        start local 6 // org.graalvm.nativeimage.PinnedObject pinnedEncodedOptions
         5: .line 234
            aload 0 /* client */
            aload 1 /* encodedOptionsHandle */
            aload 6 /* pinnedEncodedOptions */
            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: .line 235
            aload 6 /* pinnedEncodedOptions */
            ifnull 12
            aload 6 /* pinnedEncodedOptions */
            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 /* pinnedEncodedOptions */
            ifnull 8
            aload 6 /* pinnedEncodedOptions */
            invokeinterface org.graalvm.nativeimage.PinnedObject.close:()V
        end local 6 // org.graalvm.nativeimage.PinnedObject pinnedEncodedOptions
      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: .line 236
      StackMap locals:
      StackMap stack:
            aload 3 /* encodedOptions */
            invokestatic org.graalvm.util.OptionsEncoder.decode:([B)Ljava/util/Map;
            areturn
        end local 3 // byte[] encodedOptions
        end local 2 // int encodedOptionsLength
        end local 1 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        end local 0 // com.oracle.svm.graal.isolated.ClientIsolateThread client
      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 // com.oracle.svm.graal.isolated.ClientIsolateThread client
        start local 1 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        start local 2 // org.graalvm.word.PointerBase buffer
         0: .line 242
            invokestatic com.oracle.svm.graal.isolated.IsolatedCompileClient.get:()Lcom/oracle/svm/graal/isolated/IsolatedCompileClient;
            aload 1 /* encodedOptionsHandle */
            invokevirtual com.oracle.svm.graal.isolated.IsolatedCompileClient.unhand:(Lcom/oracle/svm/graal/isolated/ClientHandle;)Ljava/lang/Object;
            checkcast byte[]
            astore 3 /* encodedOptions */
        start local 3 // byte[] encodedOptions
         1: .line 243
            aload 2 /* buffer */
            aload 3 /* encodedOptions */
            arraylength
            invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.asByteBuffer:(Lorg/graalvm/word/PointerBase;I)Ljava/nio/ByteBuffer;
            aload 3 /* encodedOptions */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
         2: .line 244
            return
        end local 3 // byte[] encodedOptions
        end local 2 // org.graalvm.word.PointerBase buffer
        end local 1 // com.oracle.svm.graal.isolated.ClientHandle encodedOptionsHandle
        end local 0 // com.oracle.svm.graal.isolated.ClientIsolateThread client
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 248
            aload 0 /* this */
            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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 253
            invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
            ifeq 2
         1: .line 254
            aload 0 /* this */
            invokevirtual com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.tearDownIsolateOnShutdown:()V
         2: .line 256
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 260
            aload 0 /* this */
            getfield com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.delegate:Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.shutdown:()V
         1: .line 261
            return
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 264
            aload 0 /* this */
            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 /* shared */
        start local 1 // org.graalvm.nativeimage.Isolate shared
         1: .line 265
            aload 1 /* shared */
            invokeinterface org.graalvm.nativeimage.Isolate.isNonNull:()Z
            ifeq 4
         2: .line 266
            aload 1 /* shared */
            invokestatic org.graalvm.nativeimage.Isolates.attachCurrentThread:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/nativeimage/IsolateThread;
            astore 2 /* current */
        start local 2 // org.graalvm.nativeimage.IsolateThread current
         3: .line 267
            aload 2 /* current */
            invokestatic org.graalvm.nativeimage.Isolates.tearDownIsolate:(Lorg/graalvm/nativeimage/IsolateThread;)V
        end local 2 // org.graalvm.nativeimage.IsolateThread current
         4: .line 269
      StackMap locals: org.graalvm.nativeimage.Isolate
      StackMap stack:
            return
        end local 1 // org.graalvm.nativeimage.Isolate shared
        end local 0 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 274
            aload 0 /* this */
            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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
         0: .line 279
            aload 0 /* this */
            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 // com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler this
      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