public class org.graalvm.compiler.replacements.test.ReplacementsParseTest extends org.graalvm.compiler.replacements.test.ReplacementsTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.test.ReplacementsParseTest
super_class: org.graalvm.compiler.replacements.test.ReplacementsTest
{
private static final java.lang.String IN_COMPILED_HANDLER_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "*** in compiled handler ***"
private static final java.lang.String IN_INTERPRETED_HANDLER_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "*** in interpreted handler ***"
private org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo inlineInvokeDecision;
descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.String inlineInvokeMethodName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static final java.lang.Object THROW_EXCEPTION_MARKER;
descriptor: Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
boolean forceCompileOverride;
descriptor: Z
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.graalvm.compiler.replacements.test.ReplacementsParseTest$1
dup
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$1.<init>:()V
putstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.replacements.test.ReplacementsTest.<init>:()V
1: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
static int copyFirstBody(byte[], byte[], boolean);
descriptor: ([B[BZ)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 4
1: aload 0
iconst_0
baload
istore 3
start local 3 2: aload 1
iconst_0
iload 3
bastore
3: iload 3
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 1
iconst_0
baload
istore 3
start local 3 5: aload 0
iconst_0
iload 3
bastore
6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 left [B
0 7 1 right [B
0 7 2 left2right Z
2 4 3 e B
5 7 3 e B
MethodParameters:
Name Flags
left
right
left2right
static int copyFirstL2RBody(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
baload
istore 2
start local 2 1: aload 1
iconst_0
iload 2
bastore
2: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 left [B
0 3 1 right [B
1 3 2 e B
MethodParameters:
Name Flags
left
right
protected void registerInvocationPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tPluginFactory_ReplacementsParseTest cannot be resolved to a type\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/ReplacementsParseTest;
MethodParameters:
Name Flags
invocationPlugins
public static void warmupProfiles();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: iconst_0
istore 0
start local 0 1: goto 5
2: StackMap locals: int
StackMap stack:
bipush 16
newarray 8
bipush 16
newarray 8
iconst_1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.callCopyFirst:([B[BZ)I
pop
3: bipush 16
newarray 8
bipush 16
newarray 8
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.callCopyFirstL2R:([B[B)I
pop
4: iinc 0 1
StackMap locals:
StackMap stack:
5: iload 0
ldc 40000
if_icmplt 2
end local 0 6: return
LocalVariableTable:
Start End Slot Name Signature
1 6 0 i I
RuntimeVisibleAnnotations:
org.junit.BeforeClass()
public void test1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ldc "test1Snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
dconst_1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public double test1Snippet(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: dload 1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.next:(D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 1 1 d D
MethodParameters:
Name Flags
d
public void test2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ldc "test2Snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
dconst_1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public double test2Snippet(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: dload 1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.next2:(D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 1 1 d D
MethodParameters:
Name Flags
d
public void testNextAfter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmpgt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: invokestatic org.junit.Assume.assumeFalse:(Z)V
3: sipush 1024
newarray 7
astore 1
start local 1 4: sipush 1024
newarray 7
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 9
7: StackMap locals: double[] double[] int
StackMap stack:
aload 1
iload 3
ldc -0.0
dastore
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 7
end local 3 10: aload 0
ldc "doNextAfter"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
4 12 1 inArray [D
5 12 2 outArray [D
6 10 3 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void doNextAfter(double[], double[]);
descriptor: ([D[D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 7
2: StackMap locals: int
StackMap stack:
iload 3
iconst_1
iand
ifne 3
ldc Infinity
goto 4
StackMap locals:
StackMap stack:
3: ldc Infinity
StackMap locals:
StackMap stack: double
4: dstore 4
start local 4 5: aload 1
iload 3
aload 2
iload 3
daload
dload 4
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.nextAfter:(DD)D
dastore
end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 2
end local 3 8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 9 1 outArray [D
0 9 2 inArray [D
1 8 3 i I
5 6 4 direction D
MethodParameters:
Name Flags
outArray
inArray
private void testWithDifferentReturnValues(org.graalvm.compiler.options.OptionValues, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aload 0
aload 6
aload 7
aload 5
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.executeExpected:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
astore 8
start local 8 3: aload 2
aload 8
getfield org.graalvm.compiler.core.test.GraalCompilerTest$Result.returnValue:Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: new org.graalvm.compiler.core.test.GraalCompilerTest$Result
dup
aload 3
aconst_null
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest$Result.<init>:(Ljava/lang/Object;Ljava/lang/Throwable;)V
astore 8
5: aload 0
aload 1
aload 6
aload 8
aload 7
aload 5
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testAgainstExpected:(Lorg/graalvm/compiler/options/OptionValues;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;Ljava/lang/Object;[Ljava/lang/Object;)V
6: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 7 1 options Lorg/graalvm/compiler/options/OptionValues;
0 7 2 standardReturnValue Ljava/lang/String;
0 7 3 compiledReturnValue Ljava/lang/String;
0 7 4 name Ljava/lang/String;
0 7 5 args [Ljava/lang/Object;
1 7 6 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 7 7 receiver Ljava/lang/Object;
3 7 8 expect Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
MethodParameters:
Name Flags
options
standardReturnValue
compiledReturnValue
name
args
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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 0
getfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.forceCompileOverride:Z
iload 4
aload 5
invokespecial org.graalvm.compiler.replacements.test.ReplacementsTest.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 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 1 1 installedCodeOwner Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 3 forceCompile Z
0 1 4 installAsDefault Z
0 1 5 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
installedCodeOwner final
graph
forceCompile
installAsDefault
options
public void testCallStringize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=1
start local 0 0: aload 0
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "a string"
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "callStringize"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.reprofile:()V
3: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.forceCompileOverride:Z
4: ldc "*** in interpreted handler ***"
astore 1
start local 1 5: ldc "*** in compiled handler ***"
astore 2
start local 2 6: aload 0
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 1
aload 2
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testWithDifferentReturnValues:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
5 8 1 standardReturnValue Ljava/lang/String;
6 8 2 compiledReturnValue Ljava/lang/String;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCallStringizeWithoutInlinePartialIntrinsicExit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=1
start local 0 0: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.java.BytecodeParserOptions.InlinePartialIntrinsicExitDuringParsing:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
anewarray java.lang.Object
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
astore 1
start local 1 1: aload 0
aload 1
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "a string"
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
aload 1
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: ldc "*** in interpreted handler ***"
astore 2
start local 2 4: ldc "*** in compiled handler ***"
astore 3
start local 3 5: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.forceCompileOverride:Z
6: aload 0
getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
7: aload 0
ldc "stringize"
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
8: aload 0
aload 1
aload 2
aload 3
ldc "callStringize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testWithDifferentReturnValues:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
9: goto 14
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest org.graalvm.compiler.options.OptionValues java.lang.String java.lang.String
StackMap stack: java.lang.Throwable
10: astore 4
11: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
12: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
13: aload 4
athrow
14: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
15: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 17 1 options Lorg/graalvm/compiler/options/OptionValues;
4 17 2 standardReturnValue Ljava/lang/String;
5 17 3 compiledReturnValue Ljava/lang/String;
Exception table:
from to target type
8 10 10 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCallStringizeId();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=3, args_size=1
start local 0 0: aload 0
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
ldc "a string"
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "callStringize"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.reprofile:()V
3: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.forceCompileOverride:Z
4: ldc "*** in interpreted handler ***"
astore 1
start local 1 5: ldc "*** in compiled handler ***"
astore 2
start local 2 6: aload 0
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 1
aload 2
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
getstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testWithDifferentReturnValues:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
5 8 1 standardReturnValue Ljava/lang/String;
6 8 2 compiledReturnValue Ljava/lang/String;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCallStringizeIdWithoutInlinePartialIntrinsicExit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=1
start local 0 0: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.java.BytecodeParserOptions.InlinePartialIntrinsicExitDuringParsing:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
anewarray java.lang.Object
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
astore 1
start local 1 1: aload 0
aload 1
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
ldc "a string"
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
aload 1
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: new org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject
dup
getstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
invokespecial org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.<init>:(Ljava/lang/Object;)V
astore 2
start local 2 4: ldc "*** in interpreted handler ***"
astore 3
start local 3 5: ldc "*** in compiled handler ***"
astore 4
start local 4 6: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.forceCompileOverride:Z
7: aload 0
getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
8: aload 0
ldc "stringizeId"
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
9: aload 0
aload 1
aload 3
aload 4
ldc "callStringizeId"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testWithDifferentReturnValues:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
10: goto 15
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest org.graalvm.compiler.options.OptionValues org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject java.lang.String java.lang.String
StackMap stack: java.lang.Throwable
11: astore 5
12: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
13: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
14: aload 5
athrow
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
16: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 18 1 options Lorg/graalvm/compiler/options/OptionValues;
4 18 2 exceptionTestObject Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest$TestObject;
5 18 3 standardReturnValue Ljava/lang/String;
6 18 4 compiledReturnValue Ljava/lang/String;
Exception table:
from to target type
9 11 11 any
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.Object callStringize(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.stringize:(Ljava/lang/Object;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError
pop
3: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
ifeq 5
4: ldc "*** in compiled handler ***"
areturn
5: StackMap locals:
StackMap stack:
ldc "*** in interpreted handler ***"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 obj Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError
MethodParameters:
Name Flags
obj
public static java.lang.Object callStringizeId(org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject);
descriptor: (Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest$TestObject;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.stringizeId:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError
pop
3: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
ifeq 5
4: ldc "*** in compiled handler ***"
areturn
5: StackMap locals:
StackMap stack:
ldc "*** in interpreted handler ***"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 testObj Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest$TestObject;
Exception table:
from to target type
0 1 2 Class org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError
MethodParameters:
Name Flags
testObj
public void testRootCompileStringize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest$TestObject;
ldc "stringize"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 1
start local 1 1: aload 0
aload 1
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "a string"
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
aload 1
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: aload 0
aload 1
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.THROW_EXCEPTION_MARKER:Ljava/lang/Object;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLambda();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "callLambda"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "callLambda"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "a string"
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.String callLambda(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.identity:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value Ljava/lang/String;
MethodParameters:
Name Flags
value
public static int callCopyFirst(byte[], byte[], boolean);
descriptor: ([B[BZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.copyFirst:([B[BZ)I
istore 3
start local 3 1: iload 3
bipush 17
if_icmpne 3
2: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
3: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 in [B
0 4 1 out [B
0 4 2 left2right Z
1 4 3 res I
MethodParameters:
Name Flags
in
out
left2right
public static int callCopyFirstWrapper(byte[], byte[], boolean);
descriptor: ([B[BZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.callCopyFirst:([B[BZ)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in [B
0 1 1 out [B
0 1 2 left2right Z
MethodParameters:
Name Flags
in
out
left2right
public static int callCopyFirstL2R(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.copyFirstL2R:([B[B)I
istore 2
start local 2 1: iload 2
bipush 17
if_icmpne 3
2: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 in [B
0 4 1 out [B
1 4 2 res I
MethodParameters:
Name Flags
in
out
public void testCallCopyFirst();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: iconst_5
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_2
bastore
dup
iconst_3
iconst_3
bastore
dup
iconst_4
iconst_4
bastore
astore 1
start local 1 1: aload 1
arraylength
newarray 8
astore 2
start local 2 2: aload 0
ldc "callCopyFirst"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: aload 0
ldc "callCopyFirst"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 5 1 in [B
2 5 2 out [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCallCopyFirstL2R();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: iconst_5
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_2
bastore
dup
iconst_3
iconst_3
bastore
dup
iconst_4
iconst_4
bastore
astore 1
start local 1 1: aload 1
arraylength
newarray 8
astore 2
start local 2 2: aload 0
ldc "callCopyFirstL2R"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: goto 6
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest byte[] byte[]
StackMap stack: org.graalvm.compiler.graph.GraalGraphError
4: astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.compiler.graph.GraalGraphError.getMessage:()Ljava/lang/String;
ldc "Invalid frame state"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.assertTrue:(Z)V
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 7 1 in [B
2 7 2 out [B
5 6 3 e Lorg/graalvm/compiler/graph/GraalGraphError;
Exception table:
from to target type
2 3 4 Class org.graalvm.compiler.graph.GraalGraphError
RuntimeVisibleAnnotations:
org.junit.Test()
protected org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo bytecodeParserShouldInlineInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
ifnull 1
aload 0
getfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeMethodName:Ljava/lang/String;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 3 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 3 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
method
args
public void testCallCopyFirstWithoutInlinePartialIntrinsicExit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.java.BytecodeParserOptions.InlinePartialIntrinsicExitDuringParsing:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
anewarray java.lang.Object
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
astore 1
start local 1 1: aload 0
getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
2: iconst_5
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_2
bastore
dup
iconst_3
iconst_3
bastore
dup
iconst_4
iconst_4
bastore
astore 2
start local 2 3: aload 2
arraylength
newarray 8
astore 3
start local 3 4: aload 0
aload 1
ldc "callCopyFirstWrapper"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: aload 0
aload 1
ldc "callCopyFirstWrapper"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
end local 3 end local 2 6: goto 10
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest org.graalvm.compiler.options.OptionValues
StackMap stack: java.lang.Throwable
7: astore 4
8: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
9: aload 4
athrow
10: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.test.ReplacementsParseTest.inlineInvokeDecision:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 12 1 options Lorg/graalvm/compiler/options/OptionValues;
3 6 2 in [B
4 6 3 out [B
Exception table:
from to target type
2 7 7 any
RuntimeVisibleAnnotations:
org.junit.Test()
public static int nonVoidIntrinsicWithCall(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.nonVoidIntrinsicWithCall:(II)I
iload 0
if_icmpne 2
1: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x I
0 3 1 y I
MethodParameters:
Name Flags
x
y
public void testNonVoidIntrinsicWithCall();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "nonVoidIntrinsicWithCall"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testGraph:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public static int nonVoidIntrinsicWithOptimizedSplit(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.nonVoidIntrinsicWithOptimizedSplit:(I)I
iload 0
if_icmpne 2
1: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x I
MethodParameters:
Name Flags
x
public void testNonVoidIntrinsicWithOptimizedSplit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "nonVoidIntrinsicWithOptimizedSplit"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.testGraph:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public static int div(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject.div:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 y I
MethodParameters:
Name Flags
x
y
public void testAssertionInMethodSubstitution();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: aload 0
ldc "div"
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 1
start local 1 1: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.replacements.test.ReplacementsParseTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.debug.DebugOptions.DumpOnError:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
anewarray java.lang.Object
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
astore 2
start local 2 2: aload 0
new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 2
aload 0
aload 2
aconst_null
aload 1
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getDebugContext:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/debug/DebugContext;
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getCompilationId:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/core/common/CompilationIdentifier;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.compilationId:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getEagerGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.parse:(Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;Lorg/graalvm/compiler/phases/PhaseSuite;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
3: ldc "BytecodeParser should have complained about using assertion in an intrinsic."
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 4: StackMap locals:
StackMap stack: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
1 4 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 4 2 options Lorg/graalvm/compiler/options/OptionValues;
Exception table:
from to target type
0 4 4 Class org.graalvm.compiler.java.BytecodeParser$BytecodeParserError
RuntimeVisibleAnnotations:
org.junit.Test()
private void testGraph(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
aload 1
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 5
start local 5 3: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/extended/OpaqueNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 6
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest java.lang.String org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.extended.OpaqueNode
astore 6
start local 6 5: aload 6
invokevirtual org.graalvm.compiler.nodes.extended.OpaqueNode.remove:()V
end local 6 6: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
astore 6
start local 6 8: aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 7
start local 7 9: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 7
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 2
aload 6
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: new org.graalvm.compiler.phases.common.FloatingReadPhase
dup
invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase.<init>:()V
aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
11: aload 7
aload 2
aload 6
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
12: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
aload 2
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
13: new org.graalvm.compiler.phases.common.GuardLoweringPhase
dup
invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
aload 2
aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getDefaultMidTierContext:()Lorg/graalvm/compiler/phases/tiers/MidTierContext;
invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
14: new org.graalvm.compiler.phases.common.FrameStateAssignmentPhase
dup
invokespecial org.graalvm.compiler.phases.common.FrameStateAssignmentPhase.<init>:()V
aload 2
invokevirtual org.graalvm.compiler.phases.common.FrameStateAssignmentPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
end local 7 end local 6 15: aload 5
ifnull 23
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 23
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest java.lang.String org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
16: astore 3
aload 5
ifnull 17
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 5 StackMap locals:
StackMap stack:
17: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 4
aload 3
ifnonnull 19
aload 4
astore 3
goto 20
StackMap locals:
StackMap stack:
19: aload 3
aload 4
if_acmpeq 20
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 3
athrow
StackMap locals: org.graalvm.compiler.replacements.test.ReplacementsParseTest java.lang.String org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
21: astore 3
start local 3 22: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;
0 24 1 name Ljava/lang/String;
1 24 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 17 5 s0 Lorg/graalvm/compiler/debug/DebugContext$Scope;
5 6 6 node Lorg/graalvm/compiler/nodes/extended/OpaqueNode;
8 15 6 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
9 15 7 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
22 23 3 e Ljava/lang/Throwable;
Exception table:
from to target type
3 15 16 any
2 18 18 any
1 21 21 Class java.lang.Throwable
MethodParameters:
Name Flags
name
static org.graalvm.compiler.api.replacements.SnippetReflectionProvider access$0(org.graalvm.compiler.replacements.test.ReplacementsParseTest);
descriptor: (Lorg/graalvm/compiler/replacements/test/ReplacementsParseTest;)Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.ReplacementsParseTest.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ReplacementsParseTest.java"
NestMembers:
org.graalvm.compiler.replacements.test.ReplacementsParseTest$1 org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError org.graalvm.compiler.replacements.test.ReplacementsParseTest$DummyInjectionProvider org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestForeignCallDescriptor org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObjectSubstitutions
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public BytecodeParserError = org.graalvm.compiler.java.BytecodeParser$BytecodeParserError of org.graalvm.compiler.java.BytecodeParser
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
public final InlineInfo = org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo of org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
org.graalvm.compiler.replacements.test.ReplacementsParseTest$1
CustomError = org.graalvm.compiler.replacements.test.ReplacementsParseTest$CustomError of org.graalvm.compiler.replacements.test.ReplacementsParseTest
private DummyInjectionProvider = org.graalvm.compiler.replacements.test.ReplacementsParseTest$DummyInjectionProvider of org.graalvm.compiler.replacements.test.ReplacementsParseTest
TestForeignCallDescriptor = org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestForeignCallDescriptor of org.graalvm.compiler.replacements.test.ReplacementsParseTest
TestObject = org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObject of org.graalvm.compiler.replacements.test.ReplacementsParseTest
TestObjectSubstitutions = org.graalvm.compiler.replacements.test.ReplacementsParseTest$TestObjectSubstitutions of org.graalvm.compiler.replacements.test.ReplacementsParseTest