diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-03-05 14:02:26 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-03-05 14:02:26 -0800 |
commit | f25b794a26c6870318ffe6103113ee50521e728d (patch) | |
tree | 371b107934c84373dd587747e17fcaafc9f0bf11 /system/include | |
parent | 230c0e80dfcd44870bec3254c399db430f6e1d98 (diff) | |
parent | 38278a6448b7ae7201643cd81047faf263d2385c (diff) |
Merge branch 'incoming'
Diffstat (limited to 'system/include')
-rw-r--r-- | system/include/emscripten/emscripten.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h index 93551f39..427dda0c 100644 --- a/system/include/emscripten/emscripten.h +++ b/system/include/emscripten/emscripten.h @@ -345,6 +345,30 @@ extern void EMSCRIPTEN_PROFILE_INIT(int max); extern void EMSCRIPTEN_PROFILE_BEGIN(int id); extern void EMSCRIPTEN_PROFILE_END(int id); +/* + * jcache-friendly printf. printf in general will receive a string + * literal, which becomes a global constant, which invalidates all + * jcache entries. emscripten_jcache_printf is parsed before + * clang into something without any string literals, so you can + * add such printouts to your code and only the (chunk containing + * the) function you modify will be invalided and recompiled. + * + * Note in particular that you need to already have a call to this + * function in your code *before* you add one and do an incremental + * build, so that adding an external reference does not invalidate + * everything. + * + * This function assumes the first argument is a string literal + * (otherwise you don't need it), and the other arguments, if any, + * are neither strings nor complex expressions (but just simple + * variables). (You can create a variable to store a complex + * expression on the previous line, if necessary.) + */ +#ifdef __cplusplus +void emscripten_jcache_printf(const char *format, ...); +void emscripten_jcache_printf_(...); /* internal use */ +#endif + #ifdef __cplusplus } #endif |