public class com.oracle.svm.truffle.TruffleFeature$Support
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.truffle.TruffleFeature$Support
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
         0: .line 219
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/truffle/TruffleFeature$Support;

  public com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget createOptimizedCallTarget(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/svm/truffle/api/SubstrateOptimizedCallTarget;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget
        start local 2 // com.oracle.truffle.api.nodes.RootNode rootNode
         0: .line 221
            new com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget
            dup
            aload 1 /* sourceCallTarget */
            aload 2 /* rootNode */
            invokespecial com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.<init>:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/nodes/RootNode;)V
            areturn
        end local 2 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    1     1  sourceCallTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    1     2          rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
    MethodParameters:
                  Name  Flags
      sourceCallTarget  
      rootNode          

  public com.oracle.svm.truffle.api.SubstratePartialEvaluator createPartialEvaluator(org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lcom/oracle/svm/truffle/api/SubstratePartialEvaluator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfigForRoot
         0: .line 225
            new com.oracle.svm.truffle.api.SubstratePartialEvaluator
            dup
            aload 1 /* config */
            aload 2 /* graphBuilderConfigForRoot */
            invokespecial com.oracle.svm.truffle.api.SubstratePartialEvaluator.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)V
            areturn
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfigForRoot
        end local 1 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration config
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                       this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    1     1                     config  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
            0    1     2  graphBuilderConfigForRoot  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    MethodParameters:
                           Name  Flags
      config                     
      graphBuilderConfigForRoot  

  public void registerInterpreterEntryMethodsAsCompiled(org.graalvm.compiler.truffle.compiler.PartialEvaluator, org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // org.graalvm.compiler.truffle.compiler.PartialEvaluator partialEvaluator
        start local 2 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess access
         0: .line 230
            return
        end local 2 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess access
        end local 1 // org.graalvm.compiler.truffle.compiler.PartialEvaluator partialEvaluator
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    1     1  partialEvaluator  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
            0    1     2            access  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
    MethodParameters:
                  Name  Flags
      partialEvaluator  
      access            

  public com.oracle.svm.truffle.api.SubstrateTruffleCompiler createTruffleCompiler(com.oracle.svm.truffle.api.SubstrateTruffleRuntime);
    descriptor: (Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;)Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
         0: .line 233
            aload 1 /* runtime */
            ldc "community"
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.createSubstrateTruffleCompilerImpl:(Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;Ljava/lang/String;)Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
            astore 2 /* compiler */
        start local 2 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler compiler
         1: .line 234
            invokestatic com.oracle.svm.core.SubstrateOptions.supportCompileInIsolates:()Z
            ifeq 3
         2: .line 235
            new com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler
            dup
            aload 2 /* compiler */
            invokespecial com.oracle.svm.truffle.isolated.IsolateAwareTruffleCompiler.<init>:(Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;)V
            astore 2 /* compiler */
         3: .line 237
      StackMap locals: com.oracle.svm.truffle.api.SubstrateTruffleCompiler
      StackMap stack:
            aload 2 /* compiler */
            areturn
        end local 2 // com.oracle.svm.truffle.api.SubstrateTruffleCompiler compiler
        end local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    4     1   runtime  Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
            1    4     2  compiler  Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
    MethodParameters:
         Name  Flags
      runtime  

  protected static com.oracle.svm.truffle.api.SubstrateTruffleCompiler createSubstrateTruffleCompilerImpl(com.oracle.svm.truffle.api.SubstrateTruffleRuntime, java.lang.String);
    descriptor: (Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;Ljava/lang/String;)Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
        start local 1 // java.lang.String compilerConfigurationName
         0: .line 241
            ldc Lcom/oracle/svm/graal/hosted/GraalFeature;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.graal.hosted.GraalFeature
            astore 2 /* graalFeature */
        start local 2 // com.oracle.svm.graal.hosted.GraalFeature graalFeature
         1: .line 242
            aload 2 /* graalFeature */
            invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            astore 3 /* snippetReflectionProvider */
        start local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflectionProvider
         2: .line 243
            aload 2 /* graalFeature */
            invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
            invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            astore 4 /* graphBuilderPlugins */
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
         3: .line 244
            new org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration
            dup
            new org.graalvm.compiler.truffle.compiler.EconomyPartialEvaluatorConfiguration
            dup
            invokespecial org.graalvm.compiler.truffle.compiler.EconomyPartialEvaluatorConfiguration.<init>:()V
            invokestatic com.oracle.svm.graal.GraalSupport.getRuntimeConfig:()Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
            invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getBackendForNormalMethod:()Lcom/oracle/svm/core/graal/code/SubstrateBackend;
         4: .line 245
            invokestatic com.oracle.svm.graal.GraalSupport.getFirstTierProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            invokestatic com.oracle.svm.graal.GraalSupport.getFirstTierSuites:()Lorg/graalvm/compiler/phases/tiers/Suites;
            invokestatic com.oracle.svm.graal.GraalSupport.getFirstTierLirSuites:()Lorg/graalvm/compiler/lir/phases/LIRSuites;
         5: .line 244
            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 5 /* firstTier */
        start local 5 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration firstTier
         6: .line 246
            aload 1 /* compilerConfigurationName */
            invokestatic org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createPartialEvaluatorConfiguration:(Ljava/lang/String;)Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
            astore 6 /* peConfig */
        start local 6 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration peConfig
         7: .line 247
            new org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration
            dup
            aload 6 /* peConfig */
            invokestatic com.oracle.svm.graal.GraalSupport.getRuntimeConfig:()Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
            invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getBackendForNormalMethod:()Lcom/oracle/svm/core/graal/code/SubstrateBackend;
         8: .line 248
            invokestatic com.oracle.svm.graal.GraalSupport.getRuntimeConfig:()Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
            invokevirtual com.oracle.svm.core.graal.meta.RuntimeConfiguration.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            invokestatic com.oracle.svm.graal.GraalSupport.getSuites:()Lorg/graalvm/compiler/phases/tiers/Suites;
            invokestatic com.oracle.svm.graal.GraalSupport.getLIRSuites:()Lorg/graalvm/compiler/lir/phases/LIRSuites;
         9: .line 247
            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 7 /* lastTier */
        start local 7 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration lastTier
        10: .line 249
            new org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration
            dup
            aload 0 /* runtime */
            aload 4 /* graphBuilderPlugins */
            aload 3 /* snippetReflectionProvider */
            aload 5 /* firstTier */
            aload 7 /* lastTier */
            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 8 /* truffleCompilerConfig */
        start local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration truffleCompilerConfig
        11: .line 250
            new com.oracle.svm.truffle.api.SubstrateTruffleCompilerImpl
            dup
            aload 8 /* truffleCompilerConfig */
            invokespecial com.oracle.svm.truffle.api.SubstrateTruffleCompilerImpl.<init>:(Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;)V
            areturn
        end local 8 // org.graalvm.compiler.truffle.compiler.TruffleCompilerConfiguration truffleCompilerConfig
        end local 7 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration lastTier
        end local 6 // org.graalvm.compiler.truffle.compiler.PartialEvaluatorConfiguration peConfig
        end local 5 // org.graalvm.compiler.truffle.compiler.TruffleTierConfiguration firstTier
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
        end local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflectionProvider
        end local 2 // com.oracle.svm.graal.hosted.GraalFeature graalFeature
        end local 1 // java.lang.String compilerConfigurationName
        end local 0 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   12     0                    runtime  Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
            0   12     1  compilerConfigurationName  Ljava/lang/String;
            1   12     2               graalFeature  Lcom/oracle/svm/graal/hosted/GraalFeature;
            2   12     3  snippetReflectionProvider  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            3   12     4        graphBuilderPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            6   12     5                  firstTier  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
            7   12     6                   peConfig  Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
           10   12     7                   lastTier  Lorg/graalvm/compiler/truffle/compiler/TruffleTierConfiguration;
           11   12     8      truffleCompilerConfig  Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerConfiguration;
    MethodParameters:
                           Name  Flags
      runtime                    
      compilerConfigurationName  

  public static boolean isIsolatedCompilation();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 254
            getstatic com.oracle.svm.core.SubstrateUtil.HOSTED:Z
            ifne 1
            invokestatic com.oracle.svm.core.SubstrateOptions.shouldCompileInIsolates:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.function.Consumer<org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency> registerOptimizedAssumptionDependency(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljava/util/function/Consumer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // jdk.vm.ci.meta.JavaConstant optimizedAssumptionConstant
         0: .line 258
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.isIsolatedCompilation:()Z
            ifeq 2
         1: .line 259
            aload 1 /* optimizedAssumptionConstant */
            invokestatic com.oracle.svm.truffle.isolated.IsolatedTruffleRuntimeSupport.registerOptimizedAssumptionDependency:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/util/function/Consumer;
            areturn
         2: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* optimizedAssumptionConstant */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            astore 2 /* target */
        start local 2 // java.lang.Object target
         3: .line 262
            aload 2 /* target */
            ldc Ljava/lang/Object;
            invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedAssumption
            astore 3 /* assumption */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedAssumption assumption
         4: .line 263
            aload 3 /* assumption */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.registerDependency:()Ljava/util/function/Consumer;
            areturn
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedAssumption assumption
        end local 2 // java.lang.Object target
        end local 1 // jdk.vm.ci.meta.JavaConstant optimizedAssumptionConstant
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0                         this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    5     1  optimizedAssumptionConstant  Ljdk/vm/ci/meta/JavaConstant;
            3    5     2                       target  Ljava/lang/Object;
            4    5     3                   assumption  Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
    Signature: (Ljdk/vm/ci/meta/JavaConstant;)Ljava/util/function/Consumer<Lorg/graalvm/compiler/truffle/common/OptimizedAssumptionDependency;>;
    MethodParameters:
                             Name  Flags
      optimizedAssumptionConstant  

  public jdk.vm.ci.meta.JavaConstant getCallTargetForCallNode(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // jdk.vm.ci.meta.JavaConstant callNodeConstant
         0: .line 267
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.isIsolatedCompilation:()Z
            ifeq 2
         1: .line 268
            aload 1 /* callNodeConstant */
            invokestatic com.oracle.svm.truffle.isolated.IsolatedTruffleRuntimeSupport.getCallTargetForCallNode:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
         2: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* callNodeConstant */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            astore 2 /* target */
        start local 2 // java.lang.Object target
         3: .line 271
            aload 2 /* target */
            ldc Ljava/lang/Object;
            invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode
            astore 3 /* callNode */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
         4: .line 272
            aload 3 /* callNode */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.getCallTarget:()Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 4 /* callTarget */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callTarget
         5: .line 273
            aload 4 /* callTarget */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callTarget
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
        end local 2 // java.lang.Object target
        end local 1 // jdk.vm.ci.meta.JavaConstant callNodeConstant
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    6     1  callNodeConstant  Ljdk/vm/ci/meta/JavaConstant;
            3    6     2            target  Ljava/lang/Object;
            4    6     3          callNode  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            5    6     4        callTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    MethodParameters:
                  Name  Flags
      callNodeConstant  

  public org.graalvm.compiler.truffle.runtime.BackgroundCompileQueue createBackgroundCompileQueue(com.oracle.svm.truffle.api.SubstrateTruffleRuntime);
    descriptor: (Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;)Lorg/graalvm/compiler/truffle/runtime/BackgroundCompileQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
         0: .line 277
            new org.graalvm.compiler.truffle.runtime.BackgroundCompileQueue
            dup
            aload 1 /* runtime */
            invokespecial org.graalvm.compiler.truffle.runtime.BackgroundCompileQueue.<init>:(Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;)V
            areturn
        end local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    1     1  runtime  Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
    MethodParameters:
         Name  Flags
      runtime  

  public org.graalvm.compiler.truffle.common.CompilableTruffleAST asCompilableTruffleAST(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 281
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.isIsolatedCompilation:()Z
            ifeq 2
         1: .line 282
            aload 1 /* constant */
            invokestatic com.oracle.svm.truffle.isolated.IsolatedTruffleRuntimeSupport.asCompilableTruffleAST:(Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            areturn
         2: .line 284
      StackMap locals:
      StackMap stack:
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            aload 1 /* constant */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.common.CompilableTruffleAST
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    3     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  public boolean tryLog(com.oracle.svm.truffle.api.SubstrateTruffleRuntime, java.lang.String, org.graalvm.compiler.truffle.common.CompilableTruffleAST, java.lang.String);
    descriptor: (Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;Ljava/lang/String;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
        start local 2 // java.lang.String loggerId
        start local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 4 // java.lang.String message
         0: .line 289
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.isIsolatedCompilation:()Z
            ifeq 2
         1: .line 290
            aload 2 /* loggerId */
            aload 3 /* compilable */
            aload 4 /* message */
            invokestatic com.oracle.svm.truffle.isolated.IsolatedTruffleRuntimeSupport.tryLog:(Ljava/lang/String;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;)Z
            ireturn
         2: .line 292
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.lang.String message
        end local 3 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 2 // java.lang.String loggerId
        end local 1 // com.oracle.svm.truffle.api.SubstrateTruffleRuntime runtime
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    3     1     runtime  Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
            0    3     2    loggerId  Ljava/lang/String;
            0    3     3  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    3     4     message  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      runtime     
      loggerId    
      compilable  
      message     

  public com.oracle.truffle.api.utilities.TriState tryIsSuppressedFailure(org.graalvm.compiler.truffle.common.CompilableTruffleAST, java.util.function.Supplier<java.lang.String>);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/util/function/Supplier;)Lcom/oracle/truffle/api/utilities/TriState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 2 // java.util.function.Supplier serializedException
         0: .line 296
            invokestatic com.oracle.svm.truffle.TruffleFeature$Support.isIsolatedCompilation:()Z
            ifeq 2
         1: .line 297
            aload 1 /* compilable */
            aload 2 /* serializedException */
            invokestatic com.oracle.svm.truffle.isolated.IsolatedTruffleRuntimeSupport.tryIsSuppressedFailure:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/util/function/Supplier;)Lcom/oracle/truffle/api/utilities/TriState;
            areturn
         2: .line 299
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.utilities.TriState.UNDEFINED:Lcom/oracle/truffle/api/utilities/TriState;
            areturn
        end local 2 // java.util.function.Supplier serializedException
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // com.oracle.svm.truffle.TruffleFeature$Support this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lcom/oracle/svm/truffle/TruffleFeature$Support;
            0    3     1           compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    3     2  serializedException  Ljava/util/function/Supplier<Ljava/lang/String;>;
    Signature: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/util/function/Supplier<Ljava/lang/String;>;)Lcom/oracle/truffle/api/utilities/TriState;
    MethodParameters:
                     Name  Flags
      compilable           
      serializedException  
}
SourceFile: "TruffleFeature.java"
NestHost: com.oracle.svm.truffle.TruffleFeature
InnerClasses:
  public Support = com.oracle.svm.truffle.TruffleFeature$Support of com.oracle.svm.truffle.TruffleFeature
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature