public abstract class com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase<S extends java.lang.Enum<S> extends com.oracle.truffle.llvm.runtime.LLVMSyscallEntry> extends com.oracle.truffle.llvm.runtime.PlatformCapability<S>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase
super_class: com.oracle.truffle.llvm.runtime.PlatformCapability
{
public static final java.lang.String LIBCXXABI_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "libc++abi."
public static final java.lang.String LIBCXX_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "libc++."
protected final boolean loadCxxLibraries;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(java.lang.Class<S>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.oracle.truffle.llvm.runtime.PlatformCapability.<init>:(Ljava/lang/Class;)V
1: aload 0
iload 2
putfield com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.loadCxxLibraries:Z
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/factories/PlatformCapabilityBase<TS;>;
0 3 1 cls Ljava/lang/Class<TS;>;
0 3 2 loadCxxLibraries Z
Signature: (Ljava/lang/Class<TS;>;Z)V
MethodParameters:
Name Flags
cls
loadCxxLibraries
public java.lang.String[] getSulongDefaultLibraries();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.loadCxxLibraries:Z
ifeq 2
1: iconst_2
anewarray java.lang.String
dup
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.getLibsulongFilename:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.getLibsulongxxFilename:()Ljava/lang/String;
aastore
areturn
2: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.getLibsulongFilename:()Ljava/lang/String;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/factories/PlatformCapabilityBase<TS;>;
public abstract java.lang.String getLibsulongxxFilename();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String getLibsulongFilename();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.util.List<java.lang.String> preprocessDependencies(com.oracle.truffle.llvm.runtime.LLVMContext, com.oracle.truffle.api.TruffleFile, java.util.List<java.lang.String>);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/api/TruffleFile;Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: aload 2
ifnull 9
aload 1
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.isInternalLibraryFile:(Lcom/oracle/truffle/api/TruffleFile;)Z
ifeq 9
3: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 4: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getInternalLibraryPath:()Ljava/nio/file/Path;
aload 6
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 7
start local 7 5: aload 7
ldc "libc++abi."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 6
aload 7
ldc "libc++."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
6: StackMap locals: com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.api.TruffleFile java.util.List java.util.List int java.nio.file.Path java.lang.String
StackMap stack:
new java.util.ArrayList
dup
aload 3
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 4
7: aload 4
aload 0
invokevirtual com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.getLibsulongxxFilename:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: iconst_1
istore 5
end local 7 end local 6 9: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 10: goto 27
11: StackMap locals: int
StackMap stack:
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 12: aload 7
ldc "/usr/lib/libc++"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 21
13: aload 7
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 8
start local 8 14: aload 8
ifnull 21
15: aload 8
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 9
start local 9 16: aload 9
ldc "libc++."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 17
aload 9
ldc "libc++abi."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 21
17: StackMap locals: java.lang.String java.nio.file.Path java.lang.String
StackMap stack:
aload 4
ifnonnull 19
18: new java.util.ArrayList
dup
aload 3
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 4
19: StackMap locals:
StackMap stack:
aload 4
iload 6
aload 9
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
20: aload 9
astore 7
end local 9 end local 8 21: StackMap locals:
StackMap stack:
iload 5
ifne 26
aload 7
ldc "libc++abi."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 22
aload 7
ldc "libc++."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
22: StackMap locals:
StackMap stack:
aload 4
ifnonnull 24
23: new java.util.ArrayList
dup
aload 3
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 4
24: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.llvm.parser.factories.PlatformCapabilityBase.getLibsulongxxFilename:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: iconst_1
istore 5
end local 7 26: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 11
end local 6 28: aload 4
ifnull 30
29: aload 4
areturn
30: StackMap locals:
StackMap stack:
aload 3
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 31 0 this Lcom/oracle/truffle/llvm/parser/factories/PlatformCapabilityBase<TS;>;
0 31 1 ctx Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 31 2 file Lcom/oracle/truffle/api/TruffleFile;
0 31 3 dependencies Ljava/util/List<Ljava/lang/String;>;
1 31 4 newDeps Ljava/util/List<Ljava/lang/String;>;
2 31 5 libSulongXXAdded Z
4 9 6 path Ljava/nio/file/Path;
5 9 7 remainder Ljava/lang/String;
10 28 6 i I
12 26 7 dep Ljava/lang/String;
14 21 8 namePath Ljava/nio/file/Path;
16 21 9 filename Ljava/lang/String;
Signature: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/api/TruffleFile;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
ctx
file
dependencies
}
Signature: <S:Ljava/lang/Enum<TS;>;:Lcom/oracle/truffle/llvm/runtime/LLVMSyscallEntry;>Lcom/oracle/truffle/llvm/runtime/PlatformCapability<TS;>;
SourceFile: "PlatformCapabilityBase.java"