class com.oracle.svm.hosted.c.CGlobalDataFeature$1 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.hosted.c.CGlobalDataFeature$1
  super_class: java.lang.Object
{
  final com.oracle.svm.hosted.c.CGlobalDataFeature this$0;
    descriptor: Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.svm.hosted.c.CGlobalDataFeature);
    descriptor: (Lcom/oracle/svm/hosted/c/CGlobalDataFeature;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.c.CGlobalDataFeature$1 this
         0: .line 125
            aload 0 /* this */
            aload 1
            putfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.hosted.c.CGlobalDataFeature$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/c/CGlobalDataFeature$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public boolean apply(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=27, args_size=4
        start local 0 // com.oracle.svm.hosted.c.CGlobalDataFeature$1 this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext builderContext
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
         0: .line 128
            aload 3 /* receiver */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver.get:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* cGlobalDataNode */
        start local 4 // org.graalvm.compiler.nodes.ValueNode cGlobalDataNode
         1: .line 129
            aload 4 /* cGlobalDataNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 6
         2: .line 130
            aload 4 /* cGlobalDataNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.c.CGlobalDataImpl
            astore 5 /* data */
        start local 5 // com.oracle.svm.core.c.CGlobalDataImpl data
         3: .line 131
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.map:Ljava/util/Map;
            aload 5 /* data */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.graal.code.CGlobalDataInfo
            astore 6 /* info */
        start local 6 // com.oracle.svm.core.graal.code.CGlobalDataInfo info
         4: .line 132
            aload 1 /* builderContext */
            aload 2 /* targetMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            new com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode
            dup
            aload 6 /* info */
            invokespecial com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.<init>:(Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        end local 6 // com.oracle.svm.core.graal.code.CGlobalDataInfo info
        end local 5 // com.oracle.svm.core.c.CGlobalDataImpl data
         5: .line 133
            goto 50
         6: .line 134
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.nonConstantRegistryJavaConstant:Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            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 5 /* nonConstantRegistryNode */
        start local 5 // org.graalvm.compiler.nodes.ConstantNode nonConstantRegistryNode
         7: .line 136
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.getCGlobalDataInfoMethod:Ljava/lang/reflect/Method;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* getCGlobalDataInfoResolvedMethod */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod getCGlobalDataInfoResolvedMethod
         8: .line 137
            aload 1 /* builderContext */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aload 6 /* getCGlobalDataInfoResolvedMethod */
         9: .line 138
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 5 /* nonConstantRegistryNode */
            aastore
            dup
            iconst_1
            aload 4 /* cGlobalDataNode */
            aastore
            iconst_0
        10: .line 137
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 7 /* cGlobalDataInfo */
        start local 7 // org.graalvm.compiler.nodes.ValueNode cGlobalDataInfo
        11: .line 139
            aload 1 /* builderContext */
            aload 7 /* cGlobalDataInfo */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.pop:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        12: .line 141
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 8 /* resolvedJavaType */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaType resolvedJavaType
        13: .line 142
            aload 8 /* resolvedJavaType */
            instanceof com.oracle.graal.pointsto.meta.AnalysisType
            ifeq 15
        14: .line 143
            aload 8 /* resolvedJavaType */
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsReachable:()V
        15: .line 146
      StackMap locals: com.oracle.svm.hosted.c.CGlobalDataFeature$1 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ConstantNode jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.offsetField:Ljava/lang/reflect/Field;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaField:(Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 9 /* offset */
        start local 9 // jdk.vm.ci.meta.ResolvedJavaField offset
        16: .line 147
            aload 1 /* builderContext */
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 7 /* cGlobalDataInfo */
            aload 9 /* offset */
            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;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* offsetFieldNode */
        start local 10 // org.graalvm.compiler.nodes.ValueNode offsetFieldNode
        17: .line 149
            aload 1 /* builderContext */
            new com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.cGlobalDataBaseAddress:Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
            invokespecial com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.<init>:(Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode
            astore 11 /* cGlobalDataBaseAddressNode */
        start local 11 // com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode cGlobalDataBaseAddressNode
        18: .line 151
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
        19: .line 152
            aload 10 /* offsetFieldNode */
            aload 11 /* cGlobalDataBaseAddressNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.IntegerStamp.getBits:(Lorg/graalvm/compiler/core/common/type/Stamp;)I
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.SignExtendNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
        20: .line 151
            astore 12 /* cGlobalDataInfoOffsetWidened */
        start local 12 // org.graalvm.compiler.nodes.ValueNode cGlobalDataInfoOffsetWidened
        21: .line 153
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 11 /* cGlobalDataBaseAddressNode */
            aload 12 /* cGlobalDataInfoOffsetWidened */
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            astore 13 /* cGlobalDataAddress */
        start local 13 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode cGlobalDataAddress
        22: .line 156
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature$1.this$0:Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            getfield com.oracle.svm.hosted.c.CGlobalDataFeature.isSymbolReferenceField:Ljava/lang/reflect/Field;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaField:(Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 14 /* isSymbolReference */
        start local 14 // jdk.vm.ci.meta.ResolvedJavaField isSymbolReference
        23: .line 157
            aload 1 /* builderContext */
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 7 /* cGlobalDataInfo */
            aload 14 /* isSymbolReference */
            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;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 15 /* isSymbolReferenceNode */
        start local 15 // org.graalvm.compiler.nodes.ValueNode isSymbolReferenceNode
        24: .line 158
            aload 15 /* isSymbolReferenceNode */
            iconst_0
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.IntegerEqualsNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 16 /* logicNode */
        start local 16 // org.graalvm.compiler.nodes.LogicNode logicNode
        25: .line 160
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 13 /* cGlobalDataAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 13 /* cGlobalDataAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 17 /* calculatedAddress */
        start local 17 // org.graalvm.compiler.nodes.calc.AddNode calculatedAddress
        26: .line 161
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.memory.ReadNode
            dup
        27: .line 162
            aload 13 /* cGlobalDataAddress */
        28: .line 163
            getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ANY_LOCATION:Lorg/graalvm/word/LocationIdentity;
        29: .line 164
            aload 11 /* cGlobalDataBaseAddressNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
        30: .line 165
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
        31: .line 161
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 18 /* cGlobalDataValue */
        start local 18 // org.graalvm.compiler.nodes.memory.ReadNode cGlobalDataValue
        32: .line 167
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 19 /* trueBegin */
        start local 19 // org.graalvm.compiler.nodes.AbstractBeginNode trueBegin
        33: .line 168
            aload 19 /* trueBegin */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 20 /* predecessor */
        start local 20 // org.graalvm.compiler.nodes.FixedWithNextNode predecessor
        34: .line 169
            aload 20 /* predecessor */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        35: .line 170
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 21 /* falseBegin */
        start local 21 // org.graalvm.compiler.nodes.AbstractBeginNode falseBegin
        36: .line 171
            aload 19 /* trueBegin */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        37: .line 172
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.IfNode
            dup
            aload 16 /* logicNode */
            aload 19 /* trueBegin */
            aload 21 /* falseBegin */
            ldc 0.0010000000000000009
            invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 22 /* ifNode */
        start local 22 // org.graalvm.compiler.nodes.IfNode ifNode
        38: .line 173
            aload 21 /* falseBegin */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        39: .line 174
            aload 20 /* predecessor */
            aload 22 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        40: .line 176
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 23 /* thenEnd */
        start local 23 // org.graalvm.compiler.nodes.EndNode thenEnd
        41: .line 177
            aload 19 /* trueBegin */
            aload 23 /* thenEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        42: .line 178
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 24 /* elseEnd */
        start local 24 // org.graalvm.compiler.nodes.EndNode elseEnd
        43: .line 179
            aload 21 /* falseBegin */
            aload 24 /* elseEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        44: .line 180
            aload 1 /* builderContext */
            new org.graalvm.compiler.nodes.MergeNode
            dup
            invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 25 /* merge */
        start local 25 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        45: .line 181
            aload 25 /* merge */
            aload 23 /* thenEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        46: .line 182
            aload 25 /* merge */
            aload 24 /* elseEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        47: .line 184
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 11 /* cGlobalDataBaseAddressNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 25 /* merge */
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 17 /* calculatedAddress */
            aastore
            dup
            iconst_1
            aload 18 /* cGlobalDataValue */
            aastore
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 26 /* phiNode */
        start local 26 // org.graalvm.compiler.nodes.ValuePhiNode phiNode
        48: .line 185
            aload 1 /* builderContext */
            aload 2 /* targetMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* builderContext */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 26 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        49: .line 186
            aload 1 /* builderContext */
            aload 25 /* merge */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.setStateAfter:(Lorg/graalvm/compiler/nodes/StateSplit;)V
        end local 26 // org.graalvm.compiler.nodes.ValuePhiNode phiNode
        end local 25 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 24 // org.graalvm.compiler.nodes.EndNode elseEnd
        end local 23 // org.graalvm.compiler.nodes.EndNode thenEnd
        end local 22 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 21 // org.graalvm.compiler.nodes.AbstractBeginNode falseBegin
        end local 20 // org.graalvm.compiler.nodes.FixedWithNextNode predecessor
        end local 19 // org.graalvm.compiler.nodes.AbstractBeginNode trueBegin
        end local 18 // org.graalvm.compiler.nodes.memory.ReadNode cGlobalDataValue
        end local 17 // org.graalvm.compiler.nodes.calc.AddNode calculatedAddress
        end local 16 // org.graalvm.compiler.nodes.LogicNode logicNode
        end local 15 // org.graalvm.compiler.nodes.ValueNode isSymbolReferenceNode
        end local 14 // jdk.vm.ci.meta.ResolvedJavaField isSymbolReference
        end local 13 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode cGlobalDataAddress
        end local 12 // org.graalvm.compiler.nodes.ValueNode cGlobalDataInfoOffsetWidened
        end local 11 // com.oracle.svm.core.graal.nodes.CGlobalDataLoadAddressNode cGlobalDataBaseAddressNode
        end local 10 // org.graalvm.compiler.nodes.ValueNode offsetFieldNode
        end local 9 // jdk.vm.ci.meta.ResolvedJavaField offset
        end local 8 // jdk.vm.ci.meta.ResolvedJavaType resolvedJavaType
        end local 7 // org.graalvm.compiler.nodes.ValueNode cGlobalDataInfo
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod getCGlobalDataInfoResolvedMethod
        end local 5 // org.graalvm.compiler.nodes.ConstantNode nonConstantRegistryNode
        50: .line 188
      StackMap locals: com.oracle.svm.hosted.c.CGlobalDataFeature$1 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.graalvm.compiler.nodes.ValueNode cGlobalDataNode
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext builderContext
        end local 0 // com.oracle.svm.hosted.c.CGlobalDataFeature$1 this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   51     0                              this  Lcom/oracle/svm/hosted/c/CGlobalDataFeature$1;
            0   51     1                    builderContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   51     2                      targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   51     3                          receiver  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            1   51     4                   cGlobalDataNode  Lorg/graalvm/compiler/nodes/ValueNode;
            3    5     5                              data  Lcom/oracle/svm/core/c/CGlobalDataImpl<*>;
            4    5     6                              info  Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
            7   50     5           nonConstantRegistryNode  Lorg/graalvm/compiler/nodes/ConstantNode;
            8   50     6  getCGlobalDataInfoResolvedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           11   50     7                   cGlobalDataInfo  Lorg/graalvm/compiler/nodes/ValueNode;
           13   50     8                  resolvedJavaType  Ljdk/vm/ci/meta/ResolvedJavaType;
           16   50     9                            offset  Ljdk/vm/ci/meta/ResolvedJavaField;
           17   50    10                   offsetFieldNode  Lorg/graalvm/compiler/nodes/ValueNode;
           18   50    11        cGlobalDataBaseAddressNode  Lcom/oracle/svm/core/graal/nodes/CGlobalDataLoadAddressNode;
           21   50    12      cGlobalDataInfoOffsetWidened  Lorg/graalvm/compiler/nodes/ValueNode;
           22   50    13                cGlobalDataAddress  Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
           23   50    14                 isSymbolReference  Ljdk/vm/ci/meta/ResolvedJavaField;
           24   50    15             isSymbolReferenceNode  Lorg/graalvm/compiler/nodes/ValueNode;
           25   50    16                         logicNode  Lorg/graalvm/compiler/nodes/LogicNode;
           26   50    17                 calculatedAddress  Lorg/graalvm/compiler/nodes/calc/AddNode;
           32   50    18                  cGlobalDataValue  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           33   50    19                         trueBegin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           34   50    20                       predecessor  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           36   50    21                        falseBegin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           38   50    22                            ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           41   50    23                           thenEnd  Lorg/graalvm/compiler/nodes/EndNode;
           43   50    24                           elseEnd  Lorg/graalvm/compiler/nodes/EndNode;
           45   50    25                             merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           48   50    26                           phiNode  Lorg/graalvm/compiler/nodes/ValuePhiNode;
    MethodParameters:
                Name  Flags
      builderContext  
      targetMethod    
      receiver        
}
SourceFile: "CGlobalDataFeature.java"
EnclosingMethod: com.oracle.svm.hosted.c.CGlobalDataFeature.registerInvocationPlugins:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;ZZ)V
NestHost: com.oracle.svm.hosted.c.CGlobalDataFeature
InnerClasses:
  com.oracle.svm.hosted.c.CGlobalDataFeature$1
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess