public final class org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest extends org.graalvm.compiler.core.test.GraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
public float input0;
descriptor: F
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 0)
public float input1;
descriptor: F
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 1)
public float input2;
descriptor: F
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 2)
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.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest;
public void checkNotSPARC();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: ldc "skipping test on SPARC"
aload 0
invokevirtual org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokestatic org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.isSPARC:(Ljdk/vm/ci/code/Architecture;)Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
astore 1
start local 1 2: ldc "skipping FMA specific tests"
aload 1
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useFMAIntrinsics:Z
invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest;
2 4 1 rt Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
RuntimeVisibleAnnotations:
org.junit.Before()
public static java.util.Collection<java.lang.Object[]> data();
descriptor: ()Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=14, args_size=0
0: bipush 12
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_1
fastore
dup
iconst_2
ldc 4.0
fastore
dup
iconst_3
ldc -0.0
fastore
dup
iconst_4
ldc -1.0
fastore
dup
iconst_5
ldc 4.0
fastore
dup
bipush 6
ldc 1.4E-45
fastore
dup
bipush 7
ldc 3.4028235E38
fastore
dup
bipush 8
ldc -Infinity
fastore
dup
bipush 9
ldc Infinity
fastore
dup
bipush 10
1: ldc NaN
fastore
dup
bipush 11
ldc -8388607
invokestatic java.lang.Float.intBitsToFloat:(I)F
fastore
2: astore 0
start local 0 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 4: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: float[] java.util.List top int int float[]
StackMap stack:
5: aload 5
iload 3
faload
fstore 2
start local 2 6: aload 0
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 14
StackMap locals: float[] java.util.List float int int float[] top int int float[]
StackMap stack:
7: aload 9
iload 7
faload
fstore 6
start local 6 8: aload 0
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 12
StackMap locals: float[] java.util.List float int int float[] float int int float[] top int int float[]
StackMap stack:
9: aload 13
iload 11
faload
fstore 10
start local 10 10: aload 1
iconst_3
anewarray java.lang.Object
dup
iconst_0
fload 2
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_1
fload 6
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_2
fload 10
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 11: iinc 11 1
StackMap locals:
StackMap stack:
12: iload 11
iload 12
if_icmplt 9
end local 6 13: iinc 7 1
StackMap locals: float[] java.util.List float int int float[] top int int float[]
StackMap stack:
14: iload 7
iload 8
if_icmplt 7
end local 2 15: iinc 3 1
StackMap locals: float[] java.util.List top int int float[]
StackMap stack:
16: iload 3
iload 4
if_icmplt 5
17: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 18 0 inputs [F
4 18 1 tests Ljava/util/List<[Ljava/lang/Object;>;
6 15 2 a F
8 13 6 b F
10 11 10 c F
Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{0}, {1}, {2}")
public static float fma(float, float, float);
descriptor: (FFF)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: fload 0
fload 1
fload 2
invokestatic java.lang.Math.fma:(FFF)F
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a F
0 1 1 b F
0 1 2 c F
MethodParameters:
Name Flags
a
b
c
public void testFMA();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "fma"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input0:F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input1:F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_2
aload 0
getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input2:F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokevirtual org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.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/hotspot/jdk9/test/MathFloatFMATest;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "MathFloatFMATest.java"
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)