public class com.oracle.truffle.nfi.test.PointerNFITest extends com.oracle.truffle.nfi.test.NFITest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.nfi.test.PointerNFITest
super_class: com.oracle.truffle.nfi.test.NFITest
{
public int initialLength;
descriptor: I
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 0)
public com.oracle.truffle.nfi.test.PointerNFITest$Mode mode;
descriptor: Lcom/oracle/truffle/nfi/test/PointerNFITest$Mode;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 1)
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.nfi.test.NFITest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
public static java.util.Collection<java.lang.Object[]> data();
descriptor: ()Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: invokestatic com.oracle.truffle.nfi.test.PointerNFITest$Mode.values:()[Lcom/oracle/truffle/nfi/test/PointerNFITest$Mode;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: java.util.ArrayList top int int com.oracle.truffle.nfi.test.PointerNFITest$Mode[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 1 5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 ret Ljava/util/ArrayList<[Ljava/lang/Object;>;
3 5 1 mode Lcom/oracle/truffle/nfi/test/PointerNFITest$Mode;
Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{0} {1}")
private com.oracle.truffle.nfi.test.interop.NativeVector prepareVector();
descriptor: ()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: new com.oracle.truffle.nfi.test.interop.NativeVector
dup
aload 0
getfield com.oracle.truffle.nfi.test.PointerNFITest.initialLength:I
newarray 7
invokespecial com.oracle.truffle.nfi.test.interop.NativeVector.<init>:([D)V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.nfi.test.PointerNFITest.mode:Lcom/oracle/truffle/nfi/test/PointerNFITest$Mode;
getstatic com.oracle.truffle.nfi.test.PointerNFITest$Mode.NATIVE:Lcom/oracle/truffle/nfi/test/PointerNFITest$Mode;
if_acmpne 3
2: aload 1
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.toNative:()V
3: StackMap locals: com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 1
iload 2
ldc 42.0
iload 2
i2d
dmul
ldc 17.0
dadd
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.set:(ID)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
if_icmplt 5
end local 2 8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
1 9 1 ret Lcom/oracle/truffle/nfi/test/interop/NativeVector;
4 8 2 i I
private static double sum(com.oracle.truffle.nfi.test.interop.NativeVector);
descriptor: (Lcom/oracle/truffle/nfi/test/interop/NativeVector;)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: dconst_0
dstore 1
start local 1 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: double int
StackMap stack:
dload 1
aload 0
iload 3
i2l
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.readArrayElement:(J)D
dadd
dstore 1
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
if_icmplt 3
end local 3 6: dload 1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 vector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
1 7 1 ret D
2 6 3 i I
MethodParameters:
Name Flags
vector
public void testFold(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 4
start local 4 2: aload 4
invokestatic com.oracle.truffle.nfi.test.PointerNFITest.sum:(Lcom/oracle/truffle/nfi/test/interop/NativeVector;)D
dstore 5
start local 5 3: aload 1
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 4: ldc "return type"
aload 7
ldc Ljava/lang/Double;
invokestatic org.hamcrest.CoreMatchers.instanceOf:(Ljava/lang/Class;)Lorg/hamcrest/Matcher;
invokestatic org.hamcrest.CoreMatchers.is:(Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
5: aload 7
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 8
start local 8 6: ldc "return value"
dload 5
dload 8
ldc 4.9E-324
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
7: ldc "sum after"
dload 5
aload 4
invokestatic com.oracle.truffle.nfi.test.PointerNFITest.sum:(Lcom/oracle/truffle/nfi/test/interop/NativeVector;)D
ldc 4.9E-324
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
end local 8 end local 7 end local 5 8: aload 4
ifnull 14
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 14
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.api.CallTarget java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
9: astore 2
aload 4
ifnull 10
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 4 StackMap locals:
StackMap stack:
10: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 3
aload 2
ifnonnull 12
aload 3
astore 2
goto 13
StackMap locals:
StackMap stack:
12: aload 2
aload 3
if_acmpeq 13
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 2
athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 15 1 fold Lcom/oracle/truffle/api/CallTarget;
2 10 4 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
3 8 5 sumBefore D
4 8 7 ret Ljava/lang/Object;
6 8 8 retValue D
Exception table:
from to target type
2 8 9 any
1 11 11 any
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/PointerNFITest$FoldVector;)
MethodParameters:
Name Flags
fold
private void verifyInc(com.oracle.truffle.nfi.test.interop.NativeVector, double);
descriptor: (Lcom/oracle/truffle/nfi/test/interop/NativeVector;D)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 4
aconst_null
astore 5
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.nfi.test.interop.NativeVector double java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
iload 7
i2l
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.readArrayElement:(J)D
dload 2
dadd
aload 1
iload 7
i2l
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.readArrayElement:(J)D
ldc 4.9E-324
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
aload 1
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
if_icmplt 4
end local 7 7: aload 6
ifnull 13
aload 6
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 13
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.nfi.test.interop.NativeVector double java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 14 1 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
0 14 2 inc D
2 9 6 orig Lcom/oracle/truffle/nfi/test/interop/NativeVector;
3 7 7 i I
Exception table:
from to target type
2 7 8 any
1 10 10 any
MethodParameters:
Name Flags
testVector
inc
public void testIncByNumber(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 4
start local 4 2: aload 1
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc 5.5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 4
ldc 5.5
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.verifyInc:(Lcom/oracle/truffle/nfi/test/interop/NativeVector;D)V
4: aload 4
ifnull 10
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 10
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.api.CallTarget java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 11 1 inc Lcom/oracle/truffle/api/CallTarget;
2 6 4 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
Exception table:
from to target type
2 4 5 any
1 7 7 any
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/PointerNFITest$IncVector;)
MethodParameters:
Name Flags
inc
public void testIncByManagedVector(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 4
start local 4 2: new com.oracle.truffle.nfi.test.interop.NativeVector
dup
iconst_1
newarray 7
dup
iconst_0
ldc 7.4
dastore
invokespecial com.oracle.truffle.nfi.test.interop.NativeVector.<init>:([D)V
astore 5
start local 5 3: aload 1
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 5
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
4: ldc "incVector shouldn't be transitioned to native"
aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.isPointer:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
5: aload 0
aload 4
ldc 7.4
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.verifyInc:(Lcom/oracle/truffle/nfi/test/interop/NativeVector;D)V
6: aload 5
ifnull 9
aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 9
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.api.CallTarget java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
7: astore 2
aload 5
ifnull 8
aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 5 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack:
9: aload 4
ifnull 17
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 3
aload 2
ifnonnull 11
aload 3
astore 2
goto 12
StackMap locals:
StackMap stack:
11: aload 2
aload 3
if_acmpeq 12
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
ifnull 13
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 4 StackMap locals:
StackMap stack:
13: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 3
aload 2
ifnonnull 15
aload 3
astore 2
goto 16
StackMap locals:
StackMap stack:
15: aload 2
aload 3
if_acmpeq 16
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 2
athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 18 1 inc Lcom/oracle/truffle/api/CallTarget;
2 13 4 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
3 8 5 incVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
Exception table:
from to target type
3 6 7 any
2 9 10 any
1 14 14 any
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/PointerNFITest$IncVector;)
MethodParameters:
Name Flags
inc
public void testIncByNativeVector(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 4
start local 4 2: new com.oracle.truffle.nfi.test.interop.NativeVector
dup
iconst_1
newarray 7
dup
iconst_0
ldc 3.8
dastore
invokespecial com.oracle.truffle.nfi.test.interop.NativeVector.<init>:([D)V
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.toNative:()V
4: aload 1
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.getArraySize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 5
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
aload 4
ldc 3.8
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.verifyInc:(Lcom/oracle/truffle/nfi/test/interop/NativeVector;D)V
6: aload 5
ifnull 9
aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 9
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.api.CallTarget java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
7: astore 2
aload 5
ifnull 8
aload 5
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 5 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack:
9: aload 4
ifnull 17
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 3
aload 2
ifnonnull 11
aload 3
astore 2
goto 12
StackMap locals:
StackMap stack:
11: aload 2
aload 3
if_acmpeq 12
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
ifnull 13
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 4 StackMap locals:
StackMap stack:
13: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 3
aload 2
ifnonnull 15
aload 3
astore 2
goto 16
StackMap locals:
StackMap stack:
15: aload 2
aload 3
if_acmpeq 16
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 2
athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 18 1 inc Lcom/oracle/truffle/api/CallTarget;
2 13 4 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
3 8 5 incVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
Exception table:
from to target type
3 6 7 any
2 9 10 any
1 14 14 any
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/PointerNFITest$IncVector;)
MethodParameters:
Name Flags
inc
public void testSlowPath(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.nfi.test.PointerNFITest.prepareVector:()Lcom/oracle/truffle/nfi/test/interop/NativeVector;
astore 4
start local 4 2: aload 1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 3: ldc "return type"
aload 5
ldc Ljava/lang/Double;
invokestatic org.hamcrest.CoreMatchers.instanceOf:(Ljava/lang/Class;)Lorg/hamcrest/Matcher;
invokestatic org.hamcrest.CoreMatchers.is:(Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
invokestatic org.junit.Assert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
4: aload 5
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 6
start local 6 5: ldc "return value"
aload 4
lconst_0
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.readArrayElement:(J)D
dload 6
ldc 4.9E-324
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;DDD)V
end local 6 end local 5 6: aload 4
ifnull 12
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
goto 12
StackMap locals: com.oracle.truffle.nfi.test.PointerNFITest com.oracle.truffle.api.CallTarget java.lang.Throwable java.lang.Throwable com.oracle.truffle.nfi.test.interop.NativeVector
StackMap stack: java.lang.Throwable
7: astore 2
aload 4
ifnull 8
aload 4
invokevirtual com.oracle.truffle.nfi.test.interop.NativeVector.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/nfi/test/PointerNFITest;
0 13 1 test Lcom/oracle/truffle/api/CallTarget;
2 8 4 testVector Lcom/oracle/truffle/nfi/test/interop/NativeVector;
3 6 5 ret Ljava/lang/Object;
5 6 6 retValue D
Exception table:
from to target type
2 6 7 any
1 9 9 any
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/PointerNFITest$TestSlowPath;)
MethodParameters:
Name Flags
test
}
SourceFile: "PointerNFITest.java"
NestMembers:
com.oracle.truffle.nfi.test.PointerNFITest$FoldVector com.oracle.truffle.nfi.test.PointerNFITest$IncVector com.oracle.truffle.nfi.test.PointerNFITest$Mode com.oracle.truffle.nfi.test.PointerNFITest$TestSlowPath
InnerClasses:
public FoldVector = com.oracle.truffle.nfi.test.PointerNFITest$FoldVector of com.oracle.truffle.nfi.test.PointerNFITest
public IncVector = com.oracle.truffle.nfi.test.PointerNFITest$IncVector of com.oracle.truffle.nfi.test.PointerNFITest
public final Mode = com.oracle.truffle.nfi.test.PointerNFITest$Mode of com.oracle.truffle.nfi.test.PointerNFITest
public TestSlowPath = com.oracle.truffle.nfi.test.PointerNFITest$TestSlowPath of com.oracle.truffle.nfi.test.PointerNFITest
public abstract Inject = com.oracle.truffle.tck.TruffleRunner$Inject of com.oracle.truffle.tck.TruffleRunner
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;)