abstract class com.oracle.truffle.llvm.api.ToolchainExampleSnippet
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.api.ToolchainExampleSnippet
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.llvm.api.ToolchainExampleSnippet this
0: .line 110
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 111
return
end local 0 // com.oracle.truffle.llvm.api.ToolchainExampleSnippet this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/api/ToolchainExampleSnippet;
int runMake(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)I
flags: (0x0000)
Code:
stack=6, locals=10, args_size=2
start local 0 // com.oracle.truffle.llvm.api.ToolchainExampleSnippet this
start local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
0: .line 118
aload 1 /* env */
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalLanguages:()Ljava/util/Map;
ldc "llvm"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.LanguageInfo
astore 2 /* llvmInfo */
start local 2 // com.oracle.truffle.api.nodes.LanguageInfo llvmInfo
1: .line 119
aload 1 /* env */
aload 2 /* llvmInfo */
ldc Lcom/oracle/truffle/llvm/api/Toolchain;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.api.Toolchain
astore 3 /* toolchain */
start local 3 // com.oracle.truffle.llvm.api.Toolchain toolchain
2: .line 120
aload 3 /* toolchain */
invokeinterface com.oracle.truffle.llvm.api.Toolchain.getIdentifier:()Ljava/lang/String;
astore 4 /* id */
start local 4 // java.lang.String id
3: .line 121
aload 3 /* toolchain */
ldc "CC"
invokeinterface com.oracle.truffle.llvm.api.Toolchain.getToolPath:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 5 /* cc */
start local 5 // com.oracle.truffle.api.TruffleFile cc
4: .line 122
aload 3 /* toolchain */
ldc "CXX"
invokeinterface com.oracle.truffle.llvm.api.Toolchain.getToolPath:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 6 /* cxx */
start local 6 // com.oracle.truffle.api.TruffleFile cxx
5: .line 123
aload 3 /* toolchain */
ldc "LD"
invokeinterface com.oracle.truffle.llvm.api.Toolchain.getToolPath:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 7 /* ld */
start local 7 // com.oracle.truffle.api.TruffleFile ld
6: .line 125
iconst_5
anewarray java.lang.String
dup
iconst_0
ldc "make"
aastore
dup
iconst_1
new java.lang.StringBuilder
dup
ldc "CC="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5 /* cc */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_2
new java.lang.StringBuilder
dup
ldc "CXX="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* cxx */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_3
new java.lang.StringBuilder
dup
ldc "LD="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7 /* ld */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_4
new java.lang.StringBuilder
dup
ldc "OUTPUT_DIR="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* id */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
astore 8 /* args */
start local 8 // java.lang.String[] args
7: .line 126
aload 1 /* env */
aload 8 /* args */
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.newProcessBuilder:([Ljava/lang/String;)Lcom/oracle/truffle/api/io/TruffleProcessBuilder;
invokevirtual com.oracle.truffle.api.io.TruffleProcessBuilder.start:()Ljava/lang/Process;
astore 9 /* p */
start local 9 // java.lang.Process p
8: .line 127
aload 9 /* p */
invokevirtual java.lang.Process.waitFor:()I
pop
9: .line 129
aload 9 /* p */
invokevirtual java.lang.Process.exitValue:()I
ireturn
end local 9 // java.lang.Process p
end local 8 // java.lang.String[] args
end local 7 // com.oracle.truffle.api.TruffleFile ld
end local 6 // com.oracle.truffle.api.TruffleFile cxx
end local 5 // com.oracle.truffle.api.TruffleFile cc
end local 4 // java.lang.String id
end local 3 // com.oracle.truffle.llvm.api.Toolchain toolchain
end local 2 // com.oracle.truffle.api.nodes.LanguageInfo llvmInfo
end local 1 // com.oracle.truffle.api.TruffleLanguage$Env env
end local 0 // com.oracle.truffle.llvm.api.ToolchainExampleSnippet this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/llvm/api/ToolchainExampleSnippet;
0 10 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
1 10 2 llvmInfo Lcom/oracle/truffle/api/nodes/LanguageInfo;
2 10 3 toolchain Lcom/oracle/truffle/llvm/api/Toolchain;
3 10 4 id Ljava/lang/String;
4 10 5 cc Lcom/oracle/truffle/api/TruffleFile;
5 10 6 cxx Lcom/oracle/truffle/api/TruffleFile;
6 10 7 ld Lcom/oracle/truffle/api/TruffleFile;
7 10 8 args [Ljava/lang/String;
8 10 9 p Ljava/lang/Process;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
env
}
SourceFile: "Toolchain.java"
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage