class com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject implements com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject
super_class: java.lang.Object
{
protected int foo;
descriptor: I
flags: (0x0004) ACC_PROTECTED
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject.foo:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/interop/LLVMInteropTest$ExecutableForeignObject;
0 3 1 i I
MethodParameters:
Name Flags
i
boolean isExecutable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/interop/LLVMInteropTest$ExecutableForeignObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object execute(java.lang.Object[], com.oracle.truffle.api.interop.InteropLibrary);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject.foo:I
istore 3
start local 3 1: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 5
StackMap locals: com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject java.lang.Object[] com.oracle.truffle.api.interop.InteropLibrary int top int int java.lang.Object[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: iload 3
aload 2
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
iadd
istore 3
end local 4 4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 6
if_icmplt 2
6: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/llvm/tests/interop/LLVMInteropTest$ExecutableForeignObject;
0 7 1 arguments [Ljava/lang/Object;
0 7 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 7 3 sum I
3 4 4 arg Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(limit = "3")
MethodParameters:
Name Flags
arguments
interop
}
SourceFile: "LLVMInteropTest.java"
NestHost: com.oracle.truffle.llvm.tests.interop.LLVMInteropTest
InnerClasses:
ExecutableForeignObject = com.oracle.truffle.llvm.tests.interop.LLVMInteropTest$ExecutableForeignObject of com.oracle.truffle.llvm.tests.interop.LLVMInteropTest
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)