public class com.oracle.truffle.nfi.test.LateBindNFITest 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.LateBindNFITest
super_class: com.oracle.truffle.nfi.test.NFITest
{
private static final com.oracle.truffle.nfi.test.interop.BoxedPrimitive BOXED_SIGNATURE;
descriptor: Lcom/oracle/truffle/nfi/test/interop/BoxedPrimitive;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new com.oracle.truffle.nfi.test.interop.BoxedPrimitive
dup
ldc "(sint32):sint32"
invokespecial com.oracle.truffle.nfi.test.interop.BoxedPrimitive.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.nfi.test.LateBindNFITest.BOXED_SIGNATURE:Lcom/oracle/truffle/nfi/test/interop/BoxedPrimitive;
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 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/LateBindNFITest;
private static void testLateBind(com.oracle.truffle.api.CallTarget, java.lang.String, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/CallTarget;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.nfi.test.LateBindNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
getstatic com.oracle.truffle.nfi.test.LateBindNFITest.testLibrary:Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 1: goto 4
end local 3 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
2: astore 4
start local 4 3: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 start local 3 4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
bipush 41
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 5: ldc "return value"
aload 4
ldc Ljava/lang/Integer;
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
6: ldc "return value"
ldc 42
aload 4
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 callTarget Lcom/oracle/truffle/api/CallTarget;
0 8 1 symbol Ljava/lang/String;
0 8 2 signature Ljava/lang/Object;
1 2 3 increment Ljava/lang/Object;
4 8 3 increment Ljava/lang/Object;
3 4 4 e Lcom/oracle/truffle/api/interop/InteropException;
5 8 4 ret Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.InteropException
MethodParameters:
Name Flags
callTarget
symbol
signature
public void testLateBind(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "increment_SINT32"
ldc "(sint32):sint32"
invokestatic com.oracle.truffle.nfi.test.LateBindNFITest.testLateBind:(Lcom/oracle/truffle/api/CallTarget;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/test/LateBindNFITest;
0 2 1 callTarget Lcom/oracle/truffle/api/CallTarget;
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/LateBindNFITest$BindAndExecuteNode;)
MethodParameters:
Name Flags
callTarget
public void testLateBindBoxed(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "increment_SINT32"
getstatic com.oracle.truffle.nfi.test.LateBindNFITest.BOXED_SIGNATURE:Lcom/oracle/truffle/nfi/test/interop/BoxedPrimitive;
invokestatic com.oracle.truffle.nfi.test.LateBindNFITest.testLateBind:(Lcom/oracle/truffle/api/CallTarget;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/test/LateBindNFITest;
0 2 1 callTarget Lcom/oracle/truffle/api/CallTarget;
RuntimeVisibleAnnotations:
org.junit.Test()
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/LateBindNFITest$BindAndExecuteNode;)
MethodParameters:
Name Flags
callTarget
public void testLateBindUncached(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "increment_SINT32"
new com.oracle.truffle.nfi.test.interop.BoxedPrimitive
dup
ldc "(sint32):sint32"
invokespecial com.oracle.truffle.nfi.test.interop.BoxedPrimitive.<init>:(Ljava/lang/Object;)V
invokestatic com.oracle.truffle.nfi.test.LateBindNFITest.testLateBind:(Lcom/oracle/truffle/api/CallTarget;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/test/LateBindNFITest;
0 2 1 callTarget Lcom/oracle/truffle/api/CallTarget;
RuntimeVisibleAnnotations:
org.junit.Test()
com.oracle.truffle.tck.TruffleRunner$Warmup(value = 15)
RuntimeVisibleParameterAnnotations:
0:
com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/nfi/test/LateBindNFITest$BindAndExecuteNode;)
MethodParameters:
Name Flags
callTarget
}
SourceFile: "LateBindNFITest.java"
NestMembers:
com.oracle.truffle.nfi.test.LateBindNFITest$BindAndExecuteNode com.oracle.truffle.nfi.test.LateBindNFITest$DoBindAndExecute
InnerClasses:
public BindAndExecuteNode = com.oracle.truffle.nfi.test.LateBindNFITest$BindAndExecuteNode of com.oracle.truffle.nfi.test.LateBindNFITest
abstract DoBindAndExecute = com.oracle.truffle.nfi.test.LateBindNFITest$DoBindAndExecute of com.oracle.truffle.nfi.test.LateBindNFITest
public abstract Inject = com.oracle.truffle.tck.TruffleRunner$Inject of com.oracle.truffle.tck.TruffleRunner
public abstract Warmup = com.oracle.truffle.tck.TruffleRunner$Warmup of com.oracle.truffle.tck.TruffleRunner
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lcom/oracle/truffle/tck/TruffleRunner;)