diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-03-04 17:07:25 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-03-04 17:07:25 -0800 |
commit | 26a3a085fc1be4f3d648a2e5e6b05c54f4b04a00 (patch) | |
tree | e791121bed35a7bfe1377ac8eca0151309842c24 /src | |
parent | 719e805ecfe14ec3582bb8285527e4a9fde5cb21 (diff) |
emscripten_jcache_printf
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js index 1676a82c..1cd7e3f5 100644 --- a/src/library.js +++ b/src/library.js @@ -7368,6 +7368,23 @@ LibraryManager.library = { emscripten_random: function() { return Math.random(); }, + + emscripten_jcache_printf___deps: ['_formatString'], + emscripten_jcache_printf_: function(varargs) { + var MAX = 10240; + if (!_emscripten_jcache_printf_.buffer) { + _emscripten_jcache_printf_.buffer = _malloc(MAX); + } + var i = 0; + do { + var curr = {{{ makeGetValue('varargs', 'i*4', 'i8') }}}; + {{{ makeSetValue('_emscripten_jcache_printf_.buffer', 'i', 'curr', 'i8') }}}; + i++; + assert(i*4 < MAX); + } while (curr != 0); + Module.print(intArrayToString(__formatString(_emscripten_jcache_printf_.buffer, varargs + i*4)).replace('\\n', '')); + Runtime.stackAlloc(-4*i); // free up the stack space we know is ok to free + }, }; function autoAddDeps(object, name) { |