public final class org.graalvm.compiler.hotspot.replacements.ObjectCloneNode extends org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode implements org.graalvm.compiler.nodes.spi.VirtualizableAllocation, org.graalvm.compiler.nodes.spi.ArrayLengthProvider
  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 56
            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 58
            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.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.replacements.ObjectCloneNode this
        start local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 3 // int bci
        start local 4 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 5 // org.graalvm.compiler.nodes.ValueNode receiver
         0: .line 61
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 1 /* invokeKind */
            aload 2 /* targetMethod */
            iload 3 /* bci */
            aload 4 /* returnStamp */
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 5 /* receiver */
            aastore
            invokespecial org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
         1: .line 62
            return
        end local 5 // org.graalvm.compiler.nodes.ValueNode receiver
        end local 4 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 3 // int bci
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        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    invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0    2     2  targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    2     3           bci  I
            0    2     4   returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    2     5      receiver  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      invokeKind    
      targetMethod  
      bci           
      returnStamp   
      receiver      

  protected 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: (0x0004) ACC_PROTECTED
    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 66
            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 67
            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 73
      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 79
            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 42
         2: .line 81
            aload 2 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 24
         3: .line 82
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneSnippets.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 java.lang.reflect.Method
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         4: .line 83
            aload 3 /* method */
            ifnull 23
         5: .line 84
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* method */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 4 /* snippetMethod */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod snippetMethod
         6: .line 85
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            astore 5 /* replacements */
        start local 5 // org.graalvm.compiler.nodes.spi.Replacements replacements
         7: .line 86
            aconst_null
            astore 6 /* snippetGraph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
         8: .line 87
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 7 /* debug */
        start local 7 // org.graalvm.compiler.debug.DebugContext debug
         9: .line 88
            aconst_null
            astore 8
            aconst_null
            astore 9
        10: aload 7 /* debug */
            ldc "ArrayCloneSnippet"
            aload 4 /* snippetMethod */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 10 /* s */
        start local 10 // org.graalvm.compiler.debug.DebugContext$Scope s
        11: .line 89
            aload 5 /* replacements */
            aload 4 /* snippetMethod */
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* snippetGraph */
        12: .line 90
            aload 10 /* s */
            ifnull 20
            aload 10 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 20
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType java.lang.reflect.Method 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
        13: astore 8
            aload 10 /* s */
            ifnull 14
            aload 10 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        14: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 9
            aload 8
            ifnonnull 16
            aload 9
            astore 8
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 8
            aload 9
            if_acmpeq 17
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 8
            athrow
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType java.lang.reflect.Method 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
        18: astore 8 /* e */
        start local 8 // java.lang.Throwable e
        19: .line 91
            aload 7 /* debug */
            aload 8 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // java.lang.Throwable e
        20: .line 94
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 21
            aload 6 /* snippetGraph */
            ifnonnull 21
            new java.lang.AssertionError
            dup
            ldc "ObjectCloneSnippets should be installed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        21: .line 95
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 22
            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 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* 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 7 // org.graalvm.compiler.debug.DebugContext debug
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph snippetGraph
        end local 5 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod snippetMethod
        23: .line 98
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ObjectCloneNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.ResolvedJavaType java.lang.reflect.Method
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 42
            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 3 // java.lang.reflect.Method method
        24: .line 100
      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
        25: .line 101
            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 */
        26: .line 102
            aload 2 /* type */
            ifnull 42
        27: .line 103
            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
            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
        28: .line 104
            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
        29: .line 105
            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
        30: .line 106
            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
        31: .line 107
            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
        32: .line 108
            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
        33: .line 110
            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 39
      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:
        34: aload 11
            iload 9
            aaload
            astore 8 /* field */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaField field
        35: .line 111
            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
        36: .line 112
            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
        37: .line 113
            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
        38: .line 110
            iinc 9 1
      StackMap locals:
      StackMap stack:
        39: iload 9
            iload 10
            if_icmplt 34
        40: .line 115
            getstatic org.graalvm.compiler.hotspot.replacements.ObjectCloneNode.$assertionsDisabled:Z
            ifne 41
            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 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 116
      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
        42: .line 120
      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 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;
            ifnull 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 121
      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   44     0           this  Lorg/graalvm/compiler/hotspot/replacements/ObjectCloneNode;
            0   44     1           tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   44     2           type  Ljdk/vm/ci/meta/ResolvedJavaType;
            4   24     3         method  Ljava/lang/reflect/Method;
            6   23     4  snippetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            7   23     5   replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            8   23     6   snippetGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            9   23     7          debug  Lorg/graalvm/compiler/debug/DebugContext;
           11   14    10              s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           19   20     8              e  Ljava/lang/Throwable;
           25   42     3    assumptions  Ljdk/vm/ci/meta/Assumptions;
           28   42     4       newGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           29   42     5          param  Lorg/graalvm/compiler/nodes/ParameterNode;
           30   42     6    newInstance  Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
           32   42     7     returnNode  Lorg/graalvm/compiler/nodes/ReturnNode;
           35   38     8          field  Ljdk/vm/ci/meta/ResolvedJavaField;
           36   38    12           load  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
      Exception table:
        from    to  target  type
          11    12      13  any
          10    15      15  any
           9    18      18  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 final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  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
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()