public abstract class com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability<S extends java.lang.Enum<S> extends com.oracle.truffle.llvm.runtime.LLVMSyscallEntry> extends com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase<S>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability
super_class: com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase
{
private static final java.nio.file.Path SULONG_LIBDIR;
descriptor: Ljava/nio/file/Path;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.String LIBSULONG_FILENAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String LIBSULONGXX_FILENAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc "native"
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "lib"
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.SULONG_LIBDIR:Ljava/nio/file/Path;
1: new java.lang.StringBuilder
dup
ldc "libsulong."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeLibrarySuffix:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.LIBSULONG_FILENAME:Ljava/lang/String;
2: new java.lang.StringBuilder
dup
ldc "libsulong++."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeLibrarySuffix:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.LIBSULONGXX_FILENAME:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability<?> create(boolean);
descriptor: (Z)Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMInfo.SYSNAME:Ljava/lang/String;
ldc "linux"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 5
1: getstatic com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMInfo.MACHINE:Ljava/lang/String;
ldc "x86_64"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
2: new com.oracle.truffle.llvm.parser.factories.LinuxAMD64PlatformCapability
dup
iload 0
invokespecial com.oracle.truffle.llvm.parser.factories.LinuxAMD64PlatformCapability.<init>:(Z)V
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMInfo.MACHINE:Ljava/lang/String;
ldc "aarch64"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 5
4: new com.oracle.truffle.llvm.parser.factories.LinuxAArch64PlatformCapability
dup
iload 0
invokespecial com.oracle.truffle.llvm.parser.factories.LinuxAArch64PlatformCapability.<init>:(Z)V
areturn
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMInfo.SYSNAME:Ljava/lang/String;
ldc "mac os x"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
getstatic com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMInfo.MACHINE:Ljava/lang/String;
ldc "x86_64"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
6: new com.oracle.truffle.llvm.parser.factories.DarwinAMD64PlatformCapability
dup
iload 0
invokespecial com.oracle.truffle.llvm.parser.factories.DarwinAMD64PlatformCapability.<init>:(Z)V
areturn
7: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.parser.factories.UnknownBasicPlatformCapability
dup
iload 0
invokespecial com.oracle.truffle.llvm.parser.factories.UnknownBasicPlatformCapability.<init>:(Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 loadCxxLibraries Z
Signature: (Z)Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<*>;
MethodParameters:
Name Flags
loadCxxLibraries
protected void <init>(java.lang.Class<S>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.<init>:(Ljava/lang/Class;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
0 2 1 cls Ljava/lang/Class<TS;>;
0 2 2 loadCxxLibraries Z
Signature: (Ljava/lang/Class<TS;>;Z)V
MethodParameters:
Name Flags
cls
loadCxxLibraries
public java.lang.String getBuiltinsLibrary();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "libgraalvm-llvm."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iconst_1
invokestatic com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeLibrarySuffixVersioned:(I)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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
public java.nio.file.Path getSulongLibrariesPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.SULONG_LIBDIR:Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
public java.lang.String getLibsulongxxFilename();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.LIBSULONGXX_FILENAME:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
public java.lang.String getLibsulongFilename();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.LIBSULONG_FILENAME:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
public com.oracle.truffle.llvm.runtime.memory.LLVMSyscallOperationNode createSyscallNode(long);
descriptor: (J)Lcom/oracle/truffle/llvm/runtime/memory/LLVMSyscallOperationNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
lload 1
invokevirtual com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.getSyscall:(J)Ljava/lang/Enum;
invokevirtual com.oracle.truffle.llvm.parser.factories.BasicPlatformCapability.createSyscallNode:(Ljava/lang/Enum;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMSyscallOperationNode;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
3: new com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMNativeSyscallNode
dup
lload 1
invokespecial com.oracle.truffle.llvm.runtime.nodes.asm.syscall.LLVMNativeSyscallNode.<init>:(J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
0 4 1 index J
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
index
public java.lang.String getLibrarySuffix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeLibrarySuffix:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/factories/BasicPlatformCapability<TS;>;
protected abstract com.oracle.truffle.llvm.runtime.memory.LLVMSyscallOperationNode createSyscallNode(S);
descriptor: (Ljava/lang/Enum;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMSyscallOperationNode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TS;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMSyscallOperationNode;
MethodParameters:
Name Flags
syscall
}
Signature: <S:Ljava/lang/Enum<TS;>;:Lcom/oracle/truffle/llvm/runtime/LLVMSyscallEntry;>Lcom/oracle/truffle/llvm/parser/factories/PlatformCapabilityBase<TS;>;
SourceFile: "BasicPlatformCapability.java"