public abstract class org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl implements org.graalvm.compiler.truffle.compiler.TruffleCompilerBase
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  super_class: java.lang.Object
{
  protected org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config;
    descriptor: Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
    flags: (0x0004) ACC_PROTECTED

  protected final org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration builderConfig;
    descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.truffle.compiler.PartialEvaluator partialEvaluator;
    descriptor: Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory codeInstallationTaskFactory;
    descriptor: Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private volatile org.graalvm.compiler.truffle.compiler.ExpansionStatistics expansionStatistics;
    descriptor: Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean expansionStatisticsInitialized;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean initialized;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public static final org.graalvm.compiler.phases.OptimisticOptimizations Optimizations;
    descriptor: Lorg/graalvm/compiler/phases/OptimisticOptimizations;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.TimerKey PartialEvaluationTime;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.TimerKey CompilationTime;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.TimerKey CodeInstallationTime;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.TimerKey EncodedGraphCacheEvictionTime;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.MemUseTrackerKey PartialEvaluationMemUse;
    descriptor: Lorg/graalvm/compiler/debug/MemUseTrackerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.MemUseTrackerKey CompilationMemUse;
    descriptor: Lorg/graalvm/compiler/debug/MemUseTrackerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.MemUseTrackerKey CodeInstallationMemUse;
    descriptor: Lorg/graalvm/compiler/debug/MemUseTrackerKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, 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=5, locals=0, args_size=0
         0: .line 120
            ldc Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            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 org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.$assertionsDisabled:Z
         3: .line 130
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            iconst_4
            anewarray org.graalvm.compiler.phases.OptimisticOptimizations$Optimization
            dup
            iconst_0
         4: .line 131
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations$Optimization.UseExceptionProbability:Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;
            aastore
            dup
            iconst_1
         5: .line 132
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations$Optimization.RemoveNeverExecutedCode:Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;
            aastore
            dup
            iconst_2
         6: .line 133
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations$Optimization.UseTypeCheckedInlining:Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;
            aastore
            dup
            iconst_3
         7: .line 134
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations$Optimization.UseTypeCheckHints:Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;
            aastore
         8: .line 130
            invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.remove:([Lorg/graalvm/compiler/phases/OptimisticOptimizations$Optimization;)Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.Optimizations:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
         9: .line 190
            ldc "PartialEvaluationTime"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Total time spent in the Truffle tier."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.PartialEvaluationTime:Lorg/graalvm/compiler/debug/TimerKey;
        10: .line 191
            ldc "CompilationTime"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CompilationTime:Lorg/graalvm/compiler/debug/TimerKey;
        11: .line 192
            ldc "CodeInstallation"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CodeInstallationTime:Lorg/graalvm/compiler/debug/TimerKey;
        12: .line 193
            ldc "EncodedGraphCacheEvictionTime"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.EncodedGraphCacheEvictionTime:Lorg/graalvm/compiler/debug/TimerKey;
        13: .line 195
            ldc "TrufflePartialEvaluationMemUse"
            invokestatic org.graalvm.compiler.debug.DebugContext.memUseTracker:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.PartialEvaluationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
        14: .line 196
            ldc "TruffleCompilationMemUse"
            invokestatic org.graalvm.compiler.debug.DebugContext.memUseTracker:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CompilationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
        15: .line 197
            ldc "TruffleCodeInstallationMemUse"
            invokestatic org.graalvm.compiler.debug.DebugContext.memUseTracker:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            putstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CodeInstallationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 138
            aload 0 /* this */
            aload 1 /* config */
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
         2: .line 139
            aload 0 /* this */
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;)V
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.codeInstallationTaskFactory:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory;
         3: .line 140
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.codeInstallationTaskFactory:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory;
            invokevirtual org.graalvm.compiler.core.target.Backend.addCodeInstallationTask:(Lorg/graalvm/compiler/core/target/Backend$CodeInstallationTaskFactory;)V
         4: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.runtime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getSkippedExceptionTypes:(Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;)[Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* skippedExceptionTypes */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType[] skippedExceptionTypes
         5: .line 144
            new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.plugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 3 /* baseConfig */
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration baseConfig
         6: .line 145
            aload 0 /* this */
            aload 3 /* baseConfig */
         7: .line 146
            aload 2 /* skippedExceptionTypes */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withSkippedExceptionTypes:([Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
         8: .line 147
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.ExcludeAssertions:Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getDefaultValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withOmitAssertions:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
         9: .line 148
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode.ExplicitOnly:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$BytecodeExceptionMode;
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withBytecodeExceptionMode:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$BytecodeExceptionMode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
        10: .line 151
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withEagerResolving:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
        11: .line 145
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.builderConfig:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
        12: .line 153
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createPartialEvaluator:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
        13: .line 154
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration baseConfig
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType[] skippedExceptionTypes
        end local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   14     1                 config  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            5   14     2  skippedExceptionTypes  [Ljdk/vm/ci/meta/ResolvedJavaType;
            6   14     3             baseConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    MethodParameters:
        Name  Flags
      config  

  private jdk.vm.ci.meta.ResolvedJavaType[] getSkippedExceptionTypes(org.graalvm.compiler.truffle.common.TruffleCompilerRuntime);
    descriptor: (Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;)[Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime runtime
         0: .line 157
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.lastTier:()Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.providers:()Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 2 /* metaAccess */
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         1: .line 158
            aload 2 /* metaAccess */
            bipush 8
            anewarray java.lang.Class
            dup
            iconst_0
         2: .line 159
            ldc Ljava/lang/ArithmeticException;
            aastore
            dup
            iconst_1
         3: .line 160
            ldc Ljava/lang/IllegalArgumentException;
            aastore
            dup
            iconst_2
         4: .line 161
            ldc Ljava/lang/VirtualMachineError;
            aastore
            dup
            iconst_3
         5: .line 162
            ldc Ljava/lang/IndexOutOfBoundsException;
            aastore
            dup
            iconst_4
         6: .line 163
            ldc Ljava/lang/ClassCastException;
            aastore
            dup
            iconst_5
         7: .line 164
            ldc Ljava/nio/BufferUnderflowException;
            aastore
            dup
            bipush 6
         8: .line 165
            ldc Ljava/nio/BufferOverflowException;
            aastore
            dup
            bipush 7
         9: .line 166
            ldc Ljava/nio/ReadOnlyBufferException;
            aastore
        10: .line 158
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaTypes:([Ljava/lang/Class;)[Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* head */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType[] head
        11: .line 168
            iconst_2
            anewarray jdk.vm.ci.meta.ResolvedJavaType
            dup
            iconst_0
        12: .line 169
            aload 1 /* runtime */
            aload 2 /* metaAccess */
            ldc "com.oracle.truffle.api.nodes.UnexpectedResultException"
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.resolveType:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aastore
            dup
            iconst_1
        13: .line 170
            aload 1 /* runtime */
            aload 2 /* metaAccess */
            ldc "com.oracle.truffle.api.nodes.SlowPathException"
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.resolveType:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aastore
        14: .line 168
            astore 4 /* tail */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType[] tail
        15: .line 172
            aload 3 /* head */
            arraylength
            aload 4 /* tail */
            arraylength
            iadd
            anewarray jdk.vm.ci.meta.ResolvedJavaType
            astore 5 /* skippedExceptionTypes */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType[] skippedExceptionTypes
        16: .line 173
            aload 3 /* head */
            iconst_0
            aload 5 /* skippedExceptionTypes */
            iconst_0
            aload 3 /* head */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 174
            aload 4 /* tail */
            iconst_0
            aload 5 /* skippedExceptionTypes */
            aload 3 /* head */
            arraylength
            aload 4 /* tail */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 175
            aload 5 /* skippedExceptionTypes */
            areturn
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType[] skippedExceptionTypes
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType[] tail
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType[] head
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime runtime
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                   this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   19     1                runtime  Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            1   19     2             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           11   19     3                   head  [Ljdk/vm/ci/meta/ResolvedJavaType;
           15   19     4                   tail  [Ljdk/vm/ci/meta/ResolvedJavaType;
           16   19     5  skippedExceptionTypes  [Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
         Name  Flags
      runtime  

  public org.graalvm.compiler.core.target.Backend getBackend();
    descriptor: ()Lorg/graalvm/compiler/core/target/Backend;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
         0: .line 182
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;

  protected abstract org.graalvm.compiler.truffle.compiler.PartialEvaluator createPartialEvaluator(org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      configuration  

  public abstract org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier createCompilationIdentifier(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      compilable  

  protected abstract org.graalvm.compiler.debug.DebugContext createDebugContext(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.truffle.common.CompilableTruffleAST, java.io.PrintStream);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/io/PrintStream;)Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      options        
      compilationId  
      compilable     
      logStream      

  public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 212
            new org.graalvm.compiler.debug.TTY$Filter
            dup
            new org.graalvm.compiler.debug.LogStream
            dup
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge
            dup
            aload 1 /* compilable */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge.<init>:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            invokespecial org.graalvm.compiler.debug.LogStream.<init>:(Ljava/util/function/Consumer;)V
            invokespecial org.graalvm.compiler.debug.TTY$Filter.<init>:(Lorg/graalvm/compiler/debug/LogStream;)V
            astore 2 /* ttyFilter */
        start local 2 // org.graalvm.compiler.debug.TTY$Filter ttyFilter
         1: .line 214
            aload 0 /* this */
            aload 1 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createCompilationIdentifier:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            astore 3 /* id */
        start local 3 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier id
         2: .line 215
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl
            dup
            aload 3 /* id */
            aload 2 /* ttyFilter */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;Lorg/graalvm/compiler/debug/TTY$Filter;)V
         3: areturn
        end local 3 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier id
         4: .line 216
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.debug.TTY$Filter
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         5: .line 217
            aload 2 /* ttyFilter */
            ifnull 7
         6: .line 218
            aload 2 /* ttyFilter */
            invokevirtual org.graalvm.compiler.debug.TTY$Filter.close:()V
         7: .line 220
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
        end local 2 // org.graalvm.compiler.debug.TTY$Filter ttyFilter
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    8     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            1    8     2   ttyFilter  Lorg/graalvm/compiler/debug/TTY$Filter;
            2    4     3          id  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            5    8     3           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      compilable  

  public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // java.util.Map options
        start local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
         0: .line 226
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            ldc Lorg/graalvm/compiler/options/OptionValues;
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getGraalOptions:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionValues
            astore 3 /* graalOptions */
        start local 3 // org.graalvm.compiler.options.OptionValues graalOptions
         1: .line 228
            aload 2 /* compilation */
            ifnonnull 4
         2: .line 229
            new org.graalvm.compiler.debug.DebugContext$Builder
            dup
            aload 3 /* graalOptions */
            invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 4 /* debugContext */
        start local 4 // org.graalvm.compiler.debug.DebugContext debugContext
         3: .line 230
            goto 10
        end local 4 // org.graalvm.compiler.debug.DebugContext debugContext
         4: .line 231
      StackMap locals: org.graalvm.compiler.options.OptionValues
      StackMap stack:
            aload 2 /* compilation */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.asTruffleCompilationIdentifier:(Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            astore 5 /* ident */
        start local 5 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier ident
         5: .line 232
            aload 5 /* ident */
            invokeinterface org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier.getCompilable:()Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            astore 6 /* compilable */
        start local 6 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         6: .line 233
            aload 1 /* options */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getOptionsForCompiler:(Ljava/util/Map;)Lorg/graalvm/options/OptionValues;
            astore 7 /* truffleOptions */
        start local 7 // org.graalvm.options.OptionValues truffleOptions
         7: .line 234
            aload 7 /* truffleOptions */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.isEnabled:(Lorg/graalvm/options/OptionValues;)Z
            ifeq 9
         8: .line 235
            aload 3 /* graalOptions */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.enableNodeSourcePositions:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/options/OptionValues;
            astore 3 /* graalOptions */
         9: .line 237
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl java.util.Map org.graalvm.compiler.truffle.common.TruffleCompilation org.graalvm.compiler.options.OptionValues top org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.options.OptionValues
      StackMap stack:
            aload 0 /* this */
            aload 3 /* graalOptions */
            aload 5 /* ident */
            aload 6 /* compilable */
            invokestatic org.graalvm.compiler.debug.DebugContext.getDefaultLogStream:()Ljava/io/PrintStream;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/io/PrintStream;)Lorg/graalvm/compiler/debug/DebugContext;
            astore 4 /* debugContext */
        end local 7 // org.graalvm.options.OptionValues truffleOptions
        end local 6 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 5 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier ident
        start local 4 // org.graalvm.compiler.debug.DebugContext debugContext
        10: .line 239
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl java.util.Map org.graalvm.compiler.truffle.common.TruffleCompilation org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            new org.graalvm.compiler.truffle.compiler.TruffleDebugContextImpl
            dup
            aload 4 /* debugContext */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleDebugContextImpl.<init>:(Lorg/graalvm/compiler/debug/DebugContext;)V
            areturn
        end local 4 // org.graalvm.compiler.debug.DebugContext debugContext
        end local 3 // org.graalvm.compiler.options.OptionValues graalOptions
        end local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        end local 1 // java.util.Map options
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   11     1         options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   11     2     compilation  Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
            1   11     3    graalOptions  Lorg/graalvm/compiler/options/OptionValues;
            3    4     4    debugContext  Lorg/graalvm/compiler/debug/DebugContext;
           10   11     4    debugContext  Lorg/graalvm/compiler/debug/DebugContext;
            5   10     5           ident  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            6   10     6      compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            7   10     7  truffleOptions  Lorg/graalvm/options/OptionValues;
    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 static org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration createPartialEvaluatorConfiguration(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 243
            ldc Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration
            astore 1 /* candidate */
        start local 1 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration candidate
         2: .line 244
            aload 1 /* candidate */
            invokeinterface org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration.name:()Ljava/lang/String;
            aload 0 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 245
            aload 1 /* candidate */
            areturn
        end local 1 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration candidate
         4: .line 243
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 248
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Cannot find partial evaluation configuration: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       name  Ljava/lang/String;
            2    4     1  candidate  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
    MethodParameters:
      Name  Flags
      name  

  private static org.graalvm.compiler.options.OptionValues enableNodeSourcePositions(org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/options/OptionValues;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.OptionValues values
         0: .line 252
            getstatic org.graalvm.compiler.core.common.GraalOptions.TrackNodeSourcePosition:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* values */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 2
         1: .line 254
            aload 0 /* values */
            areturn
         2: .line 256
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.options.OptionValues
            dup
            aload 0 /* values */
            getstatic org.graalvm.compiler.core.common.GraalOptions.TrackNodeSourcePosition:Lorg/graalvm/compiler/options/OptionKey;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Object
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
            areturn
        end local 0 // org.graalvm.compiler.options.OptionValues values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  values  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
        Name  Flags
      values  

  private static org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier asTruffleCompilationIdentifier(org.graalvm.compiler.truffle.common.TruffleCompilation);
    descriptor: (Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
         0: .line 261
            aload 0 /* compilation */
            ifnonnull 2
         1: .line 262
            aconst_null
            areturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* compilation */
            instanceof org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl
            ifeq 4
         3: .line 264
            aload 0 /* compilation */
            checkcast org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl.delegate:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            areturn
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* compilation */
            instanceof org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier
            ifeq 6
         5: .line 266
            aload 0 /* compilation */
            checkcast org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier
            areturn
         6: .line 268
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The compilation must be instanceof "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", got: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* compilation */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0  compilation  Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
    MethodParameters:
             Name  Flags
      compilation  

  public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=16, args_size=7
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.TruffleDebugContext truffleDebug
        start local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        start local 3 // java.util.Map optionsMap
        start local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        start local 5 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        start local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener inListener
         0: .line 280
            aload 2 /* compilation */
            ldc "Compilation must be non null."
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 281
            aload 3 /* optionsMap */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getOptionsForCompiler:(Ljava/util/Map;)Lorg/graalvm/options/OptionValues;
            astore 7 /* options */
        start local 7 // org.graalvm.options.OptionValues options
         2: .line 282
            aload 2 /* compilation */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.asTruffleCompilationIdentifier:(Lorg/graalvm/compiler/truffle/common/TruffleCompilation;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            astore 8 /* compilationId */
        start local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier compilationId
         3: .line 283
            aload 8 /* compilationId */
            invokeinterface org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier.getCompilable:()Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            astore 9 /* compilable */
        start local 9 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         4: .line 284
            aload 1 /* truffleDebug */
            instanceof org.graalvm.compiler.truffle.compiler.TruffleDebugContextImpl
            istore 10 /* usingCallersDebug */
        start local 10 // boolean usingCallersDebug
         5: .line 285
            iload 10 /* usingCallersDebug */
            ifeq 19
         6: .line 286
            aload 1 /* truffleDebug */
            checkcast org.graalvm.compiler.truffle.compiler.TruffleDebugContextImpl
            getfield org.graalvm.compiler.truffle.compiler.TruffleDebugContextImpl.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
            astore 11 /* callerDebug */
        start local 11 // org.graalvm.compiler.debug.DebugContext callerDebug
         7: .line 288
            aconst_null
            astore 12
            aconst_null
            astore 13
         8: aload 9 /* compilable */
            aload 11 /* callerDebug */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.maybeOpenTruffleScope:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 14 /* s */
        start local 14 // org.graalvm.compiler.debug.DebugContext$Scope s
         9: .line 289
            aload 0 /* this */
            aload 7 /* options */
            aload 4 /* inliningPlan */
            aload 5 /* task */
            aload 6 /* inListener */
            aload 8 /* compilationId */
            aload 9 /* compilable */
            aload 11 /* callerDebug */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.actuallyCompile:(Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)V
        10: .line 290
            aload 14 /* s */
            ifnull 37
            aload 14 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 37
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl 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 org.graalvm.options.OptionValues org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        11: astore 12
            aload 14 /* s */
            ifnull 12
            aload 14 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        12: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 13
            aload 12
            ifnonnull 14
            aload 13
            astore 12
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 12
            aload 13
            if_acmpeq 15
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 12
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl 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 org.graalvm.options.OptionValues org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST int org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        16: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        17: .line 291
            aload 9 /* compilable */
            aload 12 /* e */
            aload 9 /* compilable */
            aload 12 /* e */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.isSuppressedFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;)Z
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.notifyCompilableOfFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;Z)V
        end local 12 // java.lang.Throwable e
        end local 11 // org.graalvm.compiler.debug.DebugContext callerDebug
        18: .line 293
            goto 37
        19: .line 294
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            ldc Lorg/graalvm/compiler/options/OptionValues;
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getGraalOptions:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionValues
            astore 11 /* debugContextOptionValues */
        start local 11 // org.graalvm.compiler.options.OptionValues debugContextOptionValues
        20: .line 295
            aconst_null
            astore 12
            aconst_null
            astore 13
        21: aload 0 /* this */
            aload 11 /* debugContextOptionValues */
            aload 8 /* compilationId */
            aload 9 /* compilable */
            invokestatic org.graalvm.compiler.debug.DebugContext.getDefaultLogStream:()Ljava/io/PrintStream;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/io/PrintStream;)Lorg/graalvm/compiler/debug/DebugContext;
            astore 14 /* graalDebug */
        start local 14 // org.graalvm.compiler.debug.DebugContext graalDebug
        22: .line 296
            aload 9 /* compilable */
            aload 14 /* graalDebug */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.maybeOpenTruffleScope:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 15 /* s */
        start local 15 // org.graalvm.compiler.debug.DebugContext$Scope s
        23: .line 297
            aload 0 /* this */
            aload 7 /* options */
            aload 4 /* inliningPlan */
            aload 5 /* task */
            aload 6 /* inListener */
            aload 8 /* compilationId */
            aload 9 /* compilable */
            aload 14 /* graalDebug */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.actuallyCompile:(Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)V
        24: .line 298
            aload 15 /* s */
            ifnull 27
            aload 15 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 27
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl 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 org.graalvm.options.OptionValues org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST int org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        25: astore 12
            aload 15 /* s */
            ifnull 26
            aload 15 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 15 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        26: aload 12
            athrow
      StackMap locals:
      StackMap stack:
        27: aload 14 /* graalDebug */
            ifnull 37
            aload 14 /* graalDebug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 13
            aload 12
            ifnonnull 29
            aload 13
            astore 12
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 12
            aload 13
            if_acmpeq 30
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 14 /* graalDebug */
            ifnull 31
            aload 14 /* graalDebug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugContext graalDebug
      StackMap locals:
      StackMap stack:
        31: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 13
            aload 12
            ifnonnull 33
            aload 13
            astore 12
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 12
            aload 13
            if_acmpeq 34
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 12
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl 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 org.graalvm.options.OptionValues org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST int org.graalvm.compiler.options.OptionValues
      StackMap stack: java.lang.Throwable
        35: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        36: .line 299
            aload 9 /* compilable */
            aload 12 /* e */
            aload 9 /* compilable */
            aload 12 /* e */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.isSuppressedFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;)Z
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.notifyCompilableOfFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;Z)V
        end local 12 // java.lang.Throwable e
        end local 11 // org.graalvm.compiler.options.OptionValues debugContextOptionValues
        37: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 10 // boolean usingCallersDebug
        end local 9 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier compilationId
        end local 7 // org.graalvm.options.OptionValues options
        end local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener inListener
        end local 5 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        end local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        end local 3 // java.util.Map optionsMap
        end local 2 // org.graalvm.compiler.truffle.common.TruffleCompilation compilation
        end local 1 // org.graalvm.compiler.truffle.common.TruffleDebugContext truffleDebug
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   38     0                      this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   38     1              truffleDebug  Lorg/graalvm/compiler/truffle/common/TruffleDebugContext;
            0   38     2               compilation  Lorg/graalvm/compiler/truffle/common/TruffleCompilation;
            0   38     3                optionsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   38     4              inliningPlan  Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;
            0   38     5                      task  Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;
            0   38     6                inListener  Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
            2   38     7                   options  Lorg/graalvm/options/OptionValues;
            3   38     8             compilationId  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            4   38     9                compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            5   38    10         usingCallersDebug  Z
            7   18    11               callerDebug  Lorg/graalvm/compiler/debug/DebugContext;
            9   12    14                         s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   18    12                         e  Ljava/lang/Throwable;
           20   37    11  debugContextOptionValues  Lorg/graalvm/compiler/options/OptionValues;
           22   31    14                graalDebug  Lorg/graalvm/compiler/debug/DebugContext;
           23   26    15                         s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           36   37    12                         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
           7    16      16  Class java.lang.Throwable
          23    24      25  any
          22    27      28  any
          21    32      32  any
          20    35      35  Class java.lang.Throwable
    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
    MethodParameters:
              Name  Flags
      truffleDebug  
      compilation   
      optionsMap    
      inliningPlan  
      task          
      inListener    

  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=7, locals=9, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // java.util.Map optionsMap
        start local 2 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 3 // boolean firstInitialization
         0: .line 307
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.initialized:Z
            ifne 20
         1: .line 308
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 309
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.initialized:Z
            ifne 16
         3: .line 310
            aconst_null
            astore 5
            aconst_null
            astore 6
         4: new org.graalvm.compiler.debug.TTY$Filter
            dup
            new org.graalvm.compiler.debug.LogStream
            dup
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge
            dup
            aload 2 /* compilable */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge.<init>:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            invokespecial org.graalvm.compiler.debug.LogStream.<init>:(Ljava/util/function/Consumer;)V
            invokespecial org.graalvm.compiler.debug.TTY$Filter.<init>:(Lorg/graalvm/compiler/debug/LogStream;)V
            astore 7 /* ttyFilter */
        start local 7 // org.graalvm.compiler.debug.TTY$Filter ttyFilter
         5: .line 311
            aload 1 /* optionsMap */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getOptionsForCompiler:(Ljava/util/Map;)Lorg/graalvm/options/OptionValues;
            astore 8 /* options */
        start local 8 // org.graalvm.options.OptionValues options
         6: .line 312
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.initialize:(Lorg/graalvm/options/OptionValues;)V
         7: .line 313
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.initialized:Z
         8: .line 315
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.FirstTierUseEconomy:Lorg/graalvm/options/OptionKey;
            aload 8 /* options */
            invokevirtual org.graalvm.options.OptionKey.getValue:(Lorg/graalvm/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 10
         9: .line 316
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.lastTier:()Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.withFirstTier:(Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
        end local 8 // org.graalvm.options.OptionValues options
        10: .line 318
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl java.util.Map org.graalvm.compiler.truffle.common.CompilableTruffleAST int org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.TTY$Filter
      StackMap stack:
            aload 7 /* ttyFilter */
            ifnull 16
            aload 7 /* ttyFilter */
            invokevirtual org.graalvm.compiler.debug.TTY$Filter.close:()V
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 5
            aload 7 /* ttyFilter */
            ifnull 12
            aload 7 /* ttyFilter */
            invokevirtual org.graalvm.compiler.debug.TTY$Filter.close:()V
        end local 7 // org.graalvm.compiler.debug.TTY$Filter ttyFilter
      StackMap locals:
      StackMap stack:
        12: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6
            aload 5
            ifnonnull 14
            aload 6
            astore 5
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 5
            aload 6
            if_acmpeq 15
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 5
            athrow
        16: .line 308
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 4
            monitorexit
        19: athrow
        20: .line 322
      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 optionsMap
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   21     1           optionsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   21     2           compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   21     3  firstInitialization  Z
            5   12     7            ttyFilter  Lorg/graalvm/compiler/debug/TTY$Filter;
            6   10     8              options  Lorg/graalvm/options/OptionValues;
      Exception table:
        from    to  target  type
           5    10      11  any
           4    13      13  any
           2    17      18  any
          18    19      18  any
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Z)V
    MethodParameters:
                     Name  Flags
      optionsMap           
      compilable           
      firstInitialization  

  private void actuallyCompile(org.graalvm.options.OptionValues, org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider, org.graalvm.compiler.truffle.common.TruffleCompilationTask, org.graalvm.compiler.truffle.common.TruffleCompilerListener, org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier, org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=9, args_size=8
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.options.OptionValues options
        start local 2 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        start local 3 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        start local 4 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        start local 5 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier compilationId
        start local 6 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 7 // org.graalvm.compiler.debug.DebugContext graalDebug
         0: .line 327
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper
            dup
            aload 0 /* this */
         1: .line 328
            aload 1 /* options */
         2: .line 329
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getDebugOutputDirectory:()Lorg/graalvm/compiler/debug/DiagnosticsOutputDirectory;
         3: .line 330
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getCompilationProblemsPerAction:()Ljava/util/Map;
         4: .line 331
            aload 6 /* compilable */
         5: .line 332
            aload 3 /* task */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.debug.DebugContext
      StackMap stack: new 0 new 0 org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DiagnosticsOutputDirectory java.util.Map org.graalvm.compiler.truffle.common.CompilableTruffleAST
         6: new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask
            dup
            aload 3 /* task */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask.<init>:(Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;)V
         7: .line 333
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.debug.DebugContext
      StackMap stack: new 0 new 0 org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DiagnosticsOutputDirectory java.util.Map org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask
            aload 2 /* inliningPlan */
         8: .line 334
            aload 5 /* compilationId */
         9: .line 335
            aload 4 /* listener */
        10: .line 327
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/debug/DiagnosticsOutputDirectory;Ljava/util/Map;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$CancellableTruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
            astore 8 /* truffleCompilationWrapper */
        start local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper truffleCompilationWrapper
        11: .line 336
            aload 8 /* truffleCompilationWrapper */
            aload 7 /* graalDebug */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper.run:(Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/Object;
            pop
        12: .line 337
            return
        end local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper truffleCompilationWrapper
        end local 7 // org.graalvm.compiler.debug.DebugContext graalDebug
        end local 6 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 5 // org.graalvm.compiler.truffle.compiler.TruffleCompilationIdentifier compilationId
        end local 4 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        end local 3 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        end local 2 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        end local 1 // org.graalvm.options.OptionValues options
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   13     0                       this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   13     1                    options  Lorg/graalvm/options/OptionValues;
            0   13     2               inliningPlan  Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;
            0   13     3                       task  Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;
            0   13     4                   listener  Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
            0   13     5              compilationId  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            0   13     6                 compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   13     7                 graalDebug  Lorg/graalvm/compiler/debug/DebugContext;
           11   13     8  truffleCompilationWrapper  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$TruffleCompilationWrapper;
    MethodParameters:
               Name  Flags
      options        
      inliningPlan   
      task           
      listener       
      compilationId  
      compilable     
      graalDebug     

  private static org.graalvm.compiler.debug.DebugContext$Scope maybeOpenTruffleScope(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 348
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getCurrentScopeName:()Ljava/lang/String;
            ldc ".Truffle"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 349
            aconst_null
            areturn
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* debug */
            ldc "Truffle"
            new org.graalvm.compiler.truffle.common.TruffleDebugJavaMethod
            dup
            aload 0 /* compilable */
            invokespecial org.graalvm.compiler.truffle.common.TruffleDebugJavaMethod.<init>:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            areturn
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    3     1       debug  Lorg/graalvm/compiler/debug/DebugContext;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
            Name  Flags
      compilable  
      debug       

  private static void notifyCompilableOfFailure(org.graalvm.compiler.truffle.common.CompilableTruffleAST, java.lang.Throwable, boolean);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 1 // java.lang.Throwable e
        start local 2 // boolean silent
         0: .line 355
            aload 1 /* e */
            astore 3 /* error */
        start local 3 // java.lang.Throwable error
         1: .line 356
            iconst_0
            istore 4 /* graphTooBig */
        start local 4 // boolean graphTooBig
         2: .line 357
            aload 3 /* error */
            instanceof org.graalvm.compiler.truffle.compiler.GraphTooBigBailoutException
            ifeq 5
         3: .line 358
            aload 3 /* error */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 3 /* error */
         4: .line 359
            iconst_1
            istore 4 /* graphTooBig */
         5: .line 361
      StackMap locals: java.lang.Throwable int
      StackMap stack:
            aload 3 /* error */
            instanceof jdk.vm.ci.code.BailoutException
            ifeq 6
            aload 3 /* error */
            checkcast jdk.vm.ci.code.BailoutException
            goto 7
      StackMap locals:
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.BailoutException
         7: astore 5 /* bailout */
        start local 5 // jdk.vm.ci.code.BailoutException bailout
         8: .line 362
            aload 5 /* bailout */
            ifnull 9
            aload 5 /* bailout */
            invokevirtual jdk.vm.ci.code.BailoutException.isPermanent:()Z
            goto 10
      StackMap locals: jdk.vm.ci.code.BailoutException
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* permanentBailout */
        start local 6 // boolean permanentBailout
        11: .line 363
            aload 3 /* error */
            astore 7 /* finalError */
        start local 7 // java.lang.Throwable finalError
        12: .line 364
            aload 0 /* compilable */
            aload 7 /* finalError */
            invokedynamic get(Ljava/lang/Throwable;)Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/compiler/TruffleCompilerImpl.lambda$0(Ljava/lang/Throwable;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            iload 2 /* silent */
            aload 5 /* bailout */
            ifnull 13
            iconst_1
            goto 14
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST java.lang.Throwable int java.lang.Throwable int jdk.vm.ci.code.BailoutException int java.lang.Throwable
      StackMap stack: org.graalvm.compiler.truffle.common.CompilableTruffleAST java.util.function.Supplier int
        13: iconst_0
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST java.lang.Throwable int java.lang.Throwable int jdk.vm.ci.code.BailoutException int java.lang.Throwable
      StackMap stack: org.graalvm.compiler.truffle.common.CompilableTruffleAST java.util.function.Supplier int int
        14: iload 6 /* permanentBailout */
            iload 4 /* graphTooBig */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.onCompilationFailed:(Ljava/util/function/Supplier;ZZZZ)V
        15: .line 365
            return
        end local 7 // java.lang.Throwable finalError
        end local 6 // boolean permanentBailout
        end local 5 // jdk.vm.ci.code.BailoutException bailout
        end local 4 // boolean graphTooBig
        end local 3 // java.lang.Throwable error
        end local 2 // boolean silent
        end local 1 // java.lang.Throwable e
        end local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0        compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   16     1                 e  Ljava/lang/Throwable;
            0   16     2            silent  Z
            1   16     3             error  Ljava/lang/Throwable;
            2   16     4       graphTooBig  Z
            8   16     5           bailout  Ljdk/vm/ci/code/BailoutException;
           11   16     6  permanentBailout  Z
           12   16     7        finalError  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      compilable  
      e           
      silent      

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
         0: .line 369
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            getfield org.graalvm.compiler.truffle.compiler.PartialEvaluator.instrumentationCfg:Lorg/graalvm/compiler/truffle/compiler/phases/InstrumentPhase$InstrumentationConfiguration;
            astore 1 /* cfg */
        start local 1 // org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration cfg
         1: .line 370
            aload 1 /* cfg */
            ifnull 5
            aload 1 /* cfg */
            getfield org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration.instrumentBoundaries:Z
            ifne 2
            aload 1 /* cfg */
            getfield org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration.instrumentBranches:Z
            ifeq 5
         2: .line 371
      StackMap locals: org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            getfield org.graalvm.compiler.truffle.compiler.PartialEvaluator.instrumentation:Lorg/graalvm/compiler/truffle/compiler/phases/InstrumentPhase$Instrumentation;
            astore 2 /* ins */
        start local 2 // org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$Instrumentation ins
         3: .line 372
            aload 2 /* ins */
            ifnull 5
         4: .line 373
            aload 2 /* ins */
            invokevirtual org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$Instrumentation.dumpAccessTable:()V
        end local 2 // org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$Instrumentation ins
         5: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatistics:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            astore 2 /* histogram */
        start local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics histogram
         6: .line 377
            aload 2 /* histogram */
            ifnull 9
         7: .line 378
            aload 2 /* histogram */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.onShutdown:()V
         8: .line 379
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatistics:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
         9: .line 381
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics histogram
        end local 1 // org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration cfg
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            1   10     1        cfg  Lorg/graalvm/compiler/truffle/compiler/phases/InstrumentPhase$InstrumentationConfiguration;
            3    5     2        ins  Lorg/graalvm/compiler/truffle/compiler/phases/InstrumentPhase$Instrumentation;
            6   10     2  histogram  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;

  protected abstract org.graalvm.compiler.debug.DiagnosticsOutputDirectory getDebugOutputDirectory();
    descriptor: ()Lorg/graalvm/compiler/debug/DiagnosticsOutputDirectory;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.util.Map<org.graalvm.compiler.core.CompilationWrapper$ExceptionAction, java.lang.Integer> getCompilationProblemsPerAction();
    descriptor: ()Ljava/util/Map;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lorg/graalvm/compiler/core/CompilationWrapper$ExceptionAction;Ljava/lang/Integer;>;

  final org.graalvm.compiler.truffle.compiler.ExpansionStatistics getExpansionHistogram(org.graalvm.options.OptionValues);
    descriptor: (Lorg/graalvm/options/OptionValues;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.options.OptionValues options
         0: .line 466
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatistics:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            astore 2 /* local */
        start local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics local
         1: .line 467
            aload 2 /* local */
            ifnonnull 11
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatisticsInitialized:Z
            ifne 11
         2: .line 468
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 469
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatistics:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            astore 2 /* local */
         4: .line 470
            aload 2 /* local */
            ifnonnull 7
         5: .line 471
            aload 0 /* this */
            aload 1 /* options */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.create:(Lorg/graalvm/options/OptionValues;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            dup
            astore 2 /* local */
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatistics:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
         6: .line 472
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.expansionStatisticsInitialized:Z
         7: .line 468
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 476
      StackMap locals:
      StackMap stack:
            aload 2 /* local */
            areturn
        end local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics local
        end local 1 // org.graalvm.options.OptionValues options
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   12     1  options  Lorg/graalvm/options/OptionValues;
            1   12     2    local  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      options  

  public void compileAST(org.graalvm.options.OptionValues, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask, org.graalvm.compiler.truffle.common.TruffleCompilerListener);
    descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$CancellableTruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=21, args_size=8
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.options.OptionValues options
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
        start local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        start local 5 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        start local 6 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask task
        start local 7 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
         0: .line 500
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 5 /* compilationId */
            new org.graalvm.compiler.truffle.common.TruffleDebugJavaMethod
            dup
            aload 3 /* compilable */
            invokespecial org.graalvm.compiler.truffle.common.TruffleDebugJavaMethod.<init>:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            iconst_m1
            invokestatic org.graalvm.compiler.core.CompilationPrinter.begin:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/meta/JavaMethod;I)Lorg/graalvm/compiler/core/CompilationPrinter;
            astore 8 /* printer */
        start local 8 // org.graalvm.compiler.core.CompilationPrinter printer
         1: .line 501
            aconst_null
            astore 9 /* graph */
        start local 9 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 503
            aconst_null
            astore 10
            aconst_null
            astore 11
         3: aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokestatic org.graalvm.compiler.core.common.util.CompilationAlarm.trackCompilationPeriod:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            astore 12 /* alarm */
        start local 12 // org.graalvm.compiler.core.common.util.CompilationAlarm alarm
         4: .line 504
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 13 /* graphBuilderSuite */
        start local 13 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
         5: .line 505
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getExpansionHistogram:(Lorg/graalvm/options/OptionValues;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            astore 14 /* statistics */
        start local 14 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics statistics
         6: .line 506
            aload 3 /* compilable */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.getCompilationSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            astore 15 /* speculationLog */
        start local 15 // jdk.vm.ci.meta.SpeculationLog speculationLog
         7: .line 507
            aload 15 /* speculationLog */
            ifnull 9
         8: .line 508
            aload 15 /* speculationLog */
            invokeinterface jdk.vm.ci.meta.SpeculationLog.collectFailedSpeculations:()V
         9: .line 511
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.compiler.ExpansionStatistics jdk.vm.ci.meta.SpeculationLog
      StackMap stack:
            aconst_null
            astore 16
            aconst_null
            astore 17
        10: getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.PartialEvaluationTime:Lorg/graalvm/compiler/debug/TimerKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 18 /* a */
        start local 18 // org.graalvm.compiler.debug.DebugCloseable a
        11: getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.PartialEvaluationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.MemUseTrackerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 19 /* c */
        start local 19 // org.graalvm.compiler.debug.DebugCloseable c
        12: .line 512
            new org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* options */
            aload 2 /* debug */
            aload 3 /* compilable */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            aload 3 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.rootForCallTarget:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 4 /* inliningPlan */
        13: .line 513
            aload 5 /* compilationId */
            aload 15 /* speculationLog */
            aload 6 /* task */
        14: .line 512
            invokespecial org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request.<init>:(Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/meta/SpeculationLog;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$CancellableTruffleCompilationTask;)V
            astore 20 /* request */
        start local 20 // org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request request
        15: .line 514
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            aload 20 /* request */
            invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.evaluate:(Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator$Request;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 9 /* graph */
        16: .line 515
            aload 14 /* statistics */
            ifnull 18
        17: .line 516
            aload 14 /* statistics */
            aload 20 /* request */
            getfield org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request.compilable:Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            aload 20 /* request */
            getfield org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.afterPartialEvaluation:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        end local 20 // org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request request
        18: .line 518
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.compiler.ExpansionStatistics jdk.vm.ci.meta.SpeculationLog java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 19 /* c */
            ifnull 21
            aload 19 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 16
            aload 19 /* c */
            ifnull 20
            aload 19 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 19 // org.graalvm.compiler.debug.DebugCloseable c
      StackMap locals:
      StackMap stack:
        20: aload 16
            athrow
      StackMap locals:
      StackMap stack:
        21: aload 18 /* a */
            ifnull 29
            aload 18 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 17
            aload 16
            ifnonnull 23
            aload 17
            astore 16
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 16
            aload 17
            if_acmpeq 24
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 18 /* a */
            ifnull 25
            aload 18 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 18 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        25: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 17
            aload 16
            ifnonnull 27
            aload 17
            astore 16
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 16
            aload 17
            if_acmpeq 28
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 16
            athrow
        29: .line 521
      StackMap locals:
      StackMap stack:
            aload 6 /* task */
            ifnull 32
            aload 6 /* task */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask.isCancelled:()Z
            ifeq 32
        30: .line 544
            aload 12 /* alarm */
            ifnull 31
            aload 12 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
        31: .line 522
      StackMap locals:
      StackMap stack:
            return
        32: .line 524
      StackMap locals:
      StackMap stack:
            aload 14 /* statistics */
            ifnull 34
        33: .line 525
            aload 14 /* statistics */
            aload 3 /* compilable */
            aload 9 /* graph */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.afterTruffleTier:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        34: .line 527
      StackMap locals:
      StackMap stack:
            aload 7 /* listener */
            ifnull 36
        35: .line 528
            aload 7 /* listener */
            aload 3 /* compilable */
            aload 4 /* inliningPlan */
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl
            dup
            aload 9 /* graph */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerListener.onTruffleTierFinished:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener$GraphInfo;)V
        36: .line 532
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* compilable */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* task */
            ifnull 37
            aload 6 /* task */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask.isFirstTier:()Z
            ifeq 37
            ldc "#1"
            goto 38
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        37: ldc "#2"
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.compiler.ExpansionStatistics jdk.vm.ci.meta.SpeculationLog
      StackMap stack: java.lang.StringBuilder java.lang.String
        38: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* compilationName */
        start local 16 // java.lang.String compilationName
        39: .line 533
            aload 0 /* this */
            aload 9 /* graph */
            aload 16 /* compilationName */
            aload 13 /* graphBuilderSuite */
            aload 3 /* compilable */
            aload 5 /* compilationId */
            invokestatic org.graalvm.compiler.core.common.CompilationRequestIdentifier.asCompilationRequest:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Ljdk/vm/ci/code/CompilationRequest;
            aload 7 /* listener */
            aload 6 /* task */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.compilePEGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;)Lorg/graalvm/compiler/code/CompilationResult;
            astore 17 /* compilationResult */
        start local 17 // org.graalvm.compiler.code.CompilationResult compilationResult
        40: .line 534
            aload 14 /* statistics */
            ifnull 42
        41: .line 535
            aload 14 /* statistics */
            aload 3 /* compilable */
            aload 9 /* graph */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.afterLowTier:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        42: .line 537
      StackMap locals: java.lang.String org.graalvm.compiler.code.CompilationResult
      StackMap stack:
            aload 7 /* listener */
            ifnull 44
        43: .line 538
            aload 7 /* listener */
            aload 3 /* compilable */
            aload 4 /* inliningPlan */
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl
            dup
            aload 9 /* graph */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CompilationResultInfoImpl
            dup
            aload 17 /* compilationResult */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CompilationResultInfoImpl.<init>:(Lorg/graalvm/compiler/code/CompilationResult;)V
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerListener.onSuccess:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener$GraphInfo;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener$CompilationResultInfo;)V
        44: .line 543
      StackMap locals:
      StackMap stack:
            aload 8 /* printer */
            aload 17 /* compilationResult */
            invokevirtual org.graalvm.compiler.core.CompilationPrinter.finish:(Lorg/graalvm/compiler/code/CompilationResult;)V
        end local 17 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 16 // java.lang.String compilationName
        end local 15 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 14 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics statistics
        end local 13 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        45: .line 544
            aload 12 /* alarm */
            ifnull 65
            aload 12 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
            goto 65
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm
      StackMap stack: java.lang.Throwable
        46: astore 10
            aload 12 /* alarm */
            ifnull 47
            aload 12 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
        end local 12 // org.graalvm.compiler.core.common.util.CompilationAlarm alarm
      StackMap locals:
      StackMap stack:
        47: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 11
            aload 10
            ifnonnull 49
            aload 11
            astore 10
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 10
            aload 11
            if_acmpeq 50
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.Throwable
        51: astore 10 /* t */
        start local 10 // java.lang.Throwable t
        52: .line 545
            aload 10 /* t */
            instanceof jdk.vm.ci.code.BailoutException
            ifeq 54
        53: .line 546
            aload 0 /* this */
            aload 2 /* debug */
            aload 9 /* graph */
            aload 10 /* t */
            checkcast jdk.vm.ci.code.BailoutException
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.handleBailout:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/code/BailoutException;)V
        54: .line 550
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7 /* listener */
            ifnull 64
        55: .line 551
            aload 10 /* t */
            instanceof jdk.vm.ci.code.BailoutException
            ifeq 56
            aload 10 /* t */
            checkcast jdk.vm.ci.code.BailoutException
            goto 57
      StackMap locals:
      StackMap stack:
        56: aconst_null
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.BailoutException
        57: astore 11 /* bailout */
        start local 11 // jdk.vm.ci.code.BailoutException bailout
        58: .line 552
            aload 11 /* bailout */
            ifnull 59
            aload 11 /* bailout */
            invokevirtual jdk.vm.ci.code.BailoutException.isPermanent:()Z
            goto 60
      StackMap locals: jdk.vm.ci.code.BailoutException
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: istore 12 /* permanentBailout */
        start local 12 // boolean permanentBailout
        61: .line 553
            aload 7 /* listener */
            aload 3 /* compilable */
            aload 10 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aload 11 /* bailout */
            ifnull 62
            iconst_1
            goto 63
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable jdk.vm.ci.code.BailoutException int
      StackMap stack: org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.CompilableTruffleAST java.lang.String
        62: iconst_0
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable jdk.vm.ci.code.BailoutException int
      StackMap stack: org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.CompilableTruffleAST java.lang.String int
        63: iload 12 /* permanentBailout */
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerListener.onFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;ZZ)V
        end local 12 // boolean permanentBailout
        end local 11 // jdk.vm.ci.code.BailoutException bailout
        64: .line 555
      StackMap locals:
      StackMap stack:
            aload 10 /* t */
            athrow
        end local 10 // java.lang.Throwable t
        65: .line 557
      StackMap locals:
      StackMap stack:
            return
        end local 9 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 8 // org.graalvm.compiler.core.CompilationPrinter printer
        end local 7 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        end local 6 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask task
        end local 5 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 4 // org.graalvm.compiler.truffle.common.TruffleMetaAccessProvider inliningPlan
        end local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.options.OptionValues options
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   66     0               this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   66     1            options  Lorg/graalvm/options/OptionValues;
            0   66     2              debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   66     3         compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   66     4       inliningPlan  Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;
            0   66     5      compilationId  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0   66     6               task  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$CancellableTruffleCompilationTask;
            0   66     7           listener  Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
            1   66     8            printer  Lorg/graalvm/compiler/core/CompilationPrinter;
            2   66     9              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   47    12              alarm  Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            5   45    13  graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            6   45    14         statistics  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            7   45    15     speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
           11   25    18                  a  Lorg/graalvm/compiler/debug/DebugCloseable;
           12   20    19                  c  Lorg/graalvm/compiler/debug/DebugCloseable;
           15   18    20            request  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator$Request;
           39   45    16    compilationName  Ljava/lang/String;
           40   45    17  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
           52   65    10                  t  Ljava/lang/Throwable;
           58   64    11            bailout  Ljdk/vm/ci/code/BailoutException;
           61   64    12   permanentBailout  Z
      Exception table:
        from    to  target  type
          12    18      19  any
          11    21      22  any
          10    26      26  any
           4    30      46  any
          32    45      46  any
           3    31      48  any
          32    48      48  any
           2    31      51  Class java.lang.Throwable
          32    51      51  Class java.lang.Throwable
    MethodParameters:
               Name  Flags
      options        
      debug          
      compilable     final
      inliningPlan   
      compilationId  
      task           
      listener       

  protected void handleBailout(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.code.BailoutException);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/code/BailoutException;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // jdk.vm.ci.code.BailoutException bailout
         0: .line 568
            return
        end local 3 // jdk.vm.ci.code.BailoutException bailout
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    1     1    debug  Lorg/graalvm/compiler/debug/DebugContext;
            0    1     2    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     3  bailout  Ljdk/vm/ci/code/BailoutException;
    MethodParameters:
         Name  Flags
      debug    
      graph    
      bailout  

  public org.graalvm.compiler.code.CompilationResult compilePEGraph(org.graalvm.compiler.nodes.StructuredGraph, java.lang.String, org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext>, org.graalvm.compiler.truffle.common.CompilableTruffleAST, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.truffle.common.TruffleCompilerListener, org.graalvm.compiler.truffle.common.TruffleCompilationTask);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=20, args_size=8
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.String name
        start local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        start local 4 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 5 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        start local 7 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
         0: .line 587
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 8 /* debug */
        start local 8 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 588
            aconst_null
            astore 9
            aconst_null
            astore 10
         2: aload 8 /* debug */
            ldc "TruffleFinal"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 11 /* s */
        start local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
         3: .line 589
            aload 8 /* debug */
            iconst_1
            aload 1 /* graph */
            ldc "After TruffleTier"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         4: .line 590
            aload 11 /* s */
            ifnull 12
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 12
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
         5: astore 9
            aload 11 /* s */
            ifnull 6
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
         6: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 10
            aload 9
            ifnonnull 8
            aload 10
            astore 9
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 9
            aload 10
            if_acmpeq 9
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 9
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        10: astore 9 /* e */
        start local 9 // java.lang.Throwable e
        11: .line 591
            aload 8 /* debug */
            aload 9 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 9 // java.lang.Throwable e
        12: .line 594
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* result */
        start local 9 // org.graalvm.compiler.code.CompilationResult result
        13: .line 596
            aconst_null
            astore 10
            aconst_null
            astore 11
        14: getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CompilationTime:Lorg/graalvm/compiler/debug/TimerKey;
            aload 8 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 12 /* a */
        start local 12 // org.graalvm.compiler.debug.DebugCloseable a
        15: .line 597
            aload 8 /* debug */
            ldc "TruffleGraal.GraalCompiler"
            aload 1 /* graph */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.lastTier:()Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.providers:()Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 13 /* s */
        start local 13 // org.graalvm.compiler.debug.DebugContext$Scope s
        16: .line 598
            getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CompilationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            aload 8 /* debug */
            invokeinterface org.graalvm.compiler.debug.MemUseTrackerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 14 /* c */
        start local 14 // org.graalvm.compiler.debug.DebugCloseable c
        17: .line 600
            aload 7 /* task */
            ifnull 20
            aload 7 /* task */
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilationTask.isFirstTier:()Z
            ifeq 20
        18: .line 601
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.firstTier:()Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            astore 15 /* tier */
        start local 15 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration tier
        19: .line 602
            goto 21
        end local 15 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration tier
        20: .line 603
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.lastTier:()Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            astore 15 /* tier */
        start local 15 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration tier
        21: .line 605
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration
      StackMap stack:
            aload 15 /* tier */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.suites:()Lorg/graalvm/compiler/phases/tiers/Suites;
            astore 16 /* selectedSuites */
        start local 16 // org.graalvm.compiler.phases.tiers.Suites selectedSuites
        22: .line 606
            aload 15 /* tier */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.lirSuites:()Lorg/graalvm/compiler/lir/phases/LIRSuites;
            astore 17 /* selectedLirSuites */
        start local 17 // org.graalvm.compiler.lir.phases.LIRSuites selectedLirSuites
        23: .line 607
            aload 15 /* tier */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.providers:()Lorg/graalvm/compiler/phases/util/Providers;
            astore 18 /* selectedProviders */
        start local 18 // org.graalvm.compiler.phases.util.Providers selectedProviders
        24: .line 608
            aload 0 /* this */
            aload 2 /* name */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            aload 4 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createCompilationResult:(Ljava/lang/String;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/code/CompilationResult;
            astore 19 /* compilationResult */
        start local 19 // org.graalvm.compiler.code.CompilationResult compilationResult
        25: .line 609
            aload 1 /* graph */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 18 /* selectedProviders */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            aload 3 /* graphBuilderSuite */
            getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.Optimizations:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
            aload 16 /* selectedSuites */
        26: .line 610
            aload 17 /* selectedLirSuites */
            aload 19 /* compilationResult */
            getstatic org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.Default:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            iconst_0
        27: .line 609
            invokestatic org.graalvm.compiler.core.GraalCompiler.compileGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Z)Lorg/graalvm/compiler/code/CompilationResult;
            astore 9 /* result */
        end local 19 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 18 // org.graalvm.compiler.phases.util.Providers selectedProviders
        end local 17 // org.graalvm.compiler.lir.phases.LIRSuites selectedLirSuites
        end local 16 // org.graalvm.compiler.phases.tiers.Suites selectedSuites
        end local 15 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration tier
        28: .line 611
            aload 14 /* c */
            ifnull 31
            aload 14 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 31
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        29: astore 10
            aload 14 /* c */
            ifnull 30
            aload 14 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugCloseable c
      StackMap locals:
      StackMap stack:
        30: aload 10
            athrow
      StackMap locals:
      StackMap stack:
        31: aload 13 /* s */
            ifnull 36
            aload 13 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 11
            aload 10
            ifnonnull 33
            aload 11
            astore 10
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 10
            aload 11
            if_acmpeq 34
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 13 /* s */
            ifnull 35
            aload 13 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        35: aload 10
            athrow
      StackMap locals:
      StackMap stack:
        36: aload 12 /* a */
            ifnull 46
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 11
            aload 10
            ifnonnull 38
            aload 11
            astore 10
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 10
            aload 11
            if_acmpeq 39
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 12 /* a */
            ifnull 40
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        40: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 11
            aload 10
            ifnonnull 42
            aload 11
            astore 10
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 10
            aload 11
            if_acmpeq 43
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult
      StackMap stack: java.lang.Throwable
        44: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        45: .line 612
            aload 8 /* debug */
            aload 10 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.Throwable e
        46: .line 615
      StackMap locals:
      StackMap stack:
            aload 6 /* listener */
            ifnull 48
        47: .line 616
            aload 6 /* listener */
            aload 4 /* compilable */
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl
            dup
            aload 1 /* graph */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerListener.onGraalTierFinished:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener$GraphInfo;)V
        48: .line 619
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10
            aconst_null
            astore 11
        49: getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CodeInstallationTime:Lorg/graalvm/compiler/debug/TimerKey;
            aload 8 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 12 /* a */
        start local 12 // org.graalvm.compiler.debug.DebugCloseable a
        50: getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.CodeInstallationMemUse:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            aload 8 /* debug */
            invokeinterface org.graalvm.compiler.debug.MemUseTrackerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 13 /* c */
        start local 13 // org.graalvm.compiler.debug.DebugCloseable c
        51: .line 620
            aload 0 /* this */
            aload 4 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createInstalledCode:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Ljdk/vm/ci/code/InstalledCode;
            astore 14 /* installedCode */
        start local 14 // jdk.vm.ci.code.InstalledCode installedCode
        52: .line 621
            getstatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.$assertionsDisabled:Z
            ifne 53
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            if_acmpeq 53
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 622
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable jdk.vm.ci.code.InstalledCode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            aload 8 /* debug */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 5 /* compilationRequest */
            aload 9 /* result */
            aload 14 /* installedCode */
            iconst_0
            invokevirtual org.graalvm.compiler.core.target.Backend.createInstalledCode:(Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;Z)Ljdk/vm/ci/code/InstalledCode;
            pop
        end local 14 // jdk.vm.ci.code.InstalledCode installedCode
        54: .line 623
            aload 13 /* c */
            ifnull 57
            aload 13 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 57
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        55: astore 10
            aload 13 /* c */
            ifnull 56
            aload 13 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugCloseable c
      StackMap locals:
      StackMap stack:
        56: aload 10
            athrow
      StackMap locals:
      StackMap stack:
        57: aload 12 /* a */
            ifnull 67
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 67
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: astore 11
            aload 10
            ifnonnull 59
            aload 11
            astore 10
            goto 60
      StackMap locals:
      StackMap stack:
        59: aload 10
            aload 11
            if_acmpeq 60
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        60: aload 12 /* a */
            ifnull 61
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        61: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 11
            aload 10
            ifnonnull 63
            aload 11
            astore 10
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 10
            aload 11
            if_acmpeq 64
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.truffle.common.CompilableTruffleAST jdk.vm.ci.code.CompilationRequest org.graalvm.compiler.truffle.common.TruffleCompilerListener org.graalvm.compiler.truffle.common.TruffleCompilationTask org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.code.CompilationResult
      StackMap stack: java.lang.Throwable
        65: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        66: .line 624
            aload 8 /* debug */
            aload 10 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.Throwable e
        67: .line 627
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            areturn
        end local 9 // org.graalvm.compiler.code.CompilationResult result
        end local 8 // org.graalvm.compiler.debug.DebugContext debug
        end local 7 // org.graalvm.compiler.truffle.common.TruffleCompilationTask task
        end local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerListener listener
        end local 5 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 4 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 2 // java.lang.String name
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   68     0                this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0   68     1               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   68     2                name  Ljava/lang/String;
            0   68     3   graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            0   68     4          compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   68     5  compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0   68     6            listener  Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;
            0   68     7                task  Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;
            1   68     8               debug  Lorg/graalvm/compiler/debug/DebugContext;
            3    6    11                   s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   12     9                   e  Ljava/lang/Throwable;
           13   68     9              result  Lorg/graalvm/compiler/code/CompilationResult;
           15   40    12                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
           16   35    13                   s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   30    14                   c  Lorg/graalvm/compiler/debug/DebugCloseable;
           19   20    15                tier  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
           21   28    15                tier  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
           22   28    16      selectedSuites  Lorg/graalvm/compiler/phases/tiers/Suites;
           23   28    17   selectedLirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
           24   28    18   selectedProviders  Lorg/graalvm/compiler/phases/util/Providers;
           25   28    19   compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
           45   46    10                   e  Ljava/lang/Throwable;
           50   61    12                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
           51   56    13                   c  Lorg/graalvm/compiler/debug/DebugCloseable;
           52   54    14       installedCode  Ljdk/vm/ci/code/InstalledCode;
           66   67    10                   e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
           1    10      10  Class java.lang.Throwable
          17    28      29  any
          16    31      32  any
          15    36      37  any
          14    41      41  any
          13    44      44  Class java.lang.Throwable
          51    54      55  any
          50    57      58  any
          49    62      62  any
          48    65      65  Class java.lang.Throwable
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;Lorg/graalvm/compiler/truffle/common/TruffleCompilationTask;)Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
                    Name  Flags
      graph               
      name                
      graphBuilderSuite   
      compilable          
      compilationRequest  
      listener            
      task                

  protected abstract jdk.vm.ci.code.InstalledCode createInstalledCode(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      compilable  

  protected boolean soleExecutionEntryPoint(jdk.vm.ci.code.InstalledCode);
    descriptor: (Ljdk/vm/ci/code/InstalledCode;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // jdk.vm.ci.code.InstalledCode installedCode
         0: .line 638
            iconst_1
            ireturn
        end local 1 // jdk.vm.ci.code.InstalledCode installedCode
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    1     1  installedCode  Ljdk/vm/ci/code/InstalledCode;
    MethodParameters:
               Name  Flags
      installedCode  

  protected void exitHostVM(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // int status
         0: .line 646
            iload 1 /* status */
            invokestatic java.lang.System.exit:(I)V
         1: .line 647
            return
        end local 1 // int status
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    2     1  status  I
    MethodParameters:
        Name  Flags
      status  

  protected abstract org.graalvm.compiler.code.CompilationResult createCompilationResult(java.lang.String, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      name                   
      compilationIdentifier  
      compilable             

  public abstract org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> createGraphBuilderSuite();
    descriptor: ()Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;

  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 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
         0: .line 658
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;

  public org.graalvm.compiler.truffle.common.CompilableTruffleAST asCompilableTruffleAST(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 662
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.snippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            aload 1 /* constant */
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.common.CompilableTruffleAST
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    1     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  private static boolean isSuppressedFailure(org.graalvm.compiler.truffle.common.CompilableTruffleAST, java.lang.Throwable);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/Throwable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 1 // java.lang.Throwable cause
         0: .line 763
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
         1: .line 764
            aload 0 /* compilable */
            aload 1 /* cause */
            invokedynamic get(Ljava/lang/Throwable;)Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/compiler/TruffleCompilerImpl.lambda$1(Ljava/lang/Throwable;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
         2: .line 763
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.isSuppressedFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/util/function/Supplier;)Z
            ireturn
        end local 1 // java.lang.Throwable cause
        end local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    3     1       cause  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      compilable  
      cause       

  protected org.graalvm.compiler.truffle.common.CompilableTruffleAST getCompilable(org.graalvm.compiler.code.CompilationResult);
    descriptor: (Lorg/graalvm/compiler/code/CompilationResult;)Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.code.CompilationResult result
         0: .line 774
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.code.CompilationResult result
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    1     1  result  Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
        Name  Flags
      result  

  protected void afterCodeInstallation(org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.code.InstalledCode);
    descriptor: (Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/InstalledCode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.code.CompilationResult result
        start local 2 // jdk.vm.ci.code.InstalledCode installedCode
         0: .line 893
            return
        end local 2 // jdk.vm.ci.code.InstalledCode installedCode
        end local 1 // org.graalvm.compiler.code.CompilationResult result
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            0    1     1         result  Lorg/graalvm/compiler/code/CompilationResult;
            0    1     2  installedCode  Ljdk/vm/ci/code/InstalledCode;
    MethodParameters:
               Name  Flags
      result         
      installedCode  

  public final org.graalvm.compiler.api.replacements.SnippetReflectionProvider getSnippetReflection();
    descriptor: ()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
         0: .line 897
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.snippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;

  public static org.graalvm.options.OptionValues getOptionsForCompiler(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Lorg/graalvm/options/OptionValues;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.util.Map options
         0: .line 906
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            astore 1 /* parsedOptions */
        start local 1 // org.graalvm.collections.EconomicMap parsedOptions
         1: .line 907
            invokestatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.getDescriptors:()Lorg/graalvm/options/OptionDescriptors;
            astore 2 /* descriptors */
        start local 2 // org.graalvm.options.OptionDescriptors descriptors
         2: .line 908
            aload 0 /* options */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: java.util.Map org.graalvm.collections.EconomicMap org.graalvm.options.OptionDescriptors top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* e */
        start local 3 // java.util.Map$Entry e
         4: .line 909
            aload 2 /* descriptors */
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 5 /* descriptor */
        start local 5 // org.graalvm.options.OptionDescriptor descriptor
         5: .line 910
            aload 5 /* descriptor */
            ifnull 6
            aload 5 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            goto 7
      StackMap locals: java.util.Map org.graalvm.collections.EconomicMap org.graalvm.options.OptionDescriptors java.util.Map$Entry java.util.Iterator org.graalvm.options.OptionDescriptor
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.options.OptionKey
         7: astore 6 /* k */
        start local 6 // org.graalvm.options.OptionKey k
         8: .line 911
            aload 6 /* k */
            ifnull 13
         9: .line 912
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        10: .line 913
            aload 7 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/lang/String;
            if_acmpne 12
        11: .line 914
            aload 5 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getType:()Lorg/graalvm/options/OptionType;
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.graalvm.options.OptionType.convert:(Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* value */
        12: .line 916
      StackMap locals: org.graalvm.options.OptionKey java.lang.Object
      StackMap stack:
            aload 1 /* parsedOptions */
            aload 6 /* k */
            aload 7 /* value */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Object value
        end local 6 // org.graalvm.options.OptionKey k
        end local 5 // org.graalvm.options.OptionDescriptor descriptor
        end local 3 // java.util.Map$Entry e
        13: .line 908
      StackMap locals: java.util.Map org.graalvm.collections.EconomicMap org.graalvm.options.OptionDescriptors top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        14: .line 919
            new org.graalvm.compiler.truffle.options.OptionValuesImpl
            dup
            aload 2 /* descriptors */
            aload 1 /* parsedOptions */
            invokespecial org.graalvm.compiler.truffle.options.OptionValuesImpl.<init>:(Lorg/graalvm/options/OptionDescriptors;Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
            areturn
        end local 2 // org.graalvm.options.OptionDescriptors descriptors
        end local 1 // org.graalvm.collections.EconomicMap parsedOptions
        end local 0 // java.util.Map options
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0        options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1   15     1  parsedOptions  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/options/OptionKey<*>;Ljava/lang/Object;>;
            2   15     2    descriptors  Lorg/graalvm/options/OptionDescriptors;
            4   13     3              e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
            5   13     5     descriptor  Lorg/graalvm/options/OptionDescriptor;
            8   13     6              k  Lorg/graalvm/options/OptionKey<*>;
           10   13     7          value  Ljava/lang/Object;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lorg/graalvm/options/OptionValues;
    MethodParameters:
         Name  Flags
      options  

  private static java.lang.String lambda$0(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 364
            aload 0
            invokestatic org.graalvm.compiler.truffle.common.CompilableTruffleAST.serializeException:(Ljava/lang/Throwable;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$1(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 764
            aload 0
            invokestatic org.graalvm.compiler.truffle.common.CompilableTruffleAST.serializeException:(Ljava/lang/Throwable;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TruffleCompilerImpl.java"
NestMembers:
  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CompilationResultInfoImpl  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCodeInstallationTask  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCodeInstallationTask$1  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper  org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final ExceptionAction = org.graalvm.compiler.core.CompilationWrapper$ExceptionAction of org.graalvm.compiler.core.CompilationWrapper
  public abstract CodeInstallationTaskFactory = org.graalvm.compiler.core.target.Backend$CodeInstallationTaskFactory of org.graalvm.compiler.core.target.Backend
  public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Filter = org.graalvm.compiler.debug.TTY$Filter of org.graalvm.compiler.debug.TTY
  public final BytecodeExceptionMode = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public final Optimization = org.graalvm.compiler.phases.OptimisticOptimizations$Optimization of org.graalvm.compiler.phases.OptimisticOptimizations
  public abstract CompilationResultInfo = org.graalvm.compiler.truffle.common.TruffleCompilerListener$CompilationResultInfo of org.graalvm.compiler.truffle.common.TruffleCompilerListener
  public abstract GraphInfo = org.graalvm.compiler.truffle.common.TruffleCompilerListener$GraphInfo of org.graalvm.compiler.truffle.common.TruffleCompilerListener
  public final Request = org.graalvm.compiler.truffle.compiler.PartialEvaluator$Request of org.graalvm.compiler.truffle.compiler.PartialEvaluator
  final CancellableTruffleCompilationTask = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  CompilationResultInfoImpl = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CompilationResultInfoImpl of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  GraphInfoImpl = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$GraphInfoImpl of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  private final TTYToPolyglotLoggerBridge = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TTYToPolyglotLoggerBridge of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  private final TruffleCodeInstallationTask = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCodeInstallationTask of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  private final TruffleCompilationImpl = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationImpl of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  private final TruffleCompilationWrapper = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TruffleCompilationWrapper of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  private TrufflePostCodeInstallationTaskFactory = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$TrufflePostCodeInstallationTaskFactory of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
  public Instrumentation = org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$Instrumentation of org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase
  public final InstrumentationConfiguration = org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase$InstrumentationConfiguration of org.graalvm.compiler.truffle.compiler.phases.InstrumentPhase