public final class org.graalvm.compiler.hotspot.replacements.ObjectCloneNode extends org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode
  super_class: org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.hotspot.replacements.ObjectCloneNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            ldc Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            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.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
         3: .line 57
            ldc Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
        start local 1 // org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams p
         0: .line 60
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 1 /* p */
            invokespecial org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;)V
         1: .line 61
            return
        end local 1 // org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams p
        end local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            0    2     1     p  Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;
    MethodParameters:
      Name  Flags
      p     

  public org.graalvm.compiler.core.common.type.Stamp computeStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
         0: .line 65
            aload 0 /* this */
            aload 1 /* object */
            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;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getConcreteType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ifnull 2
         1: .line 66
            aload 1 /* object */
            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.core.common.type.AbstractPointerStamp.pointerNonNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         2: .line 72
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            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.core.common.type.AbstractPointerStamp.pointerMaybeNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            0    3     1  object  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      object  

  protected org.graalvm.compiler.nodes.StructuredGraph getLoweredSnippetGraph(org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=13, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 78
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* type */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType type
         1: .line 80
            aload 2 /* type */
            ifnull 44
         2: .line 81
            aload 2 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 26
         3: .line 82
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            checkcast org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider
            astore 3 /* lowerer */
        start local 3 // org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider lowerer
         4: .line 83
            aload 3 /* lowerer */
            invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider.getObjectCloneSnippets:()Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
            astore 4 /* objectCloneSnippets */
        start local 4 // org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates objectCloneSnippets
         5: .line 84
            aload 4 /* objectCloneSnippets */
            getfield org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates.arrayCloneMethods:Ljava/util/EnumMap;
            aload 2 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
            astore 5 /* info */
        start local 5 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo info
         6: .line 85
            aload 5 /* info */
            ifnull 25
         7: .line 86
            aload 5 /* info */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* snippetMethod */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod snippetMethod
         8: .line 87
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            astore 7 /* replacements */
        start local 7 // org.graalvm.compiler.nodes.spi.Replacements replacements
         9: .line 88
            aconst_null
            astore 8 /* snippetGraph */
        start local 8 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
        10: .line 89
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 9 /* debug */
        start local 9 // org.graalvm.compiler.debug.DebugContext debug
        11: .line 90
            aconst_null
            astore 10
            aconst_null
            astore 11
        12: aload 9 /* debug */
            ldc "ArrayCloneSnippet"
            aload 6 /* snippetMethod */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* s */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
        13: .line 91
            aload 7 /* replacements */
            aload 6 /* snippetMethod */
            aconst_null
            aconst_null
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            aload 9 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            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/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 8 /* snippetGraph */
        14: .line 92
            aload 12 /* s */
            ifnull 22
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 22
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.spi.Replacements org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        15: astore 10
            aload 12 /* s */
            ifnull 16
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        16: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 11
            aload 10
            ifnonnull 18
            aload 11
            astore 10
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 10
            aload 11
            if_acmpeq 19
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.spi.Replacements org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        20: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        21: .line 93
            aload 9 /* debug */
            aload 10 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.Throwable e
        22: .line 96
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 23
            aload 8 /* snippetGraph */
            ifnonnull 23
            new java.lang.AssertionError
            dup
            ldc "ObjectCloneSnippets should be installed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 97
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 24
            aload 0 /* this */
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getConcreteType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ifnonnull 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* snippetGraph */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
            checkcast org.graalvm.compiler.nodes.StructuredGraph
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.lowerReplacement:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            areturn
        end local 9 // org.graalvm.compiler.debug.DebugContext debug
        end local 8 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
        end local 7 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod snippetMethod
        25: .line 100
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 44
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unhandled array type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            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 5 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo info
        end local 4 // org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates objectCloneSnippets
        end local 3 // org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider lowerer
        26: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            astore 3 /* assumptions */
        start local 3 // jdk.vm.ci.meta.Assumptions assumptions
        27: .line 103
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getObject:()Lorg/graalvm/compiler/nodes/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;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getConcreteType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 2 /* type */
        28: .line 104
            aload 2 /* type */
            ifnull 44
        29: .line 105
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            aload 3 /* assumptions */
            invokestatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.ifNonNull:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
            ldc "<clone>"
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.name:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* newGraph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph newGraph
        30: .line 106
            aload 4 /* newGraph */
            new org.graalvm.compiler.nodes.ParameterNode
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getObject:()Lorg/graalvm/compiler/nodes/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.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.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 5 /* param */
        start local 5 // org.graalvm.compiler.nodes.ParameterNode param
        31: .line 107
            aload 4 /* newGraph */
            new org.graalvm.compiler.nodes.java.NewInstanceNode
            dup
            aload 2 /* type */
            iconst_1
            invokespecial org.graalvm.compiler.nodes.java.NewInstanceNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.NewInstanceNode
            astore 6 /* newInstance */
        start local 6 // org.graalvm.compiler.nodes.java.NewInstanceNode newInstance
        32: .line 108
            aload 4 /* newGraph */
            aload 4 /* newGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            aload 6 /* newInstance */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        33: .line 109
            aload 4 /* newGraph */
            new org.graalvm.compiler.nodes.ReturnNode
            dup
            aload 6 /* newInstance */
            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
            astore 7 /* returnNode */
        start local 7 // org.graalvm.compiler.nodes.ReturnNode returnNode
        34: .line 110
            aload 4 /* newGraph */
            aload 6 /* newInstance */
            aload 7 /* returnNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        35: .line 112
            aload 2 /* type */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 41
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ParameterNode org.graalvm.compiler.nodes.java.NewInstanceNode org.graalvm.compiler.nodes.ReturnNode top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
        36: aload 11
            iload 9
            aaload
            astore 8 /* field */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaField field
        37: .line 113
            aload 4 /* newGraph */
            aload 4 /* newGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 5 /* param */
            aload 8 /* field */
            invokestatic org.graalvm.compiler.nodes.java.LoadFieldNode.create:(Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
            astore 12 /* load */
        start local 12 // org.graalvm.compiler.nodes.java.LoadFieldNode load
        38: .line 114
            aload 4 /* newGraph */
            aload 7 /* returnNode */
            aload 12 /* load */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        39: .line 115
            aload 4 /* newGraph */
            aload 7 /* returnNode */
            aload 4 /* newGraph */
            new org.graalvm.compiler.nodes.java.StoreFieldNode
            dup
            aload 6 /* newInstance */
            aload 8 /* field */
            aload 12 /* load */
            invokespecial org.graalvm.compiler.nodes.java.StoreFieldNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;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.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 12 // org.graalvm.compiler.nodes.java.LoadFieldNode load
        end local 8 // jdk.vm.ci.meta.ResolvedJavaField field
        40: .line 112
            iinc 9 1
      StackMap locals:
      StackMap stack:
        41: iload 9
            iload 10
            if_icmplt 36
        42: .line 117
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 43
            aload 0 /* this */
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getConcreteType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ifnonnull 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 118
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ParameterNode org.graalvm.compiler.nodes.java.NewInstanceNode org.graalvm.compiler.nodes.ReturnNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newGraph */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.lowerReplacement:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            areturn
        end local 7 // org.graalvm.compiler.nodes.ReturnNode returnNode
        end local 6 // org.graalvm.compiler.nodes.java.NewInstanceNode newInstance
        end local 5 // org.graalvm.compiler.nodes.ParameterNode param
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph newGraph
        end local 3 // jdk.vm.ci.meta.Assumptions assumptions
        44: .line 122
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 45
            aload 0 /* this */
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getConcreteType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ifnull 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 123
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   46     0                 this  Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            0   46     1                 tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   46     2                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
            4   26     3              lowerer  Lorg/graalvm/compiler/hotspot/meta/HotSpotLoweringProvider;
            5   26     4  objectCloneSnippets  Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets$Templates;
            6   26     5                 info  Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            8   25     6        snippetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            9   25     7         replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
           10   25     8         snippetGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           11   25     9                debug  Lorg/graalvm/compiler/debug/DebugContext;
           13   16    12                    s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           21   22    10                    e  Ljava/lang/Throwable;
           27   44     3          assumptions  Ljdk/vm/ci/meta/Assumptions;
           30   44     4             newGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           31   44     5                param  Lorg/graalvm/compiler/nodes/ParameterNode;
           32   44     6          newInstance  Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
           34   44     7           returnNode  Lorg/graalvm/compiler/nodes/ReturnNode;
           37   40     8                field  Ljdk/vm/ci/meta/ResolvedJavaField;
           38   40    12                 load  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
      Exception table:
        from    to  target  type
          13    14      15  any
          12    17      17  any
          11    20      20  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      tool  
}
SourceFile: "ObjectCloneNode.java"
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Templates = org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets$Templates of org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
  public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
  public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
  public MacroParams = org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams of org.graalvm.compiler.replacements.nodes.MacroNode
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()