class org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12
  super_class: java.lang.Object
{
  private final jdk.vm.ci.meta.MetaAccessProvider val$metaAccess;
    descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 this
         0: .line 581
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins$12;
    MethodParameters:
                Name  Flags
      val$metaAccess  final

  public boolean apply(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.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=15, args_size=9
        start local 0 // org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
        start local 4 // org.graalvm.compiler.nodes.ValueNode data
        start local 5 // org.graalvm.compiler.nodes.ValueNode inOffset
        start local 6 // org.graalvm.compiler.nodes.ValueNode blocks
        start local 7 // org.graalvm.compiler.nodes.ValueNode state
        start local 8 // org.graalvm.compiler.nodes.ValueNode hashSubkey
         0: .line 591
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 9 /* longArrayBaseOffset */
        start local 9 // int longArrayBaseOffset
         1: .line 592
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12.val$metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 10 /* byteArrayBaseOffset */
        start local 10 // int byteArrayBaseOffset
         2: .line 593
            iload 10 /* byteArrayBaseOffset */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            aload 5 /* inOffset */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.AddNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* dataOffset */
        start local 11 // org.graalvm.compiler.nodes.ValueNode dataOffset
         3: .line 594
            aload 1 /* b */
            new org.graalvm.compiler.nodes.ComputeObjectAddressNode
            dup
            aload 4 /* data */
            aload 11 /* dataOffset */
            invokespecial org.graalvm.compiler.nodes.ComputeObjectAddressNode.<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.ComputeObjectAddressNode
            astore 12 /* dataAddress */
        start local 12 // org.graalvm.compiler.nodes.ComputeObjectAddressNode dataAddress
         4: .line 595
            aload 1 /* b */
            new org.graalvm.compiler.nodes.ComputeObjectAddressNode
            dup
            aload 7 /* state */
            iload 9 /* longArrayBaseOffset */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.ComputeObjectAddressNode.<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.ComputeObjectAddressNode
            astore 13 /* stateAddress */
        start local 13 // org.graalvm.compiler.nodes.ComputeObjectAddressNode stateAddress
         5: .line 596
            aload 1 /* b */
            new org.graalvm.compiler.nodes.ComputeObjectAddressNode
            dup
            aload 8 /* hashSubkey */
            iload 9 /* longArrayBaseOffset */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.ComputeObjectAddressNode.<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.ComputeObjectAddressNode
            astore 14 /* hashSubkeyAddress */
        start local 14 // org.graalvm.compiler.nodes.ComputeObjectAddressNode hashSubkeyAddress
         6: .line 597
            aload 1 /* b */
            new org.graalvm.compiler.nodes.extended.ForeignCallNode
            dup
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.GHASH_PROCESS_BLOCKS:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
            iconst_4
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 13 /* stateAddress */
            aastore
            dup
            iconst_1
            aload 14 /* hashSubkeyAddress */
            aastore
            dup
            iconst_2
            aload 12 /* dataAddress */
            aastore
            dup
            iconst_3
            aload 6 /* blocks */
            aastore
            invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         7: .line 598
            iconst_1
            ireturn
        end local 14 // org.graalvm.compiler.nodes.ComputeObjectAddressNode hashSubkeyAddress
        end local 13 // org.graalvm.compiler.nodes.ComputeObjectAddressNode stateAddress
        end local 12 // org.graalvm.compiler.nodes.ComputeObjectAddressNode dataAddress
        end local 11 // org.graalvm.compiler.nodes.ValueNode dataOffset
        end local 10 // int byteArrayBaseOffset
        end local 9 // int longArrayBaseOffset
        end local 8 // org.graalvm.compiler.nodes.ValueNode hashSubkey
        end local 7 // org.graalvm.compiler.nodes.ValueNode state
        end local 6 // org.graalvm.compiler.nodes.ValueNode blocks
        end local 5 // org.graalvm.compiler.nodes.ValueNode inOffset
        end local 4 // org.graalvm.compiler.nodes.ValueNode data
        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 b
        end local 0 // org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins$12;
            0    8     1                    b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    8     2         targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    8     3             receiver  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            0    8     4                 data  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     5             inOffset  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     6               blocks  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     7                state  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     8           hashSubkey  Lorg/graalvm/compiler/nodes/ValueNode;
            1    8     9  longArrayBaseOffset  I
            2    8    10  byteArrayBaseOffset  I
            3    8    11           dataOffset  Lorg/graalvm/compiler/nodes/ValueNode;
            4    8    12          dataAddress  Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;
            5    8    13         stateAddress  Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;
            6    8    14    hashSubkeyAddress  Lorg/graalvm/compiler/nodes/ComputeObjectAddressNode;
    MethodParameters:
              Name  Flags
      b             
      targetMethod  
      receiver      
      data          
      inOffset      
      blocks        
      state         
      hashSubkey    
}
SourceFile: "HotSpotGraphBuilderPlugins.java"
EnclosingMethod: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins.registerGHASHPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/MetaAccessProvider;)V
NestHost: org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins
InnerClasses:
  org.graalvm.compiler.hotspot.meta.HotSpotGraphBuilderPlugins$12
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin