5 ms·
HipHop is going to get a lot less production-ready.
by jonursenbach 16y ago
HipHop is going to get a lot less production-ready.
- alecco 16y agoWhy? [I don't know much about it] Facebook's HipHop JIT transforms PHP to C++ and then they compile it with g++ (or at least that's what they say.) GCC supports ARM already.
- kingkilr 16y agoHipHop is not a JIT, it is an AOT compiler.
- deleted 16y ago[deleted]
- coderdude 16y agoWhile we're correcting people, HipHop isn't an AOT compiler, it is a source code transformer[1]. [1] http://developers.facebook.com/blog/post/358 http://developers.facebook.com/blog/post/358
- wlievens 16y agoIf your definition of Compiler is broad enough, there's no difference.
- kingkilr 16y agoThat doesn't even require a broad definition. From Aho, Sethi, and Ullman: "a compiler is a program that reads a program written in one language - the source language - and translates it into an equivalent program in another language - the target language."
- wlievens 16y agoExcept that if you interpret that literally, pretty much any program is a compiler. I can translate a text file in the "ASCII language" to the "UTF-8 language" with Notepad++, for instance.
- kingkilr 16y agoI don't remember my models of computation class so well, but wouldn't ASCII and UTF-8 be alphabets, not languages?
- viraptor 16y agoFor some reason HipHop messed with direct memory locations enough to work only on 64b to start with. If they couldn't make it work cleanly on 32b, ARM is probably also going to be affected.
- Aegean 16y agoWho says ARM is going to be 32 bits? Rumors say they're going for 64 bits especially for servers. They will need to surpass 4GB limit on >=8 cores per chip.
- viraptor 16y agoI didn't mean the 32/64 as the only difference. They targeted an architecture - it was i86_64/amd64. That affects memory layouts, pointer lengths, available instruction sets, etc. Changing from amd64 -> armel for example will also affect some of those properties. If you write clean ANSI C code, you're basically compatible by default. If they failed to run on i386, that means they did something special that assumed a different architecture. In that case you're likely to hit the same problem whether they use arm, alpha, infineons, intels, or whatever else.
- vetinari 16y agoARM is going for 40-bit extension, to allow addressing 1 TB of RAM. Source: http://www.eetimes.com/electronics-news/4206387/ARM7-40bit-virtualization http://www.eetimes.com/electronics-news/4206387/ARM7-40bit-v...