public final class com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest extends com.oracle.truffle.llvm.tests.interop.InteropTestBase
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest
super_class: com.oracle.truffle.llvm.tests.interop.InteropTestBase
{
private static org.graalvm.polyglot.Value testLibrary;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.graalvm.polyglot.Value freeSeq;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 0)
public java.lang.Number start;
descriptor: Ljava/lang/Number;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 1)
public java.lang.Number step;
descriptor: Ljava/lang/Number;
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 com.oracle.truffle.llvm.tests.interop.InteropTestBase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/interop/PrimitiveArrayInteropTest;
public static void loadTestBitcode();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "primitiveArrayInterop.c"
invokestatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.loadTestBitcodeValue:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
putstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.testLibrary:Lorg/graalvm/polyglot/Value;
1: getstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.testLibrary:Lorg/graalvm/polyglot/Value;
ldc "free_seq"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
putstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.freeSeq:Lorg/graalvm/polyglot/Value;
2: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.junit.BeforeClass()
public static java.util.Collection<java.lang.Object[]> data();
descriptor: ()Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "i8"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "i16"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "i32"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "i64"
aastore
dup
iconst_1
ldc 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
ldc 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "float"
aastore
dup
iconst_1
ldc 5.5
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_2
ldc 3.125
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "double"
aastore
dup
iconst_1
ldc 5.7
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
ldc 3.1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 tests Ljava/util/ArrayList<[Ljava/lang/Object;>;
Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{0}")
public void testFromArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.testLibrary:Lorg/graalvm/polyglot/Value;
new java.lang.StringBuilder
dup
ldc "alloc_seq_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.start:Ljava/lang/Number;
aastore
dup
iconst_1
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.step:Ljava/lang/Number;
aastore
dup
iconst_2
bipush 20
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: ldc "hasArrayElements"
aload 1
invokevirtual org.graalvm.polyglot.Value.hasArrayElements:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
2: ldc "arraySize"
ldc 20
aload 1
invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
3: iconst_0
istore 2
start local 2 4: goto 8
5: StackMap locals: org.graalvm.polyglot.Value int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.start:Ljava/lang/Number;
invokevirtual java.lang.Number.doubleValue:()D
iload 2
i2d
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.step:Ljava/lang/Number;
invokevirtual java.lang.Number.doubleValue:()D
dmul
dadd
dstore 3
start local 3 6: new java.lang.StringBuilder
dup
ldc "seq["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
dload 3
aload 1
iload 2
i2l
invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asDouble:()D
dconst_0
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
end local 3 7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
bipush 20
if_icmplt 5
end local 2 9: getstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.freeSeq:Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/tests/interop/PrimitiveArrayInteropTest;
1 11 1 seq Lorg/graalvm/polyglot/Value;
4 9 2 i I
6 7 3 expected D
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAsArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: bipush 15
newarray 10
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int[] int int
StackMap stack:
aload 1
iload 3
iconst_2
iload 3
imul
bipush 7
isub
iastore
5: iload 2
aload 1
iload 3
iaload
iadd
istore 2
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 8: getstatic com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.testLibrary:Lorg/graalvm/polyglot/Value;
new java.lang.StringBuilder
dup
ldc "sum_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.tests.interop.PrimitiveArrayInteropTest.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 9: ldc "sum"
iload 2
i2d
aload 3
invokevirtual org.graalvm.polyglot.Value.asDouble:()D
dconst_0
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/tests/interop/PrimitiveArrayInteropTest;
1 11 1 arr [I
2 11 2 sum I
3 8 3 i I
9 11 3 ret Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "PrimitiveArrayInteropTest.java"
InnerClasses:
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
public abstract UseParametersRunnerFactory = org.junit.runners.Parameterized$UseParametersRunnerFactory of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)
org.junit.runners.Parameterized$UseParametersRunnerFactory(value = Lcom/oracle/truffle/tck/TruffleRunner$ParametersFactory;)