public class org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins
  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.aarch64.AArch64GraphBuilderPlugins this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins;

  public static void register(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins, org.graalvm.compiler.bytecode.BytecodeProvider, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        start local 2 // boolean explicitUnsafeNullChecks
         0: .line 63
            aload 0 /* plugins */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            astore 3 /* invocationPlugins */
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
         1: .line 64
            aload 3 /* invocationPlugins */
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$1
            dup
            aload 3 /* invocationPlugins */
            aload 1 /* bytecodeProvider */
            iload 2 /* explicitUnsafeNullChecks */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$1.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Z)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.defer:(Ljava/lang/Runnable;)V
         2: .line 79
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        end local 2 // boolean explicitUnsafeNullChecks
        end local 1 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        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          bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            0    3     2  explicitUnsafeNullChecks  Z
            1    3     3         invocationPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
    MethodParameters:
                          Name  Flags
      plugins                   
      bytecodeProvider          
      explicitUnsafeNullChecks  

  private static void registerIntegerLongPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, java.lang.Class<?>, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/Class;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        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 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
         0: .line 82
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
            astore 4 /* declaringClass */
        start local 4 // java.lang.Class declaringClass
         1: .line 83
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
            astore 5 /* type */
        start local 5 // java.lang.Class type
         2: .line 84
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            aload 4 /* declaringClass */
            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 6 /* r */
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         3: .line 85
            aload 6 /* r */
            ldc "numberOfLeadingZeros"
            aload 5 /* type */
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$2
            dup
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$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
         4: .line 97
            aload 6 /* r */
            ldc "numberOfTrailingZeros"
            aload 5 /* type */
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$3
            dup
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$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
         5: .line 109
            aload 6 /* r */
            aload 1 /* substituteDeclaringClass */
            ldc "bitCount"
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 5 /* type */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         6: .line 110
            return
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 5 // java.lang.Class type
        end local 4 // java.lang.Class declaringClass
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider
        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    7     0                   plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    7     1  substituteDeclaringClass  Ljava/lang/Class<*>;
            0    7     2                      kind  Ljdk/vm/ci/meta/JavaKind;
            0    7     3          bytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            1    7     4            declaringClass  Ljava/lang/Class<*>;
            2    7     5                      type  Ljava/lang/Class<*>;
            3    7     6                         r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    Signature: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/Class<*>;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    MethodParameters:
                          Name  Flags
      plugins                   
      substituteDeclaringClass  
      kind                      
      bytecodeProvider          

  private static void registerMathPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
         0: .line 113
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/lang/Math;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
            astore 1 /* r */
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         1: .line 114
            aload 1 /* r */
            ldc "sin"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.SIN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         2: .line 115
            aload 1 /* r */
            ldc "cos"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.COS:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         3: .line 116
            aload 1 /* r */
            ldc "tan"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.TAN:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         4: .line 117
            aload 1 /* r */
            ldc "exp"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.EXP:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         5: .line 118
            aload 1 /* r */
            ldc "log"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         6: .line 119
            aload 1 /* r */
            ldc "log10"
            getstatic org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.LOG10:Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnaryMath:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)V
         7: .line 120
            aload 1 /* r */
            ldc "pow"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$4
            dup
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$4.<init>:()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
         8: .line 127
            aload 1 /* r */
            ldc "rint"
            getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode.NEAREST:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;)V
         9: .line 128
            aload 1 /* r */
            ldc "ceil"
            getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode.UP:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;)V
        10: .line 129
            aload 1 /* r */
            ldc "floor"
            getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode.DOWN:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerRound:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;)V
        11: .line 130
            return
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0  plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            1   12     1        r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
         Name  Flags
      plugins  

  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 133
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$5
            dup
            aload 2 /* operation */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$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 140
            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 registerRound(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, java.lang.String, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/String;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$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.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode mode
         0: .line 143
            aload 0 /* r */
            aload 1 /* name */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$6
            dup
            aload 2 /* mode */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$6.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool$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 150
            return
        end local 2 // org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$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/aarch64/AArch64ArithmeticLIRGeneratorTool$RoundingMode;
    MethodParameters:
      Name  Flags
      r     
      name  
      mode  

  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 153
            getstatic org.graalvm.compiler.serviceprovider.GraalServices.JAVA_SPECIFICATION_VERSION:I
            bipush 9
            if_icmplt 5
         1: .line 154
            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
         2: .line 155
            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 156
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64StringLatin1Substitutions;
            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
         4: .line 157
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64StringLatin1Substitutions;
            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
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         5: .line 159
      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    6     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    6     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            2    5     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 162
            getstatic org.graalvm.compiler.serviceprovider.GraalServices.JAVA_SPECIFICATION_VERSION:I
            bipush 9
            if_icmplt 5
         1: .line 163
            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
         2: .line 164
            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 165
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64StringUTF16Substitutions;
            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
         4: .line 166
            aload 2 /* r */
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64StringUTF16Substitutions;
            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
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         5: .line 168
      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    6     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    6     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            2    5     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);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // org.graalvm.compiler.bytecode.BytecodeProvider replacementsBytecodeProvider
         0: .line 171
            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
         1: .line 172
            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
            ldc "Object"
         2: .line 171
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnsafePlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;[Ljdk/vm/ci/meta/JavaKind;Ljava/lang/String;)V
         3: .line 173
            getstatic org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier:Z
            ifne 9
         4: .line 174
            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
         5: .line 175
            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
         6: .line 176
            getstatic org.graalvm.compiler.serviceprovider.GraalServices.Java11OrEarlier:Z
            ifeq 7
            ldc "Object"
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins org.graalvm.compiler.bytecode.BytecodeProvider
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration jdk.vm.ci.meta.JavaKind[]
         7: ldc "Reference"
         8: .line 174
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins org.graalvm.compiler.bytecode.BytecodeProvider
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration jdk.vm.ci.meta.JavaKind[] java.lang.String
            invokestatic org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins.registerUnsafePlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;[Ljdk/vm/ci/meta/JavaKind;Ljava/lang/String;)V
         9: .line 178
      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   10     0                       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0   10     1  replacementsBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
    MethodParameters:
                              Name  Flags
      plugins                       
      replacementsBytecodeProvider  

  private static void registerUnsafePlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, jdk.vm.ci.meta.JavaKind[], java.lang.String);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;[Ljdk/vm/ci/meta/JavaKind;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        start local 1 // jdk.vm.ci.meta.JavaKind[] unsafeJavaKinds
        start local 2 // java.lang.String objectKindName
         0: .line 182
            aload 1 /* unsafeJavaKinds */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration jdk.vm.ci.meta.JavaKind[] java.lang.String top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* kind */
        start local 3 // jdk.vm.ci.meta.JavaKind kind
         2: .line 183
            aload 3 /* 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 jdk.vm.ci.meta.JavaKind[] java.lang.String jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         3: aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         4: astore 7 /* javaClass */
        start local 7 // java.lang.Class javaClass
         5: .line 184
            aload 3 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
            aload 2 /* objectKindName */
            goto 7
      StackMap locals: java.lang.Class
      StackMap stack:
         6: aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 8 /* kindName */
        start local 8 // java.lang.String kindName
         8: .line 185
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndSet"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* 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 7 /* javaClass */
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$7
            dup
            aload 3 /* kind */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$7.<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
         9: .line 196
            aload 3 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 11
            aload 3 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 11
        10: .line 197
            aload 0 /* r */
            new java.lang.StringBuilder
            dup
            ldc "getAndAdd"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* 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 7 /* javaClass */
            new org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$8
            dup
            aload 3 /* kind */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$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
        end local 8 // java.lang.String kindName
        end local 7 // java.lang.Class javaClass
        end local 3 // jdk.vm.ci.meta.JavaKind kind
        11: .line 182
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration jdk.vm.ci.meta.JavaKind[] java.lang.String top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 1
        13: .line 210
            return
        end local 2 // java.lang.String objectKindName
        end local 1 // jdk.vm.ci.meta.JavaKind[] unsafeJavaKinds
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0                r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0   14     1  unsafeJavaKinds  [Ljdk/vm/ci/meta/JavaKind;
            0   14     2   objectKindName  Ljava/lang/String;
            2   11     3             kind  Ljdk/vm/ci/meta/JavaKind;
            5   11     7        javaClass  Ljava/lang/Class<*>;
            8   11     8         kindName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      r                
      unsafeJavaKinds  
      objectKindName   
}
SourceFile: "AArch64GraphBuilderPlugins.java"
NestMembers:
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$1  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$2  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$3  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$4  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$5  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$6  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$7  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$8
InnerClasses:
  public final RoundingMode = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool$RoundingMode of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool
  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
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$1
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$2
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$3
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$4
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$5
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$6
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$7
  org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins$8
  public final UnaryOperation = org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation of org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode