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 72
            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, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/amd64/AMD64;ZZZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=6
        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 explicitUnsafeNullChecks
        start local 4 // boolean emitJDK9StringSubstitutions
        start local 5 // boolean useFMAIntrinsics
         0: .line 76
            aload 0 /* plugins */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            astore 6 /* invocationPlugins */
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
         1: .line 77
            aload 6 /* invocationPlugins */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$1
            dup
            aload 6 /* invocationPlugins */
            aload 2 /* arch */
            aload 1 /* replacementsBytecodeProvider */
            iload 3 /* explicitUnsafeNullChecks */
            iload 4 /* emitJDK9StringSubstitutions */
            iload 5 /* useFMAIntrinsics */
            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;ZZZ)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.defer:(Ljava/lang/Runnable;)V
         2: .line 95
            return
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        end local 5 // boolean useFMAIntrinsics
        end local 4 // boolean emitJDK9StringSubstitutions
        end local 3 // boolean explicitUnsafeNullChecks
        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      explicitUnsafeNullChecks  Z
            0    3     4   emitJDK9StringSubstitutions  Z
            0    3     5              useFMAIntrinsics  Z
            1    3     6             invocationPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  
      arch                          
      explicitUnsafeNullChecks      
      emitJDK9StringSubstitutions   
      useFMAIntrinsics              

  private static void registerThreadPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, jdk.vm.ci.amd64.AMD64);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/amd64/AMD64;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // jdk.vm.ci.amd64.AMD64 arch
         0: .line 98
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java8OrEarlier:Z
            ifne 4
         1: .line 100
            aload 1 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 101
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/lang/Thread;
            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
         3: .line 102
            aload 2 /* r */
            ldc "onSpinWait"
            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.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         4: .line 111
      StackMap locals:
      StackMap stack:
            return
        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    5     0  plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    5     1     arch  Ljdk/vm/ci/amd64/AMD64;
            3    4     2        r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
         Name  Flags
      plugins  
      arch     

  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 114
            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 115
            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 116
            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 117
            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
         4: .line 118
            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 7
            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 7
         5: .line 119
            aload 7 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
         6: .line 120
            aload 7 /* r */
            ldc "numberOfLeadingZeros"
            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
         7: .line 134
      StackMap locals: java.lang.Class java.lang.Class org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
      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
         8: .line 135
            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 11
            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 11
         9: .line 136
            aload 7 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
        10: .line 137
            aload 7 /* r */
            ldc "numberOfTrailingZeros"
            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
        11: .line 152
      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 153
            aload 7 /* r */
            ldc "bitCount"
            aload 6 /* type */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$5.<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 162
      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, boolean, jdk.vm.ci.amd64.AMD64, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;ZLjdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // boolean useFMAIntrinsics
        start local 2 // jdk.vm.ci.amd64.AMD64 arch
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 165
            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 166
            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 167
            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 168
            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 169
            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 170
            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
         6: .line 171
            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
         7: .line 172
            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
         8: .line 174
            aload 2 /* 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 12
         9: .line 175
            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
        10: .line 176
            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
        11: .line 177
            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
        12: .line 180
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
      StackMap stack:
            iload 1 /* useFMAIntrinsics */
            ifeq 14
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java8OrEarlier:Z
            ifne 14
            aload 2 /* arch */
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.FMA:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 181
            aload 4 /* r */
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerFMA:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;)V
        14: .line 183
      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 // jdk.vm.ci.amd64.AMD64 arch
        end local 1 // boolean useFMAIntrinsics
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0           plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   15     1  useFMAIntrinsics  Z
            0   15     2              arch  Ljdk/vm/ci/amd64/AMD64;
            0   15     3  bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1   15     4                 r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                  Name  Flags
      plugins           
      useFMAIntrinsics  
      arch              
      bytecodeProvider  

  private static void registerFMA(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         0: .line 186
            aload 0 /* r */
            ldc "fma"
         1: .line 187
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
         2: .line 188
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
         3: .line 189
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
         4: .line 190
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$6.<init>:()V
         5: .line 186
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         6: .line 202
            aload 0 /* r */
            ldc "fma"
         7: .line 203
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
         8: .line 204
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
         9: .line 205
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
        10: .line 206
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7
            dup
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$7.<init>:()V
        11: .line 202
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
        12: .line 218
            return
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
      Name  Flags
      r     

  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 221
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8
            dup
            aload 2 /* operation */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$8.<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 228
            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 231
            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$9
            dup
            aload 2 /* operation */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$9.<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 238
            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 241
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$10
            dup
            aload 2 /* mode */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$10.<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 248
            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, 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 replacementsBytecodeProvider
         0: .line 251
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java8OrEarlier:Z
            ifeq 8
         1: .line 253
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/lang/String;
            aload 1 /* 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 2 /* r */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         2: .line 254
            aload 2 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
         3: .line 255
            aload 2 /* 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 256
            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 255
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         6: .line 257
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions;
            ldc "indexOf"
            iconst_3
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.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
         7: .line 258
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions;
            ldc "compareTo"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         8: .line 260
      StackMap locals:
      StackMap stack:
            return
        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    9     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    9     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            2    8     2                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  

  private static void registerStringLatin1Plugins(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 replacementsBytecodeProvider
         0: .line 263
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc "java.lang.StringLatin1"
            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
         1: .line 264
            aload 2 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
         2: .line 265
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "compareTo"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            ldc [B
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         3: .line 266
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "compareToUTF16"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            ldc [B
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         4: .line 267
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "inflate"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [C
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         5: .line 268
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "inflate"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         6: .line 269
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "indexOf"
            iconst_3
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.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
         7: .line 270
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions;
            ldc "indexOf"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         8: .line 271
            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    9     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    9     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1    9     2                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  

  private static void registerStringUTF16Plugins(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 replacementsBytecodeProvider
         0: .line 274
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc "java.lang.StringUTF16"
            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
         1: .line 275
            aload 2 /* r */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            pop
         2: .line 276
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "compareTo"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            ldc [B
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         3: .line 277
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "compareToLatin1"
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            ldc [B
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         4: .line 278
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "compress"
            iconst_5
            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
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         5: .line 279
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "compress"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         6: .line 280
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "indexOfCharUnsafe"
            iconst_4
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.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
         7: .line 281
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "indexOfUnsafe"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         8: .line 282
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions;
            ldc "indexOfLatin1Unsafe"
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            ldc [B
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc [B
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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
         9: .line 283
            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   10     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   10     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1   10     2                             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  

  private static void registerUnsafePlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.bytecode.BytecodeProvider, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
        start local 2 // boolean explicitUnsafeNullChecks
         0: .line 286
            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
            iload 2 /* explicitUnsafeNullChecks */
            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
            iconst_1
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnsafePlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Z[Ljdk/vm/ci/meta/JavaKind;Z)V
         1: .line 287
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java8OrEarlier:Z
            ifne 5
         2: .line 288
            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
            iload 2 /* explicitUnsafeNullChecks */
         3: .line 289
            bipush 7
            anewarray jdk.vm.ci.meta.JavaKind
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aastore
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java11OrEarlier:Z
         4: .line 288
            invokestatic org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins.registerUnsafePlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Z[Ljdk/vm/ci/meta/JavaKind;Z)V
         5: .line 291
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean explicitUnsafeNullChecks
        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    6     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    6     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            0    6     2      explicitUnsafeNullChecks  Z
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  
      explicitUnsafeNullChecks      

  private static void registerUnsafePlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, boolean, jdk.vm.ci.meta.JavaKind[], boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Z[Ljdk/vm/ci/meta/JavaKind;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        start local 1 // boolean explicitUnsafeNullChecks
        start local 2 // jdk.vm.ci.meta.JavaKind[] unsafeJavaKinds
        start local 3 // boolean java11OrEarlier
         0: .line 294
            aload 2 /* unsafeJavaKinds */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration int jdk.vm.ci.meta.JavaKind[] int top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* kind */
        start local 4 // jdk.vm.ci.meta.JavaKind kind
         2: .line 295
            aload 4 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 3
            ldc Ljava/lang/Object;
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration int jdk.vm.ci.meta.JavaKind[] int jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         3: aload 4 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         4: astore 8 /* javaClass */
        start local 8 // java.lang.Class javaClass
         5: .line 296
            aload 4 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
            iload 3 /* java11OrEarlier */
            ifne 6
            ldc "Reference"
            goto 7
      StackMap locals: java.lang.Class
      StackMap stack:
         6: aload 4 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 9 /* kindName */
        start local 9 // java.lang.String kindName
         8: .line 297
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndSet"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* kindName */
            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 8 /* javaClass */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$11
            dup
            aload 4 /* kind */
            iload 1 /* explicitUnsafeNullChecks */
            aload 4 /* kind */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$11.<init>:(Ljdk/vm/ci/meta/JavaKind;ZLjdk/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
         9: .line 306
            aload 4 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 11
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 11
        10: .line 307
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndAdd"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* kindName */
            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 8 /* javaClass */
            new org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$12
            dup
            aload 4 /* kind */
            iload 1 /* explicitUnsafeNullChecks */
            aload 4 /* kind */
            invokespecial org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$12.<init>:(Ljdk/vm/ci/meta/JavaKind;ZLjdk/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 9 // java.lang.String kindName
        end local 8 // java.lang.Class javaClass
        end local 4 // jdk.vm.ci.meta.JavaKind kind
        11: .line 294
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration int jdk.vm.ci.meta.JavaKind[] int top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 1
        13: .line 319
            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 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 19
      StackMap locals:
      StackMap stack:
        14: aload 7
            iload 5
            aaload
            astore 4 /* kind */
        start local 4 // jdk.vm.ci.meta.JavaKind kind
        15: .line 320
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
            astore 8 /* javaClass */
        start local 8 // java.lang.Class javaClass
        16: .line 321
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* 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 4 /* kind */
            iload 1 /* explicitUnsafeNullChecks */
            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
        17: .line 322
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "put"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* 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 8 /* javaClass */
            new org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$UnsafePutPlugin
            dup
            aload 4 /* kind */
            iload 1 /* explicitUnsafeNullChecks */
            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 8 // java.lang.Class javaClass
        end local 4 // jdk.vm.ci.meta.JavaKind kind
        18: .line 319
            iinc 5 1
      StackMap locals:
      StackMap stack:
        19: iload 5
            iload 6
            if_icmplt 14
        20: .line 324
            return
        end local 3 // boolean java11OrEarlier
        end local 2 // jdk.vm.ci.meta.JavaKind[] unsafeJavaKinds
        end local 1 // boolean explicitUnsafeNullChecks
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   21     0                         r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0   21     1  explicitUnsafeNullChecks  Z
            0   21     2           unsafeJavaKinds  [Ljdk/vm/ci/meta/JavaKind;
            0   21     3           java11OrEarlier  Z
            2   11     4                      kind  Ljdk/vm/ci/meta/JavaKind;
            5   11     8                 javaClass  Ljava/lang/Class<*>;
            8   11     9                  kindName  Ljava/lang/String;
           15   18     4                      kind  Ljdk/vm/ci/meta/JavaKind;
           16   18     8                 javaClass  Ljava/lang/Class<*>;
    MethodParameters:
                          Name  Flags
      r                         
      explicitUnsafeNullChecks  
      unsafeJavaKinds           
      java11OrEarlier           

  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 327
            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 328
            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 329
            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 330
            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$10  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$11  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$12  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$10
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$11
  org.graalvm.compiler.replacements.amd64.AMD64GraphBuilderPlugins$12
  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