4 ms·
This idea keeps popping up. LLVM bitcode is way too architecture specific to allow that to happen. Chris Lattner has stated it himself.
by monocularvision 9y ago
This idea keeps popping up. LLVM bitcode is way too architecture specific to allow that to happen. Chris Lattner has stated it himself.
- derefr 9y ago"x86 bitcode" can be transpiled into "ARM bitcode." Yes, you could do the same thing with a plain x86-ISA binary, but such a binary might have sections that are very hard to transpile efficiently/effectively—because e.g. they exist as the result of compiling hand-optimized x86 ASM source modules. Targeting bitcode constrains the inputs a bit more, such that the input to the transpiler won't be using extremely-microarchitecture-specific instructions. And yes, the results wouldn't be 100% efficient. But it would be efficient enough—like Rosetta—to serve as an effective stop-gap to allow ecosystem consumers to continue to consume their purchased apps on new devices, until ecosystem developers upload explicitly re-optimized apps. (And it would—like Rosetta—at least let apps from "dead" development studios run, rather than killing them off entirely.)
- pjmlp 9y agoFor the LLVM bitcode as produced by the tools available at http://llvm.org/ http://llvm.org/ , yes it is correct. However you are forgetting three very important points: 1 - Apple is free to use their own fork of LLVM bitcode 2 - Apple controls what those bitcodes actually mean on their compiler stack 3 - LLVM guys already had a few talks at LLVM conferences about creating an actual platform independent form of bitcode