public class org.graalvm.compiler.replacements.test.StringSubstitutionTestBase extends org.graalvm.compiler.replacements.test.MethodSubstitutionTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase
super_class: org.graalvm.compiler.replacements.test.MethodSubstitutionTest
{
protected jdk.vm.ci.meta.ResolvedJavaMethod realMethod;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0004) ACC_PROTECTED
protected jdk.vm.ci.meta.ResolvedJavaMethod testMethod;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0004) ACC_PROTECTED
protected jdk.vm.ci.code.InstalledCode testCode;
descriptor: Ljdk/vm/ci/code/InstalledCode;
flags: (0x0004) ACC_PROTECTED
protected final java.lang.String[] testData;
descriptor: [Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.<init>:()V
1: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.realMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
2: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
3: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testCode:Ljdk/vm/ci/code/InstalledCode;
4: aload 0
bipush 33
anewarray java.lang.String
dup
iconst_0
5: ldc "A"
aastore
dup
iconst_1
ldc "\uFF21"
aastore
dup
iconst_2
ldc "AB"
aastore
dup
iconst_3
ldc "A"
aastore
dup
iconst_4
ldc "a"
aastore
dup
iconst_5
ldc "Ab"
aastore
dup
bipush 6
ldc "AA"
aastore
dup
bipush 7
ldc "\uFF21"
aastore
dup
bipush 8
6: ldc "A\uFF21"
aastore
dup
bipush 9
ldc "ABC"
aastore
dup
bipush 10
ldc "AB"
aastore
dup
bipush 11
ldc "ABcD"
aastore
dup
bipush 12
ldc "ABCD\uFF21\uFF21"
aastore
dup
bipush 13
ldc "ABCD\uFF21"
aastore
dup
bipush 14
ldc "ABCDEFG\uFF21"
aastore
dup
bipush 15
ldc "ABCD"
aastore
dup
bipush 16
7: ldc "ABCDEFGH\uFF21\uFF21"
aastore
dup
bipush 17
ldc "\uFF22"
aastore
dup
bipush 18
ldc "\uFF21\uFF22"
aastore
dup
bipush 19
ldc "\uFF21A"
aastore
dup
bipush 20
8: ldc "\uFF21\uFF21"
aastore
dup
bipush 21
9: ldc "\u043C\u0430\u043C\u0430 \u043C\u044B\u043B\u0430 \u0440\u0430\u043C\u0443, \u0440\u0430\u043C\u0430 \u0441\u044A\u0435\u043B\u0430 \u043C\u0430\u043C\u0443"
aastore
dup
bipush 22
10: ldc "crazy dog jumps over laszy fox"
aastore
dup
bipush 23
11: ldc "some-string\u0000xff"
aastore
dup
bipush 24
12: ldc "XMM-XMM-YMM-YMM-ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 25
13: ldc "XMM-XMM+YMM-YMM-ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 26
14: ldc "XMM-XMM-YMM-YMM+ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 27
15: ldc "XMM-XMM-YMM-YMM-ZMM-ZMM-ZMM-ZMM+"
aastore
dup
bipush 28
16: ldc "XMM-XMM-XMM-XMM-YMM-YMM-YMM-YMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 29
17: ldc "XMM-XMM-XMM-XMM+YMM-YMM-YMM-YMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 30
18: ldc "XMM-XMM-XMM-XMM-YMM-YMM-YMM-YMM+ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-"
aastore
dup
bipush 31
19: ldc "XMM-XMM-XMM-XMM-YMM-YMM-YMM-YMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM-ZMM+"
aastore
dup
bipush 32
20: ldc ""
aastore
putfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testData:[Ljava/lang/String;
21: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
protected void initSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Class<?>);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAssume cannot be resolved\n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
Signature: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
theRealMethod
theTestMethod
expectedNode
private void executeSubstitution(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.realMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 3
aload 0
aload 0
getfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
aload 3
aload 0
getfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testCode:Ljdk/vm/ci/code/InstalledCode;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokestatic org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeVarargsSafe:(Ljdk/vm/ci/code/InstalledCode;[Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
0 4 1 s0 Ljava/lang/String;
0 4 2 s1 Ljava/lang/String;
1 4 3 expected Ljava/lang/Object;
MethodParameters:
Name Flags
s0
s1
protected void testEqualString();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: ldc "equal-string"
astore 1
start local 1 1: aload 0
aload 1
new java.lang.String
dup
aload 1
invokevirtual java.lang.String.toCharArray:()[C
invokespecial java.lang.String.<init>:([C)V
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
1 3 1 s Ljava/lang/String;
protected void testDifferentString();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "AAAAAAAA"
ldc ""
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
ldc "some-stringA"
ldc "some-string\u0000xff"
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 0
ldc "\u2241AAAAAAAB"
ldc "\u2241AAAAAAA\uFF41"
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
ldc "AAAAAAAAB"
ldc "AAAAAAAA\uFF41"
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
protected void testAllStrings();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testData:[Ljava/lang/String;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 14
StackMap locals: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase top int int java.lang.String[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
getfield org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.testData:[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 12
StackMap locals: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: aload 0
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.test.StringSubstitutionTestBase.executeSubstitution:(Ljava/lang/String;Ljava/lang/String;)V
5: goto 11
StackMap locals: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase java.lang.String int int java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack: java.lang.AssertionError
6: astore 9
start local 9 7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "FAIL: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " ***: s0 '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " ***: s1 '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 9
athrow
end local 9 end local 5 11: StackMap locals: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 7
if_icmplt 3
end local 1 13: iinc 2 1
StackMap locals: org.graalvm.compiler.replacements.test.StringSubstitutionTestBase top int int java.lang.String[]
StackMap stack:
14: iload 2
iload 3
if_icmplt 1
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/replacements/test/StringSubstitutionTestBase;
2 13 1 s0 Ljava/lang/String;
4 11 5 s1 Ljava/lang/String;
7 11 9 ex Ljava/lang/AssertionError;
Exception table:
from to target type
4 5 6 Class java.lang.AssertionError
}
SourceFile: "StringSubstitutionTestBase.java"