public class org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest extends org.graalvm.compiler.replacements.test.StringIndexOfCharTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest
  super_class: org.graalvm.compiler.replacements.test.StringIndexOfCharTest
{
  java.lang.Object[] constantArgs;
    descriptor: [Ljava/lang/Object;
    flags: (0x0000) 

  public void checkAMD64();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
         0: .line 51
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.runtime.RuntimeProvider
            invokeinterface org.graalvm.compiler.runtime.RuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/core/target/Backend;
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            astore 1 /* arch */
        start local 1 // jdk.vm.ci.code.Architecture arch
         1: .line 52
            ldc "skipping AMD64 specific test"
            aload 1 /* arch */
            instanceof jdk.vm.ci.amd64.AMD64
            invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         2: .line 53
            return
        end local 1 // jdk.vm.ci.code.Architecture arch
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
            1    3     1  arch  Ljdk/vm/ci/code/Architecture;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
        start local 1 // java.lang.String sourceString
        start local 2 // int constantChar
        start local 3 // int fromIndex
         0: .line 58
            aload 0 /* this */
            aload 1 /* sourceString */
            iload 2 /* constantChar */
            iload 3 /* fromIndex */
            invokespecial org.graalvm.compiler.replacements.test.StringIndexOfCharTest.<init>:(Ljava/lang/String;II)V
         1: .line 59
            return
        end local 3 // int fromIndex
        end local 2 // int constantChar
        end local 1 // java.lang.String sourceString
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
            0    2     1  sourceString  Ljava/lang/String;
            0    2     2  constantChar  I
            0    2     3     fromIndex  I
    MethodParameters:
              Name  Flags
      sourceString  
      constantChar  
      fromIndex     

  protected org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration editGraphBuilderConfiguration(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
         0: .line 63
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            ifnull 3
         1: .line 64
            new org.graalvm.compiler.replacements.ConstantBindingParameterPlugin
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokespecial org.graalvm.compiler.replacements.ConstantBindingParameterPlugin.<init>:([Ljava/lang/Object;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            astore 2 /* constantBinding */
        start local 2 // org.graalvm.compiler.replacements.ConstantBindingParameterPlugin constantBinding
         2: .line 65
            aload 1 /* conf */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            aload 2 /* constantBinding */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendParameterPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;)V
        end local 2 // org.graalvm.compiler.replacements.ConstantBindingParameterPlugin constantBinding
         3: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* conf */
            invokespecial org.graalvm.compiler.replacements.test.StringIndexOfCharTest.editGraphBuilderConfiguration:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            areturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
            0    4     1             conf  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            2    3     2  constantBinding  Lorg/graalvm/compiler/replacements/ConstantBindingParameterPlugin;
    MethodParameters:
      Name  Flags
      conf  

  protected jdk.vm.ci.code.InstalledCode getCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph0
        start local 3 // boolean ignoreForceCompile
        start local 4 // boolean ignoreInstallAsDefault
        start local 5 // org.graalvm.compiler.options.OptionValues options
         0: .line 73
            aload 0 /* this */
            aload 1 /* installedCodeOwner */
            aload 2 /* graph0 */
         1: .line 74
            iconst_1
            iconst_0
            aload 5 /* options */
         2: .line 73
            invokespecial org.graalvm.compiler.replacements.test.StringIndexOfCharTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
            areturn
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // boolean ignoreInstallAsDefault
        end local 3 // boolean ignoreForceCompile
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph0
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
            0    3     1      installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     2                  graph0  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     3      ignoreForceCompile  Z
            0    3     4  ignoreInstallAsDefault  Z
            0    3     5                 options  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
                        Name  Flags
      installedCodeOwner      final
      graph0                  
      ignoreForceCompile      
      ignoreInstallAsDefault  
      options                 

  protected void checkHighTierGraph(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 79
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.sourceString:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            getstatic org.graalvm.compiler.core.common.GraalOptions.StringIndexOfLimit:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpge 6
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantChar:I
            ldc 65536
            if_icmpge 6
         1: .line 80
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            astore 2 /* start */
        start local 2 // org.graalvm.compiler.nodes.StartNode start
         2: .line 81
            aload 2 /* start */
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 3 /* next */
        start local 3 // org.graalvm.compiler.nodes.FixedNode next
         3: .line 82
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.ReturnNode
            invokestatic org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.assertTrue:(Z)V
         4: .line 83
            aload 3 /* next */
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 4 /* returnNode */
        start local 4 // org.graalvm.compiler.nodes.ReturnNode returnNode
         5: .line 84
            aload 4 /* returnNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            invokestatic org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.assertTrue:(Z)V
        end local 4 // org.graalvm.compiler.nodes.ReturnNode returnNode
        end local 3 // org.graalvm.compiler.nodes.FixedNode next
        end local 2 // org.graalvm.compiler.nodes.StartNode start
         6: .line 86
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
            0    7     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    6     2       start  Lorg/graalvm/compiler/nodes/StartNode;
            3    6     3        next  Lorg/graalvm/compiler/nodes/FixedNode;
            5    6     4  returnNode  Lorg/graalvm/compiler/nodes/ReturnNode;
    MethodParameters:
       Name  Flags
      graph  

  public void testStringIndexOfConstant();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
         0: .line 91
            aload 0 /* this */
            iconst_3
            anewarray java.lang.Object
            putfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
         1: .line 92
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.sourceString:Ljava/lang/String;
            aastore
         2: .line 93
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantChar:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 94
            aload 0 /* this */
            ldc "testStringIndexOf"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.sourceString:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantChar:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 95
            return
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStringIndexOfConstantOffset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
         0: .line 100
            aload 0 /* this */
            iconst_4
            anewarray java.lang.Object
            putfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
         1: .line 101
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.sourceString:Ljava/lang/String;
            aastore
         2: .line 102
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantChar:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 103
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantArgs:[Ljava/lang/Object;
            iconst_3
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.fromIndex:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         4: .line 104
            aload 0 /* this */
            ldc "testStringIndexOfOffset"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.sourceString:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.constantChar:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.fromIndex:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 105
            return
        end local 0 // org.graalvm.compiler.replacements.test.StringIndexOfCharConstantBindingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/replacements/test/StringIndexOfCharConstantBindingTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "StringIndexOfCharConstantBindingTest.java"
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration