public class org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins this
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins;

  public static void register(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins, org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.amd64.AMD64, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/amd64/AMD64;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
        start local 2 // jdk.vm.ci.amd64.AMD64 arch
        start local 3 // boolean arithmeticStubs
         0: .line 70
            aload 0 /* plugins */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            astore 4 /* invocationPlugins */
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
         1: .line 71
            aload 4 /* invocationPlugins */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$1
            dup
            aload 4 /* invocationPlugins */
            aload 2 /* arch */
            aload 1 /* replacementsBytecodeProvider */
            iload 3 /* arithmeticStubs */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$1.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.defer:(Ljava/lang/Runnable;)V
         2: .line 82
            return
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        end local 3 // boolean arithmeticStubs
        end local 2 // jdk.vm.ci.amd64.AMD64 arch
        end local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    3     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            0    3     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            0    3     2                          arch  Ljdk/vm/ci/amd64/AMD64;
            0    3     3               arithmeticStubs  Z
            1    3     4             invocationPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  
      arch                          
      arithmeticStubs               

  private static void registerIntegerLongPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, java.lang.Class<?>, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.amd64.AMD64, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/Class;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // java.lang.Class substituteDeclaringClass
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // jdk.vm.ci.amd64.AMD64 arch
        start local 4 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 85
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
            astore 5 /* declaringClass */
        start local 5 // java.lang.Class declaringClass
         1: .line 86
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
            astore 6 /* type */
        start local 6 // java.lang.Class type
         2: .line 87
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            aload 5 /* declaringClass */
            aload 4 /* bytecodeProvider */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
            astore 7 /* r */
        start local 7 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         3: .line 88
            aload 3 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.LZCNT:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 6
            aload 3 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFlags:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountLeadingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 89
            aload 7 /* r */
            ldc "numberOfLeadingZeros"
            aload 6 /* type */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$2
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$2.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         5: .line 101
            goto 7
         6: .line 102
      StackMap locals: java.lang.Class java.lang.Class org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
      StackMap stack:
            aload 7 /* r */
            aload 1 /* substituteDeclaringClass */
            ldc "numberOfLeadingZeros"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 6 /* type */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         7: .line 104
      StackMap locals:
      StackMap stack:
            aload 3 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 10
            aload 3 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFlags:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountTrailingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 105
            aload 7 /* r */
            ldc "numberOfTrailingZeros"
            aload 6 /* type */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$3
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$3.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         9: .line 117
            goto 11
        10: .line 118
      StackMap locals:
      StackMap stack:
            aload 7 /* r */
            aload 1 /* substituteDeclaringClass */
            ldc "numberOfTrailingZeros"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 6 /* type */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        11: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.POPCNT:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 122
            aload 7 /* r */
            ldc "bitCount"
            aload 6 /* type */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$4
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$4.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        13: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 6 // java.lang.Class type
        end local 5 // java.lang.Class declaringClass
        end local 4 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        end local 3 // jdk.vm.ci.amd64.AMD64 arch
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // java.lang.Class substituteDeclaringClass
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   14     0                   plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   14     1  substituteDeclaringClass  Ljava/lang/Class<*>;
            0   14     2                      kind  Ljdk/vm/ci/meta/JavaKind;
            0   14     3                      arch  Ljdk/vm/ci/amd64/AMD64;
            0   14     4          bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1   14     5            declaringClass  Ljava/lang/Class<*>;
            2   14     6                      type  Ljava/lang/Class<*>;
            3   14     7                         r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    Signature: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/Class<*>;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    MethodParameters:
                          Name  Flags
      plugins                   
      substituteDeclaringClass  
      kind                      
      arch                      
      bytecodeProvider          

  private static void registerMathPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, jdk.vm.ci.amd64.AMD64, boolean, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/amd64/AMD64;ZLorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // jdk.vm.ci.amd64.AMD64 arch
        start local 2 // boolean arithmeticStubs
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 133
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/lang/Math;
            aload 3 /* bytecodeProvider */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
            astore 4 /* r */
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         1: .line 134
            aload 4 /* r */
            ldc "log"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         2: .line 135
            aload 4 /* r */
            ldc "log10"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG10:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         3: .line 136
            aload 4 /* r */
            ldc "exp"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.EXP:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         4: .line 137
            aload 4 /* r */
            ldc "pow"
            getstatic org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.POW:Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerBinaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)V
         5: .line 138
            iload 2 /* arithmeticStubs */
            ifeq 10
         6: .line 139
            aload 4 /* r */
            ldc "sin"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.SIN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         7: .line 140
            aload 4 /* r */
            ldc "cos"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.COS:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         8: .line 141
            aload 4 /* r */
            ldc "tan"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.TAN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         9: .line 142
            goto 13
        10: .line 143
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
      StackMap stack:
            aload 4 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64MathSubstitutions;
            ldc "sin"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        11: .line 144
            aload 4 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64MathSubstitutions;
            ldc "cos"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        12: .line 145
            aload 4 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64MathSubstitutions;
            ldc "tan"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        13: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4_1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 17
        14: .line 149
            aload 4 /* r */
            ldc "rint"
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.NEAREST:Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)V
        15: .line 150
            aload 4 /* r */
            ldc "ceil"
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.UP:Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)V
        16: .line 151
            aload 4 /* r */
            ldc "floor"
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.DOWN:Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)V
        17: .line 153
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        end local 2 // boolean arithmeticStubs
        end local 1 // jdk.vm.ci.amd64.AMD64 arch
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0           plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   18     1              arch  Ljdk/vm/ci/amd64/AMD64;
            0   18     2   arithmeticStubs  Z
            0   18     3  bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1   18     4                 r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                  Name  Flags
      plugins           
      arch              
      arithmeticStubs   
      bytecodeProvider  

  private static void registerUnaryMath(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, java.lang.String, org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation operation
         0: .line 156
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5
            dup
            aload 2 /* operation */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5.<init>:(Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         1: .line 163
            return
        end local 2 // org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation operation
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1       name  Ljava/lang/String;
            0    2     2  operation  Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
    MethodParameters:
           Name  Flags
      r          
      name       
      operation  

  private static void registerBinaryMath(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, java.lang.String, org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation operation
         0: .line 166
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6
            dup
            aload 2 /* operation */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6.<init>:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         1: .line 173
            return
        end local 2 // org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation operation
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1       name  Ljava/lang/String;
            0    2     2  operation  Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
    MethodParameters:
           Name  Flags
      r          
      name       
      operation  

  private static void registerRound(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, java.lang.String, org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
         0: .line 176
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7
            dup
            aload 2 /* mode */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         1: .line 183
            return
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1  name  Ljava/lang/String;
            0    2     2  mode  Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
    MethodParameters:
      Name  Flags
      r     
      name  
      mode  

  private static void registerStringPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, jdk.vm.ci.amd64.AMD64, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // jdk.vm.ci.amd64.AMD64 arch
        start local 2 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
         0: .line 186
            getstatic org.graalvm.compiler.serviceprovider.JDK9Method.Java8OrEarlier:Z
            ifeq 6
            aload 1 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4_2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 188
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/lang/String;
            aload 2 /* replacementsBytecodeProvider */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
            astore 3 /* r */
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         2: .line 189
            aload 3 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
         3: .line 190
            aload 3 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions;
            ldc "indexOf"
            bipush 7
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [C
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
         4: .line 191
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            ldc [C
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_5
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            bipush 6
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
         5: .line 190
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         6: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
        end local 1 // jdk.vm.ci.amd64.AMD64 arch
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    7     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    7     1                          arch  Ljdk/vm/ci/amd64/AMD64;
            0    7     2  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            2    6     3                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                              Name  Flags
      plugins                       
      arch                          
      replacementsBytecodeProvider  

  private static void registerUnsafePlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
         0: .line 197
            getstatic org.graalvm.compiler.serviceprovider.JDK9Method.Java8OrEarlier:Z
            ifeq 3
         1: .line 198
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Lsun/misc/Unsafe;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
            astore 2 /* r */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         2: .line 199
            goto 4
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         3: .line 200
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc "jdk.internal.misc.Unsafe"
            aload 1 /* replacementsBytecodeProvider */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
            astore 2 /* r */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         4: .line 202
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
      StackMap stack:
            iconst_3
            anewarray jdk.vm.ci.meta.JavaKind
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 13
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* kind */
        start local 3 // jdk.vm.ci.meta.JavaKind kind
         6: .line 203
            aload 3 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 7
            ldc Ljava/lang/Object;
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         7: aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         8: astore 7 /* javaClass */
        start local 7 // java.lang.Class javaClass
         9: .line 205
            aload 2 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndSet"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            ldc Ljava/lang/Object;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 7 /* javaClass */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8
            dup
            aload 3 /* kind */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8.<init>:(Ljdk/vm/ci/meta/JavaKind;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register4:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        10: .line 215
            aload 3 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 12
        11: .line 216
            aload 2 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndAdd"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            ldc Ljava/lang/Object;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 7 /* javaClass */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$9
            dup
            aload 3 /* kind */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$9.<init>:(Ljdk/vm/ci/meta/JavaKind;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register4:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        end local 7 // java.lang.Class javaClass
        end local 3 // jdk.vm.ci.meta.JavaKind kind
        12: .line 202
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        13: iload 4
            iload 5
            if_icmplt 5
        14: .line 230
            iconst_4
            anewarray jdk.vm.ci.meta.JavaKind
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 6
            iload 4
            aaload
            astore 3 /* kind */
        start local 3 // jdk.vm.ci.meta.JavaKind kind
        16: .line 231
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
            astore 7 /* javaClass */
        start local 7 // java.lang.Class javaClass
        17: .line 232
            aload 2 /* r */
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Unaligned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            ldc Ljava/lang/Object;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafeGetPlugin
            dup
            aload 3 /* kind */
            iconst_0
            invokespecial org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafeGetPlugin.<init>:(Ljdk/vm/ci/meta/JavaKind;Z)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerOptional3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        18: .line 233
            aload 2 /* r */
            new java.lang.StringBuilder
            dup
            ldc "put"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Unaligned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            ldc Ljava/lang/Object;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 7 /* javaClass */
            new org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafePutPlugin
            dup
            aload 3 /* kind */
            iconst_0
            invokespecial org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafePutPlugin.<init>:(Ljdk/vm/ci/meta/JavaKind;Z)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerOptional4:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        end local 7 // java.lang.Class javaClass
        end local 3 // jdk.vm.ci.meta.JavaKind kind
        19: .line 230
            iinc 4 1
      StackMap locals:
      StackMap stack:
        20: iload 4
            iload 5
            if_icmplt 15
        21: .line 235
            return
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   22     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   22     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            2    3     2                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            4   22     2                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            6   12     3                          kind  Ljdk/vm/ci/meta/JavaKind;
            9   12     7                     javaClass  Ljava/lang/Class<*>;
           16   19     3                          kind  Ljdk/vm/ci/meta/JavaKind;
           17   19     7                     javaClass  Ljava/lang/Class<*>;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  

  private static void registerArraysEqualsPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 238
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/util/Arrays;
            aload 1 /* bytecodeProvider */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
            astore 2 /* r */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         1: .line 239
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/ArraysSubstitutions;
            ldc "equals"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [F
            aastore
            dup
            iconst_1
            ldc [F
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         2: .line 240
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/ArraysSubstitutions;
            ldc "equals"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [D
            aastore
            dup
            iconst_1
            ldc [D
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         3: .line 241
            return
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 1 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0           plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    4     1  bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1    4     2                 r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                  Name  Flags
      plugins           
      bytecodeProvider  
}
SourceFile: "AMD64GraphBuilderPlugins.java"
NestMembers:
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$1  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$2  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$3  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$4  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$9
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public final Flag = jdk.vm.ci.amd64.AMD64$Flag of jdk.vm.ci.amd64.AMD64
  public final RoundingMode = org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode of org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
  public UnsafeGetPlugin = org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafeGetPlugin of org.graalvm.compiler.replacements.StandardGraphBuilderPlugins
  public UnsafePutPlugin = org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafePutPlugin of org.graalvm.compiler.replacements.StandardGraphBuilderPlugins
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$1
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$2
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$3
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$4
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$9
  public final BinaryOperation = org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation of org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
  public final UnaryOperation = org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation of org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode