aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-02-27 10:27:51 -0500
committerAlon Zakai <alonzakai@gmail.com>2013-02-27 10:27:51 -0500
commit631f2c60e19915020bafff61097c337dfd7c2ec2 (patch)
treeb6eca812eec555ffa41e7e49743159985364437c
parentd33530c08e3415928349349b9a1c3486308b2409 (diff)
jcache docs
-rwxr-xr-xemcc19
1 files changed, 19 insertions, 0 deletions
diff --git a/emcc b/emcc
index 0e7fc1ea..cb60e881 100755
--- a/emcc
+++ b/emcc
@@ -400,6 +400,25 @@ Options that are modified or new in %s include:
for a later incremental build (where you also
enable it) to be sped up.
+ Caching works separately on 4 parts of compilation:
+ 'pre' which is types and global variables; that
+ information is then fed into 'funcs' which are
+ the functions (which we parallelize), and then
+ 'post' which adds final information based on
+ the functions (e.g., do we need long64 support
+ code). Finally, 'jsfuncs' are JavaScript-level
+ optimizations. Each of the 4 parts can be cached
+ separately, but note that they can affect each
+ other: If you recompile a single C++ file that
+ changes a global variable - e.g., adds, removes
+ or modifies a global variable, say by adding
+ a printf or by adding a compile-time timestamp,
+ then 'pre' cannot be loaded from the cache. And
+ since 'pre's output is sent to 'funcs' and 'post',
+ they will get invalidated as well, and only
+ 'jsfuncs' will be cached. So avoid modifying
+ globals to let caching work fully.
+
--clear-cache Manually clears the cache of compiled
emscripten system libraries (libc++,
libc++abi, libc). This is normally