public class org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest 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.jdk10.test.MathMultiplyHighTest
super_class: org.graalvm.compiler.replacements.test.MethodSubstitutionTest
{
private static final long[] INPUT;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: bipush 11
newarray 11
dup
iconst_0
ldc -9223372036854775808
lastore
dup
iconst_1
ldc -9223372036854775807
lastore
dup
iconst_2
ldc -701080054900161522
lastore
dup
iconst_3
ldc -1
lastore
dup
iconst_5
1: ldc 5
lastore
dup
bipush 6
ldc 256
lastore
dup
bipush 7
ldc 70477348
lastore
dup
bipush 8
ldc 2578097111040
lastore
dup
bipush 9
ldc 9223372036854775806
lastore
dup
bipush 10
ldc 9223372036854775807
lastore
2: putstatic org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.INPUT:[J
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/jdk10/test/MathMultiplyHighTest;
public static long multiplyHigh(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: lload 0
lload 2
invokestatic java.lang.Math.multiplyHigh:(JJ)J
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m J
0 1 2 n J
MethodParameters:
Name Flags
m
n
public void testMultiplyHigh();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=1
start local 0 0: 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;
astore 1
start local 1 1: aload 1
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
instanceof jdk.vm.ci.aarch64.AArch64
ifeq 3
2: aload 0
ldc "multiplyHigh"
invokevirtual org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/nodes/calc/IntegerMulHighNode;
aastore
invokestatic org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.assertInGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
3: StackMap locals: jdk.vm.ci.code.TargetDescription
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.INPUT:[J
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest jdk.vm.ci.code.TargetDescription top top int int long[]
StackMap stack:
4: aload 6
iload 4
laload
lstore 2
start local 2 5: getstatic org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.INPUT:[J
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 9
StackMap locals: org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest jdk.vm.ci.code.TargetDescription long int int long[] top top int int long[]
StackMap stack:
6: aload 11
iload 9
laload
lstore 7
start local 7 7: aload 0
ldc "multiplyHigh"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
end local 7 8: iinc 9 1
StackMap locals:
StackMap stack:
9: iload 9
iload 10
if_icmplt 6
end local 2 10: iinc 4 1
StackMap locals: org.graalvm.compiler.replacements.jdk10.test.MathMultiplyHighTest jdk.vm.ci.code.TargetDescription top top int int long[]
StackMap stack:
11: iload 4
iload 5
if_icmplt 4
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/replacements/jdk10/test/MathMultiplyHighTest;
1 13 1 target Ljdk/vm/ci/code/TargetDescription;
5 10 2 input1 J
7 8 7 input2 J
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "MathMultiplyHighTest.java"
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest