Dec 9th 2015 an open source LLVM-based compiler from C and C++ to JavaScript C++ ⇒ LLVM ⇒ Emscripten ⇒ JS float array[5000]; // C++ int main() { for (int i = 0; i < 5000; ++i) { array[i] += 1.0f; } } ⇒ Emscripten ⇒ function main() { // JavaScript var a = 0, b = 0; do { a = (8 + (b << 2)) | 0; HEAPF32[a >> 2] = +HEAPF32[a >> 2] + 1.0; b = (b + 1) | 0; } while ((b | 0) < 5000); } This is asm.j