Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Potentially just one JIT, right? asm.js is AOT compiled on Firefox.


No, because it's "AOT" compiled when it's downloaded or executed (since you have one JIT, you can't AOT compile what it produces). So you can think about it as "just" one JIT, but a very inefficient one


> since you have one JIT, you can't AOT compile what it produces

I'm not sure what this means, but if you mean that Firefox doesn't cache compiled asm.js code, that's not true. It does [1].

[1]: https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilat...


So look. PyPy compiles bits and pieces of code generating assembler. This assembler then gets to be turned into Javascript (asm.js) which needs to be parsed and compiled. All of this happens at runtime and while you can technically call the second piece of it AOT, it's essentially a double JIT or at least you pay the cost of double jitting. The equivalent in C would be generating C at runtime and sending it through gcc/clang.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: