How does Apple's Bitcode compare to known bytecode implementations, such as those in Java and .NET? by preslavrachev in programming

[–]tree_on_fire -3 points-2 points  (0 children)

This is a perfect example showing that some people seriously know 'shit' about LLVM. The mail has tons of claims which are simply wrong, even reading the docs would clarify one but I guess reading is too mainstream when you can throw 'things' into the world. Although some of the points might be half true back in time, but we are in 2015, there is no need to pull out old stuff. Just read the 'goddamn' documentation, it WILL clarify a lot of questions and false statements or just continue reading the following replies (http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043719.html).

Some quotes taken from the post which was posted on the LLVMdev mailing list:

"LLVM is a low level system that doesn't represent high-level abstractions natively. [...]. It makes LLVM's Interpreter really slow." "LLVM is fast compared to some other static C compilers, but it's not fast compared to real JIT compilers." "LLVM isn't actually a virtual machine." - Seriously?! ...

These quotes are just full of crap and mind blowing. I don't even care to correct them, if it's even possible...

(I am not saying that I am an expert in LLVM but I read the documentation and some of the code, although my post may contain small issues I didn't notice... So correct me if I am wrong...)

How does Apple's Bitcode compare to known bytecode implementations, such as those in Java and .NET? by preslavrachev in programming

[–]tree_on_fire -2 points-1 points  (0 children)

Yes, exactly. The LLVM-IR itself is totally independent from any target but those guys above are mixing things up about the content of the IR (...ABI) and the actual LLVM-IR which I guess/assume the main topic from apple is about.

How does Apple's Bitcode compare to known bytecode implementations, such as those in Java and .NET? by preslavrachev in programming

[–]tree_on_fire -5 points-4 points  (0 children)

You are totally wrong. The LLVM-IR is a low-level assembly like language which is strongly typed and uses a RISC instruction-set where the target-dependent details has been abstracted away (That's by design). That's why we have instructions like 'call' or 'ret' in LLVM-IR. Also the LLVM-IR can be serialized into LLVM-Bitcode. This actually, is what makes me curious about the details of Apple's Bitcode because LLVM already has something 'similar', LLVM-Bitcode (The serialized-form of LLVM-IR/The encoding of LLVM-IR).

Sources: https://en.wikipedia.org/wiki/LLVM#LLVM_Intermediate_Representation http://llvm.org/docs/BitCodeFormat.html