public final class org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl extends org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl implements org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompiler
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl
  super_class: org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl
{
  private final org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider hotspotGraalRuntime;
    descriptor: Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile java.util.List<org.graalvm.compiler.debug.DebugHandlersFactory> factories;
    descriptor: Ljava/util/List;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/List<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 106
            ldc Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            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.hotspot.HotSpotTruffleCompilerImpl.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl create(org.graalvm.compiler.truffle.common.TruffleCompilerRuntime);
    descriptor: (Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;)Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=19, args_size=1
        start local 0 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime runtime
         0: .line 121
            aload 0 /* runtime */
            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 1 /* options */
        start local 1 // org.graalvm.compiler.options.OptionValues options
         1: .line 122
            aload 1 /* options */
            invokestatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getCompiler:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
            invokeinterface org.graalvm.compiler.api.runtime.GraalJVMCICompiler.getGraalRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
            astore 2 /* hotspotGraalRuntime */
        start local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider hotspotGraalRuntime
         2: .line 123
            aload 2 /* hotspotGraalRuntime */
            ldc Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.api.replacements.SnippetReflectionProvider
            astore 3 /* snippetReflection */
        start local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
         3: .line 125
            aload 2 /* hotspotGraalRuntime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            astore 4 /* backend */
        start local 4 // org.graalvm.compiler.core.target.Backend backend
         4: .line 126
            aload 4 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            ldc Lorg/graalvm/compiler/java/GraphBuilderPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.GraphBuilderPhase
            astore 5 /* phase */
        start local 5 // org.graalvm.compiler.java.GraphBuilderPhase phase
         5: .line 127
            aload 5 /* phase */
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase.getGraphBuilderConfig:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            astore 6 /* plugins */
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
         6: .line 128
            aload 2 /* hotspotGraalRuntime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getCompilerConfigurationName:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.createPartialEvaluatorConfiguration:(Ljava/lang/String;)Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
            astore 7 /* lastTierPe */
        start local 7 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration lastTierPe
         7: .line 129
            new org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration
            dup
            aload 7 /* lastTierPe */
            aload 4 /* backend */
            aload 1 /* options */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.<init>:(Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/options/OptionValues;)V
            astore 8 /* lastTierSetup */
        start local 8 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration lastTierSetup
         8: .line 131
            new org.graalvm.compiler.hotspot.EconomyCompilerConfigurationFactory
            dup
            invokespecial org.graalvm.compiler.hotspot.EconomyCompilerConfigurationFactory.<init>:()V
            astore 9 /* lowTierCompilerConfigurationFactory */
        start local 9 // org.graalvm.compiler.hotspot.CompilerConfigurationFactory lowTierCompilerConfigurationFactory
         9: .line 132
            aload 9 /* lowTierCompilerConfigurationFactory */
            invokevirtual org.graalvm.compiler.hotspot.CompilerConfigurationFactory.createCompilerConfiguration:()Lorg/graalvm/compiler/phases/tiers/CompilerConfiguration;
            astore 10 /* compilerConfiguration */
        start local 10 // org.graalvm.compiler.phases.tiers.CompilerConfiguration compilerConfiguration
        10: .line 133
            aload 9 /* lowTierCompilerConfigurationFactory */
            invokevirtual org.graalvm.compiler.hotspot.CompilerConfigurationFactory.createBackendMap:()Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory$BackendMap;
            aload 4 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokeinterface org.graalvm.compiler.hotspot.CompilerConfigurationFactory$BackendMap.getBackendFactory:(Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
            astore 11 /* backendFactory */
        start local 11 // org.graalvm.compiler.hotspot.HotSpotBackendFactory backendFactory
        11: .line 134
            aload 11 /* backendFactory */
            aload 2 /* hotspotGraalRuntime */
            aload 10 /* compilerConfiguration */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aconst_null
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackendFactory.createBackend:(Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/phases/tiers/CompilerConfiguration;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Lorg/graalvm/compiler/hotspot/HotSpotBackend;)Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            astore 12 /* firstTierBackend */
        start local 12 // org.graalvm.compiler.hotspot.HotSpotBackend firstTierBackend
        12: .line 135
            aload 12 /* firstTierBackend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            aload 1 /* options */
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
            astore 13 /* firstTierSuites */
        start local 13 // org.graalvm.compiler.phases.tiers.Suites firstTierSuites
        13: .line 136
            aload 12 /* firstTierBackend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            aload 1 /* options */
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultLIRSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/lir/phases/LIRSuites;
            astore 14 /* firstTierLirSuites */
        start local 14 // org.graalvm.compiler.lir.phases.LIRSuites firstTierLirSuites
        14: .line 137
            aload 12 /* firstTierBackend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            astore 15 /* firstTierProviders */
        start local 15 // org.graalvm.compiler.phases.util.Providers firstTierProviders
        15: .line 138
            new org.graalvm.compiler.truffle.compiler.EconomyPartialEvaluatorConfiguration
            dup
            invokespecial org.graalvm.compiler.truffle.compiler.EconomyPartialEvaluatorConfiguration.<init>:()V
            astore 16 /* firstTierPe */
        start local 16 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration firstTierPe
        16: .line 139
            aload 12 /* firstTierBackend */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* options */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.completeInitialization:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Lorg/graalvm/compiler/options/OptionValues;)V
        17: .line 140
            new org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration
            dup
            aload 16 /* firstTierPe */
            aload 4 /* backend */
            aload 15 /* firstTierProviders */
            aload 13 /* firstTierSuites */
            aload 14 /* firstTierLirSuites */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration.<init>:(Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/Suites;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
            astore 17 /* firstTierSetup */
        start local 17 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration firstTierSetup
        18: .line 142
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration
            dup
            aload 0 /* runtime */
            aload 6 /* plugins */
            aload 3 /* snippetReflection */
            aload 17 /* firstTierSetup */
            aload 8 /* lastTierSetup */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.<init>:(Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;)V
            astore 18 /* compilerConfig */
        start local 18 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration compilerConfig
        19: .line 144
            new org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl
            dup
            aload 2 /* hotspotGraalRuntime */
            aload 18 /* compilerConfig */
            invokespecial org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)V
            areturn
        end local 18 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration compilerConfig
        end local 17 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration firstTierSetup
        end local 16 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration firstTierPe
        end local 15 // org.graalvm.compiler.phases.util.Providers firstTierProviders
        end local 14 // org.graalvm.compiler.lir.phases.LIRSuites firstTierLirSuites
        end local 13 // org.graalvm.compiler.phases.tiers.Suites firstTierSuites
        end local 12 // org.graalvm.compiler.hotspot.HotSpotBackend firstTierBackend
        end local 11 // org.graalvm.compiler.hotspot.HotSpotBackendFactory backendFactory
        end local 10 // org.graalvm.compiler.phases.tiers.CompilerConfiguration compilerConfiguration
        end local 9 // org.graalvm.compiler.hotspot.CompilerConfigurationFactory lowTierCompilerConfigurationFactory
        end local 8 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration lastTierSetup
        end local 7 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration lastTierPe
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        end local 5 // org.graalvm.compiler.java.GraphBuilderPhase phase
        end local 4 // org.graalvm.compiler.core.target.Backend backend
        end local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider hotspotGraalRuntime
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime runtime
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0   20     0                              runtime  Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            1   20     1                              options  Lorg/graalvm/compiler/options/OptionValues;
            2   20     2                  hotspotGraalRuntime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            3   20     3                    snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            4   20     4                              backend  Lorg/graalvm/compiler/core/target/Backend;
            5   20     5                                phase  Lorg/graalvm/compiler/java/GraphBuilderPhase;
            6   20     6                              plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            7   20     7                           lastTierPe  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
            8   20     8                        lastTierSetup  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            9   20     9  lowTierCompilerConfigurationFactory  Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;
           10   20    10                compilerConfiguration  Lorg/graalvm/compiler/phases/tiers/CompilerConfiguration;
           11   20    11                       backendFactory  Lorg/graalvm/compiler/hotspot/HotSpotBackendFactory;
           12   20    12                     firstTierBackend  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
           13   20    13                      firstTierSuites  Lorg/graalvm/compiler/phases/tiers/Suites;
           14   20    14                   firstTierLirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
           15   20    15                   firstTierProviders  Lorg/graalvm/compiler/phases/util/Providers;
           16   20    16                          firstTierPe  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
           18   20    17                       firstTierSetup  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
           19   20    18                       compilerConfig  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
    MethodParameters:
         Name  Flags
      runtime  final

  private static org.graalvm.compiler.api.runtime.GraalJVMCICompiler getCompiler(org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.options.OptionValues options
         0: .line 148
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            astore 1 /* runtime */
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
         1: .line 149
            getstatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$Options.TruffleCompilerConfiguration:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.hasBeenSet:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifne 5
         2: .line 150
            aload 1 /* runtime */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            astore 2 /* compiler */
        start local 2 // jdk.vm.ci.runtime.JVMCICompiler compiler
         3: .line 151
            aload 2 /* compiler */
            instanceof org.graalvm.compiler.api.runtime.GraalJVMCICompiler
            ifeq 5
         4: .line 152
            aload 2 /* compiler */
            checkcast org.graalvm.compiler.api.runtime.GraalJVMCICompiler
            areturn
        end local 2 // jdk.vm.ci.runtime.JVMCICompiler compiler
         5: .line 155
      StackMap locals: jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$Options.TruffleCompilerConfiguration:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* options */
            aload 1 /* runtime */
            invokestatic org.graalvm.compiler.hotspot.CompilerConfigurationFactory.selectFactory:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;
            astore 2 /* compilerConfigurationFactory */
        start local 2 // org.graalvm.compiler.hotspot.CompilerConfigurationFactory compilerConfigurationFactory
         6: .line 156
            ldc "Truffle"
            aload 1 /* runtime */
            aload 0 /* options */
            aload 2 /* compilerConfigurationFactory */
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompilerFactory.createCompiler:(Ljava/lang/String;Ljdk/vm/ci/runtime/JVMCIRuntime;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;)Lorg/graalvm/compiler/hotspot/HotSpotGraalCompiler;
            areturn
        end local 2 // org.graalvm.compiler.hotspot.CompilerConfigurationFactory compilerConfigurationFactory
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
        end local 0 // org.graalvm.compiler.options.OptionValues options
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    7     0                       options  Lorg/graalvm/compiler/options/OptionValues;
            1    7     1                       runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            3    5     2                      compiler  Ljdk/vm/ci/runtime/JVMCICompiler;
            6    7     2  compilerConfigurationFactory  Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;
    MethodParameters:
         Name  Flags
      options  

  public void <init>(org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider hotspotGraalRuntime
        start local 2 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
         0: .line 160
            aload 0 /* this */
            aload 2 /* config */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)V
         1: .line 161
            aload 0 /* this */
            aload 1 /* hotspotGraalRuntime */
            putfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
         2: .line 162
            aload 0 /* this */
            aconst_null
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.installTruffleCallBoundaryMethods:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
         3: .line 163
            return
        end local 2 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
        end local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider hotspotGraalRuntime
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    4     1  hotspotGraalRuntime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            0    4     2               config  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
    MethodParameters:
                     Name  Flags
      hotspotGraalRuntime  
      config               

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 167
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            aload 1 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.rootForCallTarget:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* rootMethod */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rootMethod
         1: .line 168
            new jdk.vm.ci.hotspot.HotSpotCompilationRequest
            dup
            aload 2 /* rootMethod */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            iconst_m1
            lconst_0
            invokespecial jdk.vm.ci.hotspot.HotSpotCompilationRequest.<init>:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;IJ)V
            astore 3 /* request */
        start local 3 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
         2: .line 169
            new org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilationIdentifier
            dup
            aload 3 /* request */
            aload 1 /* compilable */
            invokespecial org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilationIdentifier.<init>:(Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            areturn
        end local 3 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rootMethod
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    3     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            1    3     2  rootMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2    3     3     request  Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
    MethodParameters:
            Name  Flags
      compilable  

  private java.util.List<org.graalvm.compiler.debug.DebugHandlersFactory> getDebugHandlerFactories();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 175
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.factories:Ljava/util/List;
            ifnonnull 9
         1: .line 177
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         2: .line 178
            aload 1 /* list */
            new org.graalvm.compiler.printer.GraalDebugHandlersFactory
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 179
            getstatic org.graalvm.compiler.debug.DebugHandlersFactory.LOADER:Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.debug.DebugHandlersFactory
            astore 2 /* factory */
        start local 2 // org.graalvm.compiler.debug.DebugHandlersFactory factory
         5: .line 181
            aload 2 /* factory */
            instanceof org.graalvm.compiler.printer.GraalDebugHandlersFactory
            ifne 7
         6: .line 182
            aload 1 /* list */
            aload 2 /* factory */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.graalvm.compiler.debug.DebugHandlersFactory factory
         7: .line 179
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 185
            aload 0 /* this */
            aload 1 /* list */
            putfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.factories:Ljava/util/List;
        end local 1 // java.util.List list
         9: .line 187
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.factories:Ljava/util/List;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            2    9     1     list  Ljava/util/List<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            5    7     2  factory  Lorg/graalvm/compiler/debug/DebugHandlersFactory;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;

  public java.lang.String getCompilerConfigurationName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 192
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getCompilerConfigurationName:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        start local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 4 // java.io.PrintStream logStream
         0: .line 197
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 1 /* options */
            aload 2 /* compilationId */
            aload 3 /* compilable */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getDebugHandlerFactories:()Ljava/util/List;
            aload 4 /* logStream */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.openDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljava/lang/Object;Ljava/lang/Iterable;Ljava/io/PrintStream;)Lorg/graalvm/compiler/debug/DebugContext;
            areturn
        end local 4 // java.io.PrintStream logStream
        end local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    1     1        options  Lorg/graalvm/compiler/options/OptionValues;
            0    1     2  compilationId  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0    1     3     compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    1     4      logStream  Ljava/io/PrintStream;
    MethodParameters:
               Name  Flags
      options        
      compilationId  
      compilable     
      logStream      

  protected org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator createPartialEvaluator(org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration configuration
         0: .line 202
            new org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator
            dup
            aload 1 /* configuration */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.builderConfig:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            invokespecial org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)V
            areturn
        end local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration configuration
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    1     1  configuration  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
    MethodParameters:
               Name  Flags
      configuration  

  public org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> createGraphBuilderSuite();
    descriptor: ()Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 207
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            invokevirtual org.graalvm.compiler.core.target.Backend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.copy:()Lorg/graalvm/compiler/phases/PhaseSuite;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
    Signature: ()Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;

  public void installTruffleCallBoundaryMethods(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=19, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 216
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            checkcast org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime
            astore 2 /* runtime */
        start local 2 // org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime runtime
         1: .line 217
            aload 2 /* runtime */
            invokeinterface org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime.getTruffleCallBoundaryMethods:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 45
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaMethod
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 218
            aload 3 /* method */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            astore 5 /* hotSpotMethod */
        start local 5 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod hotSpotMethod
         4: .line 219
            aload 5 /* hotSpotMethod */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.hasCompiledCode:()Z
            ifeq 6
         5: .line 221
            return
         6: .line 223
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime jdk.vm.ci.meta.ResolvedJavaMethod java.util.Iterator jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            aload 3 /* method */
            invokevirtual org.graalvm.compiler.core.target.Backend.getCompilationIdentifier:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            checkcast org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier
            astore 6 /* compilationId */
        start local 6 // org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier compilationId
         7: .line 224
            aload 2 /* runtime */
            ldc Lorg/graalvm/compiler/options/OptionValues;
            invokeinterface org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime.getGraalOptions:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionValues
            astore 7 /* options */
        start local 7 // org.graalvm.compiler.options.OptionValues options
         8: .line 225
            aconst_null
            astore 8
            aconst_null
            astore 9
         9: getstatic org.graalvm.compiler.debug.DebugOptions.DebugStubsAndSnippets:Lorg/graalvm/compiler/options/OptionKey;
            aload 7 /* options */
            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 11
        10: .line 226
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            aload 7 /* options */
            aload 6 /* compilationId */
            aload 3 /* method */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getDebugHandlerFactories:()Ljava/util/List;
            invokestatic org.graalvm.compiler.debug.DebugContext.getDefaultLogStream:()Ljava/io/PrintStream;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.openDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljava/lang/Object;Ljava/lang/Iterable;Ljava/io/PrintStream;)Lorg/graalvm/compiler/debug/DebugContext;
            goto 12
        11: .line 227
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime jdk.vm.ci.meta.ResolvedJavaMethod java.util.Iterator jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable
      StackMap stack:
            aload 7 /* options */
            invokestatic org.graalvm.compiler.debug.DebugContext.disabled:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
        12: .line 225
      StackMap locals:
      StackMap stack: org.graalvm.compiler.debug.DebugContext
            astore 10 /* debug */
        start local 10 // org.graalvm.compiler.debug.DebugContext debug
        13: .line 228
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 11 /* a */
        start local 11 // org.graalvm.compiler.debug.DebugContext$Activation a
        14: .line 229
            aload 10 /* debug */
            ldc "InstallingTruffleStub"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* d */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope d
        15: .line 230
            aload 0 /* this */
            aload 3 /* method */
            aload 6 /* compilationId */
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.compileTruffleCallBoundaryMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/code/CompilationResult;
            astore 13 /* compResult */
        start local 13 // org.graalvm.compiler.code.CompilationResult compResult
        16: .line 231
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.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;
            astore 14 /* codeCache */
        start local 14 // jdk.vm.ci.code.CodeCacheProvider codeCache
        17: .line 232
            aconst_null
            astore 15
            aconst_null
            astore 16
        18: aload 10 /* debug */
            ldc "CodeInstall"
            aload 14 /* codeCache */
            aload 3 /* method */
            aload 13 /* compResult */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 17 /* s */
        start local 17 // org.graalvm.compiler.debug.DebugContext$Scope s
        19: .line 233
            aload 14 /* codeCache */
            aload 3 /* method */
            aload 6 /* compilationId */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier.getRequest:()Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
            aload 13 /* compResult */
            aload 7 /* options */
            invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder.createCompiledCode:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            astore 18 /* compiledCode */
        start local 18 // jdk.vm.ci.code.CompiledCode compiledCode
        20: .line 234
            aload 14 /* codeCache */
            aload 3 /* method */
            aload 18 /* compiledCode */
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.setDefaultCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompiledCode;)Ljdk/vm/ci/code/InstalledCode;
            pop
        end local 18 // jdk.vm.ci.code.CompiledCode compiledCode
        21: .line 235
            aload 17 /* s */
            ifnull 29
            aload 17 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 29
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime jdk.vm.ci.meta.ResolvedJavaMethod java.util.Iterator jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugContext$Activation org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.code.CompilationResult jdk.vm.ci.code.CodeCacheProvider java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        22: astore 15
            aload 17 /* s */
            ifnull 23
            aload 17 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 17 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        23: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 16
            aload 15
            ifnonnull 25
            aload 16
            astore 15
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 15
            aload 16
            if_acmpeq 26
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 15
            athrow
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime jdk.vm.ci.meta.ResolvedJavaMethod java.util.Iterator jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugContext$Activation org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.code.CompilationResult jdk.vm.ci.code.CodeCacheProvider
      StackMap stack: java.lang.Throwable
        27: astore 15 /* e */
        start local 15 // java.lang.Throwable e
        28: .line 236
            aload 10 /* debug */
            aload 15 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 15 // java.lang.Throwable e
        end local 14 // jdk.vm.ci.code.CodeCacheProvider codeCache
        end local 13 // org.graalvm.compiler.code.CompilationResult compResult
        29: .line 238
      StackMap locals:
      StackMap stack:
            aload 12 /* d */
            ifnull 32
            aload 12 /* d */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 8
            aload 12 /* d */
            ifnull 31
            aload 12 /* d */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope d
      StackMap locals:
      StackMap stack:
        31: aload 8
            athrow
      StackMap locals:
      StackMap stack:
        32: aload 11 /* a */
            ifnull 37
            aload 11 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 9
            aload 8
            ifnonnull 34
            aload 9
            astore 8
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 8
            aload 9
            if_acmpeq 35
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 11 /* a */
            ifnull 36
            aload 11 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        36: aload 8
            athrow
      StackMap locals:
      StackMap stack:
        37: aload 10 /* debug */
            ifnull 45
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
            goto 45
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 9
            aload 8
            ifnonnull 39
            aload 9
            astore 8
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 8
            aload 9
            if_acmpeq 40
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 10 /* debug */
            ifnull 41
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugContext debug
      StackMap locals:
      StackMap stack:
        41: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 9
            aload 8
            ifnonnull 43
            aload 9
            astore 8
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 8
            aload 9
            if_acmpeq 44
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        44: aload 8
            athrow
        end local 7 // org.graalvm.compiler.options.OptionValues options
        end local 6 // org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier compilationId
        end local 5 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod hotSpotMethod
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        45: .line 217
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        46: .line 240
            return
        end local 2 // org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime runtime
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0   47     1     compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            1   47     2        runtime  Lorg/graalvm/compiler/truffle/common/hotspot/HotSpotTruffleCompilerRuntime;
            3   45     3         method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            4   45     5  hotSpotMethod  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            7   45     6  compilationId  Lorg/graalvm/compiler/hotspot/HotSpotCompilationIdentifier;
            8   45     7        options  Lorg/graalvm/compiler/options/OptionValues;
           13   41    10          debug  Lorg/graalvm/compiler/debug/DebugContext;
           14   36    11              a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           15   31    12              d  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           16   29    13     compResult  Lorg/graalvm/compiler/code/CompilationResult;
           17   29    14      codeCache  Ljdk/vm/ci/code/CodeCacheProvider;
           19   23    17              s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           20   21    18   compiledCode  Ljdk/vm/ci/code/CompiledCode;
           28   29    15              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          19    21      22  any
          18    24      24  any
          17    27      27  Class java.lang.Throwable
          15    29      30  any
          14    32      33  any
          13    37      38  any
           9    42      42  any
    MethodParameters:
            Name  Flags
      compilable  

  public int pendingTransferToInterpreterOffset(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 244
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.pendingTransferToInterpreterOffset:I
            ireturn
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    1     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    MethodParameters:
            Name  Flags
      compilable  

  protected org.graalvm.compiler.debug.DiagnosticsOutputDirectory getDebugOutputDirectory();
    descriptor: ()Lorg/graalvm/compiler/debug/DiagnosticsOutputDirectory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 249
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getOutputDirectory:()Lorg/graalvm/compiler/debug/DiagnosticsOutputDirectory;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;

  protected java.util.Map<org.graalvm.compiler.core.CompilationWrapper$ExceptionAction, java.lang.Integer> getCompilationProblemsPerAction();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 254
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getCompilationProblemsPerAction:()Ljava/util/Map;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
    Signature: ()Ljava/util/Map<Lorg/graalvm/compiler/core/CompilationWrapper$ExceptionAction;Ljava/lang/Integer;>;

  private org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory getTruffleCallBoundaryInstrumentationFactory(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // java.lang.String arch
         0: .line 258
            ldc Lorg/graalvm/compiler/truffle/compiler/hotspot/TruffleCallBoundaryInstrumentationFactory;
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.hotspot.TruffleCallBoundaryInstrumentationFactory
            astore 2 /* factory */
        start local 2 // org.graalvm.compiler.truffle.compiler.hotspot.TruffleCallBoundaryInstrumentationFactory factory
         2: .line 259
            aload 2 /* factory */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.TruffleCallBoundaryInstrumentationFactory.getArchitecture:()Ljava/lang/String;
            aload 1 /* arch */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 260
            aload 2 /* factory */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.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;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.hotspotGraalRuntime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getHostProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.TruffleCallBoundaryInstrumentationFactory.create:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            areturn
        end local 2 // org.graalvm.compiler.truffle.compiler.hotspot.TruffleCallBoundaryInstrumentationFactory factory
         4: .line 258
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 264
            getstatic org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.Default:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            areturn
        end local 1 // java.lang.String arch
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    6     1     arch  Ljava/lang/String;
            2    4     2  factory  Lorg/graalvm/compiler/truffle/compiler/hotspot/TruffleCallBoundaryInstrumentationFactory;
    MethodParameters:
      Name  Flags
      arch  

  private org.graalvm.compiler.code.CompilationResult compileTruffleCallBoundaryMethod(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=15, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
        start local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 275
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.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.suites:()Lorg/graalvm/compiler/phases/tiers/Suites;
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.copy:()Lorg/graalvm/compiler/phases/tiers/Suites;
            astore 4 /* newSuites */
        start local 4 // org.graalvm.compiler.phases.tiers.Suites newSuites
         1: .line 276
            aload 4 /* newSuites */
            invokestatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.removeInliningPhase:(Lorg/graalvm/compiler/phases/tiers/Suites;)V
         2: .line 277
            aload 3 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 5 /* options */
        start local 5 // org.graalvm.compiler.options.OptionValues options
         3: .line 278
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 5 /* options */
            aload 3 /* debug */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
            aload 1 /* javaMethod */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            aload 2 /* compilationId */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.compilationId:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 280
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.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;
            astore 7 /* lastTierProviders */
        start local 7 // org.graalvm.compiler.phases.util.Providers lastTierProviders
         5: .line 281
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.config:Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration.backend:()Lorg/graalvm/compiler/core/target/Backend;
            astore 8 /* backend */
        start local 8 // org.graalvm.compiler.core.target.Backend backend
         6: .line 282
            new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
            dup
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
            dup
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.<init>:()V
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
            astore 9 /* plugins */
        start local 9 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
         7: .line 283
            aload 7 /* lastTierProviders */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            checkcast jdk.vm.ci.hotspot.HotSpotCodeCacheProvider
            astore 10 /* codeCache */
        start local 10 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
         8: .line 284
            aload 10 /* codeCache */
            invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.shouldDebugNonSafepoints:()Z
            istore 11 /* infoPoints */
        start local 11 // boolean infoPoints
         9: .line 285
            aload 9 /* plugins */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withEagerResolving:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withUnresolvedIsError:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            iload 11 /* infoPoints */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 12 /* newConfig */
        start local 12 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration newConfig
        10: .line 286
            new org.graalvm.compiler.java.GraphBuilderPhase$Instance
            dup
            aload 7 /* lastTierProviders */
            aload 12 /* newConfig */
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aconst_null
            invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        11: .line 287
            aload 10 /* codeCache */
            aload 8 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            invokestatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getGraphBuilderSuite:(Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/phases/tiers/SuitesProvider;)Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 13 /* graphBuilderSuite */
        start local 13 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        12: .line 288
            aload 0 /* this */
            aload 8 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getTruffleCallBoundaryInstrumentationFactory:(Ljava/lang/String;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            astore 14 /* factory */
        start local 14 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        13: .line 289
            aload 6 /* graph */
            aload 1 /* javaMethod */
            aload 7 /* lastTierProviders */
            aload 8 /* backend */
            aload 13 /* graphBuilderSuite */
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
            aload 4 /* newSuites */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.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.lirSuites:()Lorg/graalvm/compiler/lir/phases/LIRSuites;
        14: .line 290
            new org.graalvm.compiler.code.CompilationResult
            dup
            aload 2 /* compilationId */
            invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
            aload 14 /* factory */
            iconst_0
        15: .line 289
            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;
            areturn
        end local 14 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 13 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 12 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration newConfig
        end local 11 // boolean infoPoints
        end local 10 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        end local 9 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        end local 8 // org.graalvm.compiler.core.target.Backend backend
        end local 7 // org.graalvm.compiler.phases.util.Providers lastTierProviders
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // org.graalvm.compiler.phases.tiers.Suites newSuites
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0   16     1         javaMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   16     2      compilationId  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0   16     3              debug  Lorg/graalvm/compiler/debug/DebugContext;
            1   16     4          newSuites  Lorg/graalvm/compiler/phases/tiers/Suites;
            3   16     5            options  Lorg/graalvm/compiler/options/OptionValues;
            4   16     6              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            5   16     7  lastTierProviders  Lorg/graalvm/compiler/phases/util/Providers;
            6   16     8            backend  Lorg/graalvm/compiler/core/target/Backend;
            7   16     9            plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            8   16    10          codeCache  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            9   16    11         infoPoints  Z
           10   16    12          newConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           12   16    13  graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
           13   16    14            factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
    MethodParameters:
               Name  Flags
      javaMethod     
      compilationId  
      debug          

  private static org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> getGraphBuilderSuite(jdk.vm.ci.code.CodeCacheProvider, org.graalvm.compiler.phases.tiers.SuitesProvider);
    descriptor: (Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/phases/tiers/SuitesProvider;)Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.CodeCacheProvider codeCache
        start local 1 // org.graalvm.compiler.phases.tiers.SuitesProvider suitesProvider
         0: .line 294
            aload 1 /* suitesProvider */
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 2 /* graphBuilderSuite */
        start local 2 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
         1: .line 295
            aload 0 /* codeCache */
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.shouldDebugNonSafepoints:()Z
            ifeq 3
         2: .line 296
            aload 2 /* graphBuilderSuite */
            invokestatic org.graalvm.compiler.hotspot.meta.HotSpotSuitesProvider.withNodeSourcePosition:(Lorg/graalvm/compiler/phases/PhaseSuite;)Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 2 /* graphBuilderSuite */
         3: .line 298
      StackMap locals: org.graalvm.compiler.phases.PhaseSuite
      StackMap stack:
            aload 2 /* graphBuilderSuite */
            areturn
        end local 2 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 1 // org.graalvm.compiler.phases.tiers.SuitesProvider suitesProvider
        end local 0 // jdk.vm.ci.code.CodeCacheProvider codeCache
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0          codeCache  Ljdk/vm/ci/code/CodeCacheProvider;
            0    4     1     suitesProvider  Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            1    4     2  graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
    Signature: (Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/phases/tiers/SuitesProvider;)Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
    MethodParameters:
                Name  Flags
      codeCache       
      suitesProvider  

  private static void removeInliningPhase(org.graalvm.compiler.phases.tiers.Suites);
    descriptor: (Lorg/graalvm/compiler/phases/tiers/Suites;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.phases.tiers.Suites suites
         0: .line 302
            aload 0 /* suites */
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getHighTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            ldc Lorg/graalvm/compiler/phases/common/AbstractInliningPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            astore 1 /* inliningPhase */
        start local 1 // java.util.ListIterator inliningPhase
         1: .line 303
            aload 1 /* inliningPhase */
            ifnull 3
         2: .line 304
            aload 1 /* inliningPhase */
            invokeinterface java.util.ListIterator.remove:()V
         3: .line 306
      StackMap locals: java.util.ListIterator
      StackMap stack:
            return
        end local 1 // java.util.ListIterator inliningPhase
        end local 0 // org.graalvm.compiler.phases.tiers.Suites suites
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0         suites  Lorg/graalvm/compiler/phases/tiers/Suites;
            1    4     1  inliningPhase  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
    MethodParameters:
        Name  Flags
      suites  

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 310
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    1     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    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=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // jdk.vm.ci.code.InstalledCode installedCode
         0: .line 321
            aload 1 /* installedCode */
            instanceof jdk.vm.ci.hotspot.HotSpotNmethod
            ifeq 4
         1: .line 322
            aload 1 /* installedCode */
            checkcast jdk.vm.ci.hotspot.HotSpotNmethod
            astore 2 /* nmethod */
        start local 2 // jdk.vm.ci.hotspot.HotSpotNmethod nmethod
         2: .line 323
            aload 2 /* nmethod */
            invokevirtual jdk.vm.ci.hotspot.HotSpotNmethod.isDefault:()Z
            ifeq 4
         3: .line 324
            iconst_0
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotNmethod nmethod
         4: .line 327
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // jdk.vm.ci.code.InstalledCode installedCode
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    5     1  installedCode  Ljdk/vm/ci/code/InstalledCode;
            2    4     2        nmethod  Ljdk/vm/ci/hotspot/HotSpotNmethod;
    MethodParameters:
               Name  Flags
      installedCode  

  protected void exitHostVM(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // int status
         0: .line 332
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            astore 2 /* runtime */
        start local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
         1: .line 333
            iconst_m1
            aload 2 /* runtime */
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalServices.exit:(ILjdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
         2: .line 334
            return
        end local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
        end local 1 // int status
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    3     1   status  I
            1    3     2  runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    MethodParameters:
        Name  Flags
      status  

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationIdentifier
        start local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
         0: .line 338
            new org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult
            dup
            aload 2 /* compilationIdentifier */
            aload 1 /* name */
            aload 3 /* compilable */
            invokespecial org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljava/lang/String;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)V
            areturn
        end local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationIdentifier
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    1     1                   name  Ljava/lang/String;
            0    1     2  compilationIdentifier  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0    1     3             compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    MethodParameters:
                       Name  Flags
      name                   
      compilationIdentifier  
      compilable             

  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=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.code.CompilationResult result
        start local 2 // jdk.vm.ci.code.InstalledCode installedCode
         0: .line 343
            aload 1 /* result */
            instanceof org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult
            ifeq 3
         1: .line 344
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            checkcast org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime
            astore 3 /* runtime */
        start local 3 // org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime runtime
         2: .line 345
            aload 3 /* runtime */
            aload 1 /* result */
            checkcast org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult.compilable:Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            aload 2 /* installedCode */
            invokeinterface org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime.onCodeInstallation:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljdk/vm/ci/code/InstalledCode;)V
        end local 3 // org.graalvm.compiler.truffle.common.hotspot.HotSpotTruffleCompilerRuntime runtime
         3: .line 347
      StackMap locals:
      StackMap stack:
            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.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    4     1         result  Lorg/graalvm/compiler/code/CompilationResult;
            0    4     2  installedCode  Ljdk/vm/ci/code/InstalledCode;
            2    3     3        runtime  Lorg/graalvm/compiler/truffle/common/hotspot/HotSpotTruffleCompilerRuntime;
    MethodParameters:
               Name  Flags
      result         
      installedCode  

  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.hotspot.HotSpotTruffleCompilerImpl this
        start local 1 // org.graalvm.compiler.code.CompilationResult result
         0: .line 351
            aload 1 /* result */
            instanceof org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult
            ifeq 2
         1: .line 352
            aload 1 /* result */
            checkcast org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult.compilable:Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            areturn
         2: .line 354
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.code.CompilationResult result
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0    3     1  result  Lorg/graalvm/compiler/code/CompilationResult;
    MethodParameters:
        Name  Flags
      result  

  public org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator getPartialEvaluator();
    descriptor: ()Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 369
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            checkcast org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;

  public void purgeCaches();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
         0: .line 374
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator.purgeEncodedGraphCache:()V
         1: .line 375
            return
        end local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;

  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=4, locals=12, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl 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 386
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotPartialEvaluator.isEncodedGraphCacheEnabled:()Z
            ifne 2
         1: .line 387
            return
         2: .line 389
      StackMap locals:
      StackMap stack:
            aload 3 /* bailout */
            instanceof org.graalvm.compiler.core.common.CancellationBailoutException
            ifne 27
         3: .line 392
            aload 3 /* bailout */
            invokevirtual jdk.vm.ci.code.BailoutException.isPermanent:()Z
            ifne 27
            aload 2 /* graph */
            ifnull 27
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            invokevirtual jdk.vm.ci.meta.Assumptions.isEmpty:()Z
            ifne 27
         4: .line 393
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: getstatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.EncodedGraphCacheEvictionTime:Lorg/graalvm/compiler/debug/TimerKey;
            aload 1 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* dummy */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable dummy
         6: .line 394
            getstatic org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.$assertionsDisabled:Z
            ifne 7
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 395
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.partialEvaluator:Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getOrCreateEncodedGraphCache:()Lorg/graalvm/collections/EconomicMap;
            astore 7 /* graphCache */
        start local 7 // org.graalvm.collections.EconomicMap graphCache
         8: .line 404
            aload 7 /* graphCache */
            invokeinterface org.graalvm.collections.EconomicMap.isEmpty:()Z
            ifne 21
         9: .line 405
            aload 1 /* debug */
            iconst_3
            ldc "Evict root %s"
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;)V
        10: .line 406
            aload 7 /* graphCache */
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface org.graalvm.collections.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 409
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMethods:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 20
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.BailoutException java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.collections.EconomicMap top java.util.Iterator
      StackMap stack:
        12: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaMethod
            astore 8 /* method */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaMethod method
        13: .line 410
            aload 7 /* graphCache */
            aload 8 /* method */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.EncodedGraph
            astore 10 /* encodedGraph */
        start local 10 // org.graalvm.compiler.nodes.EncodedGraph encodedGraph
        14: .line 411
            aload 10 /* encodedGraph */
            ifnonnull 16
        15: .line 412
            goto 20
        16: .line 415
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.BailoutException java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.collections.EconomicMap jdk.vm.ci.meta.ResolvedJavaMethod java.util.Iterator org.graalvm.compiler.nodes.EncodedGraph
      StackMap stack:
            aload 10 /* encodedGraph */
            invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            astore 11 /* assumptions */
        start local 11 // jdk.vm.ci.meta.Assumptions assumptions
        17: .line 416
            aload 11 /* assumptions */
            ifnull 20
            aload 11 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions.isEmpty:()Z
            ifne 20
        18: .line 417
            aload 1 /* debug */
            iconst_3
            ldc "\tEvict inlined %s"
            aload 8 /* method */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;)V
        19: .line 418
            aload 7 /* graphCache */
            aload 8 /* method */
            invokeinterface org.graalvm.collections.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // jdk.vm.ci.meta.Assumptions assumptions
        end local 10 // org.graalvm.compiler.nodes.EncodedGraph encodedGraph
        end local 8 // jdk.vm.ci.meta.ResolvedJavaMethod method
        20: .line 409
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.BailoutException java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.collections.EconomicMap top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 7 // org.graalvm.collections.EconomicMap graphCache
        21: .line 422
      StackMap locals: org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.BailoutException java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 6 /* dummy */
            ifnull 27
            aload 6 /* dummy */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 6 /* dummy */
            ifnull 23
            aload 6 /* dummy */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable dummy
      StackMap locals:
      StackMap stack:
        23: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 5
            aload 4
            ifnonnull 25
            aload 5
            astore 4
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 4
            aload 5
            if_acmpeq 26
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 4
            athrow
        27: .line 425
      StackMap locals:
      StackMap stack:
            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.hotspot.HotSpotTruffleCompilerImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotTruffleCompilerImpl;
            0   28     1         debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   28     2         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   28     3       bailout  Ljdk/vm/ci/code/BailoutException;
            6   23     6         dummy  Lorg/graalvm/compiler/debug/DebugCloseable;
            8   21     7    graphCache  Lorg/graalvm/collections/EconomicMap<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/EncodedGraph;>;
           13   20     8        method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           14   20    10  encodedGraph  Lorg/graalvm/compiler/nodes/EncodedGraph;
           17   20    11   assumptions  Ljdk/vm/ci/meta/Assumptions;
      Exception table:
        from    to  target  type
           6    21      22  any
           5    24      24  any
    MethodParameters:
         Name  Flags
      debug    
      graph    
      bailout  

  protected 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: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.createPartialEvaluator:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.compiler.truffle.compiler.PartialEvaluator getPartialEvaluator();
    descriptor: ()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/hotspot/HotSpotPartialEvaluator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HotSpotTruffleCompilerImpl.java"
NestMembers:
  org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult  org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$Options
InnerClasses:
  public final ExceptionAction = org.graalvm.compiler.core.CompilationWrapper$ExceptionAction of org.graalvm.compiler.core.CompilationWrapper
  public Activation = org.graalvm.compiler.debug.DebugContext$Activation of org.graalvm.compiler.debug.DebugContext
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public abstract BackendMap = org.graalvm.compiler.hotspot.CompilerConfigurationFactory$BackendMap of org.graalvm.compiler.hotspot.CompilerConfigurationFactory
  public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
  public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  private final HotSpotTruffleCompilationResult = org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$HotSpotTruffleCompilationResult of org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl
  public Options = org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl$Options of org.graalvm.compiler.truffle.compiler.hotspot.HotSpotTruffleCompilerImpl