public final class com.oracle.truffle.llvm.runtime.ToolchainImpl implements com.oracle.truffle.llvm.api.Toolchain
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.ToolchainImpl
super_class: java.lang.Object
{
private final com.oracle.truffle.llvm.runtime.ToolchainConfig toolchainConfig;
descriptor: Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.LLVMLanguage language;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.llvm.runtime.ToolchainConfig, com.oracle.truffle.llvm.runtime.LLVMLanguage);
descriptor: (Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
2: aload 0
aload 2
putfield com.oracle.truffle.llvm.runtime.ToolchainImpl.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
0 4 1 toolchainConfig Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
0 4 2 language Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
MethodParameters:
Name Flags
toolchainConfig
language
public com.oracle.truffle.api.TruffleFile getToolPath(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ToolchainImpl.getWrappersRoot:()Lcom/oracle/truffle/api/TruffleFile;
ldc "bin"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 3: aload 1
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 12
-1884948986: 4
-941714228: 5
-941678773: 6
2097: 7
2144: 8
2424: 9
2495: 10
67203: 11
2448421: 12
79235832: 13
1798392617: 14
1798401921: 15
default: 23
}
StackMap locals: com.oracle.truffle.api.TruffleFile java.lang.String
StackMap stack:
4: aload 3
ldc "RANLIB"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
5: aload 3
ldc "OBJCOPY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
6: aload 3
ldc "OBJDUMP"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
7: aload 3
ldc "AR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
8: aload 3
ldc "CC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 23
StackMap locals:
StackMap stack:
9: aload 3
ldc "LD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 23
StackMap locals:
StackMap stack:
10: aload 3
ldc "NM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
11: aload 3
ldc "CXX"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 23
StackMap locals:
StackMap stack:
12: aload 3
ldc "PATH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 23
StackMap locals:
StackMap stack:
13: aload 3
ldc "STRIP"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
14: aload 3
ldc "READELF"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
15: aload 3
ldc "READOBJ"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
16: StackMap locals:
StackMap stack:
aload 2
areturn
17: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "graalvm-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainSubdir:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-clang"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.enableCXX:()Z
ifne 20
19: aconst_null
areturn
20: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "graalvm-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainSubdir:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-clang++"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
21: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "graalvm-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainSubdir:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-ld"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
22: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
0 24 1 tool Ljava/lang/String;
3 24 2 binPrefix Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
tool
public java.util.List<com.oracle.truffle.api.TruffleFile> getPaths(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
2448421: 3
1420169392: 4
default: 7
}
StackMap locals: java.lang.String
StackMap stack:
3: aload 2
ldc "PATH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 7
StackMap locals:
StackMap stack:
4: aload 2
ldc "LD_LIBRARY_PATH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 7
5: StackMap locals:
StackMap stack:
iconst_1
anewarray com.oracle.truffle.api.TruffleFile
dup
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ToolchainImpl.getWrappersRoot:()Lcom/oracle/truffle/api/TruffleFile;
ldc "bin"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
6: StackMap locals:
StackMap stack:
iconst_1
anewarray com.oracle.truffle.api.TruffleFile
dup
iconst_0
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ToolchainImpl.getSysroot:()Lcom/oracle/truffle/api/TruffleFile;
ldc "lib"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
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/ToolchainImpl;
0 8 1 pathName Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/oracle/truffle/api/TruffleFile;>;
MethodParameters:
Name Flags
pathName
private com.oracle.truffle.api.TruffleFile getWrappersRoot();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getContext:()Lcom/oracle/truffle/llvm/runtime/LLVMContext;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainRootOverride:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 1
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
goto 5
4: StackMap locals: com.oracle.truffle.api.TruffleLanguage$Env java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ToolchainImpl.getSysroot:()Lcom/oracle/truffle/api/TruffleFile;
5: StackMap locals:
StackMap stack: com.oracle.truffle.api.TruffleFile
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
1 6 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 6 2 toolchainRoot Ljava/lang/String;
private com.oracle.truffle.api.TruffleFile getSysroot();
descriptor: ()Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getContext:()Lcom/oracle/truffle/llvm/runtime/LLVMContext;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 1
start local 1 1: aload 1
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getLLVMLanguageHome:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainSubdir:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
1 2 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
public java.lang.String getIdentifier();
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.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokeinterface com.oracle.truffle.llvm.runtime.ToolchainConfig.getToolchainSubdir:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
public java.lang.String toString();
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.ToolchainImpl.toolchainConfig:Lcom/oracle/truffle/llvm/runtime/ToolchainConfig;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/ToolchainImpl;
}
SourceFile: "ToolchainImpl.java"
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage