1
bdbai 2015 年 6 月 9 日 via iPhone
以及CLR
|
2
ether 2015 年 6 月 9 日
swift那边不清楚。Clang那边得到的llvm bitcode (其实就是llvm IR的二进制形式)是平台相关的。首先clang那边就生成了平台相关的abi,其次llvm ir里面的Data Layout就包含了目标平台的东西。而且llvm 的那些优化会根据data layout做平台相关优化。
llvm IR 更多是一种用来represent我们程序,供llvm不同的transformation和analysis pass共享的一种编译器内部数据结构。 |
3
mozartgho 2015 年 6 月 9 日
LLVM本来就是一个编译器后端,用来把中间代码编译成机器码。它的中间代码是语言无关的,和JVM有根本的不同。你说的bitcode应该是指LLVM的中间代码。另外请贴出完整的文章链接。不知道文章是什么意思,是说以后ObjC和Swift都编译成LLVM中间码吗?
|
4
typcn 2015 年 6 月 9 日
JVM = SHITVIRUALMACHINE
LLVM = COMPLIER BACKEND |
5
egen 2015 年 6 月 9 日
|
6
forcecharlie 2015 年 6 月 10 日
@ether 最终还是会用llc 编译成机器码的。很jvm是不同的
|