public class org.graalvm.compiler.replacements.CachingPEGraphDecoder extends org.graalvm.compiler.replacements.PEGraphDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.CachingPEGraphDecoder
  super_class: org.graalvm.compiler.replacements.PEGraphDecoder
{
  protected final org.graalvm.compiler.phases.util.Providers providers;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  protected final org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts;
    descriptor: Lorg/graalvm/compiler/phases/OptimisticOptimizations;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions allowAssumptions;
    descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.internal.vm.compiler.collections.EconomicMap<jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.EncodedGraph> graphCache;
    descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/EncodedGraph;>;

  public void <init>(jdk.vm.ci.code.Architecture, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration, org.graalvm.compiler.phases.OptimisticOptimizations, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin[], org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin, org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin[], jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.graph.SourceLanguagePositionProvider);
    descriptor: (Ljdk/vm/ci/code/Architecture;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;[Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;[Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/graph/SourceLanguagePositionProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=14, args_size=14
        start local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
        start local 1 // jdk.vm.ci.code.Architecture architecture
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.phases.util.Providers providers
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        start local 5 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions allowAssumptions
        start local 7 // org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin loopExplosionPlugin
        start local 8 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        start local 9 // org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin[] inlineInvokePlugins
        start local 10 // org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin parameterPlugin
        start local 11 // org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin[] nodePlugins
        start local 12 // jdk.vm.ci.meta.ResolvedJavaMethod callInlinedMethod
        start local 13 // org.graalvm.compiler.graph.SourceLanguagePositionProvider sourceLanguagePositionProvider
         0: .line 70
            aload 0 /* this */
            aload 1 /* architecture */
            aload 2 /* graph */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 7 /* loopExplosionPlugin */
         1: .line 71
            aload 8 /* invocationPlugins */
            aload 9 /* inlineInvokePlugins */
            aload 10 /* parameterPlugin */
            aload 11 /* nodePlugins */
            aload 12 /* callInlinedMethod */
            aload 13 /* sourceLanguagePositionProvider */
            invokespecial org.graalvm.compiler.replacements.PEGraphDecoder.<init>:(Ljdk/vm/ci/code/Architecture;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;[Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;[Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/graph/SourceLanguagePositionProvider;)V
         2: .line 73
            aload 0 /* this */
            aload 3 /* providers */
            putfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.providers:Lorg/graalvm/compiler/phases/util/Providers;
         3: .line 74
            aload 0 /* this */
            aload 4 /* graphBuilderConfig */
            putfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphBuilderConfig:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
         4: .line 75
            aload 0 /* this */
            aload 5 /* optimisticOpts */
            putfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.optimisticOpts:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
         5: .line 76
            aload 0 /* this */
            aload 6 /* allowAssumptions */
            putfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.allowAssumptions:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
         6: .line 77
            aload 0 /* this */
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            putfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
         7: .line 78
            return
        end local 13 // org.graalvm.compiler.graph.SourceLanguagePositionProvider sourceLanguagePositionProvider
        end local 12 // jdk.vm.ci.meta.ResolvedJavaMethod callInlinedMethod
        end local 11 // org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin[] nodePlugins
        end local 10 // org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin parameterPlugin
        end local 9 // org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin[] inlineInvokePlugins
        end local 8 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        end local 7 // org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin loopExplosionPlugin
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions allowAssumptions
        end local 5 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        end local 3 // org.graalvm.compiler.phases.util.Providers providers
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // jdk.vm.ci.code.Architecture architecture
        end local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    8     0                            this  Lorg/graalvm/compiler/replacements/CachingPEGraphDecoder;
            0    8     1                    architecture  Ljdk/vm/ci/code/Architecture;
            0    8     2                           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    8     3                       providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    8     4              graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            0    8     5                  optimisticOpts  Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            0    8     6                allowAssumptions  Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            0    8     7             loopExplosionPlugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin;
            0    8     8               invocationPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    8     9             inlineInvokePlugins  [Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;
            0    8    10                 parameterPlugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;
            0    8    11                     nodePlugins  [Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;
            0    8    12               callInlinedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    8    13  sourceLanguagePositionProvider  Lorg/graalvm/compiler/graph/SourceLanguagePositionProvider;
    MethodParameters:
                                Name  Flags
      architecture                    
      graph                           
      providers                       
      graphBuilderConfig              
      optimisticOpts                  
      allowAssumptions                
      loopExplosionPlugin             
      invocationPlugins               
      inlineInvokePlugins             
      parameterPlugin                 
      nodePlugins                     
      callInlinedMethod               
      sourceLanguagePositionProvider  

  protected org.graalvm.compiler.java.GraphBuilderPhase$Instance createGraphBuilderPhaseInstance(org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialIntrinsicContext
         0: .line 81
            new org.graalvm.compiler.java.GraphBuilderPhase$Instance
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.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.replacements.CachingPEGraphDecoder.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphBuilderConfig:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
         1: .line 82
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.optimisticOpts:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 1 /* initialIntrinsicContext */
         2: .line 81
            invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/spi/StampProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialIntrinsicContext
        end local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Lorg/graalvm/compiler/replacements/CachingPEGraphDecoder;
            0    3     1  initialIntrinsicContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
    MethodParameters:
                         Name  Flags
      initialIntrinsicContext  

  private org.graalvm.compiler.nodes.EncodedGraph createGraph(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.bytecode.BytecodeProvider, boolean);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)Lorg/graalvm/compiler/nodes/EncodedGraph;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider
        start local 4 // boolean isSubstitution
         0: .line 88
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.options:Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.allowAssumptions: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
         1: .line 89
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.useProfilingInfo:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
         2: .line 90
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphBuilderConfig:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.trackNodeSourcePosition:()Z
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
         3: .line 91
            aload 1 /* method */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
         4: .line 92
            iload 4 /* isSubstitution */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
         5: .line 93
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getCancellable:()Lorg/graalvm/compiler/nodes/Cancellable;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.cancellable:(Lorg/graalvm/compiler/nodes/Cancellable;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
         6: .line 94
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
         7: .line 88
            astore 5 /* graphToEncode */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graphToEncode
         8: .line 96
            aconst_null
            astore 6
            aconst_null
            astore 7
         9: aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "createGraph"
            aload 5 /* graphToEncode */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 8 /* scope */
        start local 8 // org.graalvm.compiler.debug.DebugContext$Scope scope
        10: .line 97
            aload 3 /* intrinsicBytecodeProvider */
            ifnull 11
            new org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
            dup
            aload 2 /* originalMethod */
            aload 1 /* method */
            aload 3 /* intrinsicBytecodeProvider */
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)V
            goto 12
      StackMap locals: org.graalvm.compiler.replacements.CachingPEGraphDecoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider int org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
        12: astore 9 /* initialIntrinsicContext */
        start local 9 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialIntrinsicContext
        13: .line 98
            aload 0 /* this */
            aload 9 /* initialIntrinsicContext */
            invokevirtual org.graalvm.compiler.replacements.CachingPEGraphDecoder.createGraphBuilderPhaseInstance:(Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
            astore 10 /* graphBuilderPhaseInstance */
        start local 10 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilderPhaseInstance
        14: .line 99
            aload 10 /* graphBuilderPhaseInstance */
            aload 5 /* graphToEncode */
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        15: .line 101
            new org.graalvm.compiler.phases.tiers.PhaseContext
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
            astore 11 /* context */
        start local 11 // org.graalvm.compiler.phases.tiers.PhaseContext context
        16: .line 102
            new org.graalvm.compiler.phases.common.CanonicalizerPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
            aload 5 /* graphToEncode */
            aload 11 /* context */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        17: .line 108
            new org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.<init>:()V
            aload 5 /* graphToEncode */
            aload 11 /* context */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        18: .line 110
            aload 5 /* graphToEncode */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.architecture:Ljdk/vm/ci/code/Architecture;
            invokestatic org.graalvm.compiler.nodes.GraphEncoder.encodeSingleGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/nodes/EncodedGraph;
            astore 12 /* encodedGraph */
        start local 12 // org.graalvm.compiler.nodes.EncodedGraph encodedGraph
        19: .line 111
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* method */
            aload 12 /* encodedGraph */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 112
            aload 12 /* encodedGraph */
        21: .line 114
            aload 8 /* scope */
            ifnull 22
            aload 8 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        22: .line 112
      StackMap locals: org.graalvm.compiler.replacements.CachingPEGraphDecoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider int org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.EncodedGraph
      StackMap stack: org.graalvm.compiler.nodes.EncodedGraph
            areturn
        end local 12 // org.graalvm.compiler.nodes.EncodedGraph encodedGraph
        end local 11 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 10 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilderPhaseInstance
        end local 9 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialIntrinsicContext
      StackMap locals: org.graalvm.compiler.replacements.CachingPEGraphDecoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider int org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        23: astore 6
        24: .line 114
            aload 8 /* scope */
            ifnull 25
            aload 8 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugContext$Scope scope
      StackMap locals:
      StackMap stack:
        25: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 7
            aload 6
            ifnonnull 27
            aload 7
            astore 6
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 6
            aload 7
            if_acmpeq 28
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 6
            athrow
      StackMap locals: org.graalvm.compiler.replacements.CachingPEGraphDecoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider int org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.Throwable
        29: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        30: .line 115
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
            aload 6 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.Throwable ex
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graphToEncode
        end local 4 // boolean isSubstitution
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   31     0                       this  Lorg/graalvm/compiler/replacements/CachingPEGraphDecoder;
            0   31     1                     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   31     2             originalMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   31     3  intrinsicBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            0   31     4             isSubstitution  Z
            8   31     5              graphToEncode  Lorg/graalvm/compiler/nodes/StructuredGraph;
           10   25     8                      scope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           13   23     9    initialIntrinsicContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
           14   23    10  graphBuilderPhaseInstance  Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
           16   23    11                    context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
           19   23    12               encodedGraph  Lorg/graalvm/compiler/nodes/EncodedGraph;
           30   31     6                         ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    21      23  any
           9    22      26  any
          23    26      26  any
           8    22      29  Class java.lang.Throwable
          23    29      29  Class java.lang.Throwable
    MethodParameters:
                           Name  Flags
      method                     
      originalMethod             
      intrinsicBytecodeProvider  
      isSubstitution             

  protected org.graalvm.compiler.nodes.EncodedGraph lookupEncodedGraph(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.bytecode.BytecodeProvider, boolean, boolean);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;ZZ)Lorg/graalvm/compiler/nodes/EncodedGraph;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider
        start local 4 // boolean isSubstitution
        start local 5 // boolean trackNodeSourcePosition
         0: .line 122
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.CachingPEGraphDecoder.graphCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* method */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.EncodedGraph
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.nodes.EncodedGraph result
         1: .line 123
            aload 6 /* result */
            ifnonnull 3
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.hasBytecodes:()Z
            ifeq 3
         2: .line 124
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* originalMethod */
            aload 3 /* intrinsicBytecodeProvider */
            iload 4 /* isSubstitution */
            invokevirtual org.graalvm.compiler.replacements.CachingPEGraphDecoder.createGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)Lorg/graalvm/compiler/nodes/EncodedGraph;
            astore 6 /* result */
         3: .line 126
      StackMap locals: org.graalvm.compiler.nodes.EncodedGraph
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.nodes.EncodedGraph result
        end local 5 // boolean trackNodeSourcePosition
        end local 4 // boolean isSubstitution
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.replacements.CachingPEGraphDecoder this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    4     0                       this  Lorg/graalvm/compiler/replacements/CachingPEGraphDecoder;
            0    4     1                     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     2             originalMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     3  intrinsicBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            0    4     4             isSubstitution  Z
            0    4     5    trackNodeSourcePosition  Z
            1    4     6                     result  Lorg/graalvm/compiler/nodes/EncodedGraph;
    MethodParameters:
                           Name  Flags
      method                     
      originalMethod             
      intrinsicBytecodeProvider  
      isSubstitution             
      trackNodeSourcePosition    
}
SourceFile: "CachingPEGraphDecoder.java"
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  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 final CompilationContext = org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext of org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext