public final class com.oracle.truffle.llvm.runtime.SulongLibrary implements com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.SulongLibrary
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.LLVMScope scope;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMScope;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.LLVMContext context;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.truffle.llvm.runtime.SulongLibrary$CachedMainFunction main;
descriptor: Lcom/oracle/truffle/llvm/runtime/SulongLibrary$CachedMainFunction;
flags: (0x0010) ACC_FINAL
public void <init>(java.lang.String, com.oracle.truffle.llvm.runtime.LLVMScope, com.oracle.truffle.llvm.runtime.SulongLibrary$CachedMainFunction, com.oracle.truffle.llvm.runtime.LLVMContext);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/runtime/SulongLibrary$CachedMainFunction;Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.SulongLibrary.name:Ljava/lang/String;
2: aload 0
aload 2
putfield com.oracle.truffle.llvm.runtime.SulongLibrary.scope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
3: aload 0
aload 3
putfield com.oracle.truffle.llvm.runtime.SulongLibrary.main:Lcom/oracle/truffle/llvm/runtime/SulongLibrary$CachedMainFunction;
4: aload 0
aload 4
putfield com.oracle.truffle.llvm.runtime.SulongLibrary.context:Lcom/oracle/truffle/llvm/runtime/LLVMContext;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 6 1 name Ljava/lang/String;
0 6 2 scope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
0 6 3 main Lcom/oracle/truffle/llvm/runtime/SulongLibrary$CachedMainFunction;
0 6 4 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
MethodParameters:
Name Flags
name
scope
main
context
private com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor lookupFunctionDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.SulongLibrary.scope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.getFunction:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
astore 2
start local 2 1: aload 2
ifnull 7
2: aload 0
getfield com.oracle.truffle.llvm.runtime.SulongLibrary.context:Lcom/oracle/truffle/llvm/runtime/LLVMContext;
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
astore 3
start local 3 3: aload 3
ifnull 7
4: aload 3
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.cast:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.getObject:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor
5: areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.except.LLVMException
pop
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 8 1 symbolName Ljava/lang/String;
1 6 2 function Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
3 6 3 value Ljava/lang/Object;
Exception table:
from to target type
0 5 6 Class com.oracle.truffle.llvm.runtime.except.LLVMLinkerException
0 5 6 Class com.oracle.truffle.llvm.runtime.except.LLVMIllegalSymbolIndexException
MethodParameters:
Name Flags
symbolName
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.SulongLibrary.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
java.lang.Object readMember(java.lang.String, com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode.execute:(Lcom/oracle/truffle/llvm/runtime/SulongLibrary;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
3: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
4: StackMap locals: java.lang.Object
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 5 1 member Ljava/lang/String;
0 5 2 lookup Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;
1 5 3 ret Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookup")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
member
lookup
java.lang.Object invokeMember(java.lang.String, java.lang.Object[], com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode.execute:(Lcom/oracle/truffle/llvm/runtime/SulongLibrary;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
astore 5
start local 5 1: aload 5
ifnonnull 4
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
3: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
4: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor
StackMap stack:
aload 4
aload 5
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 5 1 member Ljava/lang/String;
0 5 2 arguments [Ljava/lang/Object;
0 5 3 lookup Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;
0 5 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 5 5 fn Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
Exceptions:
throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookup")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
MethodParameters:
Name Flags
member
arguments
lookup
interop
boolean hasMembers();
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/runtime/SulongLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMembers(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.SulongLibrary.scope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.getKeys:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 1 1 includeInternal Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
includeInternal
boolean memberExists(java.lang.String, com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode.execute:(Lcom/oracle/truffle/llvm/runtime/SulongLibrary;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 2 1 member Ljava/lang/String;
0 2 2 lookup Lcom/oracle/truffle/llvm/runtime/SulongLibrary$LookupNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage$Repeat(value = {com.oracle.truffle.api.library.ExportMessage(name = "isMemberReadable"), com.oracle.truffle.api.library.ExportMessage(name = "isMemberInvocable")})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookup")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
member
lookup
boolean isExecutable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.SulongLibrary.main:Lcom/oracle/truffle/llvm/runtime/SulongLibrary$CachedMainFunction;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean hasLanguage();
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/runtime/SulongLibrary;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.String toDisplayString(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "LLVMLibrary:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.SulongLibrary.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/SulongLibrary;
0 1 1 allowSideEffects Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
allowSideEffects
}
SourceFile: "SulongLibrary.java"
NestMembers:
com.oracle.truffle.llvm.runtime.SulongLibrary$CachedMainFunction com.oracle.truffle.llvm.runtime.SulongLibrary$Execute com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
public abstract Repeat = com.oracle.truffle.api.library.ExportMessage$Repeat of com.oracle.truffle.api.library.ExportMessage
public final CachedMainFunction = com.oracle.truffle.llvm.runtime.SulongLibrary$CachedMainFunction of com.oracle.truffle.llvm.runtime.SulongLibrary
abstract Execute = com.oracle.truffle.llvm.runtime.SulongLibrary$Execute of com.oracle.truffle.llvm.runtime.SulongLibrary
abstract LookupNode = com.oracle.truffle.llvm.runtime.SulongLibrary$LookupNode of com.oracle.truffle.llvm.runtime.SulongLibrary
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)