public class org.graalvm.compiler.replacements.SnippetTemplate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.SnippetTemplate
  super_class: java.lang.Object
{
  private boolean mayRemoveLocation;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final org.graalvm.compiler.debug.TimerKey SnippetTemplateCreationTime;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey SnippetTemplates;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Object UNUSED_PARAMETER;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Object CONSTANT_PARAMETER;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
    descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo info;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object[] parameters;
    descriptor: [Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodes.ReturnNode returnNode;
    descriptor: Lorg/graalvm/compiler/nodes/ReturnNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodes.memory.MemoryAnchorNode memoryAnchor;
    descriptor: Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList<org.graalvm.compiler.nodes.StateSplit> sideEffectNodes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;

  private final java.util.ArrayList<org.graalvm.compiler.nodes.DeoptimizingNode> deoptNodes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;

  private final java.util.ArrayList<org.graalvm.compiler.nodes.ValueNode> placeholderStampedNodes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;

  private final java.util.ArrayList<org.graalvm.compiler.graph.Node> nodes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;

  public static final org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer DEFAULT_REPLACER;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 162
            ldc Lorg/graalvm/compiler/replacements/SnippetTemplate;
            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.replacements.SnippetTemplate.$assertionsDisabled:Z
         3: .line 597
            ldc "SnippetTemplateCreationTime"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplateCreationTime:Lorg/graalvm/compiler/debug/TimerKey;
         4: .line 598
            ldc "SnippetTemplateCount"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplates:Lorg/graalvm/compiler/debug/CounterKey;
         5: .line 737
            ldc "UNUSED_PARAMETER"
            putstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
         6: .line 738
            ldc "CONSTANT_PARAMETER"
            putstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
         7: .line 1242
            new org.graalvm.compiler.replacements.SnippetTemplate$1
            dup
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$1.<init>:()V
            putstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
         8: .line 1252
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean hasConstantParameter(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 744
            aload 0 /* method */
            ldc Lorg/graalvm/compiler/api/replacements/Snippet$ConstantParameter;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getParameterAnnotations:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.compiler.api.replacements.Snippet$ConstantParameter[]
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod top int int org.graalvm.compiler.api.replacements.Snippet$ConstantParameter[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* p */
        start local 1 // org.graalvm.compiler.api.replacements.Snippet$ConstantParameter p
         2: .line 745
            aload 1 /* p */
            ifnull 4
         3: .line 746
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.api.replacements.Snippet$ConstantParameter p
         4: .line 744
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 749
            iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2    4     1       p  Lorg/graalvm/compiler/api/replacements/Snippet$ConstantParameter;
    MethodParameters:
        Name  Flags
      method  

  protected void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, boolean, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;ZLorg/graalvm/compiler/graph/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=36, args_size=8
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
        start local 3 // org.graalvm.compiler.phases.util.Providers providers
        start local 4 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        start local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        start local 6 // boolean trackNodeSourcePosition
        start local 7 // org.graalvm.compiler.graph.Node replacee
         0: .line 758
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
         2: .line 760
            aload 0 /* this */
            aload 4 /* snippetReflection */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
         3: .line 761
            aload 0 /* this */
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         4: .line 763
            aload 0 /* this */
            aload 5 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.getConstantArgs:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
            astore 8 /* constantArgs */
        start local 8 // java.lang.Object[] constantArgs
         5: .line 764
            iload 6 /* trackNodeSourcePosition */
            ifne 7
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            ifnull 6
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.shouldDebugNonSafepoints:()Z
            ifne 7
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[]
      StackMap stack:
         6: iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: istore 9 /* shouldTrackNodeSourcePosition1 */
        start local 9 // boolean shouldTrackNodeSourcePosition1
         9: .line 765
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.original:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 8 /* constantArgs */
            iload 9 /* shouldTrackNodeSourcePosition1 */
            aload 7 /* replacee */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 10 /* snippetGraph */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
        10: .line 767
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 11 /* method */
        start local 11 // jdk.vm.ci.meta.ResolvedJavaMethod method
        11: .line 768
            aload 11 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 12 /* signature */
        start local 12 // jdk.vm.ci.meta.Signature signature
        12: .line 770
            new org.graalvm.compiler.phases.tiers.PhaseContext
            dup
            aload 3 /* providers */
            invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
            astore 13 /* phaseContext */
        start local 13 // org.graalvm.compiler.phases.tiers.PhaseContext phaseContext
        13: .line 773
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 1 /* options */
            aload 2 /* debug */
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            aload 10 /* snippetGraph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.name:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
        14: .line 774
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
        15: .line 773
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
        16: .line 774
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
        17: .line 773
            astore 14 /* snippetCopy */
        start local 14 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
        18: .line 775
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 19
            getstatic org.graalvm.compiler.core.common.GraalOptions.TrackNodeSourcePosition:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* 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 19
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 776
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aconst_null
            astore 15
            aconst_null
            astore 16
        20: aload 2 /* debug */
            ldc "SpecializeSnippet"
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 17 /* scope */
        start local 17 // org.graalvm.compiler.debug.DebugContext$Scope scope
        21: .line 777
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isUnsafeAccessTrackingEnabled:()Z
            ifne 23
        22: .line 778
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
        23: .line 781
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 18 /* nodeReplacements */
        start local 18 // jdk.internal.vm.compiler.collections.EconomicMap nodeReplacements
        24: .line 782
            aload 18 /* nodeReplacements */
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 784
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 19 /* metaAccess */
        start local 19 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        26: .line 785
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 27
            aload 19 /* metaAccess */
            aload 5 /* args */
            aload 11 /* method */
            aload 12 /* signature */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkTemplate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
            ifne 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 787
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider
      StackMap stack:
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
            istore 20 /* parameterCount */
        start local 20 // int parameterCount
        28: .line 788
            iload 20 /* parameterCount */
            anewarray org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
            astore 21 /* placeholders */
        start local 21 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] placeholders
        29: .line 790
            iconst_0
            istore 22 /* i */
        start local 22 // int i
        30: goto 56
        31: .line 791
      StackMap locals: int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
      StackMap stack:
            aload 10 /* snippetGraph */
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
            astore 23 /* parameter */
        start local 23 // org.graalvm.compiler.nodes.ParameterNode parameter
        32: .line 792
            aload 23 /* parameter */
            ifnull 55
        33: .line 793
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
            ifeq 47
        34: .line 794
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 22 /* i */
            aaload
            astore 24 /* arg */
        start local 24 // java.lang.Object arg
        35: .line 795
            aload 12 /* signature */
            iload 22 /* i */
            invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
            astore 25 /* kind */
        start local 25 // jdk.vm.ci.meta.JavaKind kind
        36: .line 797
            aload 24 /* arg */
            instanceof jdk.vm.ci.meta.Constant
            ifeq 44
        37: .line 798
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.constStamps:[Lorg/graalvm/compiler/core/common/type/Stamp;
            iload 22 /* i */
            aaload
            astore 27 /* stamp */
        start local 27 // org.graalvm.compiler.core.common.type.Stamp stamp
        38: .line 799
            aload 27 /* stamp */
            ifnonnull 42
        39: .line 800
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 40
            aload 24 /* arg */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifne 40
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not determine type of constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 24 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        40: .line 801
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind top org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 24 /* arg */
            checkcast jdk.vm.ci.meta.JavaConstant
            aload 19 /* metaAccess */
            aload 14 /* snippetCopy */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 26 /* constantNode */
        start local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        41: .line 802
            goto 45
        end local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        42: .line 803
      StackMap locals:
      StackMap stack:
            aload 27 /* stamp */
            aload 24 /* arg */
            checkcast jdk.vm.ci.meta.Constant
            aload 19 /* metaAccess */
            aload 14 /* snippetCopy */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 26 /* constantNode */
        end local 27 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        43: .line 805
            goto 45
        end local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        44: .line 806
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 4 /* snippetReflection */
            aload 25 /* kind */
            aload 24 /* arg */
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            aload 19 /* metaAccess */
            aload 14 /* snippetCopy */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 26 /* constantNode */
        start local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        45: .line 808
      StackMap locals: org.graalvm.compiler.nodes.ConstantNode
      StackMap stack:
            aload 18 /* nodeReplacements */
            aload 23 /* parameter */
            aload 26 /* constantNode */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 26 // org.graalvm.compiler.nodes.ConstantNode constantNode
        end local 25 // jdk.vm.ci.meta.JavaKind kind
        end local 24 // java.lang.Object arg
        46: .line 809
            goto 55
      StackMap locals:
      StackMap stack:
        47: aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
            ifeq 53
        48: .line 810
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 22 /* i */
            aaload
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
            astore 24 /* varargs */
        start local 24 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        49: .line 811
            aload 14 /* snippetCopy */
            new org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
            dup
            aload 24 /* varargs */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;Ljdk/vm/ci/meta/MetaAccessProvider;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
            astore 25 /* placeholder */
        start local 25 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode placeholder
        50: .line 812
            aload 18 /* nodeReplacements */
            aload 23 /* parameter */
            aload 25 /* placeholder */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 813
            aload 21 /* placeholders */
            iload 22 /* i */
            aload 25 /* placeholder */
            aastore
        end local 25 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode placeholder
        end local 24 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        52: .line 814
            goto 55
      StackMap locals:
      StackMap stack:
        53: aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isNonNullParameter:(I)Z
            ifeq 55
        54: .line 815
            aload 23 /* parameter */
            aload 23 /* parameter */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
        end local 23 // org.graalvm.compiler.nodes.ParameterNode parameter
        55: .line 790
      StackMap locals:
      StackMap stack:
            iinc 22 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 22 /* i */
            iload 20 /* parameterCount */
            if_icmplt 31
        end local 22 // int i
        57: .line 819
            aconst_null
            astore 22
            aconst_null
            astore 23
        58: aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            invokevirtual org.graalvm.compiler.nodes.InliningLog.openDefaultUpdateScope:()Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
            astore 24 /* updateScope */
        start local 24 // org.graalvm.compiler.nodes.InliningLog$UpdateScope updateScope
        59: .line 820
            aload 14 /* snippetCopy */
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            aload 10 /* snippetGraph */
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            aload 18 /* nodeReplacements */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            astore 25 /* duplicates */
        start local 25 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        60: .line 821
            aload 24 /* updateScope */
            ifnull 62
        61: .line 822
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            aload 25 /* duplicates */
            aload 10 /* snippetGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            invokevirtual org.graalvm.compiler.nodes.InliningLog.replaceLog:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;)V
        end local 25 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        62: .line 824
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
      StackMap stack:
            aload 24 /* updateScope */
            ifnull 68
            aload 24 /* updateScope */
            invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
            goto 68
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 22
            aload 24 /* updateScope */
            ifnull 64
            aload 24 /* updateScope */
            invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
        end local 24 // org.graalvm.compiler.nodes.InliningLog$UpdateScope updateScope
      StackMap locals:
      StackMap stack:
        64: aload 22
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        65: astore 23
            aload 22
            ifnonnull 66
            aload 23
            astore 22
            goto 67
      StackMap locals:
      StackMap stack:
        66: aload 22
            aload 23
            if_acmpeq 67
            aload 22
            aload 23
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        67: aload 22
            athrow
        68: .line 826
      StackMap locals:
      StackMap stack:
            aload 2 /* debug */
            iconst_2
            aload 14 /* snippetCopy */
            ldc "Before specialization"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        69: .line 829
            aload 0 /* this */
            iload 20 /* parameterCount */
            anewarray java.lang.Object
            putfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
        70: .line 830
            iconst_0
            istore 22 /* i */
        start local 22 // int i
        71: goto 114
        72: .line 831
      StackMap locals: int
      StackMap stack:
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
            ifeq 75
        73: .line 832
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 22 /* i */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
            aastore
        74: .line 833
            goto 113
      StackMap locals:
      StackMap stack:
        75: aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
            ifeq 108
        76: .line 834
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 77
            aload 14 /* snippetCopy */
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
            ifnull 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 835
      StackMap locals:
      StackMap stack:
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 22 /* i */
            aaload
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
            astore 23 /* varargs */
        start local 23 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        78: .line 836
            aload 23 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.length:I
            istore 24 /* length */
        start local 24 // int length
        79: .line 837
            iload 24 /* length */
            anewarray org.graalvm.compiler.nodes.ParameterNode
            astore 25 /* params */
        start local 25 // org.graalvm.compiler.nodes.ParameterNode[] params
        80: .line 838
            aload 23 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 26 /* stamp */
        start local 26 // org.graalvm.compiler.core.common.type.Stamp stamp
        81: .line 839
            iconst_0
            istore 27 /* j */
        start local 27 // int j
        82: goto 89
        83: .line 841
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 84
            iload 20 /* parameterCount */
            sipush 10000
            if_icmplt 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        84: .line 842
      StackMap locals:
      StackMap stack:
            iload 22 /* i */
            iconst_1
            iadd
            sipush 10000
            imul
            iload 27 /* j */
            iadd
            istore 28 /* idx */
        start local 28 // int idx
        85: .line 843
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 86
            iload 28 /* idx */
            iload 20 /* parameterCount */
            if_icmpge 86
            new java.lang.AssertionError
            dup
            ldc "collision in parameter numbering"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        86: .line 844
      StackMap locals: int
      StackMap stack:
            aload 14 /* snippetCopy */
            new org.graalvm.compiler.nodes.ParameterNode
            dup
            iload 28 /* idx */
            aload 26 /* stamp */
            invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
            invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 29 /* local */
        start local 29 // org.graalvm.compiler.nodes.ParameterNode local
        87: .line 845
            aload 25 /* params */
            iload 27 /* j */
            aload 29 /* local */
            aastore
        end local 29 // org.graalvm.compiler.nodes.ParameterNode local
        end local 28 // int idx
        88: .line 839
            iinc 27 /* j */ 1
      StackMap locals:
      StackMap stack:
        89: iload 27 /* j */
            iload 24 /* length */
            if_icmplt 83
        end local 27 // int j
        90: .line 847
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 22 /* i */
            aload 25 /* params */
            aastore
        91: .line 849
            aload 21 /* placeholders */
            iload 22 /* i */
            aaload
            astore 27 /* placeholder */
        start local 27 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode placeholder
        92: .line 850
            aload 27 /* placeholder */
            ifnull 113
        93: .line 851
            aload 27 /* placeholder */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 29
            goto 106
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
      StackMap stack:
        94: aload 29
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 28 /* usage */
        start local 28 // org.graalvm.compiler.graph.Node usage
        95: .line 852
            aload 28 /* usage */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 104
        96: .line 853
            aload 28 /* usage */
            checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
            astore 30 /* loadIndexed */
        start local 30 // org.graalvm.compiler.nodes.java.LoadIndexedNode loadIndexed
        97: .line 854
            aload 2 /* debug */
            iconst_2
            aload 14 /* snippetCopy */
            ldc "Before replacing %s"
            aload 30 /* loadIndexed */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        98: .line 855
            aload 14 /* snippetCopy */
        99: .line 856
            new org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
            dup
            aload 25 /* params */
            aload 30 /* loadIndexed */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 30 /* loadIndexed */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokespecial org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode.<init>:([Lorg/graalvm/compiler/nodes/ParameterNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
       100: .line 855
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
            astore 31 /* loadSnippetParameter */
        start local 31 // org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode loadSnippetParameter
       101: .line 857
            aload 14 /* snippetCopy */
            aload 30 /* loadIndexed */
            aload 31 /* loadSnippetParameter */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
       102: .line 858
            aload 2 /* debug */
            iconst_2
            aload 14 /* snippetCopy */
            ldc "After replacing %s"
            aload 30 /* loadIndexed */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        end local 31 // org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode loadSnippetParameter
        end local 30 // org.graalvm.compiler.nodes.java.LoadIndexedNode loadIndexed
       103: .line 859
            goto 106
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
       104: aload 28 /* usage */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 106
       105: .line 865
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Can't store into VarargsParameter array"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 28 // org.graalvm.compiler.graph.Node usage
       106: .line 851
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
      StackMap stack:
            aload 29
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 94
        end local 27 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode placeholder
        end local 26 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 25 // org.graalvm.compiler.nodes.ParameterNode[] params
        end local 24 // int length
        end local 23 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
       107: .line 869
            goto 113
       108: .line 870
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
      StackMap stack:
            aload 14 /* snippetCopy */
            iload 22 /* i */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
            astore 23 /* local */
        start local 23 // org.graalvm.compiler.nodes.ParameterNode local
       109: .line 871
            aload 23 /* local */
            ifnonnull 112
       110: .line 873
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 22 /* i */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
            aastore
       111: .line 874
            goto 113
       112: .line 875
      StackMap locals: org.graalvm.compiler.nodes.ParameterNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 22 /* i */
            aload 23 /* local */
            aastore
        end local 23 // org.graalvm.compiler.nodes.ParameterNode local
       113: .line 830
      StackMap locals:
      StackMap stack:
            iinc 22 /* i */ 1
      StackMap locals:
      StackMap stack:
       114: iload 22 /* i */
            iload 20 /* parameterCount */
            if_icmplt 72
        end local 22 // int i
       115: .line 880
            aload 14 /* snippetCopy */
            aload 13 /* phaseContext */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.explodeLoops:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
       116: .line 882
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$CacheKey.guardsStage:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            astore 22 /* guardsStage */
        start local 22 // org.graalvm.compiler.nodes.StructuredGraph$GuardsStage guardsStage
       117: .line 884
            aload 22 /* guardsStage */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
            ifne 119
       118: .line 885
            new org.graalvm.compiler.phases.common.GuardLoweringPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
            aload 14 /* snippetCopy */
            aconst_null
            invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
       119: .line 887
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
      StackMap stack:
            aload 14 /* snippetCopy */
            aload 22 /* guardsStage */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
       120: .line 888
            aconst_null
            astore 23
            aconst_null
            astore 24
       121: aload 2 /* debug */
            ldc "LoweringSnippetTemplate"
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 25 /* s */
        start local 25 // org.graalvm.compiler.debug.DebugContext$Scope s
       122: .line 889
            new org.graalvm.compiler.phases.common.LoweringPhase
            dup
            new org.graalvm.compiler.phases.common.CanonicalizerPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$CacheKey.loweringStage:Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
            aload 14 /* snippetCopy */
            aload 13 /* phaseContext */
            invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
       123: .line 890
            aload 25 /* s */
            ifnull 131
            aload 25 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 131
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
       124: astore 23
            aload 25 /* s */
            ifnull 125
            aload 25 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 25 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
       125: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       126: astore 24
            aload 23
            ifnonnull 127
            aload 24
            astore 23
            goto 128
      StackMap locals:
      StackMap stack:
       127: aload 23
            aload 24
            if_acmpeq 128
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       128: aload 23
            athrow
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
      StackMap stack: java.lang.Throwable
       129: astore 23 /* e */
        start local 23 // java.lang.Throwable e
       130: .line 891
            aload 2 /* debug */
            aload 23 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 23 // java.lang.Throwable e
       131: .line 894
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 23 /* curSideEffectNodes */
        start local 23 // java.util.ArrayList curSideEffectNodes
       132: .line 895
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 24 /* curDeoptNodes */
        start local 24 // java.util.ArrayList curDeoptNodes
       133: .line 896
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 25 /* curPlaceholderStampedNodes */
        start local 25 // java.util.ArrayList curPlaceholderStampedNodes
       134: .line 897
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 27
            goto 151
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
      StackMap stack:
       135: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 26 /* node */
        start local 26 // org.graalvm.compiler.graph.Node node
       136: .line 898
            aload 26 /* node */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 140
       137: .line 899
            aload 26 /* node */
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 28 /* valueNode */
        start local 28 // org.graalvm.compiler.nodes.ValueNode valueNode
       138: .line 900
            aload 28 /* valueNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.PiNode$PlaceholderStamp.singleton:()Lorg/graalvm/compiler/nodes/PiNode$PlaceholderStamp;
            if_acmpne 140
       139: .line 901
            aload 25 /* curPlaceholderStampedNodes */
            aload 28 /* valueNode */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 28 // org.graalvm.compiler.nodes.ValueNode valueNode
       140: .line 905
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 26 /* node */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 147
       141: .line 906
            aload 26 /* node */
            checkcast org.graalvm.compiler.nodes.StateSplit
            astore 28 /* stateSplit */
        start local 28 // org.graalvm.compiler.nodes.StateSplit stateSplit
       142: .line 907
            aload 28 /* stateSplit */
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 29 /* frameState */
        start local 29 // org.graalvm.compiler.nodes.FrameState frameState
       143: .line 908
            aload 28 /* stateSplit */
            invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
            ifeq 145
       144: .line 909
            aload 23 /* curSideEffectNodes */
            aload 26 /* node */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       145: .line 911
      StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 29 /* frameState */
            ifnull 147
       146: .line 912
            aload 28 /* stateSplit */
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        end local 29 // org.graalvm.compiler.nodes.FrameState frameState
        end local 28 // org.graalvm.compiler.nodes.StateSplit stateSplit
       147: .line 915
      StackMap locals:
      StackMap stack:
            aload 26 /* node */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode
            ifeq 151
       148: .line 916
            aload 26 /* node */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            astore 28 /* deoptNode */
        start local 28 // org.graalvm.compiler.nodes.DeoptimizingNode deoptNode
       149: .line 917
            aload 28 /* deoptNode */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
            ifeq 151
       150: .line 918
            aload 24 /* curDeoptNodes */
            aload 28 /* deoptNode */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 28 // org.graalvm.compiler.nodes.DeoptimizingNode deoptNode
        end local 26 // org.graalvm.compiler.graph.Node node
       151: .line 897
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 135
       152: .line 923
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
       153: .line 925
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 154
            iload 20 /* parameterCount */
            aload 21 /* placeholders */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkAllVarargPlaceholdersAreDeleted:(I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
            ifne 154
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       154: .line 927
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList
      StackMap stack:
            new org.graalvm.compiler.phases.common.FloatingReadPhase
            dup
            iconst_1
            iconst_1
            invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase.<init>:(ZZ)V
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
       155: .line 928
            new org.graalvm.compiler.phases.common.RemoveValueProxyPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.RemoveValueProxyPhase.<init>:()V
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.phases.common.RemoveValueProxyPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
       156: .line 930
            aload 14 /* snippetCopy */
            new org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            dup
            invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            astore 26 /* anchor */
        start local 26 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchor
       157: .line 931
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.StartNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
       158: .line 933
            aload 0 /* this */
            aload 14 /* snippetCopy */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
       159: .line 935
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            astore 27 /* entryPointNode */
        start local 27 // org.graalvm.compiler.nodes.StartNode entryPointNode
       160: .line 936
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
            ifeq 164
       161: .line 937
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
       162: .line 938
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
       163: .line 939
            goto 192
       164: .line 942
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode
      StackMap stack:
            iconst_0
            istore 28 /* needsMemoryMaps */
        start local 28 // boolean needsMemoryMaps
       165: .line 943
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 30
            goto 171
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int top java.util.Iterator
      StackMap stack:
       166: aload 30
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 29 /* retNode */
        start local 29 // org.graalvm.compiler.nodes.ReturnNode retNode
       167: .line 944
            aload 29 /* retNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            astore 31 /* memoryMap */
        start local 31 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
       168: .line 945
            aload 31 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmpgt 169
            aload 31 /* memoryMap */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            aload 26 /* anchor */
            if_acmpeq 171
       169: .line 946
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int org.graalvm.compiler.nodes.ReturnNode java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryMapNode
      StackMap stack:
            iconst_1
            istore 28 /* needsMemoryMaps */
       170: .line 947
            goto 172
        end local 31 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
        end local 29 // org.graalvm.compiler.nodes.ReturnNode retNode
       171: .line 943
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int top java.util.Iterator
      StackMap stack:
            aload 30
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 166
       172: .line 951
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int
      StackMap stack:
            iload 28 /* needsMemoryMaps */
            ifeq 175
       173: .line 952
            iconst_1
            istore 29 /* needsAnchor */
        start local 29 // boolean needsAnchor
       174: .line 953
            goto 186
        end local 29 // boolean needsAnchor
       175: .line 955
      StackMap locals:
      StackMap stack:
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            invokestatic org.graalvm.compiler.graph.iterators.NodePredicates.isNotA:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodePredicates$NegativeTypePredicate;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
            invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isNotEmpty:()Z
            istore 29 /* needsAnchor */
        start local 29 // boolean needsAnchor
       176: .line 957
            aconst_null
            astore 30 /* memoryMap */
        start local 30 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
       177: .line 958
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 32
            goto 184
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
      StackMap stack:
       178: aload 32
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 31 /* retNode */
        start local 31 // org.graalvm.compiler.nodes.ReturnNode retNode
       179: .line 959
            aload 30 /* memoryMap */
            ifnonnull 182
       180: .line 960
            aload 31 /* retNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            astore 30 /* memoryMap */
       181: .line 961
            goto 183
       182: .line 962
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode org.graalvm.compiler.nodes.ReturnNode java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 183
            aload 30 /* memoryMap */
            aload 31 /* retNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            if_acmpeq 183
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       183: .line 964
      StackMap locals:
      StackMap stack:
            aload 31 /* retNode */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
        end local 31 // org.graalvm.compiler.nodes.ReturnNode retNode
       184: .line 958
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
      StackMap stack:
            aload 32
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 178
       185: .line 966
            aload 30 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
        end local 30 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
       186: .line 968
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int
      StackMap stack:
            iload 29 /* needsAnchor */
            ifeq 190
       187: .line 969
            aload 14 /* snippetCopy */
            aload 14 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
       188: .line 970
            aload 0 /* this */
            aload 26 /* anchor */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
       189: .line 971
            goto 192
       190: .line 972
      StackMap locals:
      StackMap stack:
            aload 26 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
       191: .line 973
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
        end local 29 // boolean needsAnchor
        end local 28 // boolean needsMemoryMaps
       192: .line 976
      StackMap locals:
      StackMap stack:
            aload 2 /* debug */
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "SnippetTemplate after fixing memory anchoring"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
       193: .line 978
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 28 /* returnNodes */
        start local 28 // java.util.List returnNodes
       194: .line 979
            aload 28 /* returnNodes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 197
       195: .line 980
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
       196: .line 981
            goto 221
      StackMap locals: java.util.List
      StackMap stack:
       197: aload 28 /* returnNodes */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 200
       198: .line 982
            aload 0 /* this */
            aload 28 /* returnNodes */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
       199: .line 983
            goto 221
       200: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.MergeNode
            dup
            invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 29 /* merge */
        start local 29 // org.graalvm.compiler.nodes.AbstractMergeNode merge
       201: .line 985
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 30 /* memMaps */
        start local 30 // java.util.List memMaps
       202: .line 986
            aload 28 /* returnNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 32
            goto 207
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List top java.util.Iterator
      StackMap stack:
       203: aload 32
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 31 /* retNode */
        start local 31 // org.graalvm.compiler.nodes.ReturnNode retNode
       204: .line 987
            aload 31 /* retNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            astore 33 /* memoryMapNode */
        start local 33 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMapNode
       205: .line 988
            aload 33 /* memoryMapNode */
            ifnull 207
       206: .line 989
            aload 30 /* memMaps */
            aload 33 /* memoryMapNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 33 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMapNode
        end local 31 // org.graalvm.compiler.nodes.ReturnNode retNode
       207: .line 986
      StackMap locals:
      StackMap stack:
            aload 32
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 203
       208: .line 993
            aload 29 /* merge */
            aload 28 /* returnNodes */
            invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 31 /* returnValue */
        start local 31 // org.graalvm.compiler.nodes.ValueNode returnValue
       209: .line 994
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.ReturnNode
            dup
            aload 31 /* returnValue */
            invokespecial org.graalvm.compiler.nodes.ReturnNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
       210: .line 995
            aload 30 /* memMaps */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 220
       211: .line 996
            aload 29 /* merge */
            aload 30 /* memMaps */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            astore 32 /* mmap */
        start local 32 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl mmap
       212: .line 997
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.memory.MemoryMapNode
            dup
            aload 32 /* mmap */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Ljdk/internal/vm/compiler/collections/EconomicMap;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
            astore 33 /* memoryMap */
        start local 33 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
       213: .line 998
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            aload 33 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
       214: .line 999
            aload 30 /* memMaps */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 35
            goto 219
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
      StackMap stack:
       215: aload 35
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
            astore 34 /* mm */
        start local 34 // org.graalvm.compiler.nodes.memory.MemoryMapNode mm
       216: .line 1000
            aload 34 /* mm */
            aload 33 /* memoryMap */
            if_acmpeq 219
            aload 34 /* mm */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isAlive:()Z
            ifeq 219
       217: .line 1001
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 218
            aload 34 /* mm */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.hasNoUsages:()Z
            ifne 218
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       218: .line 1002
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode org.graalvm.compiler.nodes.memory.MemoryMapNode java.util.Iterator
      StackMap stack:
            aload 34 /* mm */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 34 // org.graalvm.compiler.nodes.memory.MemoryMapNode mm
       219: .line 999
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
      StackMap stack:
            aload 35
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 215
        end local 33 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
        end local 32 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl mmap
       220: .line 1006
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 29 /* merge */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 31 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 30 // java.util.List memMaps
        end local 29 // org.graalvm.compiler.nodes.AbstractMergeNode merge
       221: .line 1009
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 222
            aload 14 /* snippetCopy */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.verifyIntrinsicsProcessed:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
            ifne 222
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       222: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 23 /* curSideEffectNodes */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
       223: .line 1012
            aload 0 /* this */
            aload 24 /* curDeoptNodes */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
       224: .line 1013
            aload 0 /* this */
            aload 25 /* curPlaceholderStampedNodes */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
       225: .line 1015
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
       226: .line 1016
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 30
            goto 230
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List top java.util.Iterator
      StackMap stack:
       227: aload 30
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 29 /* node */
        start local 29 // org.graalvm.compiler.graph.Node node
       228: .line 1017
            aload 29 /* node */
            aload 27 /* entryPointNode */
            if_acmpeq 230
            aload 29 /* node */
            aload 27 /* entryPointNode */
            invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            if_acmpeq 230
       229: .line 1018
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
            aload 29 /* node */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 29 // org.graalvm.compiler.graph.Node node
       230: .line 1016
      StackMap locals:
      StackMap stack:
            aload 30
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 227
       231: .line 1022
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areMetricsEnabled:()Z
            ifeq 233
       232: .line 1023
            ldc "SnippetTemplateNodeCount[%#s]"
            aload 5 /* args */
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 2 /* debug */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
       233: .line 1025
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List
      StackMap stack:
            aload 2 /* debug */
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "SnippetTemplate final state"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
       234: .line 1026
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.freeze:()V
        end local 28 // java.util.List returnNodes
        end local 27 // org.graalvm.compiler.nodes.StartNode entryPointNode
        end local 26 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchor
        end local 25 // java.util.ArrayList curPlaceholderStampedNodes
        end local 24 // java.util.ArrayList curDeoptNodes
        end local 23 // java.util.ArrayList curSideEffectNodes
        end local 22 // org.graalvm.compiler.nodes.StructuredGraph$GuardsStage guardsStage
        end local 21 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] placeholders
        end local 20 // int parameterCount
        end local 19 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 18 // jdk.internal.vm.compiler.collections.EconomicMap nodeReplacements
       235: .line 1028
            aload 17 /* scope */
            ifnull 243
            aload 17 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 243
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
       236: astore 15
            aload 17 /* scope */
            ifnull 237
            aload 17 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 17 // org.graalvm.compiler.debug.DebugContext$Scope scope
      StackMap locals:
      StackMap stack:
       237: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       238: astore 16
            aload 15
            ifnonnull 239
            aload 16
            astore 15
            goto 240
      StackMap locals:
      StackMap stack:
       239: aload 15
            aload 16
            if_acmpeq 240
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       240: aload 15
            athrow
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.Throwable
       241: astore 15 /* ex */
        start local 15 // java.lang.Throwable ex
       242: .line 1029
            aload 2 /* debug */
            aload 15 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 15 // java.lang.Throwable ex
       243: .line 1031
      StackMap locals:
      StackMap stack:
            return
        end local 14 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
        end local 13 // org.graalvm.compiler.phases.tiers.PhaseContext phaseContext
        end local 12 // jdk.vm.ci.meta.Signature signature
        end local 11 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
        end local 9 // boolean shouldTrackNodeSourcePosition1
        end local 8 // java.lang.Object[] constantArgs
        end local 7 // org.graalvm.compiler.graph.Node replacee
        end local 6 // boolean trackNodeSourcePosition
        end local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 4 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 3 // org.graalvm.compiler.phases.util.Providers providers
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0  244     0                            this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0  244     1                         options  Lorg/graalvm/compiler/options/OptionValues;
            0  244     2                           debug  Lorg/graalvm/compiler/debug/DebugContext;
            0  244     3                       providers  Lorg/graalvm/compiler/phases/util/Providers;
            0  244     4               snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            0  244     5                            args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            0  244     6         trackNodeSourcePosition  Z
            0  244     7                        replacee  Lorg/graalvm/compiler/graph/Node;
            5  244     8                    constantArgs  [Ljava/lang/Object;
            9  244     9  shouldTrackNodeSourcePosition1  Z
           10  244    10                    snippetGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           11  244    11                          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           12  244    12                       signature  Ljdk/vm/ci/meta/Signature;
           13  244    13                    phaseContext  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
           18  244    14                     snippetCopy  Lorg/graalvm/compiler/nodes/StructuredGraph;
           21  237    17                           scope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           24  235    18                nodeReplacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           26  235    19                      metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           28  235    20                  parameterCount  I
           29  235    21                    placeholders  [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
           30   57    22                               i  I
           32   55    23                       parameter  Lorg/graalvm/compiler/nodes/ParameterNode;
           35   46    24                             arg  Ljava/lang/Object;
           36   46    25                            kind  Ljdk/vm/ci/meta/JavaKind;
           41   42    26                    constantNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           43   44    26                    constantNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           45   46    26                    constantNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           38   43    27                           stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           49   52    24                         varargs  Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
           50   52    25                     placeholder  Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
           59   64    24                     updateScope  Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
           60   62    25                      duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           71  115    22                               i  I
           78  107    23                         varargs  Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
           79  107    24                          length  I
           80  107    25                          params  [Lorg/graalvm/compiler/nodes/ParameterNode;
           81  107    26                           stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           82   90    27                               j  I
           85   88    28                             idx  I
           87   88    29                           local  Lorg/graalvm/compiler/nodes/ParameterNode;
           92  107    27                     placeholder  Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
           95  106    28                           usage  Lorg/graalvm/compiler/graph/Node;
           97  103    30                     loadIndexed  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
          101  103    31            loadSnippetParameter  Lorg/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode;
          109  113    23                           local  Lorg/graalvm/compiler/nodes/ParameterNode;
          117  235    22                     guardsStage  Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
          122  125    25                               s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
          130  131    23                               e  Ljava/lang/Throwable;
          132  235    23              curSideEffectNodes  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
          133  235    24                   curDeoptNodes  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
          134  235    25      curPlaceholderStampedNodes  Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
          136  151    26                            node  Lorg/graalvm/compiler/graph/Node;
          138  140    28                       valueNode  Lorg/graalvm/compiler/nodes/ValueNode;
          142  147    28                      stateSplit  Lorg/graalvm/compiler/nodes/StateSplit;
          143  147    29                      frameState  Lorg/graalvm/compiler/nodes/FrameState;
          149  151    28                       deoptNode  Lorg/graalvm/compiler/nodes/DeoptimizingNode;
          157  235    26                          anchor  Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
          160  235    27                  entryPointNode  Lorg/graalvm/compiler/nodes/StartNode;
          165  192    28                 needsMemoryMaps  Z
          167  171    29                         retNode  Lorg/graalvm/compiler/nodes/ReturnNode;
          168  171    31                       memoryMap  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
          174  175    29                     needsAnchor  Z
          176  192    29                     needsAnchor  Z
          177  186    30                       memoryMap  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
          179  184    31                         retNode  Lorg/graalvm/compiler/nodes/ReturnNode;
          194  235    28                     returnNodes  Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
          201  221    29                           merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
          202  221    30                         memMaps  Ljava/util/List<Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;>;
          204  207    31                         retNode  Lorg/graalvm/compiler/nodes/ReturnNode;
          205  207    33                   memoryMapNode  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
          209  221    31                     returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
          212  220    32                            mmap  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
          213  220    33                       memoryMap  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
          216  219    34                              mm  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
          228  230    29                            node  Lorg/graalvm/compiler/graph/Node;
          242  243    15                              ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          59    62      63  any
          58    65      65  any
         122   123     124  any
         121   126     126  any
         120   129     129  Class java.lang.Throwable
          21   235     236  any
          20   238     238  any
          19   241     241  Class java.lang.Throwable
    MethodParameters:
                         Name  Flags
      options                  
      debug                    
      providers                final
      snippetReflection        
      args                     
      trackNodeSourcePosition  
      replacee                 

  private static boolean verifyIntrinsicsProcessed(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
         0: .line 1034
            aload 0 /* snippetCopy */
            getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            astore 1 /* target */
        start local 1 // org.graalvm.compiler.nodes.java.MethodCallTargetNode target
         2: .line 1035
            aload 1 /* target */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* targetMethod */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
         3: .line 1036
            aload 3 /* targetMethod */
            ifnull 6
         4: .line 1037
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 6
            aload 3 /* targetMethod */
            ldc Lorg/graalvm/compiler/api/replacements/Fold;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 5
            aload 3 /* targetMethod */
            ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 6
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.java.MethodCallTargetNode java.util.Iterator jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            ldc "plugin should have been processed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 1 // org.graalvm.compiler.nodes.java.MethodCallTargetNode target
         6: .line 1034
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1040
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0   snippetCopy  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    6     1        target  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
            3    6     3  targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
             Name  Flags
      snippetCopy  

  public static void explodeLoops(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
        start local 1 // org.graalvm.compiler.phases.tiers.PhaseContext phaseContext
         0: .line 1045
            iconst_0
            istore 2 /* exploded */
        start local 2 // boolean exploded
         1: .line 1047
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* exploded */
         2: .line 1048
            aload 0 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.replacements.nodes.ExplodeLoopNode
            astore 3 /* explodeLoop */
        start local 3 // org.graalvm.compiler.replacements.nodes.ExplodeLoopNode explodeLoop
         3: .line 1049
            aload 3 /* explodeLoop */
            ifnull 13
         4: .line 1051
            aload 3 /* explodeLoop */
            invokevirtual org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.findLoopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            astore 4 /* loopBegin */
        start local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         5: .line 1052
            aload 4 /* loopBegin */
            ifnull 11
         6: .line 1053
            new org.graalvm.compiler.loop.LoopsData
            dup
            aload 0 /* snippetCopy */
            invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            aload 4 /* loopBegin */
            invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)Lorg/graalvm/compiler/loop/LoopEx;
            astore 5 /* loop */
        start local 5 // org.graalvm.compiler.loop.LoopEx loop
         7: .line 1054
            aload 0 /* snippetCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
            astore 6 /* mark */
        start local 6 // org.graalvm.compiler.graph.Graph$Mark mark
         8: .line 1055
            aload 5 /* loop */
            aload 1 /* phaseContext */
            new org.graalvm.compiler.phases.common.CanonicalizerPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
            invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.fullUnroll:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
         9: .line 1056
            new org.graalvm.compiler.phases.common.CanonicalizerPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
            aload 0 /* snippetCopy */
            aload 1 /* phaseContext */
            aload 6 /* mark */
            iconst_0
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
        10: .line 1057
            aload 5 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.deleteUnusedNodes:()V
        end local 6 // org.graalvm.compiler.graph.Graph$Mark mark
        end local 5 // org.graalvm.compiler.loop.LoopEx loop
        11: .line 1059
      StackMap locals: org.graalvm.compiler.replacements.nodes.ExplodeLoopNode org.graalvm.compiler.nodes.LoopBeginNode
      StackMap stack:
            aload 3 /* explodeLoop */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        12: .line 1060
            iconst_1
            istore 2 /* exploded */
        end local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 3 // org.graalvm.compiler.replacements.nodes.ExplodeLoopNode explodeLoop
        13: .line 1062
      StackMap locals:
      StackMap stack:
            iload 2 /* exploded */
            ifne 1
        14: .line 1063
            return
        end local 2 // boolean exploded
        end local 1 // org.graalvm.compiler.phases.tiers.PhaseContext phaseContext
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph snippetCopy
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0   snippetCopy  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   15     1  phaseContext  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            1   15     2      exploded  Z
            3   13     3   explodeLoop  Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
            5   13     4     loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            7   11     5          loop  Lorg/graalvm/compiler/loop/LoopEx;
            8   11     6          mark  Lorg/graalvm/compiler/graph/Graph$Mark;
    MethodParameters:
              Name  Flags
      snippetCopy   final
      phaseContext  

  protected java.lang.Object[] getConstantArgs(org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
    descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         0: .line 1066
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* constantArgs */
        start local 2 // java.lang.Object[] constantArgs
         1: .line 1067
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 1068
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
            ifne 6
         4: .line 1069
            aload 2 /* constantArgs */
            iload 3 /* i */
            aconst_null
            aastore
         5: .line 1070
            goto 7
         6: .line 1071
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 7
            aload 2 /* constantArgs */
            iload 3 /* i */
            aaload
            ifnonnull 7
            new java.lang.AssertionError
            dup
            ldc "Can't pass raw null through as argument"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1067
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 1074
            aload 2 /* constantArgs */
            areturn
        end local 2 // java.lang.Object[] constantArgs
        end local 1 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   10     1          args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            1   10     2  constantArgs  [Ljava/lang/Object;
            2    9     3             i  I
    MethodParameters:
      Name  Flags
      args  

  private static boolean checkAllVarargPlaceholdersAreDeleted(int, org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[]);
    descriptor: (I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int parameterCount
        start local 1 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] placeholders
         0: .line 1078
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 1079
      StackMap locals: int
      StackMap stack:
            aload 1 /* placeholders */
            iload 2 /* i */
            aaload
            ifnull 4
         3: .line 1080
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 4
            aload 1 /* placeholders */
            iload 2 /* i */
            aaload
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.isDeleted:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* placeholders */
            iload 2 /* i */
            aaload
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 1078
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 0 /* parameterCount */
            if_icmplt 2
        end local 2 // int i
         6: .line 1083
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] placeholders
        end local 0 // int parameterCount
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  parameterCount  I
            0    7     1    placeholders  [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
            1    6     2               i  I
    MethodParameters:
                Name  Flags
      parameterCount  
      placeholders    

  private static boolean checkConstantArgument(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, java.lang.Object, jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.meta.Signature signature
        start local 3 // int paramIndex
        start local 4 // java.lang.String name
        start local 5 // java.lang.Object arg
        start local 6 // jdk.vm.ci.meta.JavaKind kind
         0: .line 1087
            aload 2 /* signature */
            iload 3 /* paramIndex */
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 7 /* type */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaType type
         1: .line 1088
            aload 0 /* metaAccess */
            ldc Ljdk/internal/vm/compiler/word/WordBase;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 7 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 4
         2: .line 1089
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 3
            aload 5 /* arg */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifne 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": word constant parameters must be passed boxed in a Constant value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1090
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            iconst_1
            ireturn
         4: .line 1092
      StackMap locals:
      StackMap stack:
            aload 6 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 10
         5: .line 1093
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 10
            aload 5 /* arg */
            ifnull 6
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
            aload 5 /* arg */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 10
      StackMap locals:
      StackMap stack:
         6: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": wrong value kind for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": expected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1094
            aload 5 /* arg */
            ifnonnull 8
            ldc "null"
            goto 9
      StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack: new 6 new 6 java.lang.StringBuilder
         8: aload 5 /* arg */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
      StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 1096
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 6 // jdk.vm.ci.meta.JavaKind kind
        end local 5 // java.lang.Object arg
        end local 4 // java.lang.String name
        end local 3 // int paramIndex
        end local 2 // jdk.vm.ci.meta.Signature signature
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   11     1      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   11     2   signature  Ljdk/vm/ci/meta/Signature;
            0   11     3  paramIndex  I
            0   11     4        name  Ljava/lang/String;
            0   11     5         arg  Ljava/lang/Object;
            0   11     6        kind  Ljdk/vm/ci/meta/JavaKind;
            1   11     7        type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
            Name  Flags
      metaAccess  
      method      final
      signature   
      paramIndex  
      name        
      arg         
      kind        

  private static boolean checkVarargs(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, org.graalvm.compiler.replacements.SnippetTemplate$Varargs);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.meta.Signature signature
        start local 3 // int i
        start local 4 // java.lang.String name
        start local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
         0: .line 1100
            aload 2 /* signature */
            iload 3 /* i */
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 6 /* type */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         1: .line 1101
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 2
            aload 6 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "varargs parameter must be an array type"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1102
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 4
            aload 6 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 0 /* metaAccess */
            aload 5 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "componentType for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not matching "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instance: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1103
            aload 5 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 1104
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        end local 4 // java.lang.String name
        end local 3 // int i
        end local 2 // jdk.vm.ci.meta.Signature signature
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    5     1      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    5     2   signature  Ljdk/vm/ci/meta/Signature;
            0    5     3           i  I
            0    5     4        name  Ljava/lang/String;
            0    5     5     varargs  Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
            1    5     6        type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
            Name  Flags
      metaAccess  
      method      final
      signature   
      i           
      name        
      varargs     

  private jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> bind(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=18, args_size=4
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         0: .line 1160
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 4 /* replacements */
        start local 4 // jdk.internal.vm.compiler.collections.EconomicMap replacements
         1: .line 1161
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 2
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            arraylength
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "number of args ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") != number of parameters ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1162
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 47
         4: .line 1163
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 5 /* i */
            aaload
            astore 6 /* parameter */
        start local 6 // java.lang.Object parameter
         5: .line 1164
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 6
            aload 6 /* parameter */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " has no parameter named "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1165
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 5 /* i */
            aaload
            astore 7 /* argument */
        start local 7 // java.lang.Object argument
         7: .line 1166
            aload 6 /* parameter */
            instanceof org.graalvm.compiler.nodes.ParameterNode
            ifeq 16
         8: .line 1167
            aload 7 /* argument */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 11
         9: .line 1168
            aload 4 /* replacements */
            aload 6 /* parameter */
            checkcast org.graalvm.compiler.nodes.ParameterNode
            aload 7 /* argument */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1169
            goto 46
        11: .line 1170
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* parameter */
            checkcast org.graalvm.compiler.nodes.ParameterNode
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* kind */
        start local 8 // jdk.vm.ci.meta.JavaKind kind
        12: .line 1171
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 13
            aload 7 /* argument */
            ifnonnull 13
            aload 8 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " cannot accept null for non-object parameter named "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 1172
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 0 /* this */
            aload 7 /* argument */
            aload 8 /* kind */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
            astore 9 /* constant */
        start local 9 // jdk.vm.ci.meta.JavaConstant constant
        14: .line 1173
            aload 4 /* replacements */
            aload 6 /* parameter */
            checkcast org.graalvm.compiler.nodes.ParameterNode
            aload 9 /* constant */
            aload 2 /* metaAccess */
            aload 1 /* replaceeGraph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // jdk.vm.ci.meta.JavaConstant constant
        end local 8 // jdk.vm.ci.meta.JavaKind kind
        15: .line 1175
            goto 46
      StackMap locals:
      StackMap stack:
        16: aload 6 /* parameter */
            instanceof org.graalvm.compiler.nodes.ParameterNode[]
            ifeq 45
        17: .line 1176
            aload 6 /* parameter */
            checkcast org.graalvm.compiler.nodes.ParameterNode[]
            astore 8 /* params */
        start local 8 // org.graalvm.compiler.nodes.ParameterNode[] params
        18: .line 1177
            aload 7 /* argument */
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
            astore 9 /* varargs */
        start local 9 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        19: .line 1178
            aload 8 /* params */
            arraylength
            istore 10 /* length */
        start local 10 // int length
        20: .line 1179
            aconst_null
            astore 11 /* list */
        start local 11 // java.util.List list
        21: .line 1180
            aconst_null
            astore 12 /* array */
        start local 12 // java.lang.Object array
        22: .line 1181
            aload 9 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
            instanceof java.util.List
            ifeq 25
        23: .line 1182
            aload 9 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
            checkcast java.util.List
            astore 11 /* list */
        24: .line 1183
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 29
            aload 11 /* list */
            invokeinterface java.util.List.size:()I
            iload 10 /* length */
            if_icmpeq 29
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            iload 10 /* length */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* list */
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        25: .line 1185
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.SnippetTemplate$Varargs int java.util.List java.lang.Object
      StackMap stack:
            aload 9 /* varargs */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
            astore 12 /* array */
        26: .line 1186
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 28
            aload 12 /* array */
            ifnull 27
            aload 12 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 28
      StackMap locals:
      StackMap stack:
        27: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 1187
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 29
            aload 12 /* array */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            iload 10 /* length */
            if_icmpeq 29
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            iload 10 /* length */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* array */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        29: .line 1190
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        30: goto 43
        31: .line 1191
      StackMap locals: int
      StackMap stack:
            aload 8 /* params */
            iload 13 /* j */
            aaload
            astore 14 /* param */
        start local 14 // org.graalvm.compiler.nodes.ParameterNode param
        32: .line 1192
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 33
            aload 14 /* param */
            ifnonnull 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 1193
      StackMap locals: org.graalvm.compiler.nodes.ParameterNode
      StackMap stack:
            aload 11 /* list */
            ifnull 34
            aload 11 /* list */
            iload 13 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 12 /* array */
            iload 13 /* j */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        35: astore 15 /* value */
        start local 15 // java.lang.Object value
        36: .line 1194
            aload 15 /* value */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 39
        37: .line 1195
            aload 4 /* replacements */
            aload 14 /* param */
            aload 15 /* value */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 1196
            goto 42
        39: .line 1197
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 15 /* value */
            aload 14 /* param */
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
            astore 16 /* constant */
        start local 16 // jdk.vm.ci.meta.JavaConstant constant
        40: .line 1198
            aload 16 /* constant */
            aload 2 /* metaAccess */
            aload 1 /* replaceeGraph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 17 /* element */
        start local 17 // org.graalvm.compiler.nodes.ConstantNode element
        41: .line 1199
            aload 4 /* replacements */
            aload 14 /* param */
            aload 17 /* element */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // org.graalvm.compiler.nodes.ConstantNode element
        end local 16 // jdk.vm.ci.meta.JavaConstant constant
        end local 15 // java.lang.Object value
        end local 14 // org.graalvm.compiler.nodes.ParameterNode param
        42: .line 1190
      StackMap locals:
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        43: iload 13 /* j */
            iload 10 /* length */
            if_icmplt 31
        end local 13 // int j
        end local 12 // java.lang.Object array
        end local 11 // java.util.List list
        end local 10 // int length
        end local 9 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        end local 8 // org.graalvm.compiler.nodes.ParameterNode[] params
        44: .line 1202
            goto 46
        45: .line 1203
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 46
            aload 6 /* parameter */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 46
            aload 6 /* parameter */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 46
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected entry for parameter: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* parameter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 7 // java.lang.Object argument
        end local 6 // java.lang.Object parameter
        46: .line 1162
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 5 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            arraylength
            if_icmplt 4
        end local 5 // int i
        48: .line 1206
            aload 4 /* replacements */
            areturn
        end local 4 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        end local 3 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   49     0           this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   49     1  replaceeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   49     2     metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   49     3           args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            1   49     4   replacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            3   48     5              i  I
            5   46     6      parameter  Ljava/lang/Object;
            7   46     7       argument  Ljava/lang/Object;
           12   15     8           kind  Ljdk/vm/ci/meta/JavaKind;
           14   15     9       constant  Ljdk/vm/ci/meta/JavaConstant;
           18   44     8         params  [Lorg/graalvm/compiler/nodes/ParameterNode;
           19   44     9        varargs  Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
           20   44    10         length  I
           21   44    11           list  Ljava/util/List<*>;
           22   44    12          array  Ljava/lang/Object;
           30   44    13              j  I
           32   42    14          param  Lorg/graalvm/compiler/nodes/ParameterNode;
           36   42    15          value  Ljava/lang/Object;
           40   42    16       constant  Ljdk/vm/ci/meta/JavaConstant;
           41   42    17        element  Lorg/graalvm/compiler/nodes/ConstantNode;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
               Name  Flags
      replaceeGraph  
      metaAccess     
      args           

  protected jdk.vm.ci.meta.JavaConstant forBoxed(java.lang.Object, jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // java.lang.Object argument
        start local 2 // jdk.vm.ci.meta.JavaKind localKind
         0: .line 1218
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 1
            aload 2 /* localKind */
            aload 2 /* localKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1219
      StackMap locals:
      StackMap stack:
            aload 2 /* localKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 3
         2: .line 1220
            aload 1 /* argument */
            invokestatic jdk.vm.ci.meta.JavaConstant.forBoxedPrimitive:(Ljava/lang/Object;)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         3: .line 1222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 2 /* localKind */
            aload 1 /* argument */
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 2 // jdk.vm.ci.meta.JavaKind localKind
        end local 1 // java.lang.Object argument
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    4     1   argument  Ljava/lang/Object;
            0    4     2  localKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
           Name  Flags
      argument   
      localKind  

  private boolean assertSnippetKills(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.ValueNode replacee
         0: .line 1255
            aload 1 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
            ifne 2
         1: .line 1257
            iconst_1
            ireturn
         2: .line 1259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            ifnonnull 4
         3: .line 1261
            iconst_1
            ireturn
         4: .line 1263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            astore 2 /* memoryMap */
        start local 2 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
         5: .line 1264
            aload 2 /* memoryMap */
            ifnull 6
            aload 2 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isEmpty:()Z
            ifeq 7
         6: .line 1266
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryMapNode
      StackMap stack:
            iconst_1
            ireturn
         7: .line 1269
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 3 /* kills */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicSet kills
         8: .line 1270
            aload 3 /* kills */
            aload 2 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
         9: .line 1272
            aload 1 /* replacee */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 16
        10: .line 1274
            aload 1 /* replacee */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 4 /* locationIdentity */
        start local 4 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
        11: .line 1275
            aload 4 /* locationIdentity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
            ifeq 14
        12: .line 1276
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 13
            aload 2 /* memoryMap */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            ifeq 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* replacee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " kills ANY_LOCATION, but snippet does not"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 1278
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity
      StackMap stack:
            iconst_1
            ireturn
        14: .line 1280
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 15
            aload 3 /* kills */
            aload 4 /* locationIdentity */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifne 15
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* replacee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " kills "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* locationIdentity */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", but snippet doesn't contain a kill to this location"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 1281
      StackMap locals:
      StackMap stack:
            aload 3 /* kills */
            aload 4 /* locationIdentity */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
        end local 4 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
        16: .line 1283
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 17
            aload 1 /* replacee */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 17
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* replacee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " multi not supported (yet)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 1286
      StackMap locals:
      StackMap stack:
            aload 2 /* memoryMap */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            ifeq 19
        18: .line 1287
            aload 3 /* kills */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
        19: .line 1291
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 20
            aload 3 /* kills */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 20
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "snippet graph contains a kill to ANY_LOCATION, but replacee ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* replacee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") doesn't kill ANY_LOCATION.  kills: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* kills */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        20: .line 1300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 24
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode jdk.internal.vm.compiler.collections.EconomicSet top int int jdk.internal.vm.compiler.word.LocationIdentity[]
      StackMap stack:
        21: aload 7
            iload 5
            aaload
            astore 4 /* p */
        start local 4 // jdk.internal.vm.compiler.word.LocationIdentity p
        22: .line 1301
            aload 3 /* kills */
            aload 4 /* p */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
        end local 4 // jdk.internal.vm.compiler.word.LocationIdentity p
        23: .line 1300
            iinc 5 1
      StackMap locals:
      StackMap stack:
        24: iload 5
            iload 6
            if_icmplt 21
        25: .line 1304
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 26
            aload 3 /* kills */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
            ifne 26
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "snippet graph kills non-private locations "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kills */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " that replacee ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* replacee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") doesn't kill"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        26: .line 1305
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode jdk.internal.vm.compiler.collections.EconomicSet
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // jdk.internal.vm.compiler.collections.EconomicSet kills
        end local 2 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
        end local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   27     1          replacee  Lorg/graalvm/compiler/nodes/ValueNode;
            5   27     2         memoryMap  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            8   27     3             kills  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
           11   16     4  locationIdentity  Ljdk/internal/vm/compiler/word/LocationIdentity;
           22   23     4                 p  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
          Name  Flags
      replacee  

  private void rewireMemoryGraph(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        start local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
         0: .line 1372
            aload 1 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
            ifeq 17
         1: .line 1374
            aload 0 /* this */
            aload 1 /* replacee */
            new org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap
            dup
            aload 0 /* this */
            aload 1 /* replacee */
            aload 2 /* duplicates */
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.replaceMemoryUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
         2: .line 1376
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            ifnull 9
         3: .line 1377
            aload 2 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 3 /* ret */
        start local 3 // org.graalvm.compiler.nodes.ReturnNode ret
         4: .line 1378
            aload 3 /* ret */
            ifnull 9
         5: .line 1379
            aload 3 /* ret */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
            astore 4 /* memoryMap */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
         6: .line 1380
            aload 4 /* memoryMap */
            ifnull 9
         7: .line 1381
            aload 3 /* ret */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
         8: .line 1382
            aload 4 /* memoryMap */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryMapNode memoryMap
        end local 3 // org.graalvm.compiler.nodes.ReturnNode ret
         9: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            ifnull 17
        10: .line 1388
            aload 2 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            astore 3 /* memoryDuplicate */
        start local 3 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode memoryDuplicate
        11: .line 1389
            aload 0 /* this */
            aload 3 /* memoryDuplicate */
            new org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap
            dup
            aload 1 /* replacee */
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.replaceMemoryUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
        12: .line 1391
            aload 3 /* memoryDuplicate */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
            ifeq 17
        13: .line 1392
            aload 3 /* memoryDuplicate */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            ifnull 16
        14: .line 1393
            aload 3 /* memoryDuplicate */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* memoryDuplicate */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        15: .line 1394
            goto 17
        16: .line 1397
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode
      StackMap stack:
            aload 3 /* memoryDuplicate */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
        end local 3 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode memoryDuplicate
        17: .line 1402
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   18     1         replacee  Lorg/graalvm/compiler/nodes/ValueNode;
            0   18     2       duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            4    9     3              ret  Lorg/graalvm/compiler/nodes/ReturnNode;
            6    9     4        memoryMap  Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
           11   17     3  memoryDuplicate  Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
            Name  Flags
      replacee    
      duplicates  

  private static jdk.internal.vm.compiler.word.LocationIdentity getLocationIdentity(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/word/LocationIdentity;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node node
         0: .line 1405
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 2
         1: .line 1406
            aload 0 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            areturn
         2: .line 1407
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.spi.MemoryProxy
            ifeq 4
         3: .line 1408
            aload 0 /* node */
            checkcast org.graalvm.compiler.nodes.spi.MemoryProxy
            invokeinterface org.graalvm.compiler.nodes.spi.MemoryProxy.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            areturn
         4: .line 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryPhiNode
            ifeq 6
         5: .line 1410
            aload 0 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            areturn
         6: .line 1412
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private void replaceMemoryUsages(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.MemoryMap);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.nodes.memory.MemoryMap map
         0: .line 1417
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* usage */
        start local 3 // org.graalvm.compiler.graph.Node usage
         2: .line 1418
            aload 3 /* usage */
            instanceof org.graalvm.compiler.nodes.memory.MemoryMapNode
            ifeq 4
         3: .line 1419
            goto 17
         4: .line 1422
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 3 /* usage */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.getLocationIdentity:(Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 5 /* location */
        start local 5 // jdk.internal.vm.compiler.word.LocationIdentity location
         5: .line 1423
            aload 5 /* location */
            ifnull 17
         6: .line 1424
            aload 3 /* usage */
            invokevirtual org.graalvm.compiler.graph.Node.inputPositions:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Position
            astore 6 /* pos */
        start local 6 // org.graalvm.compiler.graph.Position pos
         8: .line 1425
            aload 6 /* pos */
            invokevirtual org.graalvm.compiler.graph.Position.getInputType:()Lorg/graalvm/compiler/nodeinfo/InputType;
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            if_acmpne 16
            aload 6 /* pos */
            aload 3 /* usage */
            invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            aload 1 /* node */
            if_acmpne 16
         9: .line 1426
            aload 2 /* map */
            aload 5 /* location */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            astore 8 /* replacement */
        start local 8 // org.graalvm.compiler.nodes.memory.MemoryNode replacement
        10: .line 1427
            aload 8 /* replacement */
            ifnonnull 15
        11: .line 1428
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
            ifne 16
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* location */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 16
        12: .line 1429
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* location */
            invokestatic java.util.function.Predicate.isEqual:(Ljava/lang/Object;)Ljava/util/function/Predicate;
            invokestatic org.graalvm.util.CollectionsUtil.anyMatch:([Ljava/lang/Object;Ljava/util/function/Predicate;)Z
            ifne 16
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Snippet "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 1430
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc "%h.%n"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " contains access to the non-private location "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1431
            aload 5 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", but replacee doesn't access this location."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* map */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLocations:()Ljava/lang/Iterable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 1433
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.graph.Position java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryNode
      StackMap stack:
            aload 6 /* pos */
            aload 3 /* usage */
            aload 8 /* replacement */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.graph.Position.set:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 8 // org.graalvm.compiler.nodes.memory.MemoryNode replacement
        end local 6 // org.graalvm.compiler.graph.Position pos
        16: .line 1424
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // jdk.internal.vm.compiler.word.LocationIdentity location
        end local 3 // org.graalvm.compiler.graph.Node usage
        17: .line 1417
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        18: .line 1439
            return
        end local 2 // org.graalvm.compiler.nodes.memory.MemoryMap map
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   19     1         node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   19     2          map  Lorg/graalvm/compiler/nodes/memory/MemoryMap;
            2   17     3        usage  Lorg/graalvm/compiler/graph/Node;
            5   17     5     location  Ljdk/internal/vm/compiler/word/LocationIdentity;
            8   16     6          pos  Lorg/graalvm/compiler/graph/Position;
           10   16     8  replacement  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
    MethodParameters:
      Name  Flags
      node  
      map   

  public jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.nodes.FixedNode replacee
        start local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        start local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         0: .line 1452
            aload 0 /* this */
            aload 1 /* metaAccess */
            aload 2 /* replacee */
            aload 3 /* replacer */
            aload 4 /* args */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            areturn
        end local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        end local 2 // org.graalvm.compiler.nodes.FixedNode replacee
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    1     1  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    1     2    replacee  Lorg/graalvm/compiler/nodes/FixedNode;
            0    1     3    replacer  Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            0    1     4        args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
    Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
            Name  Flags
      metaAccess  
      replacee    
      replacer    
      args        

  public jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, boolean);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=24, args_size=6
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.nodes.FixedNode replacee
        start local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        start local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        start local 5 // boolean killReplacee
         0: .line 1467
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 6 /* debug */
        start local 6 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 1468
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1469
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         3: aload 4 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 9 /* a */
        start local 9 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 1470
            aload 4 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         5: .line 1472
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            astore 10 /* entryPointNode */
        start local 10 // org.graalvm.compiler.nodes.StartNode entryPointNode
         6: .line 1473
            aload 10 /* entryPointNode */
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 11 /* firstCFGNode */
        start local 11 // org.graalvm.compiler.nodes.FixedNode firstCFGNode
         7: .line 1474
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 12 /* replaceeGraph */
        start local 12 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
         8: .line 1475
            aload 0 /* this */
            aload 12 /* replaceeGraph */
            aload 1 /* metaAccess */
            aload 4 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 13 /* replacements */
        start local 13 // jdk.internal.vm.compiler.collections.EconomicMap replacements
         9: .line 1476
            aload 13 /* replacements */
            aload 10 /* entryPointNode */
            aload 2 /* replacee */
            invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1477
            aload 0 /* this */
            aload 2 /* replacee */
            aload 6 /* debug */
            aload 12 /* replaceeGraph */
            aload 13 /* replacements */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            astore 14 /* duplicates */
        start local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        11: .line 1480
            aload 14 /* duplicates */
            aload 11 /* firstCFGNode */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FixedNode
            astore 15 /* firstCFGNodeDuplicate */
        start local 15 // org.graalvm.compiler.nodes.FixedNode firstCFGNodeDuplicate
        12: .line 1481
            aload 2 /* replacee */
            aload 15 /* firstCFGNodeDuplicate */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 1483
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        14: .line 1485
            aload 2 /* replacee */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode
            ifeq 51
        15: .line 1486
            aload 2 /* replacee */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            astore 16 /* replaceeDeopt */
        start local 16 // org.graalvm.compiler.nodes.DeoptimizingNode replaceeDeopt
        16: .line 1488
            aconst_null
            astore 17 /* stateBefore */
        start local 17 // org.graalvm.compiler.nodes.FrameState stateBefore
        17: .line 1489
            aconst_null
            astore 18 /* stateDuring */
        start local 18 // org.graalvm.compiler.nodes.FrameState stateDuring
        18: .line 1490
            aconst_null
            astore 19 /* stateAfter */
        start local 19 // org.graalvm.compiler.nodes.FrameState stateAfter
        19: .line 1491
            aload 16 /* replaceeDeopt */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
            ifeq 26
        20: .line 1492
            aload 16 /* replaceeDeopt */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
            ifeq 22
        21: .line 1493
            aload 16 /* replaceeDeopt */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 17 /* stateBefore */
        22: .line 1495
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 16 /* replaceeDeopt */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
            ifeq 24
        23: .line 1496
            aload 16 /* replaceeDeopt */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 18 /* stateDuring */
        24: .line 1498
      StackMap locals:
      StackMap stack:
            aload 16 /* replaceeDeopt */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
            ifeq 26
        25: .line 1499
            aload 16 /* replaceeDeopt */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 19 /* stateAfter */
        26: .line 1503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 21
            goto 50
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
        27: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            astore 20 /* deoptNode */
        start local 20 // org.graalvm.compiler.nodes.DeoptimizingNode deoptNode
        28: .line 1504
            aload 14 /* duplicates */
            aload 20 /* deoptNode */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            astore 22 /* deoptDup */
        start local 22 // org.graalvm.compiler.nodes.DeoptimizingNode deoptDup
        29: .line 1505
            aload 22 /* deoptDup */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
            ifeq 50
        30: .line 1506
            aload 22 /* deoptDup */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
            ifeq 32
        31: .line 1507
            aload 22 /* deoptDup */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
            aload 17 /* stateBefore */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
        32: .line 1509
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.DeoptimizingNode java.util.Iterator org.graalvm.compiler.nodes.DeoptimizingNode
      StackMap stack:
            aload 22 /* deoptDup */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
            ifeq 43
        33: .line 1510
            aload 22 /* deoptDup */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
            astore 23 /* deoptDupDuring */
        start local 23 // org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring deoptDupDuring
        34: .line 1511
            aload 18 /* stateDuring */
            ifnull 37
        35: .line 1512
            aload 23 /* deoptDupDuring */
            aload 18 /* stateDuring */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
        36: .line 1513
            goto 43
      StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
      StackMap stack:
        37: aload 19 /* stateAfter */
            ifnull 40
        38: .line 1514
            aload 23 /* deoptDupDuring */
            aload 19 /* stateAfter */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.computeStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
        39: .line 1515
            goto 43
      StackMap locals:
      StackMap stack:
        40: aload 17 /* stateBefore */
            ifnull 43
        41: .line 1516
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 42
            aload 23 /* deoptDupDuring */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.hasSideEffect:()Z
            ifeq 42
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "can't use stateBefore as stateDuring for state split "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 23 /* deoptDupDuring */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        42: .line 1517
      StackMap locals:
      StackMap stack:
            aload 23 /* deoptDupDuring */
            aload 17 /* stateBefore */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
        end local 23 // org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring deoptDupDuring
        43: .line 1520
      StackMap locals:
      StackMap stack:
            aload 22 /* deoptDup */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
            ifeq 50
        44: .line 1521
            aload 22 /* deoptDup */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
            astore 23 /* deoptDupAfter */
        start local 23 // org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter deoptDupAfter
        45: .line 1522
            aload 19 /* stateAfter */
            ifnull 48
        46: .line 1523
            aload 23 /* deoptDupAfter */
            aload 19 /* stateAfter */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        47: .line 1524
            goto 50
        48: .line 1525
      StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 49
            aload 23 /* deoptDupAfter */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.hasSideEffect:()Z
            ifeq 49
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "can't use stateBefore as stateAfter for state split "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 23 /* deoptDupAfter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        49: .line 1526
      StackMap locals:
      StackMap stack:
            aload 23 /* deoptDupAfter */
            aload 17 /* stateBefore */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        end local 23 // org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter deoptDupAfter
        end local 22 // org.graalvm.compiler.nodes.DeoptimizingNode deoptDup
        end local 20 // org.graalvm.compiler.nodes.DeoptimizingNode deoptNode
        50: .line 1503
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        end local 19 // org.graalvm.compiler.nodes.FrameState stateAfter
        end local 18 // org.graalvm.compiler.nodes.FrameState stateDuring
        end local 17 // org.graalvm.compiler.nodes.FrameState stateBefore
        end local 16 // org.graalvm.compiler.nodes.DeoptimizingNode replaceeDeopt
        51: .line 1534
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        52: .line 1536
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        53: .line 1539
            aconst_null
            astore 16 /* returnValue */
        start local 16 // org.graalvm.compiler.nodes.ValueNode returnValue
        54: .line 1540
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            ifnull 69
            aload 2 /* replacee */
            instanceof org.graalvm.compiler.nodes.ControlSinkNode
            ifne 69
        55: .line 1541
            aload 14 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 17 /* returnDuplicate */
        start local 17 // org.graalvm.compiler.nodes.ReturnNode returnDuplicate
        56: .line 1542
            aload 17 /* returnDuplicate */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 16 /* returnValue */
        57: .line 1543
            aload 16 /* returnValue */
            ifnonnull 60
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
            ifeq 60
            aload 2 /* replacee */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
            ifeq 60
        58: .line 1544
            aload 3 /* replacer */
            aload 2 /* replacee */
            aconst_null
            invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        59: .line 1545
            goto 62
        60: .line 1546
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ReturnNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 61
            aload 16 /* returnValue */
            ifnonnull 61
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.hasNoUsages:()Z
            ifne 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 1547
      StackMap locals:
      StackMap stack:
            aload 3 /* replacer */
            aload 2 /* replacee */
            aload 16 /* returnValue */
            invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        62: .line 1549
      StackMap locals:
      StackMap stack:
            aload 17 /* returnDuplicate */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
            ifeq 69
        63: .line 1550
            aconst_null
            astore 18 /* next */
        start local 18 // org.graalvm.compiler.nodes.FixedNode next
        64: .line 1551
            aload 2 /* replacee */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 68
        65: .line 1552
            aload 2 /* replacee */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 19 /* fwn */
        start local 19 // org.graalvm.compiler.nodes.FixedWithNextNode fwn
        66: .line 1553
            aload 19 /* fwn */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 18 /* next */
        67: .line 1554
            aload 19 /* fwn */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 19 // org.graalvm.compiler.nodes.FixedWithNextNode fwn
        68: .line 1556
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 17 /* returnDuplicate */
            aload 18 /* next */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 18 // org.graalvm.compiler.nodes.FixedNode next
        end local 17 // org.graalvm.compiler.nodes.ReturnNode returnDuplicate
        69: .line 1560
      StackMap locals:
      StackMap stack:
            iload 5 /* killReplacee */
            ifeq 71
        70: .line 1562
            aload 2 /* replacee */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        71: .line 1565
      StackMap locals:
      StackMap stack:
            aload 6 /* debug */
            iconst_4
            aload 12 /* replaceeGraph */
            ldc "After lowering %s with %s"
            aload 2 /* replacee */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        72: .line 1566
            aload 14 /* duplicates */
        73: .line 1567
            aload 9 /* a */
            ifnull 74
            aload 9 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        74: .line 1566
      StackMap locals:
      StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            areturn
        end local 16 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 15 // org.graalvm.compiler.nodes.FixedNode firstCFGNodeDuplicate
        end local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 13 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        end local 12 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        end local 11 // org.graalvm.compiler.nodes.FixedNode firstCFGNode
        end local 10 // org.graalvm.compiler.nodes.StartNode entryPointNode
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        75: astore 7
        76: .line 1567
            aload 9 /* a */
            ifnull 77
            aload 9 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        77: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        78: astore 8
            aload 7
            ifnonnull 79
            aload 8
            astore 7
            goto 80
      StackMap locals:
      StackMap stack:
        79: aload 7
            aload 8
            if_acmpeq 80
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        80: aload 7
            athrow
        end local 6 // org.graalvm.compiler.debug.DebugContext debug
        end local 5 // boolean killReplacee
        end local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        end local 2 // org.graalvm.compiler.nodes.FixedNode replacee
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   81     0                   this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   81     1             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   81     2               replacee  Lorg/graalvm/compiler/nodes/FixedNode;
            0   81     3               replacer  Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            0   81     4                   args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            0   81     5           killReplacee  Z
            1   81     6                  debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   77     9                      a  Lorg/graalvm/compiler/debug/DebugCloseable;
            6   75    10         entryPointNode  Lorg/graalvm/compiler/nodes/StartNode;
            7   75    11           firstCFGNode  Lorg/graalvm/compiler/nodes/FixedNode;
            8   75    12          replaceeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            9   75    13           replacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           11   75    14             duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           12   75    15  firstCFGNodeDuplicate  Lorg/graalvm/compiler/nodes/FixedNode;
           16   51    16          replaceeDeopt  Lorg/graalvm/compiler/nodes/DeoptimizingNode;
           17   51    17            stateBefore  Lorg/graalvm/compiler/nodes/FrameState;
           18   51    18            stateDuring  Lorg/graalvm/compiler/nodes/FrameState;
           19   51    19             stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
           28   50    20              deoptNode  Lorg/graalvm/compiler/nodes/DeoptimizingNode;
           29   50    22               deoptDup  Lorg/graalvm/compiler/nodes/DeoptimizingNode;
           34   43    23         deoptDupDuring  Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptDuring;
           45   50    23          deoptDupAfter  Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptAfter;
           54   75    16            returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
           56   69    17        returnDuplicate  Lorg/graalvm/compiler/nodes/ReturnNode;
           64   69    18                   next  Lorg/graalvm/compiler/nodes/FixedNode;
           66   68    19                    fwn  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
      Exception table:
        from    to  target  type
           4    73      75  any
           3    74      78  any
          75    78      78  any
    Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
              Name  Flags
      metaAccess    
      replacee      
      replacer      
      args          
      killReplacee  

  private jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> inlineSnippet(org.graalvm.compiler.graph.Node, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.StructuredGraph, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.graph.Node replacee
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        start local 4 // jdk.internal.vm.compiler.collections.EconomicMap replacements
         0: .line 1571
            aload 3 /* replaceeGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
            astore 5 /* mark */
        start local 5 // org.graalvm.compiler.graph.Graph$Mark mark
         1: .line 1572
            aconst_null
            astore 6
            aconst_null
            astore 7
         2: aload 3 /* replaceeGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            aload 3 /* replaceeGraph */
            invokedynamic accept(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/graalvm/compiler/replacements/SnippetTemplate.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V (6)
                  (Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V
            invokevirtual org.graalvm.compiler.nodes.InliningLog.openUpdateScope:(Ljava/util/function/BiConsumer;)Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
            astore 8 /* scope */
        start local 8 // org.graalvm.compiler.nodes.InliningLog$UpdateScope scope
         3: .line 1578
            aload 3 /* replaceeGraph */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            aload 4 /* replacements */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            astore 9 /* duplicates */
        start local 9 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
         4: .line 1579
            aload 8 /* scope */
            ifnull 6
         5: .line 1580
            aload 3 /* replaceeGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            aload 9 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            invokevirtual org.graalvm.compiler.nodes.InliningLog.addLog:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;)V
         6: .line 1582
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
      StackMap stack:
            aload 1 /* replacee */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            astore 10 /* position */
        start local 10 // org.graalvm.compiler.graph.NodeSourcePosition position
         7: .line 1583
            aload 3 /* replaceeGraph */
            aload 9 /* duplicates */
            aload 5 /* mark */
            aload 10 /* position */
            iconst_1
            invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.updateSourcePosition:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/NodeSourcePosition;Z)V
         8: .line 1584
            aload 2 /* debug */
            iconst_4
            aload 3 /* replaceeGraph */
            ldc "After inlining snippet %s"
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 1585
            aload 9 /* duplicates */
        10: .line 1586
            aload 8 /* scope */
            ifnull 11
            aload 8 /* scope */
            invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
        11: .line 1585
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.graph.NodeSourcePosition
      StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            areturn
        end local 10 // org.graalvm.compiler.graph.NodeSourcePosition position
        end local 9 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
      StackMap stack: java.lang.Throwable
        12: astore 6
        13: .line 1586
            aload 8 /* scope */
            ifnull 14
            aload 8 /* scope */
            invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
        end local 8 // org.graalvm.compiler.nodes.InliningLog$UpdateScope scope
      StackMap locals:
      StackMap stack:
        14: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 7
            aload 6
            ifnonnull 16
            aload 7
            astore 6
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 6
            aload 7
            if_acmpeq 17
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 6
            athrow
        end local 5 // org.graalvm.compiler.graph.Graph$Mark mark
        end local 4 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.graph.Node replacee
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   18     1       replacee  Lorg/graalvm/compiler/graph/Node;
            0   18     2          debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   18     3  replaceeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   18     4   replacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            1   18     5           mark  Lorg/graalvm/compiler/graph/Graph$Mark;
            3   14     8          scope  Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
            4   12     9     duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            7   12    10       position  Lorg/graalvm/compiler/graph/NodeSourcePosition;
      Exception table:
        from    to  target  type
           3    10      12  any
           2    11      15  any
          12    15      15  any
    Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
               Name  Flags
      replacee       
      debug          
      replaceeGraph  
      replacements   

  private void propagateStamp(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1590
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 7
         1: .line 1591
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 2 /* phi */
        start local 2 // org.graalvm.compiler.nodes.PhiNode phi
         2: .line 1592
            aload 2 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.inferStamp:()Z
            ifeq 7
         3: .line 1593
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* usage */
        start local 3 // org.graalvm.compiler.graph.Node usage
         5: .line 1594
            aload 0 /* this */
            aload 3 /* usage */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
        end local 3 // org.graalvm.compiler.graph.Node usage
         6: .line 1593
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // org.graalvm.compiler.nodes.PhiNode phi
         7: .line 1598
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    8     1   node  Lorg/graalvm/compiler/graph/Node;
            2    7     2    phi  Lorg/graalvm/compiler/nodes/PhiNode;
            5    6     3  usage  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private void updateStamps(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        start local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
         0: .line 1601
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 3 /* node */
        start local 3 // org.graalvm.compiler.nodes.ValueNode node
         2: .line 1602
            aload 2 /* duplicates */
            aload 3 /* node */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* dup */
        start local 5 // org.graalvm.compiler.nodes.ValueNode dup
         3: .line 1603
            aload 1 /* replacee */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* replaceeStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp replaceeStamp
         4: .line 1604
            aload 3 /* node */
            instanceof org.graalvm.compiler.nodes.PiNode$Placeholder
            ifeq 8
         5: .line 1605
            aload 5 /* dup */
            checkcast org.graalvm.compiler.nodes.PiNode$Placeholder
            astore 7 /* placeholderDup */
        start local 7 // org.graalvm.compiler.nodes.PiNode$Placeholder placeholderDup
         6: .line 1606
            aload 7 /* placeholderDup */
            aload 6 /* replaceeStamp */
            invokevirtual org.graalvm.compiler.nodes.PiNode$Placeholder.makeReplacement:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
        end local 7 // org.graalvm.compiler.nodes.PiNode$Placeholder placeholderDup
         7: .line 1607
            goto 9
         8: .line 1608
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 5 /* dup */
            aload 6 /* replaceeStamp */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
        end local 6 // org.graalvm.compiler.core.common.type.Stamp replaceeStamp
        end local 5 // org.graalvm.compiler.nodes.ValueNode dup
        end local 3 // org.graalvm.compiler.nodes.ValueNode node
         9: .line 1601
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 1611
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals:
      StackMap stack:
        11: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 3 /* paramNode */
        start local 3 // org.graalvm.compiler.nodes.ParameterNode paramNode
        12: .line 1612
            aload 3 /* paramNode */
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ParameterNode java.util.Iterator top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* usage */
        start local 5 // org.graalvm.compiler.graph.Node usage
        14: .line 1613
            aload 2 /* duplicates */
            aload 5 /* usage */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 7 /* usageDup */
        start local 7 // org.graalvm.compiler.graph.Node usageDup
        15: .line 1614
            aload 0 /* this */
            aload 7 /* usageDup */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.graph.Node usageDup
        end local 5 // org.graalvm.compiler.graph.Node usage
        16: .line 1612
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 3 // org.graalvm.compiler.nodes.ParameterNode paramNode
        17: .line 1611
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 1617
            return
        end local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   19     1        replacee  Lorg/graalvm/compiler/nodes/ValueNode;
            0   19     2      duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            2    9     3            node  Lorg/graalvm/compiler/nodes/ValueNode;
            3    9     5             dup  Lorg/graalvm/compiler/nodes/ValueNode;
            4    9     6   replaceeStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6    7     7  placeholderDup  Lorg/graalvm/compiler/nodes/PiNode$Placeholder;
           12   17     3       paramNode  Lorg/graalvm/compiler/nodes/ParameterNode;
           14   16     5           usage  Lorg/graalvm/compiler/graph/Node;
           15   16     7        usageDup  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
            Name  Flags
      replacee    
      duplicates  

  public org.graalvm.compiler.nodes.StructuredGraph copySpecializedGraph(org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.debug.DebugContext debugForCopy
         0: .line 1623
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* debugForCopy */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
            checkcast org.graalvm.compiler.nodes.StructuredGraph
            areturn
        end local 1 // org.graalvm.compiler.debug.DebugContext debugForCopy
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    1     1  debugForCopy  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
              Name  Flags
      debugForCopy  

  public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=20, args_size=6
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.nodes.calc.FloatingNode replacee
        start local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        start local 4 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        start local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         0: .line 1637
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 6 /* debug */
        start local 6 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 1638
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1639
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         3: aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 9 /* a */
        start local 9 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 1640
            aload 5 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         5: .line 1643
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            astore 10 /* entryPointNode */
        start local 10 // org.graalvm.compiler.nodes.StartNode entryPointNode
         6: .line 1644
            aload 10 /* entryPointNode */
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 11 /* firstCFGNode */
        start local 11 // org.graalvm.compiler.nodes.FixedNode firstCFGNode
         7: .line 1645
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 12 /* replaceeGraph */
        start local 12 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
         8: .line 1646
            aload 0 /* this */
            aload 12 /* replaceeGraph */
            aload 1 /* metaAccess */
            aload 5 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 13 /* replacements */
        start local 13 // jdk.internal.vm.compiler.collections.EconomicMap replacements
         9: .line 1647
            aload 13 /* replacements */
            aload 10 /* entryPointNode */
            aload 4 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getCurrentGuardAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
            invokeinterface org.graalvm.compiler.nodes.extended.AnchoringNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1648
            aload 0 /* this */
            aload 2 /* replacee */
            aload 6 /* debug */
            aload 12 /* replaceeGraph */
            aload 13 /* replacements */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            astore 14 /* duplicates */
        start local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        11: .line 1650
            aload 4 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            astore 15 /* lastFixedNode */
        start local 15 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
        12: .line 1651
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 14
            aload 15 /* lastFixedNode */
            ifnull 13
            aload 15 /* lastFixedNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
            ifne 14
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
        13: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 12 /* replaceeGraph */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " lastFixed="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* lastFixedNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 1652
      StackMap locals:
      StackMap stack:
            aload 15 /* lastFixedNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 16 /* next */
        start local 16 // org.graalvm.compiler.nodes.FixedNode next
        15: .line 1653
            aload 15 /* lastFixedNode */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        16: .line 1654
            aload 14 /* duplicates */
            aload 11 /* firstCFGNode */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FixedNode
            astore 17 /* firstCFGNodeDuplicate */
        start local 17 // org.graalvm.compiler.nodes.FixedNode firstCFGNodeDuplicate
        17: .line 1655
            aload 12 /* replaceeGraph */
            aload 15 /* lastFixedNode */
            aload 17 /* firstCFGNodeDuplicate */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        18: .line 1657
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        19: .line 1658
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        20: .line 1660
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        21: .line 1663
            aload 14 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 18 /* returnDuplicate */
        start local 18 // org.graalvm.compiler.nodes.ReturnNode returnDuplicate
        22: .line 1664
            aload 18 /* returnDuplicate */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 19 /* returnValue */
        start local 19 // org.graalvm.compiler.nodes.ValueNode returnValue
        23: .line 1665
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 24
            aload 19 /* returnValue */
            ifnonnull 24
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.hasNoUsages:()Z
            ifne 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 1666
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* replacer */
            aload 2 /* replacee */
            aload 19 /* returnValue */
            invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        25: .line 1668
            aload 18 /* returnDuplicate */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
            ifeq 27
        26: .line 1669
            aload 18 /* returnDuplicate */
            aload 16 /* next */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        27: .line 1672
      StackMap locals:
      StackMap stack:
            aload 6 /* debug */
            iconst_4
            aload 12 /* replaceeGraph */
            ldc "After lowering %s with %s"
            aload 2 /* replacee */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 19 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 18 // org.graalvm.compiler.nodes.ReturnNode returnDuplicate
        end local 17 // org.graalvm.compiler.nodes.FixedNode firstCFGNodeDuplicate
        end local 16 // org.graalvm.compiler.nodes.FixedNode next
        end local 15 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
        end local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 13 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        end local 12 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        end local 11 // org.graalvm.compiler.nodes.FixedNode firstCFGNode
        end local 10 // org.graalvm.compiler.nodes.StartNode entryPointNode
        28: .line 1673
            aload 9 /* a */
            ifnull 34
            aload 9 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 34
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        29: astore 7
            aload 9 /* a */
            ifnull 30
            aload 9 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        30: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 8
            aload 7
            ifnonnull 32
            aload 8
            astore 7
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 7
            aload 8
            if_acmpeq 33
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 7
            athrow
        34: .line 1674
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.debug.DebugContext debug
        end local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 4 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        end local 2 // org.graalvm.compiler.nodes.calc.FloatingNode replacee
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   35     0                   this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   35     1             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   35     2               replacee  Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            0   35     3               replacer  Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            0   35     4                   tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            0   35     5                   args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            1   35     6                  debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   30     9                      a  Lorg/graalvm/compiler/debug/DebugCloseable;
            6   28    10         entryPointNode  Lorg/graalvm/compiler/nodes/StartNode;
            7   28    11           firstCFGNode  Lorg/graalvm/compiler/nodes/FixedNode;
            8   28    12          replaceeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            9   28    13           replacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           11   28    14             duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           12   28    15          lastFixedNode  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           15   28    16                   next  Lorg/graalvm/compiler/nodes/FixedNode;
           17   28    17  firstCFGNodeDuplicate  Lorg/graalvm/compiler/nodes/FixedNode;
           22   28    18        returnDuplicate  Lorg/graalvm/compiler/nodes/ReturnNode;
           23   28    19            returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
      Exception table:
        from    to  target  type
           4    28      29  any
           3    31      31  any
    MethodParameters:
            Name  Flags
      metaAccess  
      replacee    
      replacer    
      tool        
      args        

  public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=5
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.nodes.calc.FloatingNode replacee
        start local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        start local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         0: .line 1688
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 5 /* debug */
        start local 5 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 1689
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1690
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         3: aload 4 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
            aload 5 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* a */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 1691
            aload 4 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
            aload 5 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         5: .line 1694
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            astore 9 /* entryPointNode */
        start local 9 // org.graalvm.compiler.nodes.StartNode entryPointNode
         6: .line 1695
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 9
            aload 9 /* entryPointNode */
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            ifnonnull 7
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            goto 8
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode
      StackMap stack: org.graalvm.compiler.nodes.FixedNode
         7: aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode
      StackMap stack: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
         8: if_acmpeq 9
            new java.lang.AssertionError
            dup
            aload 9 /* entryPointNode */
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 1696
      StackMap locals:
      StackMap stack:
            aload 2 /* replacee */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 10 /* replaceeGraph */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        10: .line 1697
            aload 0 /* this */
            aload 10 /* replaceeGraph */
            aload 1 /* metaAccess */
            aload 4 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 11 /* replacements */
        start local 11 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        11: .line 1698
            aconst_null
            astore 12 /* anchorDuplicate */
        start local 12 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchorDuplicate
        12: .line 1699
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            ifnull 15
        13: .line 1700
            aload 10 /* replaceeGraph */
            new org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            dup
            invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            astore 12 /* anchorDuplicate */
        14: .line 1701
            aload 11 /* replacements */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            aload 12 /* anchorDuplicate */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1703
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_2
            isub
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 13 /* floatingNodes */
        start local 13 // java.util.List floatingNodes
        16: .line 1704
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 15
            goto 20
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 14 /* n */
        start local 14 // org.graalvm.compiler.graph.Node n
        18: .line 1705
            aload 14 /* n */
            aload 9 /* entryPointNode */
            if_acmpeq 20
            aload 14 /* n */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            if_acmpeq 20
        19: .line 1706
            aload 13 /* floatingNodes */
            aload 14 /* n */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.graalvm.compiler.graph.Node n
        20: .line 1704
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        21: .line 1709
            aload 0 /* this */
            aload 2 /* replacee */
            aload 5 /* debug */
            aload 10 /* replaceeGraph */
            aload 11 /* replacements */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            astore 14 /* duplicates */
        start local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        22: .line 1711
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        23: .line 1712
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        24: .line 1714
            aload 0 /* this */
            aload 2 /* replacee */
            aload 14 /* duplicates */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        25: .line 1715
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 26
            aload 12 /* anchorDuplicate */
            ifnull 26
            aload 12 /* anchorDuplicate */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.isDeleted:()Z
            ifne 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 1718
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
      StackMap stack:
            aload 14 /* duplicates */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 15 /* returnValue */
        start local 15 // org.graalvm.compiler.nodes.ValueNode returnValue
        27: .line 1719
            aload 3 /* replacer */
            aload 2 /* replacee */
            aload 15 /* returnValue */
            invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        28: .line 1721
            aload 5 /* debug */
            iconst_4
            aload 10 /* replaceeGraph */
            ldc "After lowering %s with %s"
            aload 2 /* replacee */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 15 // org.graalvm.compiler.nodes.ValueNode returnValue
        end local 14 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 13 // java.util.List floatingNodes
        end local 12 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchorDuplicate
        end local 11 // jdk.internal.vm.compiler.collections.EconomicMap replacements
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph replaceeGraph
        end local 9 // org.graalvm.compiler.nodes.StartNode entryPointNode
        29: .line 1722
            aload 8 /* a */
            ifnull 35
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 35
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        30: astore 6
            aload 8 /* a */
            ifnull 31
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        31: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7
            aload 6
            ifnonnull 33
            aload 7
            astore 6
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 6
            aload 7
            if_acmpeq 34
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 6
            athrow
        35: .line 1723
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.debug.DebugContext debug
        end local 4 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 3 // org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer replacer
        end local 2 // org.graalvm.compiler.nodes.calc.FloatingNode replacee
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0   36     1       metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   36     2         replacee  Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            0   36     3         replacer  Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            0   36     4             args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            1   36     5            debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   31     8                a  Lorg/graalvm/compiler/debug/DebugCloseable;
            6   29     9   entryPointNode  Lorg/graalvm/compiler/nodes/StartNode;
           10   29    10    replaceeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           11   29    11     replacements  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           12   29    12  anchorDuplicate  Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
           16   29    13    floatingNodes  Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
           18   20    14                n  Lorg/graalvm/compiler/graph/Node;
           22   29    14       duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
           27   29    15      returnValue  Lorg/graalvm/compiler/nodes/ValueNode;
      Exception table:
        from    to  target  type
           4    29      30  any
           3    32      32  any
    MethodParameters:
            Name  Flags
      metaAccess  
      replacee    
      replacer    
      args        

  protected void rewireFrameStates(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        start local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
         0: .line 1726
            aload 1 /* replacee */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 7
         1: .line 1727
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.StateSplit
            astore 3 /* sideEffectNode */
        start local 3 // org.graalvm.compiler.nodes.StateSplit sideEffectNode
         3: .line 1728
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 4
            aload 1 /* replacee */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1729
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.StateSplit java.util.Iterator
      StackMap stack:
            aload 2 /* duplicates */
            aload 3 /* sideEffectNode */
            invokeinterface org.graalvm.compiler.nodes.StateSplit.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* sideEffectDup */
        start local 5 // org.graalvm.compiler.graph.Node sideEffectDup
         5: .line 1730
            aload 5 /* sideEffectDup */
            checkcast org.graalvm.compiler.nodes.StateSplit
            aload 1 /* replacee */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        end local 5 // org.graalvm.compiler.graph.Node sideEffectDup
        end local 3 // org.graalvm.compiler.nodes.StateSplit sideEffectNode
         6: .line 1727
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 1733
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
      StackMap stack:
            return
        end local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap duplicates
        end local 1 // org.graalvm.compiler.nodes.ValueNode replacee
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    8     1        replacee  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2      duplicates  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            3    6     3  sideEffectNode  Lorg/graalvm/compiler/nodes/StateSplit;
            5    6     5   sideEffectDup  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
            Name  Flags
      replacee    
      duplicates  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
         0: .line 1737
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 1738
            ldc ""
            astore 2 /* sep */
        start local 2 // java.lang.String sep
         2: .line 1739
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 27
         4: .line 1740
      StackMap locals: java.lang.StringBuilder java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 1741
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            astore 5 /* value */
        start local 5 // java.lang.Object value
         6: .line 1742
            aload 1 /* buf */
            aload 2 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1743
            ldc ", "
            astore 2 /* sep */
         8: .line 1744
            aload 5 /* value */
            ifnonnull 11
         9: .line 1745
            aload 1 /* buf */
            ldc "<null> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1746
            goto 26
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
        11: aload 5 /* value */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 1747
            aload 1 /* buf */
            ldc "<unused> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1748
            goto 26
      StackMap locals:
      StackMap stack:
        14: aload 5 /* value */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 1749
            aload 1 /* buf */
            ldc "<constant> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1750
            goto 26
      StackMap locals:
      StackMap stack:
        17: aload 5 /* value */
            instanceof org.graalvm.compiler.nodes.ParameterNode
            ifeq 21
        18: .line 1751
            aload 5 /* value */
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 6 /* param */
        start local 6 // org.graalvm.compiler.nodes.ParameterNode param
        19: .line 1752
            aload 1 /* buf */
            aload 6 /* param */
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // org.graalvm.compiler.nodes.ParameterNode param
        20: .line 1753
            goto 26
        21: .line 1754
      StackMap locals:
      StackMap stack:
            aload 5 /* value */
            checkcast org.graalvm.compiler.nodes.ParameterNode[]
            astore 6 /* params */
        start local 6 // org.graalvm.compiler.nodes.ParameterNode[] params
        22: .line 1755
            aload 6 /* params */
            arraylength
            ifne 23
            ldc "?"
            goto 24
      StackMap locals: org.graalvm.compiler.nodes.ParameterNode[]
      StackMap stack:
        23: aload 6 /* params */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        24: astore 7 /* kind */
        start local 7 // java.lang.String kind
        25: .line 1756
            aload 1 /* buf */
            aload 7 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* params */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.String kind
        end local 6 // org.graalvm.compiler.nodes.ParameterNode[] params
        end local 5 // java.lang.Object value
        end local 4 // java.lang.String name
        26: .line 1739
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
            arraylength
            if_icmplt 4
        end local 3 // int i
        28: .line 1759
            aload 1 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String sep
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            1   29     1     buf  Ljava/lang/StringBuilder;
            2   29     2     sep  Ljava/lang/String;
            3   28     3       i  I
            5   26     4    name  Ljava/lang/String;
            6   26     5   value  Ljava/lang/Object;
           19   20     6   param  Lorg/graalvm/compiler/nodes/ParameterNode;
           22   26     6  params  [Lorg/graalvm/compiler/nodes/ParameterNode;
           25   26     7    kind  Ljava/lang/String;

  private static boolean checkTemplate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // jdk.vm.ci.meta.Signature signature
         0: .line 1763
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.hasReceiver:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* offset */
        start local 4 // int offset
         3: .line 1764
            iload 4 /* offset */
            istore 5 /* i */
        start local 5 // int i
         4: goto 13
         5: .line 1765
      StackMap locals: int int
      StackMap stack:
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
            ifeq 8
         6: .line 1766
            aload 3 /* signature */
            iload 5 /* i */
            iload 4 /* offset */
            isub
            invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.meta.JavaKind kind
         7: .line 1767
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 12
            aload 0 /* metaAccess */
            aload 2 /* method */
            aload 3 /* signature */
            iload 5 /* i */
            iload 4 /* offset */
            isub
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 5 /* i */
            aaload
            aload 6 /* kind */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkConstantArgument:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 6 // jdk.vm.ci.meta.JavaKind kind
         8: .line 1769
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
            ifeq 12
         9: .line 1770
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 10
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 5 /* i */
            aaload
            instanceof org.graalvm.compiler.replacements.SnippetTemplate$Varargs
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 1771
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
            iload 5 /* i */
            aaload
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
            astore 6 /* varargs */
        start local 6 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        11: .line 1772
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
            ifne 12
            aload 0 /* metaAccess */
            aload 2 /* method */
            aload 3 /* signature */
            iload 5 /* i */
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
            aload 6 /* varargs */
            invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkVarargs:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 6 // org.graalvm.compiler.replacements.SnippetTemplate$Varargs varargs
        12: .line 1764
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 1 /* args */
            getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
            if_icmplt 5
        end local 5 // int i
        14: .line 1775
            iconst_1
            ireturn
        end local 4 // int offset
        end local 3 // jdk.vm.ci.meta.Signature signature
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   15     1        args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            0   15     2      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   15     3   signature  Ljdk/vm/ci/meta/Signature;
            3   15     4      offset  I
            4   14     5           i  I
            7    8     6        kind  Ljdk/vm/ci/meta/JavaKind;
           11   12     6     varargs  Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
    MethodParameters:
            Name  Flags
      metaAccess  
      args        
      method      
      signature   

  public void setMayRemoveLocation(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
        start local 1 // boolean mayRemoveLocation
         0: .line 1779
            aload 0 /* this */
            iload 1 /* mayRemoveLocation */
            putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
         1: .line 1780
            return
        end local 1 // boolean mayRemoveLocation
        end local 0 // org.graalvm.compiler.replacements.SnippetTemplate this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/graalvm/compiler/replacements/SnippetTemplate;
            0    2     1  mayRemoveLocation  Z
    MethodParameters:
                   Name  Flags
      mayRemoveLocation  

  private static void lambda$0(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.Invokable, org.graalvm.compiler.nodes.Invokable);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 1 // org.graalvm.compiler.nodes.Invokable oldNode
        start local 2 // org.graalvm.compiler.nodes.Invokable newNode
         0: .line 1573
            aload 0
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
            astore 3 /* log */
        start local 3 // org.graalvm.compiler.nodes.InliningLog log
         1: .line 1574
            aload 1 /* oldNode */
            ifnonnull 3
         2: .line 1575
            aload 3 /* log */
            aload 2 /* newNode */
            invokevirtual org.graalvm.compiler.nodes.InliningLog.trackNewCallsite:(Lorg/graalvm/compiler/nodes/Invokable;)V
        end local 3 // org.graalvm.compiler.nodes.InliningLog log
         3: .line 1577
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.Invokable newNode
        end local 1 // org.graalvm.compiler.nodes.Invokable oldNode
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     1  oldNode  Lorg/graalvm/compiler/nodes/Invokable;
            0    4     2  newNode  Lorg/graalvm/compiler/nodes/Invokable;
            1    3     3      log  Lorg/graalvm/compiler/nodes/InliningLog;
}
SourceFile: "SnippetTemplate.java"
NestMembers:
  org.graalvm.compiler.replacements.SnippetTemplate$1  org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates  org.graalvm.compiler.replacements.SnippetTemplate$Arguments  org.graalvm.compiler.replacements.SnippetTemplate$CacheKey  org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo  org.graalvm.compiler.replacements.SnippetTemplate$LRUCache  org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo  org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap  org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap  org.graalvm.compiler.replacements.SnippetTemplate$Options  org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo  org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo$Lazy  org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer  org.graalvm.compiler.replacements.SnippetTemplate$Varargs  org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public final NegativeTypePredicate = org.graalvm.compiler.graph.iterators.NodePredicates$NegativeTypePredicate of org.graalvm.compiler.graph.iterators.NodePredicates
  public abstract DeoptAfter = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter of org.graalvm.compiler.nodes.DeoptimizingNode
  public abstract DeoptBefore = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore of org.graalvm.compiler.nodes.DeoptimizingNode
  public abstract DeoptDuring = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring of org.graalvm.compiler.nodes.DeoptimizingNode
  public final UpdateScope = org.graalvm.compiler.nodes.InliningLog$UpdateScope of org.graalvm.compiler.nodes.InliningLog
  public Placeholder = org.graalvm.compiler.nodes.PiNode$Placeholder of org.graalvm.compiler.nodes.PiNode
  public final PlaceholderStamp = org.graalvm.compiler.nodes.PiNode$PlaceholderStamp of org.graalvm.compiler.nodes.PiNode
  public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  public abstract Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
  public MemoryMapImpl = org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl of org.graalvm.compiler.phases.common.FloatingReadPhase
  org.graalvm.compiler.replacements.SnippetTemplate$1
  public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
  public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
  CacheKey = org.graalvm.compiler.replacements.SnippetTemplate$CacheKey of org.graalvm.compiler.replacements.SnippetTemplate
  protected EagerSnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
  private final LRUCache = org.graalvm.compiler.replacements.SnippetTemplate$LRUCache of org.graalvm.compiler.replacements.SnippetTemplate
  protected LazySnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
  private MemoryInputMap = org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap of org.graalvm.compiler.replacements.SnippetTemplate
  private MemoryOutputMap = org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap of org.graalvm.compiler.replacements.SnippetTemplate
  Options = org.graalvm.compiler.replacements.SnippetTemplate$Options of org.graalvm.compiler.replacements.SnippetTemplate
  public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
  public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate
  Varargs = org.graalvm.compiler.replacements.SnippetTemplate$Varargs of org.graalvm.compiler.replacements.SnippetTemplate
  final VarargsPlaceholderNode = org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode of org.graalvm.compiler.replacements.SnippetTemplate