commit | b39bb50eb9f2c8c43d69aca8582c7c57634a0f04 | [log] [tgz] |
---|---|---|
author | Derek Schuff <dschuff@chromium.org> | Fri Feb 24 19:05:00 2017 |
committer | GitHub <noreply@github.com> | Fri Feb 24 19:05:00 2017 |
tree | 120da65cb3b85d19d4c4b633a95c6066327d5507 | |
parent | 428b790a47e3a414bff9216428f410c0b561460d [diff] |
Always use async compile unless overridden (#4971) We want to avoid blocking the main thread whenever possible, even when debugging or not-optimizing. Having different behavior here between optimization levels is really weird and surprising. To enforce this preference to avoid blocking the main thread, Chrome will limit synchronous compiles to a pretty small module size; small enough that even emscripten's unoptimized hello world won't compile.
Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode - which can be generated from C/C++, using llvm-gcc
(DragonEgg) or clang
, or any other language that can be converted into LLVM - and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).
Links to demos, tutorial, FAQ, etc: https://github.com/kripken/emscripten/wiki
Main project page: http://emscripten.org
Emscripten is available under 2 licenses, the MIT license and the University of Illinois/NCSA Open Source License.
Both are permissive open source licenses, with little if any practical difference between them.
The reason for offering both is that (1) the MIT license is well-known, while (2) the University of Illinois/NCSA Open Source License allows Emscripten's code to be integrated upstream into LLVM, which uses that license, should the opportunity arise.
See LICENSE
for the full content of the licenses.